Zoho Books is good at tracking what you owe. It is not built to produce the EFT 1464 file that Canadian banks require to pay those bills electronically. The usual workarounds are cheques, manual online bill payments entered one at a time, or a spreadsheet that someone converts into a fixed-width file at month end. This guide shows a different route: approve bills in Zoho Books, generate a bank-ready EFT file from them, and have the payments written back to Zoho Books automatically. The steps below follow the Zefty setup, which takes most teams a single sitting.
Before you start: three things to line up
1. EFT origination with your bank. Ask your business banking representative to enable EFT (sometimes called AFT or direct payments) on your account. The bank issues a 10-character originator ID, which Zefty calls the bank emitter ID, and tells you how to upload files through its portal. This is the only step you cannot do online in an afternoon; allow for the bank's own turnaround.
2. Vendor banking details in Zoho Books. For each vendor you intend to pay, you need the institution number (3 digits), transit number (5 digits) and account number (up to 12 digits). Zefty reads them from the vendor's bank account in Zoho Books by default, or from custom fields you designate.
3. A Zoho Books administrator login. You will create an API client in the Zoho API console and authorize access. Check the address bar in Zoho Books: books.zoho.com means the US data centre (zoho.com); books.zoho.ca or books.zohocloud.ca means the Canadian one (zohocloud.ca). You will need to pick the matching region.
Step 1: Create your account and organization
Register at zefty.ca with an email address and password, or with a Google, Facebook or Apple account. Verify your email. You can enable two-factor authentication with an authenticator app from the start.
The organization wizard then asks for your legal name, email, website, address, province and phone number. Use the legal name exactly as your bank has it: it appears in the file as the originator's name.
Step 2: Choose a plan
Zefty subscriptions are billed in Canadian dollars through Stripe Checkout, taxes calculated automatically. Starter is $29 per month for one user, Team is $43 per month with additional users at $14 per user per month, and Premium is $299 per month with unlimited users. Card details go directly to Stripe; Zefty never sees them. There is no free trial, but test mode (Step 7) lets you validate everything before a real payment leaves your account.
Step 3: Enter your bank details
Select your bank from the nine supported institutions (BMO, CIBC, Desjardins, HSBC Canada, Laurentian Bank, National Bank of Canada, RBC Royal Bank, Scotiabank, TD Canada Trust), then fill in:
| Field | Format |
|---|---|
| Business name | As registered with the bank, 30 characters maximum |
| Bank emitter ID | 10 characters, no spaces or dashes |
| Transit number | 5 digits |
| Institution number | 3 digits (filled from the bank you selected) |
| Account number | Up to 12 digits |
These values go into the A record and the originator fields of every C record in your files. If the emitter ID is wrong, the bank will reject the file at upload, so copy it from the bank's confirmation rather than typing it from memory.
Step 4: Connect Zoho Books
- In Zoho Books, open Settings, then Organization Profile, and copy the Organization ID.
- Open the Zoho API console for your region:
api-console.zoho.comfor zoho.com,api-console.zoho.cafor the Canadian data centre. - Create a Server-based application named Zefty, with homepage
https://zefty.ca/and authorized redirect URLhttps://zefty.ca/authorize. - Copy the Client ID and Client Secret into the Zefty setup form, along with the region and Organization ID.
- Click Authorize Zoho Books. Zoho shows the permissions requested: read bills, read and create vendor payments, read contacts, read banking. Accept.
Zefty stores OAuth tokens, not your Zoho password, and refreshes them automatically. If the authorization is interrupted, delete the client in the API console and create a new one; Zoho only lets each client complete authorization once.
Step 5: Let the first sync run
Immediately after authorization, Zefty imports your vendors, then your unpaid bills. The dashboard shows sync progress and the time of the last synchronization. After that, a sync runs every night at 2 a.m., and you can trigger one at any time with Sync with Zoho at the top of the Bills page.
Step 6: Check that vendors are ready to export
Open Vendors. Any vendor missing banking information shows a red hint. Fix it in Zoho Books (in the vendor's bank account or the custom fields you configured), then sync again. On the Bills page, rows for those vendors are shown in red and cannot be selected until the details are complete. The Ready to export column tells you at a glance which bills can go into a file.
Step 7: Turn on test mode for your first file
In Zoho configuration, under EFT 1464 File Settings, enable Test mode. A "Test Mode ON" badge appears in the navigation. Files generated in test mode are marked as test files, and Zefty does not post any payment to Zoho Books. Generate one file this way, upload it to your bank's test facility or send it to your banking representative for validation, and turn test mode off once the bank confirms the format.
Step 8: Select bills and generate the payment file
On the Bills page, tick the bills to pay. To pay part of a bill, type the amount in the Partial Payment column; the remaining balance stays open in Zoho Books. The Selected Total updates as you go. Click Generate Payment File, enter the Payment Date (the due date written into each C segment), and confirm.
Zefty builds the EFT 1464 file, assigns the next file number, saves an Export record, and, unless test mode is on, creates a vendor payment in Zoho Books for each bill with the payment mode "Zefty EFT 1464".
Step 9: Download and upload
Go to Report. Each export lists the file number, type, total, creation date and payment date, with two buttons: Download EFT File and Download PDF Report. The PDF lists every field of every A, C and Z record; keep it with your month-end documents. Upload the EFT file through your bank's business portal, following the bank's own approval workflow.
Step 10: Reconcile in Zoho Books
Back in Zoho Books, each paid bill now shows a vendor payment drawn from the account you set as Account Paid From. In Zefty, the History page lists paid bills with their Zoho Payment ID, so you can trace any bank line back to the bill and the file it was paid in.
How long does it take?
As an example, a team that pays 40 vendor bills a month by manual bank portal entry might spend an hour or two per payment run keying amounts and account numbers, then the same again recording payments in Zoho Books. With bills already approved in Zoho Books, selecting them and generating the file is a matter of minutes, and the write-back removes the second data entry entirely. Your own numbers will depend on volume and on how clean your vendor records are.
Key takeaways
- Enable EFT origination with your bank first; the 10-character emitter ID is the one input you cannot generate yourself.
- Store vendor institution, transit and account numbers in Zoho Books; Zefty syncs them and flags anything incomplete.
- Connect Zoho Books through an API client in the console for your region (zoho.com or zohocloud.ca) and the redirect URL
https://zefty.ca/authorize. - Use test mode for the first file so the bank can validate the format before real money moves.
- Every file is stored with a number, an EFT file and a PDF audit report; payments are written back to Zoho Books automatically.
See the same flow with screenshots on How it works, or compare plans on the pricing page. If your bank is RBC, TD, BMO or another supported institution, our bank guides explain how to activate EFT origination with each one.