What do ACH return codes and SEPA R-transactions mean for AR?

A bank return tells you why a collected debit came back. ACH uses R-codes such as R01 and R10, SEPA uses reason codes such as AM04 and MD06. Each points to a different next step: retry, fix bank details, get a new authorization or treat it as a dispute.
Spheres with varying finishes cascading into color-coded trays, representing ACH and SEPA return-code categorization for AR teams

Key Takeaways

  • An ACH corporate-entry debit can come back for 2 banking days, an unauthorized consumer debit for 60 days (Nacha, 2024).
  • A SEPA Core debit can be returned for 5 bank business days and refunded for 8 weeks; a B2B debit has 3 days and no refund (EPC, 2025).
  • R01, R09 and AM04 are funding problems: on ACH, at most two reinitiations within 180 days.
  • R10, R29, MD01 and MD06 are disputes or missing authorizations: stop and check the authorization.

In This Article

What do ACH return codes and SEPA R-transactions tell an AR team?

ACH return codes and SEPA reason codes say why a bank sent a collected debit back: a funds problem, bad bank details, missing authorization or a customer dispute.

Return outcomes at a glance: ACH codes, SEPA codes and the usual AR next step

What happenedACH codes (Nacha)SEPA codes (EPC)Usual AR next step
Not enough fundsR01, R09AM04Contact the customer; collect again within the scheme rules
Account closed, wrong or blockedR02, R03, R04, R16, R20AC01, AC04, AC06, AG01Stop; get correct or new bank details
Authorization withdrawn or missingR07, R08MD01, MD02, MS02Stop; get a new authorization or mandate first
Customer disputes the debitR10 (consumer), R29 (corporate)MD06 (Core refund), MD01 (unauthorized)Treat as a dispute; check invoice, authorization, pre-notification
Wrong or duplicate debitR24AM05Check your own file; correct through your bank
Technical or regulatory rejectionR04FF01, RR01 to RR04, AC13Repair the data or file, then resubmit
Reason hiddenNoneMS03Check payment history, mandate and dunning; call the customer

Summarized from Nacha, bank guides and EPC rulebooks; not legal advice.

A return code is the short reason a bank attaches to a returned debit: “An ‘R’ code indicates why the Entry was returned” (Nacha, 2024). SEPA lists its R-transaction codes in the EPC guidance on reason codes (version 8.1, September 2026).

Both schemes are large: close to 8.1 billion ACH B2B payments in 2025, up almost 10% (Nacha, 2026), and 11.7 billion euro-area direct debits in the second half of 2025, 14% of non-cash payments (European Central Bank, 2026). We found no network-wide return rate in any primary source.

Rail choice is in ACH, wire or SEPA Instant; file formats are in the bank file guide.

‍

‍

Who sees a return, and how does it show up in your bank file?

Whoever originated the debit gets the return code: you, if you collect by ACH or SEPA direct debit. A payment your customer pushes comes back to the customer’s bank.

Who sees the return, and where it appears

PaymentWho is toldWhere you see it
ACH debit you collectYouA debit with an R-code; BAI2 code per bank
ACH payment your customer pushesYour customerOften only the customer’s “we paid you”
SEPA direct debit you collectYouReason code in camt.053 or camt.054

BAI2 type codes are bank-specific: East West Bank lists 468 “ACH Returned DR” (East West Bank, 2022).

For a pushed payment, check the bank file before you accept a proof of payment (our guidance). A sender may reverse an ACH entry only for specific errors, within five banking days of settlement (Nacha, 2024).

Which ACH return codes matter for B2B receivables?

For ACH, R01 and R09 allow limited retries, R02 to R04 mean fix bank details, and R07, R08, R10 and R29 mean stop until authorization or a settled dispute.

Thirteen ACH return codes and what an AR team does about each

