Bank Rejected Your EFT File?
Don't panic. This is fixable.
Here's exactly what went wrong and how to fix it.
First: Take a breath. Rejected files happen to everyone. The error messages are often cryptic, but the fixes are usually straightforward. We've helped hundreds of businesses fix these exact problems.
Quick diagnosis
What error message did you get? Jump to that section:
Invalid account number
Error messages: "Invalid account number", "Account not found", "Account format error"
What went wrong
The recipient's account number is incorrectly formatted or doesn't exist.
Common causes
- Typo in account number
- Account number includes dashes or spaces (should be digits only)
- Account number is too long or too short
- Account has been closed
- Wrong account number entirely (transposed digits)
How to fix it
- Get a void cheque or bank statement from the recipient to verify the correct account number
- Remove any dashes, spaces, or special characters
- Verify the account number length (typically 7-12 digits, varies by bank)
- Double-check you haven't transposed any digits
- Regenerate the file with the corrected account number
Invalid institution/transit number
Error messages: "Invalid routing number", "Institution not found", "Invalid transit", "Bank code error"
What went wrong
The bank routing information (institution + transit) is incorrect.
Common causes
- Institution number wrong (should be 3 digits: 001=BMO, 003=RBC, 004=TD, etc.)
- Transit number wrong or incomplete (should be 5 digits)
- Numbers combined incorrectly
- Using US routing number format instead of Canadian
- Branch has closed or merged
How to fix it
- Get a void cheque from the recipient—routing info is printed at the bottom
- Verify institution is 3 digits, transit is 5 digits
- Check you're using Canadian format, not US routing number
- Verify the combination: [3-digit institution][5-digit transit]
- Regenerate and resubmit
Canadian bank institution numbers
- 001 — BMO Bank of Montreal
- 002 — Scotiabank
- 003 — RBC Royal Bank
- 004 — TD Canada Trust
- 006 — National Bank
- 010 — CIBC
- 815 — Desjardins
Invalid amount or amount format
Error messages: "Invalid amount", "Amount format error", "Amount exceeds maximum"
What went wrong
The payment amount is incorrectly formatted.
Common causes
- Amount includes a decimal point (CPA-005 uses cents, no decimals)
- Amount is in dollars instead of cents
- Negative amount
- Amount not right-justified with leading zeros
- Amount exceeds bank's single-transaction limit
How to fix it
- Convert all amounts to cents: $1,234.56 becomes 123456
- Remove any decimal points
- Right-justify and pad with leading zeros to fill the field (typically 10 digits)
- Example: $1,234.56 → "0000123456"
- Verify no negative amounts
- Check bank's per-transaction limits if amount is large
Invalid character in name field
Error messages: "Invalid character", "Name field error", "Special character not allowed"
What went wrong
The recipient name contains characters that aren't allowed in CPA-005.
Common causes
- Accented characters (é, ñ, ü, etc.)
- Symbols like &, @, #, %, etc.
- Quotation marks or apostrophes in some cases
- Name too long for the field
How to fix it
- Replace accented characters with plain equivalents (é → e, ñ → n)
- Remove or replace symbols (& → AND)
- Truncate names that exceed field length (typically 30 characters)
- Stick to: A-Z, a-z, 0-9, spaces, and basic punctuation (period, comma, hyphen)
Control total mismatch
Error messages: "Control total does not match", "Trailer total error", "Hash total mismatch"
What went wrong
The totals in the trailer record don't match the actual sum of detail records.
Common causes
- Manual editing of the file after generation
- Rounding errors in amount calculations
- Miscounted number of records
- Trailer generated before all records were added
How to fix it
- Recalculate the sum of all credit amounts (in cents)
- Recalculate the sum of all debit amounts (in cents)
- Recount the number of credit and debit records
- Update trailer record with correct values
- Better: regenerate the entire file to ensure consistency
Invalid record length
Error messages: "Invalid record length", "Record too short/long", "Format error"
What went wrong
One or more records are not exactly 1464 characters.
Common causes
- Missing space padding at end of records
- Extra characters or line breaks
- Editing in a word processor that added formatting
- Wrong encoding (UTF-8 BOM, etc.)
How to fix it
- Every record must be exactly 1464 characters—pad with spaces if needed
- Use a text editor (Notepad++, VS Code) to check actual character count
- Save as plain ASCII text with no BOM
- Check for hidden characters or formatting
- Regenerate from a reliable tool
Duplicate file
Error messages: "Duplicate file", "File already processed", "Creation number already used"
What went wrong
You've uploaded a file with the same file creation number as a previous submission.
How to fix it
- Increment the file creation number in the header record
- File creation number is 4 digits (0001-9999)
- Keep a log of which numbers you've used
- Regenerate the file with a new number
Invalid date format
Error messages: "Invalid date", "Date format error", "Payment date in past"
What went wrong
Dates in the file are incorrectly formatted or invalid.
Common causes
- Using regular date format instead of Julian
- Payment date is in the past
- Payment date is too far in the future
- Wrong year digit in Julian format
How to fix it
- CPA-005 uses Julian dates: OJJJJJ (O = last digit of year, JJJJJ = day of year 001-366)
- January 15, 2026 → 6015 (6 for 2026, 015 for day 15)
- Ensure payment date is not in the past
- Check bank's acceptable future date range
Invalid originator ID
Error messages: "Invalid originator", "Originator not found", "Unauthorized originator"
What went wrong
The 9-digit originator ID doesn't match what's registered with your bank.
How to fix it
- Contact your bank to confirm your exact originator ID
- Ensure it's exactly 9 digits, with leading zeros if needed
- Verify it matches what Payments Canada assigned
- Update your file generation tool with the correct ID
Generic or unclear error
Error messages: "File error", "Processing error", "Unable to process"
Troubleshooting steps
- Check file encoding: Should be plain ASCII, not UTF-8 with BOM
- Check record lengths: Every line must be exactly 1464 characters
- Check record counts: Exactly one header (A), one trailer (Z), and detail records (C/D)
- Validate routing numbers: All institution/transit combinations must be valid
- Check trailer totals: Must match sum of detail records
- Contact your bank: Ask for specific rejection reason code
How to prevent rejections
Stop fixing errors after the fact. Prevent them:
- Validate before upload: Use tools that check files before you send them
- Verify banking info: Always confirm account details from void cheques
- Use reliable software: Manual file creation is error-prone
- Keep records: Track file creation numbers you've used
- Test first: Ask your bank about test file procedures
EFT Flow validates before you export
EFT Flow checks for all these errors before generating your file. Invalid routing numbers, incorrect amounts, character issues—caught before they reach your bank.
- Institution/transit validation against Canadian bank database
- Automatic amount conversion and formatting
- Character validation and cleanup
- Correct record lengths and trailer totals
- File creation number tracking
Still stuck?
If you've tried these fixes and still can't get your file accepted:
- Contact your bank: Ask for the specific error code and detailed rejection reason
- Ask for their documentation: Banks sometimes have specific requirements not in the standard spec
- Try a smaller test file: One or two payments to isolate the problem
- Contact us: We've seen a lot of edge cases and can help diagnose unusual issues