Question
Closed · Answered

How do you prevent invoicing before a client has signed an internally approved quote?

wenting zhang

I'm planning a quote-to-invoice flow: sales prepares a quote, a manager reviews it, an external e-signature service collects client acceptance, and only then is an invoice generated. Internal approval and client acceptance are separate milestones.

How should “Internally approved,” “All signatures complete,” and “Invoice generated” be represented in Busabase? With two required signers, the external invoicing step should wait for both, then link the signature evidence and invoice back to the quote.

Report
Kelly
Team

Keep internal approval, client signature complete, and invoice created as separate statuses (or timestamp checkboxes). The invoicing step should require all client signers done. An internal “approve” only means you may send the packet for e-sign—it is not permission to bill.

(Diagram: three gates; create an invoice only when internal ✓, signatures complete, and not yet invoiced.)

Suggested fields / statuses

Hang these on the same quote (or order) record (rename to match your process):

  1. Internal review
  • pending → approved / rejected
  • Change requests work well: sales edits terms, a manager approves in Inbox, only then “send for e-sign”
  1. Client signature
  • not sent / in progress / all complete
  • With two (or more) signers: track signed-count vs required-count, or the status your e-sign tool writes back; not billable until everyone has signed
  • Store the signed-packet link and completed-at
  1. Invoicing
  • not invoiced / created
  • Invoice id, amount, external voucher link; keep the signed file and the invoice on the same quote for later audit

Optional: stamp “internal approved at,” “all signed at,” and “invoiced at” so reports can slice by time cleanly.

Read the quote before billing runs

Before any e-sign or billing automation starts, read that quote:

InternalClient signatureInvoiceAction
ApprovedIn progress (e.g. 1/2)Not invoicedWait — blocked on signature
ApprovedAll completeNot invoiced✓ Create invoice
Pending—Not invoicedWait — blocked on review
ApprovedAll completeCreatedSkip — do not double-bill

If any gate fails, stay in waiting and record which gate is blocking so finance does not treat “internal yes” as “bill now.”

(Local demo: status columns for progress; confirm signatures before invoicing.)

(Local demo: internal review via Inbox change requests, separate from client e-sign.)

How to verify you did not bill early

  • Filter “internal approved + signature incomplete”: invoicing should still be open, with no new invoice id.
  • Create a test quote that only passed internal review with one of two signatures, run billing— it should stop at the gate and leave a reason.
  • Complete all signatures and run again: an invoice id should appear, with the signed packet and invoice link on the same row.

Edge cases

  • Approved inside, client stalls: sales can chase signatures, but billing automation must not start on internal approval alone.
  • Price change → re-sign: move signature back to in progress and void any draft invoice so the old amount cannot go out.
  • Void / credit note: keep the original invoice marked voided; issue a new invoice number still linked to the quote.

That way an early internal yes cannot trigger billing while signatures are outstanding, and you can audit the signed file and invoice from one record.

Report

Your reply

Sign in to join the discussion. Reading is always open; you only need an account to post.

Sign in