Dental & clinics
Treatment plans and membership care, billed on the patient's own schedule.
Collect from customers, pay out to vendors and staff, and run recurring billing across the Canadian banking network — with every transaction tracked from the moment it is scheduled to the moment it settles, in one system of record.
Built for every business that bills on a cycle
Most teams run billing across a spreadsheet, a bank portal and an inbox. EFT Payments replaces all three with a single record of who owes what, when it moves, and what happened.
One record per customer holding their bank account, Interac details or card — stored once, masked everywhere, reusable across every agreement they sign.
Define a billing agreement once — amount, cadence, start and end — then assign customers to it. Each customer gets their own schedule that fires on the agreement's cycle.
Debit customers and pay out vendors, contractors or staff from the same ledger. One-off transactions run alongside recurring plans without a separate process.
Email a PIN-protected invitation and let the customer enter their own banking details and void cheque. No forms to rekey, no account numbers over the phone.
Your customers sign in to see their own payment history, upcoming charges and live status — so routine "did it go through?" calls stop reaching your team.
Monthly statements, collection and deposit breakdowns, failure reports and per-agreement performance — exportable to CSV or print for your accountant.
Swipe through the whole lifecycle of a recurring payment, one step at a time.
Pick the customer and the agreement they are joining. They receive a branded, single-use link — and the PIN that opens it arrives separately.
PIN ••••Contact information, banking details, a void cheque and the pre-authorization — captured on their side, delivered straight into their record.
•••• 4417Weekly, monthly, quarterly or anything between. The customer's schedule is generated from the agreement and fires on its own — no reminders, no rekeying.
Oct 1 · 142 customersDebits from customers and deposits to vendors, contractors and staff run side by side, each run stamped with its own reference.
$68,160.00Statuses are refreshed through the day and every payment is followed through its return window — with the bank's reason attached if it comes back.
return window closedYour team steps in only when a payment needs a decision — and when it does, the reason is already on the record.
Walk through it with usMemberships, service plans, financing, payroll and vendor payouts all run on the same engine. The schedule fires on its own cycle and only asks for your attention when something needs a decision.
Bank transfers clear over days, and a debit can come back well after the money appeared to arrive. The platform tracks each payment for its full return window instead of marking it complete on submission.
Deposited to your operating account in the Oct 2 batch. Shown separately — a bank batch describes your funding, not this customer's payment.
If your revenue arrives on a cycle — or your payouts leave on one — the same engine handles it. These are the teams it was shaped around.
Treatment plans and membership care, billed on the patient's own schedule.
Bi-weekly and monthly dues that simply arrive — with failed debits retried, not forgotten.
Rent, condo fees and deposits collected on the first, reconciled by unit.
Pay crews and subcontractors on a cadence, and collect progress billing from clients.
Staff and supplier payouts from the same ledger that collects your event deposits.
Retainers and service contracts that bill themselves while you do the work.
Recurring care programmes, with a portal patients check instead of calling reception.
Collecting bank information by phone, email or PDF puts your team in the middle of the most sensitive data you handle. An invitation moves that step to the customer, behind a PIN, and delivers it straight into their record.
"Did my payment go through?" is the single most common question a billing team fields. The portal answers it — in your branding, on any device, without a login to maintain.
Everything the portal does is available over a versioned REST API, so your application, your CRM or your accounting system can create customers, start schedules and read settlement status without anyone opening a browser.
/customers/agreements/schedulers/payments/transactions/invites/statusesPOST /api/v2/paymentsx-api-key: •••••••••••••••••••{"customer": "cus_8f21c4","agreement": "agr_membership_std","amount": 48000,"currency": "CAD","type": "collection","reference": "INV-2026-0914"}
{"event": "payment.returned","payment": "pay_31d90a","reference": "INV-2026-0914","status": "returned","reason": "insufficient_funds","occurredAt": "2026-10-06T14:02:11Z"}
EFT Payments is built for the way money actually moves between Canadian businesses and their customers — business-day clearing, pre-authorized debits and the return rules that come with them.
Moving money on behalf of other people invites scrutiny from your bank, your auditor and your customers. These controls are in the product by default — not an enterprise tier you upgrade into.
Every call to the banking network is encrypted with a single-use key negotiated for that request alone. A captured key is worthless the moment the call completes.
Full account numbers are never rendered back to the interface, written to logs or returned by the API. Staff see the last digits and nothing more.
Users are granted only the areas they need — running payments, managing customers, or reading reports — and access is per merchant account.
Who changed an agreement, who ran a collection, who approved an enrolment, and when. Settings changes are versioned alongside transaction history.
Every scheduled run is stamped with its own reference, which travels with it to the bank and back — so any payment can be followed from schedule to settlement.
Transactions clear through domestic banking infrastructure and records stay with the institutions and jurisdiction your business already answers to.
Bank transfers settle over business days rather than instantly, and the exact timing depends on the receiving institution and the time of day a payment is submitted. The platform shows you where each payment actually is instead of guessing a date.
The return comes back with the bank's reason — insufficient funds, closed account, stop payment and so on. That reason is written to the payment, the customer's schedule and their history, and you decide whether to retry, hold the schedule or contact the customer.
Yes. A customer record can hold a bank account, Interac details or a card, and an agreement can bill whichever method that customer has on file.
No. Customers can be imported, or invited to enter their own banking details through a PIN-protected link — which is usually faster and keeps your team out of the data-entry path entirely.
Yes. The same operations the portal performs are available over a versioned REST API with scoped keys, and webhooks push every status change — including late returns — into your systems.
Deposits into your operating account are recorded separately from individual customer payments, so a batch on your statement can be matched back to the transactions that make it up without exporting anything.
Bring a plan you already bill — a membership, a service contract, a payout run — and we'll walk through how it would work end to end, including what happens when a payment comes back.