Screen 1 — Landing / Sign-in
Desktop · 1440 · Light
etracer
Interac reconciliation, on autopilot
Payment matched ✓ Applied
Paula Sutton
$2,147.50 → INV-2201
Booked to Ray Sherman’s account · Just now

Every e-transfer, matched to the right invoice in your accounting software and booked — while you sleep.

Sign In

Sign in to eTracer with your Google account, or with email and password.

or
🔒 eTracer secures your data
Privacy · Terms · Contact
Desktop · Error
etracer
Interac reconciliation, on autopilot
Payment matched ✓ Applied
Paula Sutton
$2,147.50 → INV-2201
Booked to Ray Sherman’s account · Just now

Every e-transfer, matched to the right invoice in your accounting software and booked — while you sleep.

Sign In

Sign in to eTracer with your Google account, or with email and password.

We couldn’t sign you in. Please try again.
or
Mobile · 390 · Light / Dark
etracer
Interac reconciliation, on autopilot

Sign In

Sign in to eTracer with your Google account, or with email and password.

or
🔒 eTracer secures your data
Privacy · Terms · Contact
etracer
Interac reconciliation, on autopilot

Sign In

Sign in to eTracer with your Google account, or with email and password.

or
🔒 eTracer secures your data
Privacy · Terms · Contact
Screen 1b — Email sign-in & password reset
Opens from “Sign in with email & password” · reset shows link-sent state
Sign in with email
Email
matt@northsideflooring.ca
Password
••••••••••
Forgot password? ← Other options
Reset your password
Email
matt@northsideflooring.ca
Link sent — check your inbox. Expires in 30 minutes.
Screen 1c — Account details · before choosing a plan
Email signups: name · company · email · password — SSO signups only confirm the company (name & email come from Google/Microsoft)
Create your account
Signing up with email
First name
Matt
Last name
Kelly
Company name
Northside Flooring
Work email
matt@northsideflooring.ca
Password
••••••••••
Next: pick your plan · 14 days free, cancel anytime
One last thing
Signed up with Google / Microsoft — just your company
matt@northsideflooring.caSigned in with Google — email locked
Company name
Northside Flooring
No password needed · Next: pick your plan · 14 days free
Screen 2 — Onboarding wizard · resumable, mandatory
Desktop · Step 1 of 3 · Connect accounting
etracer Accounting · Live MK Northside Flooring
Queue
Matched0
Settings
Inboxes
All inboxes5
jobs@3
accounts@2
mike@0
Today · Matched
$0.00
waiting for your first match
Step 1 of 3

Connect your accounting software

eTracer reads your open invoices so it can match incoming e-transfers automatically.

Pick your platform — connected in about a minute
Desktop · Step 2 of 3 · Set up e-transfer forwarding — a Gmail FILTER, never manual forwarding
etracer Accounting · Live MK Northside Flooring
Queue
Matched0
Settings
Inboxes
All inboxes5
jobs@3
accounts@2
mike@0
Today · Matched
$0.00
waiting for your first match
Step 2 of 3

Set up e-transfer forwarding

Gmail auto-forwards your Interac notifications to your private eTracer address. We never connect to your inbox.

u_7f3k9q2w@in.etracer.ca
1In Gmail: Settings → Filters → Create a filter
2From: payments.interac.ca
3Choose “Forward to” and paste your eTracer address
4Click the confirmation link Gmail emails you — one time only
Set up the filter — don’t forward emails yourself. A manual forward strips Interac’s signature, and eTracer will reject it.
Gmail sent its confirmation — it lands with us, not you
Forwarding confirmed — now create the filter (step 2 above)
The wizard detects each step by itself — these states appear in place
Full guide with pictures → etracer.ca/connect-your-inbox
Works from Gmail & Google Workspace · Outlook rules work the same way
Desktop · Step 3 of 3 · First payment detected
etracer Accounting · Live MK Northside Flooring
Queue
Matched1
Settings
Inboxes
All inboxes5
jobs@3
accounts@2
mike@0
Today · Matched
$1.00
first payment verified
Step 3 of 3

First payment received & verified

$1.00 from your test just arrived, passed Interac’s signature check, and matched. You’re live.

Verified · Interac signature
Waiting state: “Watching for your first forwarded e-transfer…” with a spinner
Mobile · 390 · Step 2
etracer Accounting · Live
MKNorthside Flooring
Today · Matched
$0.00
matched 0
Step 2 of 3

