Supported use cases
The connector is designed to handle diverse ACH workflows, ranging from payroll to corporate tax settlements.ACH sec code support
The connector supports multiple Standard Entry Class (SEC) codes to ensure compliance across different transaction types:- PPD: Prearranged Payment and Deposit (Consumer accounts, e.g., Payroll).
- CCD / CCD+: Corporate Credit or Debit (B2B payments, including Child Support and Tax payments).
- CTX: Corporate Trade Exchange (B2B with extended remittance information).
Processing capabilities
- Standard and Same-Day ACH: Flexibility to choose between standard clearing cycles or Same-Day ACH for urgent settlements.
- Batch Lifecycle Management: Submit entire batches for pre-validation or trigger full/partial cancellations for pending instructions.
- Account Verification: Supports Prenote validation to verify recipient account details before actual funds transfer.
Batch operations API
The following endpoints are implemented to manage the lifecycle of an ACH batch.| Operation | Endpoint | Description |
|---|---|---|
| Batch submission | {baseURL}/batches | Submits batch details to verify formatting and requirement compliance before processing. |
| Batch cancellation | {baseURL}/batches | Instructs the system to cancel an entire batch or specific instructions within a batch (provided they haven’t settled). |
| Batch status webhook | {baseURL}/webhooks/batch/statusupdate | Asynchronous updates for the overall batch status (e.g., Accepted, Rejected, Partially Processed). |
| Individual status webhook | {baseURL}/webhooks/payment/paymentupdate | Granular updates for specific payments within a larger batch (useful for tracking specific returns). |
Technical considerations
Pre-validation logic
Before a batch is moved to “Settlement” status, the connector performs a pre-validation check. This ensures that:- Total credit/debit counts match the header.
- Routing numbers pass checksum validation.
- Required addenda records for specific SEC codes (like CCD/CTX) are present.
Asynchronous status tracking
Because ACH is not an instant rail, the connector relies heavily on webhooks.- Use the
/batch/statusupdatefor high-level lifecycle events. - Use
/payment/paymentupdateto handle ACH Returns (e.g., R01 - Insufficient Funds) at the individual transaction level.