
ACH payment processing system for a financial platform
Challenge
Our client, an American financial platform, cooperates with brokers and syndicates to issue loans to the end customers, integrating with debit and credit bank APIs. The platform must handle a large volume of transactions and involve external participants in the payment process. Due to a complicated process of paying interest to each stakeholder, extensive data volume, and overall complexity of fund management, the organization needed a solution for the automation of payments.
The decision was made to implement a solution that supports ACH payments through the NACHA file communication protocol with a distinct logic of money distribution between the client, brokers, and syndicates.
Our challenges:
- Complex logic that includes commissions, transaction sequencing, and multiple participant roles.
- Instability in banking services in the USA (delays in fund settlements, a lack of streamlined communication between different departments and banks).
- The correct format of a NACHA file.
- Some rejected payments need to be processed manually due to a lack of support on the bank side.
- Strict compliance with the criteria is critical to know which payments should go through and when.
- Some transactions are handled outside the client’s system, yet the platform must still monitor, plan, and report on all payments.
- High-stakes environment. The platform processes tens of millions of US dollars monthly, adding pressure to ensure stability, precision, and security.
- Banks provided reporting on different payment types in one batch, and the portal needed to distinguish different payment types for correct reporting.
Our client, an American financial platform, cooperates with brokers and syndicates to issue loans to the end customers, integrating with debit and credit bank APIs. The platform must handle a large volume of transactions and involve external participants in the payment process. Due to a complicated process of paying interest to each stakeholder, extensive data volume, and overall complexity of fund management, the organization needed a solution for the automation of payments.
The decision was made to implement a solution that supports ACH payments through the NACHA file communication protocol with a distinct logic of money distribution between the client, brokers, and syndicates.
Our challenges:
- Complex logic that includes commissions, transaction sequencing, and multiple participant roles.
- Instability in banking services in the USA (delays in fund settlements, a lack of streamlined communication between different departments and banks).
- The correct format of a NACHA file.
- Some rejected payments need to be processed manually due to a lack of support on the bank side.
- Strict compliance with the criteria is critical to know which payments should go through and when.
- Some transactions are handled outside the client’s system, yet the platform must still monitor, plan, and report on all payments.
- High-stakes environment. The platform processes tens of millions of US dollars monthly, adding pressure to ensure stability, precision, and security.
- Banks provided reporting on different payment types in one batch, and the portal needed to distinguish different payment types for correct reporting.
Solution
In our solution, we implemented:
- Automated B2B ACH payments to brokers (disbursements or credit payments) and syndicates (both disbursements or credit payments and collections or debit payments). (Next-Day ACH — at the earliest stages of production life cycle, Same-Day ACH — now).
- ACH integration with multiple US banks via SFTP in accordance with security policies on on-premises or Azure Cloud servers.
- Payments are batched into separate NACHA files by payment type, bank, and account.
- Clear reporting for accounting and beneficiaries
- Payments are automated or executed according to the schedule.
Handling of returned transactions. Returns are recorded automatically or manually. (We developed reports for all pending or unconfirmed, or bounced payments with actions: confirm, edit, resend.)
Optimized processes built on Azure Cloud infrastructure helped reduce costs and lower reliance on credit analyst personnel, preventing human error and reducing risk by automating repetitive tasks.
In the end, our payment processing solution: - Allows the business to initiate payments directly from the internal portal.
- Enables verification of bank details before sending payments to prevent mistakes. Even if one of the payments has incorrect data, we ensured that the other payments would be processed correctly. Automated validation on each payment is done, and if some payments don’t match the validation or formatting criteria, they are automatically marked as returned or bounced and not added to the batch. Thus, this guarantees that other payments will be successfully processed.
- Provides reporting on all pending, completed, and rejected payments
- Handles returns automatically or manually (as needed).
- Tracks each payment’s exact origin and destination (one entity can initiate multiple transactions).
Provides a custom admin panel for managing high-volume ACH transfers with buttons for paying all or editing payments manually.
In our solution, we implemented:
- Automated B2B ACH payments to brokers (disbursements or credit payments) and syndicates (both disbursements or credit payments and collections or debit payments). (Next-Day ACH — at the earliest stages of production life cycle, Same-Day ACH — now).
- ACH integration with multiple US banks via SFTP in accordance with security policies on on-premises or Azure Cloud servers.
- Payments are batched into separate NACHA files by payment type, bank, and account.
- Clear reporting for accounting and beneficiaries
- Payments are automated or executed according to the schedule.
Handling of returned transactions. Returns are recorded automatically or manually. (We developed reports for all pending or unconfirmed, or bounced payments with actions: confirm, edit, resend.)
Optimized processes built on Azure Cloud infrastructure helped reduce costs and lower reliance on credit analyst personnel, preventing human error and reducing risk by automating repetitive tasks.
In the end, our payment processing solution: - Allows the business to initiate payments directly from the internal portal.
- Enables verification of bank details before sending payments to prevent mistakes. Even if one of the payments has incorrect data, we ensured that the other payments would be processed correctly. Automated validation on each payment is done, and if some payments don’t match the validation or formatting criteria, they are automatically marked as returned or bounced and not added to the batch. Thus, this guarantees that other payments will be successfully processed.
- Provides reporting on all pending, completed, and rejected payments
- Handles returns automatically or manually (as needed).
- Tracks each payment’s exact origin and destination (one entity can initiate multiple transactions).
Provides a custom admin panel for managing high-volume ACH transfers with buttons for paying all or editing payments manually.
Results
- ASP.NET enterprise application written in C# for the backend, JavaScript, CSS, and Knockout. JS for the frontend.
- Azure DevOps for streamlined development and deployment.
- Webhooks, background jobs, and the SignalR open-source library for Microsoft ASP.NET that automated and improved data flow and system notifications.
- Data security was guaranteed with secure SFTP with SSH authentication, and data is encrypted in the database of MS SQL Server and Azure Blob storage.
- Data integrity was ensured with MS SQL and a hybrid of Dapper and Entity Framework, reducing development costs during client scaling.
- Data consistency as well as accurate and reliable accounting was guaranteed with robust validation both on the backend and frontend layers, as well as highlighting any deviations from usual behavior.
- Streamlined payments were enabled via a well-thought-out user experience with Razor Views and JavaScript.
- Support of all mainstream (and even legacy) browsers with Knockout.js to provide a predictable and stable web interface for client staff and partners in most browsers and applications, even on slow internet connections.
- We enabled reliable ACH acquiring by automating NACHA file generation with C# and SQL, secure file transfers via SFTP, and organized handling of payment returns.
- Reduced manual paperwork through document automation, as payments are triggered automatically upon electronic signature.
- System performance was guaranteed with optimized .NET code and Microsoft SQL Server as data storage, with access using Entity Framework and store procedures in T-SQL for efficient batching processes and reporting. This allows for accuracy and reliability in data tracking and analysis.
- We helped the client adopt modern standards with automation and support for complex multilateral transactions, so it can stay competitive.
- Accelerated payment processing via one-click batch creation with Same-Day ACH by default. If any of the payments have issues, only they will be postponed to the next batch. This, along with auto-validation, robust notifications, and a highlighting engine, allowed us to minimize human errors.
- Regulatory compliance with Open Banking standards for legal and security requirements.
Learn more about this project: https://blog.netls.com.ua/en-us/case-study/ach-payment-processing-system-for-a-financial-platform
- ASP.NET enterprise application written in C# for the backend, JavaScript, CSS, and Knockout. JS for the frontend.
- Azure DevOps for streamlined development and deployment.
- Webhooks, background jobs, and the SignalR open-source library for Microsoft ASP.NET that automated and improved data flow and system notifications.
- Data security was guaranteed with secure SFTP with SSH authentication, and data is encrypted in the database of MS SQL Server and Azure Blob storage.
- Data integrity was ensured with MS SQL and a hybrid of Dapper and Entity Framework, reducing development costs during client scaling.
- Data consistency as well as accurate and reliable accounting was guaranteed with robust validation both on the backend and frontend layers, as well as highlighting any deviations from usual behavior.
- Streamlined payments were enabled via a well-thought-out user experience with Razor Views and JavaScript.
- Support of all mainstream (and even legacy) browsers with Knockout.js to provide a predictable and stable web interface for client staff and partners in most browsers and applications, even on slow internet connections.
- We enabled reliable ACH acquiring by automating NACHA file generation with C# and SQL, secure file transfers via SFTP, and organized handling of payment returns.
- Reduced manual paperwork through document automation, as payments are triggered automatically upon electronic signature.
- System performance was guaranteed with optimized .NET code and Microsoft SQL Server as data storage, with access using Entity Framework and store procedures in T-SQL for efficient batching processes and reporting. This allows for accuracy and reliability in data tracking and analysis.
- We helped the client adopt modern standards with automation and support for complex multilateral transactions, so it can stay competitive.
- Accelerated payment processing via one-click batch creation with Same-Day ACH by default. If any of the payments have issues, only they will be postponed to the next batch. This, along with auto-validation, robust notifications, and a highlighting engine, allowed us to minimize human errors.
- Regulatory compliance with Open Banking standards for legal and security requirements.
Learn more about this project: https://blog.netls.com.ua/en-us/case-study/ach-payment-processing-system-for-a-financial-platform