Set up e-transfer forwarding

Gmail auto-forwards your Interac notifications to your private eTracer address. We never connect to your inbox.

u_7f3k9q2w@in.etracer.ca
1In Gmail: Settings → Filters → Create a filter
2From: payments.interac.ca
3Choose “Forward to” and paste your eTracer address
4Click the confirmation link Gmail emails you — one time only
Set up the filter — don’t forward emails yourself. A manual forward strips Interac’s signature, and eTracer will reject it.
Gmail sent its confirmation — it lands with us, not you
Forwarding confirmed — now create the filter (step 2 above)
The wizard detects each step by itself — these states appear in place
Full guide with pictures → etracer.ca/connect-your-inbox
Works from Gmail & Google Workspace · Outlook rules work the same way
Review
Matched
Settings
Screen 2b — Forwarding: what verifies & what doesn’t
The core security model — every payment is proven to come from Interac before it books
Filter vs manual forward · why the instruction matters
Gmail filter (auto-forward)
Resends Interac’s original email, byte-for-byte
Interac’s signature stays intact → verified & accepted
Payment key preserved → no duplicates, ever
Manual forward (Fwd: button)
Composes a new email quoting the old one
Interac’s signature is gone → rejected — always
This is correct behaviour, not a bug: an unverifiable payment must never book
The single most important instruction in the product: tell the customer to CREATE A FILTER — never “forward it to us”
The “Verified · Interac signature” chip
Verified · Interac signature
Every accepted payment carries this chip. It means eTracer cryptographically checked the email’s DKIM signature against payments.interac.ca — Interac’s own signing key — before anything was matched or booked. A signature from the mail relay alone is not enough.
Rejected · manual forward detected
This email was forwarded manually — we can’t verify it came from Interac Nothing was booked. Set up the Gmail filter and the next payment will verify and match on its own.
Shown in the queue when a manual forward is detected · the payment is NOT lost — the customer re-sends nothing, the filter catches the next one
Quarantined · unverifiable signature
Held for review — signature couldn’t be verified This email is quarantined and no payment was booked. Support is looking at it — your books are untouched.
Fail-closed: anything not cryptographically proven authentic quarantines · it never silently books
Screen 3 — Review queue
Desktop · 1440
etracer Accounting · Live MK Northside Flooring
Queue
Matched12
Settings
Inboxes
All inboxes5
jobs@3
accounts@2
mike@0
Today · Matched
$3,128.00
adds up as it applies
Needs you · 2
eTracer couldn’t match these — pick the invoice once and it books. Same payer next time? Matches itself.
CE
Cedar Electric No invoice number in the message · 41 min ago
$2,148.00
MR
Maple Roofing Name doesn’t match an open invoice · 1 hr ago
$4,500.00
Handled automatically
Nothing to do here — receipts are already on their way.
NP
Northside Plumbing Matched to INV-1039 · receipt sent
$980.00 Paid · Auto
PS
Paula S. Reading the e-transfer email…
$2,147.50 Matching…
Today’s history
Cedar Electric → INV-1043 · you matched $2,148.00
Northside Plumbing → INV-1039 · auto-matched $980.00
Riverside Café → INV-1037 · auto-matched $1,420.00
Oakwood Dental → INV-1035 · you matched $3,600.00
Mobile · 390
etracer Accounting · Live
MKNorthside Flooring
Today · Matched
$4,890.00
matched 24
Review queue
3 need your confirmation · 2 unmatched
All inboxesjobs@accounts@mike@
Incoming e-transfers
PS
Paula Sutton → INV-2201 · Ray Sherman · exact
$2,147.50 12m ago
DK
Dave Kowalski → INV-1043 · $2.50 over
$2,150.00 18m ago
CE
Cedar Electric No invoice # — pick one
$890.00 41m ago
JT
J. Tremblay No match — choose invoice
$1,300.00 1h ago
Today’s history
Northside Plumbing $980.00
Kate Sawyer $1,020.00
Green Valley Co. $3,200.00
S. Okafor $512.75
Review
Matched
Settings
Screen 3b — Queue actions & edge states
Everything that happens on the queue — picking, searching, undoing, and what breaks.
Invoice picker · dropdown open · searchable
CE
Cedar Electric sent youInterac e-trf · no invoice # — pick one
$2,148.00
Choose client & invoice…
Search all open invoices — INV #, client, or amount…
INV-1043 · Cedar ElectricSent 3 days ago · exact amount
$2,148.00
INV-1041 · Cedar ElectricSent 9 days ago
$2,100.00
INV-1050 · Cedar ElectricSent yesterday
$2,200.00
Typing filters every open invoice — not just suggestions
Pick once — eTracer remembers this payer and auto-matches them next time
No suggestion · full picker with search
Match $890.00 from Cedar Electric
Search open invoices…
INV-1044 · Cedar ElectricExact amount · sent 5 days ago
$890.00
INV-1050 · Cedar ElectricSent yesterday
$2,200.00
INV-1038 · Maple RoofingExact amount · different client
$890.00
Only open invoices shown · books to your accounting software when you confirm
You only do this once — the next payment from Cedar Electric books itself.
Desktop: dropdown panel under the card · mobile: same content as a bottom sheet
After Apply · success toast with Undo → undone
Matched to INV-1043 · receipt sent to Cedar Electric Undo
Match undone — Cedar Electric is back in your queue
Auto-apply delay · countdown before booking
NP
Northside Plumbing sent you→ Matched to INV-1039
$980.00 Books in 12 min Cancel
Shown when auto-apply timing is set to a delay — cancel pulls it back into the queue
Next payment from that payer · books itself
CE
Cedar Electric sent you→ Matched to INV-1050 · learned payer
$1,175.00 Paid · Auto Learned
You matched Cedar Electric once — every payment after books itself. No queue, no clicks.
“Not this one” · suggestion dismissed
DK
Dave Kowalski sent youSuggestion removed — pick the right invoice
$2,150.00
After “Not this one” — the wrong suggestion is remembered and never proposed again
Integration failures · banners on the queue
Accounting disconnected — matching is paused
E-transfers keep collecting in your queue. Nothing books until you reconnect.
jobs@northsideflooring.ca — access expired
Google revoked the read-only token · last read 2 hours ago
Reconnect
Accounting sync failed — retrying in 5 min
Screen 4 — Confirm match modal
Desktop · 1440
etracer Accounting · Live MK Northside Flooring
Queue
Matched12
Settings
Inboxes
All inboxes5
jobs@3
accounts@2
mike@0
Today · Matched
$3,128.00
adds up as it applies
Needs you · 2
eTracer couldn’t match these — pick the invoice once and it books. Same payer next time? Matches itself.
CE
Cedar Electric No invoice number in the message · 41 min ago
$2,148.00
MR
Maple Roofing Name doesn’t match an open invoice · 1 hr ago
$4,500.00
Handled automatically
Nothing to do here — receipts are already on their way.
NP
Northside Plumbing Matched to INV-1039 · receipt sent
$980.00 Paid · Auto
PS
Paula S. Reading the e-transfer email…
$2,147.50 Matching…
Today’s history
Cedar Electric → INV-1043 · you matched $2,148.00
Northside Plumbing → INV-1039 · auto-matched $980.00
Riverside Café → INV-1037 · auto-matched $1,420.00
Oakwood Dental → INV-1035 · you matched $3,600.00
Confirm this match
E-transfer receivedGmail
PSPaula Sutton
$2,147.50 Received today · 3:12 PM
Matched invoiceAccounting
INV-2201
$2,147.50 Ray Sherman · 3 days ago
Exact match — last name matches, no other candidate
See other candidates
You only do this once. eTracer remembers Paula Sutton pays for this customer — her next e-transfer books itself automatically. (In Manual mode it arrives pre-matched for one-tap confirm.)
Mobile · 390 · bottom sheet
etracer Accounting · Live
MKNorthside Flooring
Today · Matched
$4,890.00
matched 24
Review queue
3 need your confirmation · 2 unmatched
All inboxesjobs@accounts@mike@
Incoming e-transfers
PS
Paula Sutton → INV-2201 · Ray Sherman · exact
$2,147.50 12m ago
DK
Dave Kowalski → INV-1043 · $2.50 over
$2,150.00 18m ago
CE
Cedar Electric No invoice # — pick one
$890.00 41m ago
JT
J. Tremblay No match — choose invoice
$1,300.00 1h ago
Today’s history
Northside Plumbing $980.00
Kate Sawyer $1,020.00
Green Valley Co. $3,200.00
S. Okafor $512.75
Review
Matched
Settings
Confirm this match
E-transfer receivedGmail
PSPaula Sutton
$2,147.50 Received today · 3:12 PM
Matched invoiceAccounting
INV-2201
$2,147.50 Ray Sherman · 3 days ago
Exact match — last name matches, no other candidate
See other candidates
You only do this once. eTracer remembers Paula Sutton pays for this customer — her next e-transfer books itself automatically. (In Manual mode it arrives pre-matched for one-tap confirm.)
Screen 4b — “See other candidates” · searchable
Opens from the modal — search reaches every open invoice
Candidates list · search when the right invoice isn’t suggested
Other candidates for $2,147.50
Search all open invoices — INV #, client, or amount…
INV-2201 · Ray ShermanExact amount · last name matches
$2,147.50
INV-2188 · Sherman RenovationsClose amount · 12 days old
$2,140.00
INV-2210 · P. SinclairExact amount · different name
$2,147.50
Can’t see it? Search reaches every open invoice, not just suggestions
Screen 5 — Matched (ledger)
Desktop · 1440
etracer Accounting · Live MK Northside Flooring
Queue
Matched148
Settings
Inboxes
All inboxes5
jobs@3
accounts@2
mike@0
Today · Matched
$4,588.00
matched today
Matched
148 payments · $48,920.00 this month
Search client or invoice…
AllAuto-matchedYou matchedReceipts pending
2 receipts waiting to send — these matches are booked; receipts are set to manual.
Today$4,588.00
CE Cedar Electric INV-1043 YOU 3:12 PM $2,148.00
NP Northside Plumbing INV-1039 AUTO 11:04 AM $980.00
TB Tyler Brooks INV-1052 AUTO Receipt sent 9:41 AM $1,460.00
Yesterday$5,020.00
RC Riverside Café INV-1037 AUTO Receipt sent 4:55 PM $1,420.00
OD Oakwood Dental INV-1035 YOU Receipt sent 10:22 AM $3,600.00
Monday · July 21$4,732.75
KS Kate Sawyer INV-1031 AUTO Receipt sent 6:18 PM $1,020.00
GV Green Valley Co. INV-1028 YOU Receipt sent 1:47 PM $3,200.00
SO S. Okafor INV-1027 AUTO Receipt sent 9:02 AM $512.75
Mobile · 390
etracer Accounting · Live
MKNorthside Flooring
Today · Matched
$4,588.00
matched 3
Matched
All inboxesjobs@accounts@mike@
Search client or invoice…
Today$4,588.00
CE
Cedar Electric INV-1043 · you
$2,148.00
NP
Northside Plumbing INV-1039 · auto
$980.00
TB
Tyler Brooks INV-1052 · auto
$1,460.00 Receipt sent
Yesterday$5,020.00
RC
Riverside Café INV-1037 · auto
$1,420.00 Receipt sent
OD
Oakwood Dental INV-1035 · you
$3,600.00 Receipt sent
Review
Matched
Settings
Screen 5b — Ledger row actions & export
Row hover · Details / Undo reveal
Northside Plumbing INV-1039 $980.00
Cedar Electric INV-1043 $2,148.00
Second row shown in hover state — actions reveal on mouse-over, amount stays put
Export · format menu
Download CSV
Accounting journal entry
PDF statement
Respects current filters & inbox
Manual receipts · pending → sent
CE
Cedar ElectricINV-1043 · booked
$2,148.00
CE
Cedar ElectricINV-1043 · booked
Receipt sent · just now $2,148.00
Receipt emailed to Cedar Electric
Receipts=manual: the match is already booked — one tap sends the receipt and stamps the row “Receipt sent”
Example · Download CSV
matched-payments_jul-2026.csv
date,payer,invoice,amount,method,receipt,inbox
2026-07-23,Cedar Electric,INV-1043,2148.00,manual,pending,jobs@
2026-07-23,Northside Plumbing,INV-1039,980.00,auto,pending,jobs@
2026-07-23,Tyler Brooks,INV-1052,1460.00,auto,sent,accounts@
2026-07-22,Riverside Café,INV-1037,1420.00,auto,sent,jobs@
2026-07-22,Oakwood Dental,INV-1035,3600.00,manual,sent,mike@
Opens straight into Excel or Google Sheets · one row per payment, amounts in dollars
Example · Accounting journal entry
Journal entry · JE-0412
Jul 23, 2026
Sent to accounting
Account Debit Credit
Bank — TD Chequing $2,148.00
Accounts Receivable $2,148.00
Memo: Interac e-Transfer · Cedar Electric · INV-1043 · booked by eTracer
Balanced & ready to import — or already posted when the integration books directly
Example · PDF statement
etracer Page 1 of 2
Payment statement
Northside Flooring · July 1 – 23, 2026 · All inboxes
Cedar Electric INV-1043 $2,148.00
Northside Plumbing INV-1039 $980.00
Tyler Brooks INV-1052 $1,460.00
Riverside Café INV-1037 $1,420.00
Total matched $48,920.00
Generated by eTracer · every payment verified against Interac’s signature
Letter-size PDF — for your accountant or your records · respects current filters
Screen 5c — Transaction detail · audit trail
Click any matched row — full record with undo
PS
Paula Sutton
auto-forwarded from jobs@northsideflooring.ca
$2,147.50 Booked Verified · Interac
Source email · Jul 23 · 3:12 PM
“INTERAC e-Transfer: Paula Sutton sent you $2,147.50 (CAD). Message: kitchen reno — final
Auto-forward received
Jul 23 · 3:12 PM · Gmail filter on jobs@
Interac signature verified
DKIM · payments.interac.ca — proven authentic before anything counts
Matched to INV-2201
Auto · confidence 0.97 · exact amount, learned payer
Booked to your accounting software
3:14 PM · Northside Flooring Ltd
Receipt sent
3:14 PM · to the payer’s email
Every step logged · visible to your accountant
Screen 5d — Undo match · confirmation
Opens from any Undo button — desktop: centered modal over a dimmed ledger · mobile: bottom sheet
Reversal is safe, explained, and one tap from cancel
Undo this match?
Nothing is deleted — every step stays in your audit trail.
Paula SuttonE-transfer · Jul 23
$2,147.50
INV-2201Ray Sherman
The booking is reversed — in your accounting software, cleanly.
The payment returns to your queue — ready to match to the right invoice.
eTracer forgets this payer link — so it won’t suggest the same match again.
The client’s receipt is not recalled — send a corrected note if one went out
Screen 6 — Settings
Desktop · 1440
etracer Accounting · Live MK Northside Flooring
Queue
Matched47
Settings
Inboxes
All inboxes5
jobs@3
accounts@2
mike@0
Today · Matched
$3,128.00
adds up as it applies
Settings
Account
MK
Matt Kellymatt@northsideflooring.ca · Owner
Northside FlooringSole proprietorship · shown on client receipts
Business name overrides the accounting company name on receipts · sign-in email can’t be changed
Accounting
QuickBooks OnlineNorthside Flooring Ltd · syncing invoices
Connected
Matching
How matches applyHigh-confidence matches book themselves. Anything unclear always waits in your queue.
AutomaticManual
Auto-apply timingHold each auto-match before it books — cancel with one tap from the queue.
Instantly15 min1 hourEnd of day
Client receiptsSend the client a receipt the instant a match books — or hold every receipt and send it yourself from the Matched ledger.
Send automaticallyI’ll send manually
Matching and receipts are independent — holding a receipt never delays the booking. Automatic timing applies in Automatic mode · switching to Manual pauses all auto-booking
E-transfer forwarding3 forwarding

