Record a payment

Log what the customer actually paid — cheque, ACH, wire, cash, card or other — and the invoice's balance and status update themselves.

What it is

Payments are separate rows against an invoice, each with an amount, method, reference, date and notes, plus who recorded it. The invoice's paid_amount and balance are updated from them, and status flips to partial or paid. Full payment on a materials or final invoice also nudges the project pipeline forward.

Also called: mark as paid · log a cheque · customer paid · record a deposit · part payment

See it
Record a payment
Prepared for
Sutter Kline
1140 Ridge Line Rd · Fair Play
Shell package$37,405
Concrete & site$10,859
Doors & windows$7,240
Trim & finish$4,826
Total
$60,330
Signature
The Record Payment form inside the invoice: amount pre-filled with the balance, method selector, reference field, date picker, and the payments-received list below. src/components/invoices/InvoiceViewer.tsx. Sample data — no customer information appears here.
How it works
  1. 1Record Payment defaults the amount to the outstanding balance and opens with the method picker.
  2. 2A live duplicate check warns before submitting if a matching reference or same amount/date already exists.
  3. 3Recording writes the payment row, recomputes paid and balance, and flips status when the balance clears within half a cent.
  4. 4A fully-paid invoice fires an event-driven pipeline nudge (materials paid to Materials, final paid to Complete) fire-and-forget, so recording never blocks on it.
Why we built it

Builders take cheques, e-transfers and cash long before they take cards, and an invoice that can only be settled online sits open in the system while the money is already in the bank. Payments are recorded by hand with a date, method, reference and note, partial amounts included, and the balance and status follow. Card payments land in the same place when they arrive, so an invoice's payment history reads the same however the money came in — and a payment that clears a job's balance nudges the project forward rather than asserting it has moved.

The problem
  • Payments tracked outside the system and drifting from the invoices.
  • Manually recomputing a balance after a part payment.
  • The project board not reflecting that money has landed.
Sound familiar?
What you get
Balance and status maintain themselves.
Part payments are first-class, not a workaround.
A paid materials invoice moves the job forward automatically.
What's inside

See it on your own jobs

Twenty minutes, your numbers, no slide deck. We’ll build one of your real buildings in front of you and send you the estimate link at the end — yours to keep either way.

or keep browsing features →