CodeMeaningWindowNacha rate bucketAR action
R01Insufficient funds2 banking daysOverall (15%)Contact customer; up to two reinitiations, 180 days
R02Account closed2 banking daysAdministrative (3%)Stop; new authorization for another account
R03No account, unable to locate2 banking daysAdministrative (3%)Stop; get correct account data
R04Invalid account number structure2 banking daysAdministrative (3%)Stop until corrected
R05Consumer account debited with a corporate SEC code60 daysUnauthorized (0.5%)Stop; check the SEC code
R07Authorization revoked60 daysUnauthorized (0.5%)Stop until newly authorized
R08Payment stopped2 banking daysOverall (15%)Ask why; reinitiate only with authorization
R09Uncollected funds2 banking daysOverall (15%)Up to two reinitiations, 180 days
R10Not authorized (consumer account)60 daysUnauthorized (0.5%)Stop; may leave the ACH rules
R16Account frozen2 banking daysOverall (15%)Stop; contact customer
R20Non-transaction account2 banking daysOverall (15%)Stop; ask for another account
R24Duplicate entry2 banking daysOverall (15%)Accept; check your file
R29Not authorized (corporate, CCD, CTX)2 banking daysUnauthorized (0.5%)Stop until authorized; treat as a dispute

Sources: Nacha, East West Bank (2024). 60-day returns need a written statement; “Overall” counts all debit returns, so the other two buckets count there too.

Nacha gives corporate SEC codes a “standard right of return (two days)” and consumer SEC codes an “extended right of return (60 days)” (Nacha, 2024). On CCD or CTX entries, the dispute code is R29. R10 is the consumer counterpart: it applies to a debit that hit a consumer account on a PPD or WEB entry, and that runs on the 60-day clock.

East West Bank’s guide to the Nacha rules lets the originator “reinitiate a returned entry up to two times” after R01 or R09 (within 180 days of settlement), after R08 with authorization, or once the cause is fixed (East West Bank, 2024). The same guide notes that after a timely R10 the bank has no other action under the Nacha rules to recover the funds.

Returns also count against you. Nacha’s unauthorized return rate threshold is 0.5% over the preceding 60 days (Nacha, 2024); above the 3.0% administrative or 15.0% overall level, a preliminary inquiry starts (Nacha, rule effective 2015). A retry after R02 to R04 without new account data fails again and lifts your administrative rate.

A Notification of Change is not a return: update the data within six banking days or before the next entry, whichever is later, in most cases (Nacha, 2024).

How long can a SEPA direct debit come back, and what are the R-transaction types?

A SEPA Core debit can be returned for five business days and refunded for eight weeks without reasons; a SEPA B2B debit can be returned for three days, without refund.

How long a debit can come back, by scheme

SchemeBank returns it withinCustomer refund rightUnauthorized claim
ACH, corporate (CCD, CTX)2 banking daysReturn codes onlyR29, inside the 2 banking days
ACH, consumer (PPD, WEB)2 banking days for most codesReturn codes onlyUp to 60 days, written statement
SEPA Core5 Inter-PSP business days8 weeks from the debit dateUp to 13 months
SEPA B2B3 Inter-PSP business daysNone for authorized debitsOutside the B2B scheme

Under the Core rulebook, debtors may request a refund “within eight weeks” of the debit, “on a no-questions-asked basis”, and unauthorized claims run 13 months (EPC SDD Core Rulebook, 2025 version 1.1).

‍

‍

The B2B scheme excludes consumers and the refund right for authorized debits (EPC SDD B2B Rulebook, 2025 version 1.1); a B2B debit on a consumer account comes back as AC13.

R-transaction types: a Reject or Refusal comes before settlement, a Return (by the debtor’s bank) or Refund (claimed by the debtor) after it, and a Reversal is you repaying a collection made in error.

What do the SEPA reason codes mean, and what should AR do?

In SEPA direct debit, AM04 means insufficient funds, MD06 a debtor refund request, MD01 a mandate problem and AC04 a closed account, and each needs a different next step.

SEPA direct debit reason codes and the suggested creditor action

CodeEPC meaningCreditor action and AR note
AC01Incorrect account numberGet the correct IBAN
AC04Closed accountAsk for the new account; may appear as MS03
AC06Blocked accountAsk for another account
AC13Consumer account (B2B only)Agree another way to pay, or a Core mandate
AG01Direct debit forbidden on the accountAgree another payment method
AM04Insufficient fundsContact the debtor so funds are provided; may appear as MS03
AM05Duplicate collectionCheck for a real duplicate
MD01No valid mandate; Core: unauthorized refund up to 13 monthsCheck mandate and pre-notification
MD02Mandate data missing or incorrectRepair the mandate data
MD06Refund request by end customer (Core only)Contact the debtor; compare pre-notified and collected amount
MD07Debtor deceasedClose the agreement; may appear as MS03
MS02 / MS03Refusal by the debtor / reason not specifiedContact the debtor
RR01 to RR04Regulatory: debtor account, ID, name or addressRepair the collection data; may appear as MS03
FF01Invalid file formatRepair the XML file