Interac notifications reach eTracer by auto-forward — we never connect to your inbox. Every payment is verified against Interac’s own signature before it counts.

u_7f3k9q2w@in.etracer.caYour private forwarding address — treat it like a password
jobs@northsideflooring.caGmail filter · auto-forward confirmed
Forwarding
accounts@northsideflooring.caGmail filter · auto-forward confirmed
Forwarding
mike@northsideflooring.caOutlook rule · auto-forward confirmed
Forwarding
Plan & billing
Crew · $75 CAD / month3 inboxes watched · Visa ending 6411 · renews Aug 6
Email notifications
Needs your attentionAn e-transfer couldn’t be matched — we email you to pick the invoice
Payment matchedA payment auto-matched and booked to your invoice
Daily summaryOne email each evening with everything matched today
Sign out Delete account
Mobile · 390
etracer Accounting · Live
MKNorthside Flooring
Today · Matched
$3,128.00
matched 47
Settings
Account
MK
Matt Kellymatt@northsideflooring.ca · Owner
Northside FlooringSole proprietorship · shown on client receipts
Business name overrides the accounting company name on receipts · sign-in email can’t be changed
Accounting
QuickBooks OnlineNorthside Flooring Ltd · syncing invoices
Connected
Matching
How matches applyHigh-confidence matches book themselves. Anything unclear always waits in your queue.
AutomaticManual
Auto-apply timingHold each auto-match before it books — cancel with one tap from the queue.
Instantly15 min1 hourEnd of day
Client receiptsSend the client a receipt the instant a match books — or hold every receipt and send it yourself from the Matched ledger.
Send automaticallyI’ll send manually
Matching and receipts are independent — holding a receipt never delays the booking. Automatic timing applies in Automatic mode · switching to Manual pauses all auto-booking
E-transfer forwarding3 forwarding

