ACH

ACH is the predominant network for electronic funds transfer in the United States. Transferring money over ACH is generally cheaper, but slower, compared to other networks. ACH supports both credits (sending money) and debits (receiving money).

Workflow

The protocol that underlies the ACH network is batch-oriented and does not provide success responses (only error responses). As a result, ACH transfers follow a particular workflow as they are processed by the network. You can track a transfer's progress by checking the status attribute on the ACH object.

The possible status values are:

  • pending

    Initial status after object creation. Pending transfers are queued for processing, which happens periodically throughout the day. As long as the transfer is pending you may still cancel it.

  • canceled

    The transfer was canceled and was never processed.

  • processing

    The transfer is being processed in preparation to be sent. You may no longer cancel a transfer once it has entered this state.

  • error

    The transfer encountered an error during processing. The reasons a transfer might be set to error include non-sufficient funds, suspected fraud, or failed validation.

  • sent

    The transfer was processed and sent out to the ACH network for clearing and settlement. Because the ACH protocol does not provide for a success response, successful transfers will remain in the sent state in perpetuity.

  • returned

    The transfer was processed and sent, but the network or receiving bank could not complete the transfer successfully. See the ACH Returns guide for more details.

SEC Codes

The ACH network adheres to different processing rules depending on the type of transfer you're sending. For processing purposes, a transfer's type is determined by its sec_code.

This API supports the following values of sec_code:

  • ccd

    Used for commercial payments. If the transfer is between two corporate entities, usually you'll use ccd.

  • cie

    Used for transferring funds from one commercial entity to another at a consumer's request. Typically used for bill pay.

  • ppd

    Used for consumer payments. If one of the parties involved in the transfer is a personal bank account, usually the transfer will be ppd.

  • tel

    Used for consumer payments to a commercial entity when the consumer’s authorization for a transfer of funds is received orally via the telephone.

  • web

    If you're initiating a consumer payment, and you obtain authorization to make the payment via the Internet, then you'd likely use web.

It is necessary to use the correct SEC codes for your particular ACH payment use cases. Using improper codes can cause financial and regulatory consequences. When in doubt, talk with your bank partner(s) to determine the appropriate SEC code to use. Your Treasury Prime Customer Success Manager can help ensure that you are technically able to initiate ACH payments using the necessary SEC codes for your business.

Virtual Ledger ACH Holds

Credit ACH Holds

When enabled this setting ensures that a new credit ACH can never be created when said credit may lead to insufficient funds in the account to fulfill the payment.

ACH credit holds alter the ACH processing flow to create a hold transaction whenever a credit ACH is created. These hold transactions operate in the same manner as a card hold, lowering the current available balance on the corresponding account. A hold_release transaction is generated once the credit ACH has completed processing. The hold, hold_release and withdrawal transactions are tied together by a common trace_id. For ACH credit holds the value of the trace_id is the ach_id of the corresponding
ACH.

Debit ACH Settlement Holds

When enabled this setting adjusts the debit ACH processing flow to credit the ledger account as soon as the ACH is moved to a sent status. A hold is then immediately created against the account for the value of the ACH. These funds will be released and the ACH will be considered settled at the scheduled_settlement time as provided in the ACH response.