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.

The situation: You have payment data in your accounting software. Your bank wants a CPA-005 file. Your software can't produce one. This guide bridges that gap.

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:

1
Export payment data
Get your payment list out of your accounting software as Excel or CSV.
2
Convert to CPA-005
Use a conversion tool to transform your export into the bank's required format.
3
Upload to your bank
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

  1. Go to ExpensesVendors
  2. Select vendors to pay (or run an A/P aging report)
  3. Click ExportExport to Excel

Or: Reports → Accounts Payable → A/P Aging Summary → Export

QuickBooks Desktop

  1. Go to ReportsVendors & PayablesUnpaid Bills Detail
  2. Customize date range and filters
  3. Click ExcelCreate New Worksheet

Xero

  1. Go to BusinessBills to pay
  2. Select bills for payment
  3. Click Export (top right)

Sage 50

  1. Go to ReportsPayablesAged Payables
  2. Run the report
  3. Click FileExport → 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

  1. Log in to RBC Express
  2. Go to PaymentsFile Upload
  3. Select CPA-005 format
  4. Upload your file
  5. Review and authorize

TD Business Direct

  1. Log in to Business Direct
  2. Go to Payments & TransfersUpload Payment File
  3. Select your file and upload
  4. 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.