Interac notifications reach eTracer by auto-forward — we never connect to your inbox. Every payment is verified against Interac’s own signature before it counts.

u_7f3k9q2w@in.etracer.caYour private forwarding address — treat it like a password
jobs@northsideflooring.caGmail filter · auto-forward confirmed
Forwarding
accounts@northsideflooring.caGmail filter · auto-forward confirmed
Forwarding
mike@northsideflooring.caOutlook rule · auto-forward confirmed
Forwarding
Plan & billing
Crew · $75 CAD / month3 inboxes watched · Visa ending 6411 · renews Aug 6
Email notifications
Needs your attentionAn e-transfer couldn’t be matched — we email you to pick the invoice
Payment matchedA payment auto-matched and booked to your invoice
Daily summaryOne email each evening with everything matched today
Sign out Delete account
Review
Matched
Settings
Screen 6b — Account menu · company-name click reveals email
Opens from the title-bar chip on every screen
MK Northside Flooring
Northside Flooring
matt@northsideflooring.ca
Owner · Crew plan
Account settings
Business profile
Manage billing
Sign out
Screen 6c — Billing · plans, what’s included, auto-renew
Trial ending · payment failed · plan details · auto-renew on/off
Trial ends in 14 days · Aug 6
Pick a plan to keep matching — your books stay exactly as they are either way.
Payment failed — Visa ····6411
We’ll retry in 3 days. Matching pauses Aug 1 if the card still fails.
Plans — what’s included
Solo
$40/mo
1 inbox watched
+ $25/mo per extra inbox
CrewCurrent
$75/mo
3 inboxes watched
Save $45 vs three Solos
Fleet
$150/mo
Unlimited inboxes
For bookkeepers & bigger crews
Every plan includes
Unlimited e-transfers matched
Automatic receipts in your books
Email confirmations
One-click safe reversals
Full audit trail
Cancel anytime
Auto-renew is on Visa ····6411 is charged $75 on Aug 6 when the trial ends. Cancel before then and you pay nothing.
Auto-renew is off You won’t be charged. Matching stops Aug 6 — your books keep everything already booked.
Screen 6d — Profile & security · “Account settings” from the menu
Name editable · email locked for SSO (managed by Google) · password, sessions, delete
MK
Matt Kelly
Owner · Northside Flooring
Google
First name
Matt
Last name
Kelly
Email
matt@northsideflooring.ca
Signed in with Google — email is managed by your Google account
Company name
Northside Flooring
Shown on client receipts — full business details live in Business profile
Password
None — you sign in with Google. Email signups see “Change password” here.
Sessions
Signed in on 2 devices · last activity 4 minutes ago
Delete account
Stops all matching and removes your data. Everything already booked stays in your accounting software.
Screen 7 — Email templates & state machine
Client receipt · needs-attention · daily summary
etracer
Payment received — thank you!
Hi Paula — Northside Flooring received your Interac e-Transfer of $2,147.50 and applied it to invoice INV-2201. No action needed — this is your receipt.
Sent by eTracer on behalf of Northside Flooring
etracer
$890.00 from Cedar Electric needs a match
An e-transfer arrived with no invoice number. It’s waiting in your queue — pick the invoice and eTracer books it.
Sent by eTracer on behalf of Northside Flooring
etracer
Today: 3 matched · $4,588.00 booked
Cedar Electric $2,148.00 · Northside Plumbing $980.00 · Tyler Brooks $1,460. One transfer still needs you: $890.00 from Cedar Electric.
Sent by eTracer on behalf of Northside Flooring
For the backend — states every screen maps to
TRANSACTION STATE MACHINE
received → matching ─┬→ auto_matched → held(timer) → booked
                     ├→ suggested  → confirmed ────→ booked
                     └→ unmatched  → picked ───────→ booked
