Direct answer

Higher than the quote, they say. Do not defend the total. Reconcile the lines.

The invoice went out and the reply came back in one line: this is more than the quote I approved. Defending the total never works, because the total is exactly what is in dispute, and arguing about it pits your memory of the job against their memory of the number. The way out is slower-looking and much faster in practice: lay the quote, the invoice, and the delivery record side by side, walk every difference to the line that caused it, and sort each one honestly into your error, a change the client approved, or work that was never approved at all. Two of those piles have clean outcomes. Here is the reconciliation, step by step.

See the instrument first: the live demo runs one real call and hands you its verifiable receipt, no signup.

Updated October 29, 2026. First published October 29, 2026. The two delivery records quoted below are real and public, with their client decision states read back from the live service.

Step 1. Freeze the argument and build the three-column table

Reply first with process, not defence: you are right to check it, give me a day, I will send a line-by-line reconciliation against the quote you approved. Then build the table with three columns: the quote line as approved, the invoice line as billed, and the record reference for anything that differs, the change request, the acceptance, the delivered stage. Most invoice-above-quote rows collapse into a handful of differing lines; the rest of the invoice matches the quote exactly, and showing that match is itself half the answer, because it converts a vague sense of being overcharged into a short list of specific items with specific histories. Never send a corrected total without the table: a new number with no workings is just a second claim.

Step 2. Sort every difference into three piles, honestly

Pile one, your error: a line billed above its quoted rate, a duplicated item, quoted work billed twice under two names, a change you made for your own convenience billed as theirs. These come off the invoice, all of them, the same day, without being traded against anything. Owning pile one completely and quickly is what buys belief for the other two piles. Pile two, approved changes: work outside the original quote that the client asked for and agreed a price or a basis for, in writing, before or as it was done. Each of these lines points at its approval, a message, an accepted stage, a signed change, and stays on the invoice. Pile three, unapproved extras: real work, really delivered, that nobody ever priced or agreed. These are the hard lines, and step 4 deals with them; what they never do is hide inside the total hoping the other piles carry them.

Step 3. Read the two states a change can sit in on the record

Pile two stands or falls on whether approvals were recorded when they happened. The record format is AER-1, published as an IETF Internet-Draft (draft-zambo-aer1-26), and each step carries a verifiable receipt: a receipt proves the saved result was not changed since it was saved. The two public records below show the states decided work can carry:

Accepted: the decision is on the record

Pending: checked, and still waiting on a decision

An accepted record, 4 of 4 steps checked, decided_by client, release_hint ok_to_release, decided 2026-10-16T14:31:51.146Z in that example, is an approval with a decider and a date on it: a change that closed this way is very hard to un-remember. A pending record, 5 of 5 steps checked and release_hint hold, is work still waiting for its decision, and a change sitting there was, honestly, never approved yet, whatever was said in a call. Walk your differing lines against that test before you classify them, because a change you are sure was approved that sits in a pending state belongs in pile three for this conversation, and in your process fix for the next job.

Step 4. Send the table, the credits, and the corrected invoice together

The reply carries four things in one message: the reconciliation table, a credit or corrected invoice removing every pile one line in full, the pile two lines each with its approval reference and date, and a straight proposal for pile three: either the client approves those lines now, at the figure shown, knowing exactly what they bought, or they come off and the delivered extra is treated as your lesson, stated as such. Splitting the decision that way keeps the dispute proportional: the client is no longer deciding whether your invoice is honest, only whether specific extra work was worth specific money. Close with the resulting total and its workings in one line. Most reconciliations end here, because most clients were not trying to pay less; they were trying to understand more, and the table is the understanding.

Step 5. If the client still disputes an approved line, narrow the fight

Sometimes a pile two line is still refused: the approval was real, the record shows it, and the client simply does not want to pay it. Keep the argument at line level, never invoice level: pay the undisputed lines now, which is most of the money, and isolate the refused lines as their own short dispute with their approval records attached. A client who pays 90 percent while disputing two lines is a negotiation; a client who pays nothing while disputing everything is a non-payment problem wearing a quote question as a coat, and it gets handled as non-payment, with the dated record, from there. This page is general information, not legal advice, and a large refused amount is worth a short professional review before escalation.