Source: EPC guidance, version 8.1, 2026; AR notes are ours. Codes apply to Core and B2B unless marked.

MD06 is often described wrongly: the EPC lists it as a “Disputed authorized transaction” (Core only), for example when the collected amount differs from the pre-notification. A canceled mandate is MD01.

MD01 covers “no valid mandate”, including one canceled after 36 months unused, and Core refunds of unauthorized debits; answer it with the signed mandate.

The EPC gives no retry count for AM04, so agree the re-collection rule with your bank. FF01, MD02 and RR01 to RR04 point at your own data.

What does MS03 hide, and how do you find the real cause?

MS03 means no reason was given; the EPC allows it only where national law bars codes such as AM04 or AC04, so the real cause can be any of them.

The EPC reserves MS03 for cases where “national legislation (e.g., data protection laws) does not allow the use of AC04, AM04, MD07, RR01, RR02, RR03 and RR04”, and asks banks to “limit the use of the reason code MS03” (EPC, 2026). So in some countries, MS03 can stand for a closed account, missing funds, a deceased debtor or a data error.

Our guidance: use evidence you hold.

  • Payment history: a first MS03 after many clean collections points to funds or an account change.
  • Dunning status: open reminders, promised dates, logged disputes.
  • Mandate record: reference, date and amount against the collection.
  • People: call the customer, then ask your bank.

Assembling evidence like this is the kind of exception work Vero, the Transformance AI agent, does (below).

How should the AR team post and follow up a return?

After a returned debit, reverse the cash application so the invoice reopens, book bank charges separately, and set the next step: retry, new bank details, new authorization or dispute.

‍

‍

  1. Bank: reports the return in BAI2, camt.053 or camt.054.
  2. ERP: reopens the invoice through a traceable reversal.
  3. Cause: read from the code with the outcome table.
  4. Proposal: retry, new details, new authorization or dispute.
  5. Decision: a person decides and records why.

How each ERP undoes a cleared payment is on our audit trail and reversals page; posting in general is in how external systems post payments.

The method matters. In NetSuite, voiding a cash or check payment “reopens invoices associated with this payment” and keeps the audit trail (Oracle NetSuite Help Center, accessed 2026); an Oracle Fusion receipt “already reconciled in Cash Management” cannot be reversed (Oracle, 26A).

Illustrative example (fictional). Invoice 70211 for USD 18,400.00 is collected by ACH debit on a CCD entry settling Tuesday 3 November 2026. An R01 arrives by Thursday 5 November. AR reverses the cash application, books the return fee on its own line, calls the customer and reinitiates once funds are confirmed, by Sunday 2 May 2027, day 180; ask your bank about weekends. A SEPA Core debit of EUR 14,200.00 collected the same day and returned as MD06 on 11 December, day 38 of eight weeks, is a dispute, not a funds problem.

Our guidance, not legal advice: pause dunning while the return is worked, restart from the original due date, and keep any contractual return fee as its own line (dunning process guide, multi-entity dunning).

What do returns and refund windows do to DSO and your cash forecast?

A returned debit reopens an invoice you counted as collected, and a SEPA Core debit stays open to refund for eight weeks, so that cash is provisional.

Our reading, not a standard: treat a corporate ACH debit as final after two banking days and a SEPA B2B debit after three business days; for SEPA Core, keep a reserve until the eight weeks end. See the DSO formula and cash forecasting guides.

Fewer returns start with rules you can check:

  • Send the SEPA pre-notification at least 14 calendar days before the due date, unless agreed otherwise, with the collection’s exact amount and date (EPC SDD Core Rulebook, 2025).
  • For ACH, keep every authorization: “The burden of proof for Authorization is on the Originator” (Nacha, 2024).

A re-collected payment can sit on account for days; see on-account cash and the unapplied cash guide.

How does Transformance help with returned and reversed payments?