booked → undone → back to queue (suggestion excluded)
booked → receipt_sent · every transition timestamped + logged
Screen 8 — Backend handoff · the contract
Everything above is the UI; this is the system it implies. Screens ↔ states ↔ endpoints.
Data model
Account — owner, email(locked), name
Business — display_name, type(sole_prop|corp) · shown on receipts, overrides QB name
InboundAddress — local_part(globally UNIQUE · 80-bit random) → tenant, status(active|disabled) · unguessability is a security property · RLS select-only, writes service-role
Integration — quickbooks|xero|freshbooks|zoho, status, company
Transfer — sender, amount(cents!), currency, inbox_id, received_at, state, source_email_excerpt
MatchDecision — transfer_id, invoice_id, method(auto|manual), confidence, actor, undone_at?
PayerMemory — sender → customer · “Paula pays for Ray” · cleared on Not-this-one
Receipt — transfer_id, state(pending|sent), sent_to, sent_at · pending until sent when receipts=manual
Subscription — plan, auto_renew, trial_ends_at, card_last4, state(trialing|active|past_due)
NotificationPrefs — needs_attention, matched, daily_summary · client-receipt sending lives in MatchingSettings.receipts
Core endpoints
GET /transfers?state=&inbox= · queue + counts per inbox
GET /transfers/:id · detail + audit timeline
POST /transfers/:id/match {invoice_id} · books to accounting; receipt sent now or left pending per settings.receipts
POST /transfers/:id/undo · reverses booking, back to queue
POST /transfers/:id/dismiss-suggestion · “Not this one”
POST /transfers/:id/send-receipt · POST /receipts/send-all · manual receipt sending + bulk
GET /invoices/open?q=&amount= · picker + candidates, ranked
GET /ledger?group=day&filter=auto|manual&inbox= · day totals server-side
POST /export {format:csv|iif|pdf, filters}
GET/PATCH /settings/matching {mode:auto|manual, hold_minutes:0|15|60|eod, receipts:auto|manual}
POST /api/inbound/postmark · webhook: Basic auth → DKIM verify → tenant resolve → pipeline · every gate fail-closed
POST /api/inbound/address · idempotent per-tenant forwarding address · POST /integrations/:crm/reconnect
GET/PATCH /subscription {auto_renew} · POST /billing/card
Events → notifications
forwarding.confirmed → onboarding Step 2 done · v1: customer clicks Gmail’s confirm link
transfer.received → queue badge + inbox count
transfer.needs_attention → email if prefs.needs_attention · “$890.00 from Cedar Electric needs a match”
transfer.matched → email if prefs.matched · badge pop animation
transfer.booked → if settings.receipts=auto send receipt; else Receipt.state=pending · ledger shows “Send receipt”
receipt.sent → row stamped “Receipt sent”, toast · transfer.undone → ledger row removed
integration.disconnected → banner + reconnect flow · matching pauses, queue keeps collecting
trial.ending(3d, on 14-day) → banner · payment.failed → banner + retry schedule
daily.summary(6pm) → email if prefs.daily_summary
Matching rules · OAuth · delivery
Auto-match when confidence ≥ 0.95 · exact amount + name match, or learned payer
Suggest when one strong candidate · user confirms in modal
Unmatched otherwise → Pick invoice · full picker, exact-amount candidates highlighted
Hold timer — auto-matches wait settings.hold_minutes before booking · cancellable
Amounts — store cents, display 2 decimals everywhere · plans display whole dollars
Ingest = forwarding + DKIM — accept ONLY d=payments.interac.ca (accept_direct) · an SES-relay signature alone is NOT enough · ARC accept disabled until rebuilt
Filter ≠ manual forward — only a Gmail FILTER preserves the signature; manual forwards reject, correctly · instructions must say “create a filter”
Dedup — id = fwd:<X-PaymentKey> (Interac’s own token, survives forwarding) · replays & re-forwards → one payment
Gmail OAuth (Option A) — parked, dormant, reversible · future premium path post-CASA · login scope now openid email profile only
Undo — reverses the QB entry, keeps audit trail, re-queues transfer
Share this spec — publish the site and send /app-screens, or invite as viewer in Framer