eftpayments.ca · Canadian payment operations

Move money on a schedule.Know where every dollar is.

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.

  • 256-bit encryption, single-use keys
  • Built for Canadian banking
  • Complete audit trail
Collected today
+$68,160.00
Today's payment run5 in motion
ND
Northside Dental
Monthly plan · Bank account
$480.00
Settled
OF
Orchard Fitness Club
Bi-weekly · Bank account
$74.50
Settled
LP
Lakeview Property Mgmt
Monthly · Pre-authorized debit
$1,850.00
Clearing
HL
Harbour Landscaping
Weekly payout · Deposit
$2,140.00
In transit
CA
Cedar Auto Detailing
Monthly · Returned NSF
$129.00
Retry scheduled
4 collections · 1 depositNext run in 2 days
Return window
Closed · final
Scroll

Built for every business that bills on a cycle

Dental & health clinicsFitness studios & gymsProperty managementLandscaping & tradesAutomotive servicesSchools & tutoringMemberships & clubsProfessional services
SubscriptionsPayroll depositsVendor payoutsContractor paymentsEquipment financingCondo & strata feesRecurring donationsService contracts
8Billing cadences, from one-time to annual
3Payment methods on every customer record
256-bitEncryption, with a fresh key for every call
24/7Self-serve client portal for your customers

Everything a recurring payment needs, in one place

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.

Customers & payment methods

One record per customer holding their bank account, Interac details or card — stored once, masked everywhere, reusable across every agreement they sign.

Agreements & schedules

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.

Collections & deposits

Debit customers and pay out vendors, contractors or staff from the same ledger. One-off transactions run alongside recurring plans without a separate process.

Invitations & self-onboarding

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.

Client portal

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.

Reporting & reconciliation

Monthly statements, collection and deposit breakdowns, failure reports and per-agreement performance — exportable to CSV or print for your accountant.

From invitation to reconciled, in five moves

Swipe through the whole lifecycle of a recurring payment, one step at a time.

  1. Invite01

    Send a secure invitation

    Pick the customer and the agreement they are joining. They receive a branded, single-use link — and the PIN that opens it arrives separately.

    Invitation sent · PIN ••••
  2. Enrol02

    Customers enter their own details

    Contact information, banking details, a void cheque and the pre-authorization — captured on their side, delivered straight into their record.

    Bank account verified · •••• 4417
  3. Schedule03

    The agreement sets the rhythm

    Weekly, monthly, quarterly or anything between. The customer's schedule is generated from the agreement and fires on its own — no reminders, no rekeying.

    Next run · Oct 1 · 142 customers
  4. Move money04

    Collect and pay out on one ledger

    Debits from customers and deposits to vendors, contractors and staff run side by side, each run stamped with its own reference.

    Batch submitted · $68,160.00
  5. Reconcile05

    Watched all the way to final

    Statuses are refreshed through the day and every payment is followed through its return window — with the bank's reason attached if it comes back.

    Settled · return window closed
  6. Every cycle, on its own, with nothing to chase.

    Your 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 us

Set the cadence. Stop touching it.

Memberships, 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.

One-timeDailyWeeklyEvery two weeksMonthlyQuarterlySemi-annuallyAnnually
  • Define once, bill foreverAn agreement carries the amount, cadence and term. Assign a customer and their schedule is generated — no per-customer setup, no calendar reminders.
  • Bulk assignmentMove a whole cohort onto a plan, or change an amount across every customer on an agreement, in a single action.
  • Per-customer overridesDiscount one account, skip a cycle, or change a start date without breaking the agreement everyone else is on.
  • Pause, resume, cancelSuspend a schedule and pick it back up later with its history intact. Nothing is rebuilt from scratch and nothing is charged twice.
Agreements5 active
UpcomingRecurringHistory
Membership — Standard
142 customers · Monthly
$68,160
Oct 1
Service Plan — Premium
38 customers · Monthly
$27,740
Oct 1
Contractor payouts
12 recipients · Every two weeks
$41,300
Oct 3
Equipment financing
9 customers · Quarterly
$14,850
Oct 15
Annual maintenance
27 customers · Annually
$32,400
Jan 2
228 customers scheduledNext run: Oct 1

A payment isn't done when it's sent

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.

  • Reconciled on a schedule, not on requestStatuses are pulled from the banking network several times a day and written to the record. Nothing depends on someone remembering to check.
  • Returns are first-classA debit returned after settlement updates the payment, the schedule and the customer's history — with the bank's own reason code, in plain language.
  • Funding dates kept separateWhen money lands in your account is a different question from whether a customer's payment cleared. Both are recorded, and neither is used to fake the other.
Payment · Lakeview Property Mgmt$1,850.00
ScheduledSep 28
Created from the customer's agreement and stamped with its own run reference.
Submitted to the bankOct 1, 06:12
Sent in the day's batch with a reference your team can search on.
AcceptedOct 1, 19:40
Confirmed by the receiving institution and moving through clearing.
Within the return windowIn progress
Funds have moved, but the payor can still return the debit. The payment stays watched until the window closes.
FinalPending
Settled, or returned with the bank's reason attached to the record.
Funding note

