What is an ACH return?

ACH return

An ACH return is the receiving bank sending an entry back to the originator. The original credit or debit is unwound. Nacha assigns a code such as R01 for insufficient funds or R10 for an unauthorized debit. The return is a new event. It does not delete the payment you already recorded.

How does an ACH return work?

The RDFI decides the item cannot stand. It files a return with a code and a deadline that depends on the code. Your ODFI posts the return to you. The omnibus moves back. Your ledger must move back too, or wallets no longer match the pot.

Return vs refund vs reversal

A return is the rail rejecting or unwinding the item. A refund is you sending money back on purpose. A reversal is an ODFI-initiated takeback of a credit you originated in error, with its own Nacha rules. Use the word that matches who started it.

What do you post?

If the original is still inflight, void it. If it already committed, post a new transaction the other way and keep the return code on that record. Do not edit the original amount.

How it works with Blnk

Void the inflight post when the return lands before commit. Refund or post the opposite path when the original already applied. Store the return code in metadata. See refunds and update inflight.

ach-return-void.ts
await blnk.Transactions.updateStatus(
  'txn_c4e70eb8-e4d6-4e04-a2e2-92a43b969e0c',
  { status: 'void' },
);