ACH transfers are electronic funds transfers between two financial institutions that can both push funds (ACH credits) and pull funds (ACH debits). Moov does not move money directly between external bank accounts. All funds move through the Moov platform on the way to their final destination. In practice, money must move into Moov before it can move out.
The flow shown above can be achieved in a single transfer when the source and destination are both external bank accounts linked to a Moov account. ACH can also be used to add or withdraw funds from a Moov wallet. Below is a list of transfer types that use the ACH process:
- Bank-to-bank: Requires both the debit and credit portion of the ACH process
- Bank-to-wallet: Requires the debit portion of the ACH process
- Wallet-to-bank: Requires the credit portion of the ACH process
In order to facilitate any type of ACH transfer with Moov, you will need to ensure the source and destination accounts have the necessary capabilities and payment methods.
Before initiating a transfer, you will need to set appropriate payment method types for debits (money in) and credits (money out).
Moov pulls funds into the Moov platform using ACH debits. ACH debits can be created using a payment method with one of the following types:
ach-debit-fund: Represents a “push” flow (for example, payout or disbursement, topping up a wallet)
ach-debit-collect: Represents the first stage of a “pull” flow (for example,collections or billing)
Funds leave the Moov platform with ACH credits. You can specify the processing speed using a payment method with one of the following types:
ach-credit-same-day: Payment is processed with “same-day” ACH processing
ach-credit-standard: Payment is processed with standard “next-day” ACH processing
Moov processes in all same-day windows listed below:
|Processing speed||Cutoff time||Expected time posted to bank|
|Same-day window 1||10:00 AM ET||Early afternoon|
|Same-day window 2||2:15 PM ET||End of day|
|Same-day window 3||4:15 PM ET||End of day|
|Standard||5:30 PM ET||Next day|
Moovon their statement, and a destination account will see the source’s
displayNameon their bank statement. You can customize the name and description an account sees by using the
achDetailsfields. See the customized ACH statement descriptors section for more information.
- The type of transfer (for example, bank-to-bank)
- ACH payment method type (for example,
- Cutoff times
For standard bank-to-bank transfers, Moov holds funds that enter the platform via an ACH debit for two to three banking days before making the funds available, even when using “same-day” processing. The purpose of the hold is to account for the lag in time it takes to hear back about returns or processing issues.
For faster bank-to-bank transfers, Moov removes the hold on ACH debits. The ACH credit process starts within hours of the transfer being initiated, allowing for transfers to fully complete within one day as long as the transfer is initiated before certain cutoff times. Accounts must be approved by Moov to use faster ACH processing.
ACH payments are processed in batches and must be uploaded to Moov’s partner financial institutions before certain cutoff times. See the processing speed document for more information on processing speed, cutoff timetables, and examples of transfer timelines.
You have the option to set a customized ACH statement descriptor when creating a transfer. If you’d like to provide more clarity or context for an individual transfer, you can utilize the following fields:
achDetails.companyEntryDescription: describe the purpose of the transaction
achDetails.originatingCompanyName: set how you want the company name to appear on the statement
The string you provide in those fields will override the default Nacha file entry. If you’d like to set custom descriptors, you can use these fields for both the source and destination, or just one.
In a transfer where the source and the destination are the same Moov account, the facilitator’s ACH company name will be used as the default originating company name. The facilitator can override this value by setting the
achDetails.originatingCompanyName field for either the source or the destination in the create a transfer