Step 6. Quote so the next invoice reconciles itself

The permanent fix is to make quote, changes, and invoice the same document growing: the quote lists stages with prices, every change is quoted and accepted as its own line before the work runs, and the invoice is generated from those accepted lines rather than written fresh at the end from memory and a calculator. Run that way, an invoice higher than the original quote is higher only by lines the client accepted one by one, each with a date, and the reconciliation table in step 1 builds itself in minutes. Add the boring clause at quote time: the invoice follows the quote plus changes accepted in writing, and changes requested in calls are confirmed in the thread before they are billed. That sentence, agreed when everyone is friendly, is what makes the unfriendly version of this conversation short.

What a record does not settle

A verifiable receipt proves the saved result was not changed since it was saved; it does not prove a price was agreed, does not decide whether a change was in the original scope, and cannot make a client pay a line they refuse. The approved quote, the change approvals with their dates, and your honest sorting of the differences are what the conversation stands on. This page is general information, not legal advice.

Frequently asked questions

My client says my invoice is higher than the quote they approved. How do I handle it?

Reconcile, do not defend. Reply that you will send a line-by-line reconciliation within a day, then table the quote as approved against the invoice as billed, with a record reference for every line that differs. Sort the differences honestly: your errors, billed above the quote, duplicated, or misnamed, come off in full the same day; changes the client approved in writing stay, each with its approval and date; extras that were never approved are named as their own pile and decided openly, approved now at the stated figure or removed. Send the table, the credit for your errors, and the corrected invoice in one message, and isolate any line still refused so the undisputed balance can be paid. The total was never the argument; the lines are, and lines can be settled.

What if the difference is because the client approved changes in calls and nothing is written down?

Then the honest position is weaker, and the reconciliation should show it rather than hide it: list those lines as approved in conversation, with the dates and whatever traces exist, messages after the call, work the client used, feedback they gave on the changed version, and ask the client to confirm them now in the thread. Most clients confirm changes they genuinely asked for when the list is specific and the errors pile was handled cleanly. Whatever they will not confirm moves to the unapproved pile for this job, and the process fix is absolute for the next one: no change is worked, let alone billed, until its one-line confirmation exists in writing.

The quote was an estimate, not a fixed price. Does that change the answer?

It changes the standard, not the method. An estimate promises a basis and honest tracking, not a ceiling, unless your quote said otherwise in words, so the reconciliation shows the basis line by line: what was estimated, what the work actually took, and where the growth came from, with the changes and surprises separated. If the estimate grew without any warning from you along the way, that silence is partly yours, and a goodwill adjustment on the unwarned growth can be the fair outcome. If you flagged the growth as it happened and the client said continue, the record of those flags is the answer, which is why estimates need running totals shared during the job, not revealed at the invoice.

Should I just match the quote to keep the client?

Match it only as a priced decision, after the reconciliation, never instead of it. If the table shows the client is right, matching is not a concession, it is a correction. If the table shows approved changes the client is refusing, matching the quote teaches that approvals are optional and the next job's changes will be refused the same way. The middle path that keeps good clients: send the full reconciliation, stand on the approved lines, and if you choose goodwill, name it as a stated credit on specific lines for this job only, so the record shows what was owed and what you chose to give.

How do I make the next invoice match the quote by construction?

Build the invoice from the same accepted record the work ran on: the quote as priced stages, every change accepted as its own priced line before it runs, and the final invoice drawn from those lines, so any growth over the original quote is already a list of dated client decisions. When the work runs through Zambo, every step carries a verifiable receipt under AER-1, published as IETF Internet-Draft draft-zambo-aer1-26, and each stage closes with its acceptance state on the record the invoice can point at. New users get 20 calls and 1 wrap-up free every day, and picking up work in another AI is always free. For $0.99, run the next quoted job that way and let the invoice reconcile itself: get the Day Pass. A Day Pass is unlimited for 24 hours, no subscription. Ongoing use is the Zambo Pass at $29 a month or $290 a year, and $19 a month for $ZAMBO holders, which adds private handover links, your branding, and the approval record as PDF and JSON files.

Related