Guide · Format explainer
What is the CPA 005 EFT file format?
CPA 005 — also called the 1464-byte format — is the standard file layout Canadian banks accept for batch direct deposit and pre-authorized debit. If your bank told you to upload a “CPA 005 file,” an “EFT file,” or a “1464 file,” this is the format they mean.
What CPA 005 is
CPA 005 is a plain-text file format used to send a batch of payments — payroll, vendor payments, refunds, or pre-authorized debits — to a Canadian financial institution for processing in a single upload. Instead of keying each payment into online banking one at a time, you build one file that contains every transaction and hand it to your bank.
Every major Canadian bank accepts the format, and most of them expect it once a payment run grows past a handful of transactions. It is the everyday plumbing behind Canadian direct deposit and pre-authorized debit.
Who governs CPA 005
CPA 005 is published by Payments Canada — the body that operates Canada’s core payment systems, formerly named the Canadian Payments Association (the “CPA” the format is named after). The full title of the standard is Standard 005, “Standards for the Exchange of Financial Data on AFT Files.” AFT stands for Automated Funds Transfer: the system that moves direct deposits and pre-authorized debits between Canadian banks.
Payments Canada defines the format; individual banks implement it. Because the standard is shared, a correctly built CPA 005 file is portable across institutions — but each bank layers its own field edits, originator ID rules, submission channel, and cut-off times on top of the standard. That is why a file one bank accepts can still be rejected by another. The standard tells you what a valid file looks like in general; your bank’s own file guide tells you what they additionally require.
What the format covers
A CPA 005 file is built from fixed-length records, each exactly 1464 characters long. That length is why the format is also marketed as “1464” or “1464-byte” — it is the same standard, not a separate one. “CPA 005,” “1464,” and “EFT file” are three names you will see for this format; some banks brand their offering one way, some another.
Every file uses four record types:
- A — file header. One per file. Carries the originator ID, the file creation date, and the file creation number.
- C — credit detail. Carries deposits — money going out to a recipient, such as payroll or vendor payments.
- D — debit detail. Carries collections — money pulled in from a payer, such as a pre-authorized debit.
- Z — file trailer. One per file. Carries the control totals the bank uses to confirm nothing was added or lost in transit.
There are also four return/error record types — E, F, I, and J — but those appear in files the bank sends back to you, not in files you originate.
Detail records (C and D) consist of a short record header followed by transaction segments, and each record is padded with spaces or zeros out to the full 1464-character length. The exact field positions inside each record are defined precisely by the standard and by each bank’s own specification — and lining all of those up by hand is the hard part. The rest of this page is about why.
CPA 005 vs the 80-byte EFT layout
Not every Canadian bank uses CPA 005. A few — TD is the most common example — accept or require an older, shorter format known as the 80-byte EFT layout.
The two are not the same standard. The 80-byte layout is a separate fixed-length format with an 80-character record instead of 1464, and it carries fewer fields per transaction. It predates the wide adoption of CPA 005 and survives mainly because some bank platforms never migrated off it.
This is where the term “EFT file” gets confusing: on its own it is ambiguous — it can mean either format. The only reliable way to know which one you need is to check your bank’s published file specification or ask their cash-management team. A simple rule of thumb: if you see “1464” in your bank’s documentation, that is CPA 005; if you see “80-byte” or “EFT80,” that is the older layout. A file built to one will be rejected by a bank expecting the other — the record lengths alone don’t match, so the bank’s parser fails on the very first line.
PayFile Pro generates both. For the 80-byte layout, see the TD page. For the banks that use CPA 005, read on.
Which banks use CPA 005
CPA 005 is accepted by every major Canadian financial institution. The differences are in the details — each bank applies its own field edits, originator ID format, submission channel, and cut-off times. PayFile Pro maintains a per-bank page for the institutions where those differences matter most:
- RBC — CPA 005 credit and debit files for Royal Bank business clients.
- BMO — CPA 005 for BMO business clients; BMO brands its layout “1464.”
- CIBC — CPA 005 for CIBC’s batch payment channels.
- Scotiabank — Scotiabank brands its layout “CPA005 1464.”
- ATB Financial — CPA 005 for ATB business accounts.
- Credit unions — most Canadian credit unions clear AFT through Central 1, which publishes a CPA 005-based specification with its own edits.
Each page covers that institution’s specific requirements and links to the matching generator.
Common reasons CPA 005 files get rejected
A CPA 005 file either clears the bank’s edit check or it doesn’t — and a rejection usually means re-cutting the entire file. The standard names specific, recurring failure causes. The ones that catch businesses most often:
- File Creation Number not incremented. The File Creation Number is a sequence value (0001–9999) in the A record. It must increase with every production file you send. Submit a duplicate, or a number lower than your last file, and the bank rejects it as a suspected re-send.
- Record length not exactly 1464. Every line must be exactly 1464 characters. A short line — usually a record that wasn’t padded out, or trailing spaces stripped by a text editor — fails the parser on the first read.
- Date funds to be available outside the allowed window. The standard limits how far ahead of, or behind, the file creation date the due date can sit. A back-dated or far-future date pushes a transaction outside that window and it rejects.
- Invalid originator ID, institution number, or transit number. These are validated against the bank’s records. A typo, a wrong-length field, or an unrecognized ID rejects the affected transaction — or the whole file, if the error is in the header’s originator ID.
- Control totals that don’t reconcile. The Z trailer carries record counts and dollar totals that must match the detail records exactly. If they don’t, the bank can’t trust the file and rejects it.
- Debits and credits mixed when the bank wants them separate. The standard allows C and D records in one file, but many banks require separate files or separate batches for collections and deposits. Mixing them against a bank that doesn’t allow it is a rejection.
- Wrong character encoding or line endings. CPA 005 is fixed-width plain text. Exporting from a spreadsheet or word processor can introduce the wrong encoding, hidden characters, or inconsistent line endings — all of which break a fixed-width parser.
None of these are visible until the bank runs its edit check. That feedback loop — build, upload, wait, get rejected, fix, re-cut — is the single biggest reason businesses reach for a dedicated tool instead of building the file by hand.
How to create a CPA 005 file
There are three common ways to produce one:
- Accounting or ERP software. If your accounting package has a Canadian EFT module, it can usually export a CPA 005 file directly. This works well if you already own the software and it supports your bank.
- Your bank’s portal. Some banks let you enter payments one at a time in online banking with no file required — fine for a few payments, slow and error-prone for a full payroll or vendor run.
- A dedicated file generator. PayFile Pro builds a bank-ready CPA 005 file in your browser: enter or import your payments, choose your bank, and download a file built to that bank’s specification — no accounting software, no manual record-building, and no waiting on an IT request.
PayFile Pro lets you preview the output before you commit, so you can confirm the file is correct before you sign up. Pick your bank to start: RBC · BMO · CIBC · Scotiabank · ATB · Credit unions.
Frequently asked questions
Is CPA 005 the same as a 1464 file?
Yes. “1464” refers to the record length of the CPA 005 standard — each record is exactly 1464 characters. Banks and software vendors use “CPA005” and “1464” interchangeably; they describe one format, not two.
Is CPA 005 the same as an EFT file?
Usually, but not always. “EFT file” is a general term for an electronic funds transfer file. In Canada it most often means a CPA 005 file — but a few banks, such as TD, use an older 80-byte EFT layout instead. Check your bank’s file specification to confirm which one they expect.
Who has to use CPA 005?
Any business or organization that sends batch payments through a Canadian bank — payroll direct deposit, vendor payments, refunds, or pre-authorized debit collections. Banks generally expect a file once a payment run grows beyond a few transactions.
Do all Canadian banks accept CPA 005?
Every major Canadian bank accepts the CPA 005 standard, but each applies its own field edits, originator ID rules, and submission requirements. A file accepted by one bank can be rejected by another, so the file must be built to your specific bank’s specification.
What is the File Creation Number and why does it matter?
The File Creation Number is a sequence value (0001–9999) in the file header. It must increase with every production file you submit. Banks reject a file with a duplicate or out-of-sequence number because it looks like an accidental re-send of an earlier batch.
What is the difference between a C record and a D record?
A C record carries a credit — money you are depositing to a recipient, such as payroll. A D record carries a debit — money you are collecting from a payer, such as a pre-authorized debit. Many banks require credits and debits to be sent in separate files.
Can I create a CPA 005 file without accounting software?
Yes. You do not need an ERP or accounting package. A browser-based generator like PayFile Pro builds a bank-ready CPA 005 file from a list of payments you enter or import, with no software to install.
Why did my bank reject my CPA 005 file?
The most common causes are a File Creation Number that wasn’t incremented, a record line that isn’t exactly 1464 characters, control totals that don’t reconcile, an invalid originator or institution number, a due date outside the allowed window, or wrong character encoding. The bank’s rejection notice usually identifies which check failed.
Generate a CPA 005 file for your bank
Build a bank-ready CPA 005 file in your browser — preview the output free, no signup required.
Sending payments through other banks?
Canadian banks
- RBC payment file generator → CPA005 and Standard 152
- BMO payment file generator → 1464 and EFT 80-byte
- TD payment file generator → EFT 80-byte
- CIBC payment file generator → CPA005, 1464, and EFT 80-byte
- Scotiabank payment file generator → CPA005 and ScotiaConnect EFT Import
- ATB Financial payment file generator → EFT 1464 (CPA005)
- Credit Unions payment file generator → CPA005 1464 (PaymentStream AFT)
US banks
- US ACH (any bank) payment file generator → NACHA ACH (PPD + CCD)
- JPMorgan Chase payment file generator → NACHA ACH (PPD + CCD)
- Bank of America payment file generator → NACHA ACH (PPD + CCD)
- Wells Fargo payment file generator → NACHA ACH (PPD + CCD)
- U.S. Bank payment file generator → NACHA ACH (PPD + CCD)
- PNC payment file generator → NACHA ACH (PPD + CCD)
PayFile Pro is an independent software product. We are not affiliated with, endorsed by, or sponsored by Payments Canada, the Canadian Payments Association, or any financial institution named on this page. CPA 005, Standard 005 are trademarks of Payments Canada. RBC, CIBC, Scotiabank, ATB Financial, TD, BMO, and all other bank names and trademarks are the property of their respective owners and are used here for identification and descriptive purposes only. PayFile Pro generates payment files; it does not transmit them, process payments, or hold funds.