Clients argue about invoices when the invoice describes a feeling and the scope described a system. The line items should be the same words you used when the work was accepted.
One scope, one price, one status
When a request moves to quoted, the amount and the currency should be visible on the request, not only in a side email. When the client accepts, that amount becomes the agreement. Later invoices then refer to the same reference. A second price that appears only on the PDF is how trust leaks out of an otherwise good build.
Change the scope in the open
New work will show up. The honest move is a short note on the request: what changed, what it costs, and whether the date moves. Quietly absorbing the change makes the next invoice look invented. Quietly billing it without a note does the same. The portal timeline is there so both sides can see the sentence later.
Delivery is a file plus a decision
Marking work delivered should mean the client can open the result — a site, a build, a document — and accept it or ask for a revision with a reason. A rating without a file is theatre. A file without a status leaves the project open forever.
The words that have to match
Take the sentence the client accepted and use it as the line item. If the quote said “customer portal for submitting a service request, with status and one invoice,” the invoice says that. It does not say “phase 1 consulting.” The reference number on the request is the reference number on the PDF, so a finance person can join them without asking you.
A change is a new line with its own sentence and its own amount, dated, and visible on the request before the invoice is sent. If you cannot write the sentence, you are not ready to bill the change.
When the work is delivered, the status and the file are updated together. Acceptance is a recorded event. A reply in chat is easy to lose; the timeline on the request is the copy both sides will open later.
A line item a finance person can join
Use the request reference as the invoice reference. The amount on the invoice is the amount stored on the request when the client accepted, plus any change that was written on the request before the invoice was issued. If those numbers differ, do not send the invoice. Find the sentence that changed and put it on the request first.
Currency is part of the agreement. A quote in shillings that becomes a dollar invoice is a different deal. Show the currency next to the amount on the request, on the quote, and on the PDF. Do not make the reader infer it from the bank account.
Revisions are a count and a reason, not a mood. When the client asks for a change after delivery, record what they asked, whether it was inside the accepted sentence, and whether it moves the date or the price. The next invoice then has something to point at. A project with three silent revisions and one surprised invoice is a project that will not be referred.
Before you send the PDF, read the request and the invoice side by side. The reference matches. The currency matches. Every line on the invoice is a sentence already on the request. If you have to explain a line in the email that carries the PDF, that explanation belongs on the request, and the invoice waits until it is there.
Partial payments use the same invoice. Record the amount received against it, and leave the status unpaid until the balance is zero. A second invoice for the remainder, with a new number and no link to the first, is how a project ends up with two stories about the same work.
On the next piece of billable work
- Use the request reference on the quote and on the invoice.
- Write scope changes on the request before you bill them.
- Attach the delivery, then ask for acceptance.