Pay part of it now

A customer can pay less than the full balance, and the invoice records it as a partial payment rather than settling.

What it is

The pay route accepts an optional smaller amount. It is clamped to the outstanding balance so an overpayment is impossible, and tagged in the checkout metadata as 'partial' versus 'balance' so the recorded payment can be understood later.

Also called: partial payment online · pay a deposit · pay some of the invoice

See it
Pay part of it now
Prepared for
Delia Yoder
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 invoice showing 'Partially Paid' amber status with payments-received listing the deposit and the remaining balance below. src/app/invoice/[token]/page.tsx. Sample data — no customer information appears here.
How it works
  1. 1amountCents defaults to the full balance when omitted or invalid.
  2. 2Math.min against the balance prevents overpayment.
  3. 3payment_kind metadata records whether this was a partial or a full settlement.
  4. 4The recorded payment recomputes paid_amount, leaving the invoice at 'partial' with the remainder still owing.
Why we built it

Construction is billed in instalments, and a customer who can only send a deposit today should not have to choose between paying everything and paying nothing. The payment page defaults to the full balance but accepts a smaller amount, and it will not let a customer pay past what is actually owed.

The problem
  • All-or-nothing online payment blocking a deposit.
  • Overpayments creating a refund to process.
Sound familiar?
What you get
Money starts flowing even when the customer cannot pay in full.
Overpayment is structurally impossible.

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 →