ValidateFin

CPA-005 — the error correction folded into the debit total

Broken on purpose, and broken the way real generators break: the file reverses a credit with an "E" record, and the trailer counts that reversal as a debit. It is not one. Standard 005 gives the E and F error corrections their OWN pair of totals, separate from the debit and credit pairs — fold them together and the file no longer balances. This is the single most common way a hand-written CPA-005 generator gets rejected.

CPA Standard 005 — Invalid

Broken on purpose, and broken the way real generators break: the file reverses a credit with an "E" record, and the trailer counts that reversal as a debit. It is not one. Standard 005 gives the E and F error corrections their OWN pair of totals, separate from the debit and credit pairs — fold them together and the file no longer balances. This is the single most common way a hand-written CPA-005 generator gets rejected.

CPA-005 / AFT payment file (Canada) CPA Standard 005 CPA-005 / AFT — Payments CanadaExpected result: Invalid — 4 errors

What this file shows

Broken on purpose, and broken the way real generators break: the file reverses a credit with an "E" record, and the trailer counts that reversal as a debit. It is not one. Standard 005 gives the E and F error corrections their OWN pair of totals, separate from the debit and credit pairs — fold them together and the file no longer balances. This is the single most common way a hand-written CPA-005 generator gets rejected.

Transactions2
Date in the file2026-07-12

The defects it carries

  • CPA-Z-DVZ trailer: the total value of debit transactions (D and J) is declared as 1500.00 but the segments add up to 0.00.
  • CPA-Z-DCZ trailer: the number of debit transactions (D and J) is declared as 1 but the file carries 0.
  • CPA-Z-EVZ trailer: the total value of "E" error corrections is declared as 0.00 but the segments add up to 1500.00. E records have their own total — they are not part of the debit total.
  • CPA-Z-ECZ trailer: the number of "E" error corrections is declared as 0 but the file carries 1.

Quoted verbatim from the validator, not paraphrased.

Last verified: License: CC-BY-4.0

Every party, IBAN and amount below is fictitious. The IBANs are structurally valid — they pass the mod-97 check — but they belong to no real account.

File content

A0000000010000012345000102619300300                    CAD                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
C0000000020000012345000120000001500000261930004100101234567     0030003000001000000001000ACME PAYROLL   JEAN TREMBLAY                 ACME MANUFACTURING INC        USERID0001XREF-0001          0004100109876543     SUNDRY                               0000000000000                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
E0000000030000012345000120000001500000261930004100101234567     0030003000001000000002000ACME PAYROLL   JEAN TREMBLAY                 ACME MANUFACTURING INC        USERID0001XREF-0001          0004100109876543     SUNDRY         00300030000010000000010000000000000                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
Z000000004000001234500010000000015000000000001000000001500000000000100000000000000000000000000000000000000000000                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        

How we know these results hold

Every file in this library is run through the site's own validator on each build. The expected result stated above is asserted by an automated test — if a file stopped matching what this page claims, the build would fail. Two inherited fixtures were repaired this way before publication: three IBANs failed the mod-97 check and several names used characters outside the basic SEPA character set.

CPA-005 / AFT payment file (Canada)