How stage invoicing works

Raising, sending, and marking each stage invoice paid — plus the automatic review request on the final payment.

Last updated 5 July 2026

How stage invoicing works

Raising, sending, and marking each stage invoice paid — plus the automatic review request on the final payment.

What's already happened

By the time you're raising invoices, the customer has:

You've then:

Raise a stage invoice

Two places to raise from:

From Telegram: after the job is booked, the bot posts a "Payment stages" panel with one Raise button per draft stage. Tap Raise Deposit — customer receives the invoice email, panel refreshes, that stage now shows a Mark paid button instead.

From the dashboard: open /dashboard/jobs/<id>. Same panel, same buttons. Same code path — the two routes are fully in sync.

When you raise:

  1. TradesOps mints a Stripe Checkout Session (if you've connected Stripe) so the email can carry a Pay by card button. If you haven't, the email has no card button — just the amount and reply address.
  2. TradesOps sends the invoice email from your per-trader address (your-slug@tradesops.uk).
  3. The invoice status flips from draft to sent.

Customer pays

With Stripe Connect enabled: customer taps Pay by card, pays through Stripe's hosted checkout, Stripe sends a webhook, TradesOps automatically flips the invoice to paid. You don't need to touch it.

Without Stripe Connect: customer replies asking for bank details, you send them, they transfer, then you tap Mark paid in Telegram or the dashboard once the money's in your account.

Mark paid manually

If the customer paid you outside of Stripe (bank transfer, cash, cheque), tap Mark paid on the invoice panel. TradesOps records the paid time and updates the job's remaining stages.

The Mark paid button is safe to press even if you're using Stripe — if the webhook has already run, the button won't appear.

What happens on the final stage

The moment every stage is paid (regardless of order — the last stage doesn't have to be the last paid), TradesOps fires a review request email to the customer. Just once. It thanks them by name for choosing you and suggests they leave a review.

This email is the biggest source of positive Google / Trustpilot / Facebook reviews you'll get — the customer just finished paying you and their satisfaction is fresh. That's why the timing matters.

Overdue invoices

If you've raised a stage invoice and 14 days pass without it being marked paid (or Stripe hasn't confirmed), the invoice's status flips to overdue. Nothing automatic happens — TradesOps doesn't chase your customers. But the dashboard shows overdue stages in red so you can decide whether to nudge.

What if I raised the wrong stage or the wrong amount?

See also

Need something else?

Email help@tradesops.uk. Real reply within a working day.