Skip to main content

Release v1.32.3

Released on November 28, 2025

Executive Summary

Bug Fixes

Billing & Collections

  • Invoice validation enhancement to catch missing invoice numbers early in processing (PR 23499)
  • Payment attempt retrieval logic simplification for improved reliability (PR 23499)

Transaction Management

  • Creditor account resolution fix to use originating tenant ID instead of transacting tenant ID (136817) (PR 23454)

Overview

This hotfix release addresses critical issues in the invoice processing pipeline, payment attempt retrieval logic, and transaction account resolution. The changes improve error handling by catching invalid invoices earlier in the process, simplify the payment attempt query logic for better code maintainability and reliability, and fix a tenant account resolution issue in transaction processing.

Bug Fixes

Billing & Collections

  • Invoice Number Validation - Added validation check in the CreateInvoiceTemplate method of the InvoiceTemplateBuilder class to ensure that the InvoiceNumber property is not null or whitespace. If the InvoiceNumber is invalid, an InvalidOperationException is thrown with a descriptive error message, including the InvoiceId. This change improves error handling and ensures invalid invoices are caught early in the process. (PR 23499)

  • Payment Attempt Retrieval Logic - Refactored the logic for retrieving payment attempts by replacing successfulPaymentAttempt with paymentAttempt. Updated the query to fetch the most recent payment attempt with a status of Submitted or higher, consolidating the logic into a single step. Removed fallback logic and updated null-checks accordingly. Simplified transactService initialization to use the new paymentAttempt variable. These changes reduce redundancy and improve code clarity. (PR 23499)

Transaction Management

  • Creditor Account Resolution - Fixed the logic in TransactRepository.cs to use the originating tenant's account ID (tenantRefenceId) instead of the transacting tenant's account ID (_capabilityDataProvider.TenantId) when resolving the creditorAccountId. This ensures that the correct tenant's account is used, improving the accuracy of account resolution in the transaction process. (136817) (PR 23454)

Contributors

Thanks to all contributors who made this release possible!