Client progress cuts: bill by progress and share the history
Almost every builder bills the same way: one file every two weeks with a new column. After a year there are forty files, the truth lives in whichever one somebody opened last, and nobody remembers what cut 6 said. Here a cut is a record: you enter the progress percentage of each line item, the amount is calculated for you, and once you freeze it, it stays fixed even if prices change later. Your client opens a link that never expires and can go back through the whole history.
- It lives in Progress billings → the "Client cuts" tab. The other tab is what you pay your subcontractors; this one is what you bill your client.
- You only type the PERCENTAGE. The amount comes from the % times the line item's price and cannot be typed by hand.
- The running total sits on the same row: when you bill, the question is not how much moved this week, but how much you have billed against the contract.
- A cut cannot be frozen if any line item goes past 100% cumulative: that would be billing more than the contract.
- Freezing stores that day's prices. If you correct a price tomorrow, the delivered cut still says what it said.
- One link per project, with no expiry. You choose what the client sees, and whatever you switch off is never sent.
- Your client comments from the link without an account, and it lands in your bell.
- You can also show them the schedule: what was promised against what is happening, with the gap in days.
- And send them an automatic summary every month, on the day you choose. The same switches rule the link and the email.
- 1
Create the first cut
Go to Progress billings and switch to "Client cuts". If there was an advance payment, start with it: it is cut 0 and counts toward the running total like any other. After that, every week or two weeks, "New cut". Cuts are numbered automatically and lined up on a ruler at the top: that same ruler is what your client will see. For an advance agreed as a percentage of the contract, "Same % on all" applies it to every line item at once; a draft created by mistake is removed with "Discard draft".
- 2
Enter progress, line item by line item
The table brings every line item from the project budget. In the cut's column you type the percentage THAT line item moved THIS week — not the cumulative one. The amount appears next to it, calculated, and to its right you see the running total and what is left to execute. If a line item goes past 100%, the row is flagged and the cut cannot be frozen until you fix it.
- 3
Write the note for the week
Below the figures there is a note that travels to the client's link. Use it: a number that drops without an explanation turns into a phone call. You can also leave a note on a specific line item ("the delay is from Tuesday's rain").
- 4
Freeze and deliver
"Freeze and deliver" closes the cut: it stores the price and quantity of each line item exactly as they are today, and it can no longer be edited. If something changes later, it is corrected in the next cut — just like on paper. Only frozen cuts are shown to the client.
- 5
Share the link and decide what they see
Under "Your client's link" you create the address once and use it forever. Below it you choose what they see: amounts, unit price and quantity, the contract running total, your notes, and whether they can comment. Whatever you switch off is not just hidden on their screen: it never leaves the database, so it does not show up even if someone inspects the request.
- 6
Show them the timeline, if you want
The "Show the schedule (planned vs actual)" switch adds the schedule measured against the baseline to the link: the light bar is what you promised when you signed and the colored one is what is happening, with the gap in days. It requires having frozen the schedule in Schedule → Planned vs actual; if you have not, the link shows nothing instead of a zero that would say "we're right on time". It starts switched off on purpose: showing your schedule is a decision, not a default.
- 7
Let the summary send itself
Below the switches you turn on "Send a summary every month", and set who gets it and on what day. That day an email arrives with what was billed, the running total and how the timeline is going, with a button to the link. There is no second setting to review: the email is built from this same one, so whatever you switched off above cannot go out by email either.
- 8
Answer what they ask
When your client comments, it lands in your bell and shows up in the cut's conversation marked "Unanswered". It stays there even after the next cut arrives: the comments that get lost are exactly the ones nobody answered. Your reply goes into the same thread they see.
Frequently asked questions
The client deposited more than the cut is worth. What do I do?
Apply it anyway: the cut takes what the cut needs and the rest stays in Client & collections with no cut, ready for the next one. "To collect" never goes negative, because a negative figure hides exactly what the next cut still has to collect.
The cut says "Budget total" and my contract says another number. Which one is right?
Both, because they are two different things. The cut is measured against the budget line items it bills, so its footer is the sum of those items. The contract with the client is a single figure, the one in Client & collections, and it only moves when a change order is applied — correcting a unit price does not change it. The cut screen prints the contract right below, and warns you when the two drift apart.
Why can't I type the amount directly?
Because a typed amount can stop matching its own percentage, and nobody notices. In the real spreadsheet of a 94-million-peso project that this was built from, one row declared 15% of $3,375,900 and had $1,012,770 typed next to it; 15% is $506,385. That single row explained half a million pesos of difference in the executed total of the whole sheet. With the amount derived from the percentage, that error cannot exist.
What if I make a mistake in a cut that is already frozen?
It is not edited: it is corrected in the next one. If you overbilled in cut 5, in cut 6 you enter less progress and the running total adjusts itself. It is the same rule as on paper, and it is what makes the history mean something — a cut that can be rewritten later is not a document, it is a permanent draft.
I changed a line item's price. Are earlier cuts recalculated?
No, and on purpose. Freezing stores that day's price. The cut you already delivered and your client already reviewed still says exactly the same thing. Draft cuts do use the new price, because they have not been delivered yet. And the running total of later cuts adds up what you already billed, not the new price times the total progress.
Does the client see what I pay my subcontractors?
Never. The link only carries the cuts you bill to them: your own costs, subcontracts and margins do not travel in that payload, whatever the settings. Your margin — what you bill minus what you pay — lives in the internal view.
I switched off the amounts but I want them to keep seeing progress. Is that possible?
Yes. The switches are independent: you can show each line item's percentage without showing the money, or the cut's money without the unit price. It is useful when the contract is lump-sum and what matters is progress, not the breakdown.
I switched off the amounts. Does the monthly email still send them?
No — and not because we remembered to filter there too: the email is built by calling the same function that feeds the link. If you switched off the amounts, that function does not hand them to the email, so the email cannot print them even if it wanted to. A setting that holds on screen but not in the email is not caught by a system error: your client catches it, a month later.
How often does the summary go out, and who sends it?
It goes out on its own, on the day of the month you choose (from the 1st to the 28th; the 29th, 30th and 31st do not exist every month, and a project that picked them would get no email in February). You can add several recipients. If the system retries a send, nobody gets the same month twice.
My client asks more about dates than about money. Can I show them the schedule?
Yes, with the "Show the schedule (planned vs actual)" switch. It shows each task with two bars — what was promised and what is happening — and the gap in days between the promised and the projected handover. You need to have frozen the baseline in Schedule → Planned vs actual; otherwise nothing is shown, because without a promise to measure against everything would come out "on time".
Can I revoke the link?
Yes, and it stops opening for whoever has it. What they already saw cannot be un-seen, of course. If you share again, a new address is generated.
Is the advance payment a cut?
Yes, number 0. In spreadsheets it is usually a separate column, which forces you to add two different things every time you want to know how much you have billed. Here it counts toward the running total like any other cut.
I recorded the payment and it does not match the cut's amount. Is something wrong?
Not necessarily: what the cut shows as collected is the sum of the client payments applied to it, and you see the difference next to it. That difference exists in real life — a discount, a retention, a rounded deposit — and having it in view is better than forcing the two numbers to be equal. Payments live in a single ledger: the ones you record here also show in Client & collections, and one recorded there can be applied to a cut with "Apply an existing payment".