Transformance reads bank statements and open items; Vero investigates exceptions and proposes the next step with evidence, and a person approves before any reversal posts.

It reads open items, invoices, bank statements and remittances, and writes clearing postings and ERP updates, including reversals (what AR automation reads and writes).

Vero, the Transformance AI agent, works on Customer 360, one graph per customer with its payment history, promises to pay and disputes. For an exception such as an unmatched payment, Vero fetches internal and external information and proposes the next step with evidence; a person approves, within thresholds by amount, entity and customer.

ClearMatch reaches a 95% auto-match rate, and CollectPulse actions 100% of overdue invoices within 24 hours, against 30-40% for manual teams (Transformance customer data, 2026).

The ERP connection typically takes 2-3 days, and your IT team may be involved; a full rollout takes 4-8 weeks (ERP integrations). Data is hosted in your region.

Who Transformance is for

  • ERPs: teams whose returned and reversed payments land in SAP S/4HANA (on-premises, private or public cloud), SAP ECC, NetSuite (including OneWorld subsidiaries), Microsoft Dynamics 365 Finance & Operations and Business Central, or Odoo, all running in production with customers; Oracle and Infor are supported.
  • Size: mid-market to large enterprise, 250 to 2,000+ employees, including groups with several entities and shared service centers.
  • Payment volume: from under 1,000 to over 100,000 payments a month.
  • Industries: manufacturing, consumer goods and food and beverage, logistics, e-commerce, agriculture, energy and professional services.
  • Scope: cash application alone, or the full order-to-cash (cash application, deductions, AR collections, cash forecasting).

Conclusion: read the code, then decide who moves next

A return code is a next-step instruction (funds, bank details, authorization or dispute), and the scheme’s window tells you when the cash is final. Agree the retry rule per scheme with your bank.

Key terms

  • ACH: the US batch network that returns failed debits with R-codes.
  • Direct debit: a collection the payee starts under an authorization or mandate.
  • SEPA: the euro payment area whose direct debit schemes carry R-transaction reason codes.
  • camt.053: the ISO 20022 end-of-day statement that carries a returned debit’s reason code.
  • Dunning: the reminder sequence for overdue invoices, paused after a return.

Related guides

‍

‍

Frequently Asked Questions

What does ACH return code R01 mean, and can I collect again?

R01 means insufficient funds; bank guides to the Nacha rules allow up to two reinitiations within 180 days of settlement (East West Bank, 2024), ideally once funds are confirmed.

What is the difference between ACH returns R10 and R29?

R10 is a consumer disputing authorization, with up to 60 days and a written statement; R29 is the corporate equivalent for CCD and CTX entries, within two banking days (Nacha, 2024).

What do SEPA AM04 and MD06 mean, and are they handled the same way?

No. AM04 is insufficient funds, where the EPC suggests contacting the debtor; MD06 is a Core refund request within eight weeks of the debit, which you treat as a dispute (EPC, 2026).

How long after collection can a SEPA direct debit still come back?

A Core debit can be returned for five bank business days, refunded for eight weeks and claimed as unauthorized for 13 months; a B2B debit has three days and no refund (EPC Core and B2B rulebooks, 2025).

Which ERPs does Transformance work with for returned and reversed payments?

Transformance runs in production with customers on SAP S/4HANA (on-premises, private or public cloud), SAP ECC, NetSuite, Microsoft Dynamics 365 Finance & Operations, Business Central and Odoo, and supports Oracle and Infor.

Is Transformance built for large payment volumes and many entities, and how long does it take?

Yes: Transformance is built for 250 to 2,000+ employees, under 1,000 to over 100,000 payments a month, and several SAP company codes, NetSuite subsidiaries or Dynamics 365 legal entities in one environment. The ERP connection typically takes 2-3 days (your IT team may be involved), the full rollout 4-8 weeks.

What does it cost to automate the handling of returned payments?

It depends on scope (cash application alone or the full order-to-cash) and the number of entities, so we size it with you. Book a Call.

SAP, SAP S/4HANA, Microsoft, Dynamics 365, Business Central, Oracle, NetSuite, Odoo and Infor are trademarks of their respective owners (SAP SE, Microsoft Corporation, Oracle Corporation, Odoo S.A., Infor). Transformance is not affiliated with or endorsed by them.

Continue reading