Deposited to your operating account in the Oct 2 batch. Shown separately — a bank batch describes your funding, not this customer's payment.

Insufficient fundsFlagged for retry on the next cycle, or on a date you pick.
Account closedSchedule held and the customer prompted for new details.
Stop paymentSurfaced immediately — this one needs a conversation, not a retry.
Invalid accountCaught and attributed so it is not mistaken for a funding problem.
Name mismatchThe record shows what the bank returned, not a generic failure.
No authorizationMissing pre-authorization is separated from a genuine decline.

Made for businesses that run on repeat

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.

Dental & clinics

Treatment plans and membership care, billed on the patient's own schedule.

Payment plansMemberships

Fitness & wellness

Bi-weekly and monthly dues that simply arrive — with failed debits retried, not forgotten.

DuesClass packs

Property management

Rent, condo fees and deposits collected on the first, reconciled by unit.

RentCondo fees

Trades & construction

Pay crews and subcontractors on a cadence, and collect progress billing from clients.

PayoutsProgress billing

Hospitality

Staff and supplier payouts from the same ledger that collects your event deposits.

PayrollSuppliers

Professional services

Retainers and service contracts that bill themselves while you do the work.

RetainersContracts

Health practices

Recurring care programmes, with a portal patients check instead of calling reception.

Care plansPortal
Customer invitationAwaiting response
To: accounts@northsidedental.ca
Set up your payment details
You've been invited to enrol in the Membership — Standard plan. Use the secure link below to add your banking information.
Complete enrolment
Access PIN
4729
Contact details
Bank account
Void cheque
Authorization
Link expires after usePIN protected

Let customers bring their own banking details

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.

  1. Send the invitationPick a customer, choose the agreement they are joining, and send. The email is branded as yours and carries a single-use link.
  2. They verify with a PINThe link only opens with the PIN delivered separately. Nobody who forwards the email gets access to the form.
  3. They enter their own detailsContact information, banking details and a void cheque go in on their side — no account numbers read out over the phone, nothing rekeyed by your staff.
  4. You approve and it goes liveReview the submission, approve it, and the customer's schedule starts on the agreement's next cycle.

Give customers the answer before they ask

"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.

  • Their whole history, self-serveEvery past and upcoming charge, searchable, with the receipt attached — so nobody has to email your office for a copy.
  • Status in plain languageCustomers see "awaiting processing" or "settled", not internal codes — and the wording is correct whether they are being charged or paid.
  • Charts, not spreadsheetsA visual read of what they have paid over time, which answers most billing questions before they turn into a phone call.
  • Access without an accountEntry is through a PIN-verified link scoped to that one customer. No password to reset, no portal registration to abandon.
Your paymentsMembership — Standard
Next charge
Oct 1
Amount
$480.00
Paid to date
$5,760
MarAprMayJunJulAugSep
Sep 1, 2026Settled$480.00
Aug 1, 2026Settled$480.00
Jul 1, 2026Retried$480.00
Jun 1, 2026Settled$480.00
Receipts available for every chargePIN secured

Run billing from inside your own product

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/statuses
  • Scoped API keysIssue a key per integration and revoke it on its own. Keys are scoped to one merchant account — never to your whole organisation.
  • Lifecycle webhooksSubscribe once and receive every state change, including returns that land days after settlement, straight into your own systems.
  • Documentation that runsA browsable reference with real schemas and working examples for every endpoint, versioned alongside the API itself.
Create a collectionREST
POST /api/v2/payments
x-api-key: •••••••••••••••••••
{
"customer": "cus_8f21c4",
"agreement": "agr_membership_std",
"amount": 48000,
"currency": "CAD",
"type": "collection",
"reference": "INV-2026-0914"
}
Webhook delivered later
{
"event": "payment.returned",
"payment": "pay_31d90a",
"reference": "INV-2026-0914",
"status": "returned",
"reason": "insufficient_funds",
"occurredAt": "2026-10-06T14:02:11Z"
}
Versioned · scoped keysEvery run carries its own reference

Canadian rails.
Canadian data.
Canadian support.

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.

Domestic banking railsCollections and deposits clear through the Canadian banking network, in Canadian dollars.
Pre-authorized debit, done properlyAuthorizations are captured with the enrolment and kept on the customer's record.
Support in your time zoneA Toronto-based team, reachable by phone on business days.

Built for the people who audit you

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.

Encrypted end to end

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.

Details masked by default

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.

Roles and least privilege

Users are granted only the areas they need — running payments, managing customers, or reading reports — and access is per merchant account.

Complete audit trail

Who changed an agreement, who ran a collection, who approved an enrolment, and when. Settings changes are versioned alongside transaction history.

Traceable by construction

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.

Canadian rails, Canadian data

Transactions clear through domestic banking infrastructure and records stay with the institutions and jurisdiction your business already answers to.

Before you talk to us

How long does a transfer take to clear?

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.

What happens when a payment is returned?

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.

Can customers pay by card as well as bank transfer?

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.

Do we have to move our existing customers manually?

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.

Can this run inside our own software?

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.

How do we reconcile against our bank statement?

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.

See it run against your own billing

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.

Weekdays 9am – 5pm ETeftpayments.caNo commitment to talk