How to Create EFT Payments Without Your Accounting Software
QuickBooks, Xero, Sage, and most accounting software can't generate CPA-005 files. Here's how to get your payment data into a format your bank will accept.
Why accounting software can't generate EFT files
Most accounting software sold in Canada was originally designed for the US market or as global products:
QuickBooks
US-based. QuickBooks Payroll handles EFT internally (at extra cost), but vendor payments require their payment service or manual cheques. No CPA-005 export.
Xero
New Zealand-based, global product. No native Canadian EFT. Some banks have Xero integrations for specific functions, but no general CPA-005 export.
FreshBooks
Canadian company, but focused on invoicing. Payment features use third-party processors, not direct bank file upload.
Wave
Free accounting, no EFT capability. Payments require Wave's payment service (with fees) or external solution.
Sage 50
Has EFT capability in higher tiers, but it's complex to set up and charges per-use. Many users find it easier to export and convert.
NetSuite
Enterprise ERP with payment capabilities, but Canadian EFT requires configuration. Many users export for simpler processing.
The pattern: Software vendors either don't support Canadian EFT, charge extra for it, or make it so complicated that export-and-convert is easier.
The export-convert-upload workflow
Here's the three-step process that works with any accounting software:
Get your payment list out of your accounting software as Excel or CSV.
Use a conversion tool to transform your export into the bank's required format.
Submit the CPA-005 file through your business banking portal.
Time investment:
First run: 15-20 minutes (includes one-time column mapping)
Every run after: 5-10 minutes
Step 1: Export from your software
Every accounting package can export data. Here's where to find it:
QuickBooks Online
- Go to Expenses → Vendors
- Select vendors to pay (or run an A/P aging report)
- Click Export → Export to Excel
Or: Reports → Accounts Payable → A/P Aging Summary → Export
QuickBooks Desktop
- Go to Reports → Vendors & Payables → Unpaid Bills Detail
- Customize date range and filters
- Click Excel → Create New Worksheet
Xero
- Go to Business → Bills to pay
- Select bills for payment
- Click Export (top right)
Sage 50
- Go to Reports → Payables → Aged Payables
- Run the report
- Click File → Export → choose Excel/CSV
What your export needs
At minimum, include these columns:
- Payee/Vendor name (who you're paying)
- Amount (how much)
- Reference (invoice number, optional but helpful)
Bank details (institution, transit, account number) can be added during conversion or maintained in a separate vendor list.
Step 2: Convert to CPA-005
CPA-005 is the Canadian standard for credit EFT files. It's a fixed-width text format with specific record types and field positions. Your Excel export needs to become this.
What conversion does
| Your Export | → | CPA-005 File |
|---|---|---|
| Column headers | → | Header record (type A) |
| Each payment row | → | Detail record (type D) |
| Dollar amounts | → | Cents (no decimals) |
| Vendor name | → | 15-char payee name field |
| End of file | → | Trailer record (type Z) with totals |
Column mapping (one-time setup)
First time you import, you'll tell the tool which of your columns maps to which payment field:
- "Vendor Name" column → Payee Name
- "Amount Due" column → Payment Amount
- "Invoice #" column → Reference (optional)
This mapping is saved. Next import, it's applied automatically.
Adding bank details
Your accounting export probably doesn't include vendor bank details (institution number, transit, account). You have two options:
- Add columns to your export — If you track bank info in a custom field
- Maintain a vendor list in the conversion tool — Link vendor names to their bank info once, reuse forever
Step 3: Upload to your bank
Once you have the CPA-005 file, submit it through your business banking portal:
RBC Express
- Log in to RBC Express
- Go to Payments → File Upload
- Select CPA-005 format
- Upload your file
- Review and authorize
TD Business Direct
- Log in to Business Direct
- Go to Payments & Transfers → Upload Payment File
- Select your file and upload
- Verify details and submit
Other banks
Most business banking portals have a similar flow: Payments → File Upload → Select File → Authorize. Look for "EFT," "Direct Payment," or "File Upload" in the menu.
Timing: Upload before your bank's daily cutoff (typically 4-6 PM ET). Payments clear in 1-2 business days. See timing details →
Avoiding common errors
File rejections are frustrating. Here's how to avoid them:
Invalid institution codes
Canadian institution codes are 3 digits (e.g., 003 for RBC, 004 for TD). US routing numbers don't work. Verify codes are Canadian.
Wrong transit numbers
Transit numbers are 5 digits. Don't include the institution code. "00362-003" → Institution: 003, Transit: 00362.
Account number formatting
Account numbers vary by bank (7-12 digits typically). Remove dashes and spaces. Leading zeros matter.
Amount errors
CPA-005 amounts are in cents with no decimal point. $1,234.56 becomes 123456. Conversion tools handle this automatically.
Special characters
CPA-005 allows limited characters. Accented characters, symbols, and special punctuation can cause rejection. Stick to basic alphanumeric.
Mismatched totals
The trailer record includes transaction count and total amount. If these don't match the detail records, the file is rejected.
Best practice: Use a conversion tool with built-in validation. Catch errors before you upload, not after the bank rejects your file.
Summary
- QuickBooks, Xero, Sage, and most accounting software can't generate CPA-005 files
- The workaround: Export → Convert → Upload
- Export your payment list to Excel or CSV
- Convert to CPA-005 using a file generation tool
- Upload the file through your business banking portal
- First run: 15-20 minutes. Every run after: 5-10 minutes
- Validate files before upload to avoid bank rejection
Need to convert your accounting exports?
EFT Flow takes your Excel or CSV exports and generates bank-ready CPA-005 files. Works with QuickBooks, Xero, Sage, and any software that exports to spreadsheets.