Because billing runs off a report. Somebody reads what the project did, decides what is billable, and types it into the accounting system — dropping a line, a discount or a milestone on the way.
The error surfaces when the customer queries it, and the credit note costs more than the work it corrects.
Completed milestones and approved billable hours become lines on a draft invoice, priced at the rate the contract in Flow holds.
Books issues it. Every line keeps a link back to the milestone or the timesheet entries behind it, so a query is answered from the record rather than from memory.
It will not issue an invoice on its own. The draft assembles automatically; sending is a decision, on the rule that where a customer would find the error, somebody should see it first.
It also will not decide whether to bill an overrun.
The month-end question changes from "what should we bill" to "here is what we billed, does anyone disagree".
Unbilled delivered work becomes visible as a number rather than a suspicion, which is usually the largest single leak in a services business.
Yes, on one invoice, each line traceable to its source.
Drawn down by logged hours, with the balance visible to both sides.
Yes, where you expose it in the portal.
We will run it end to end on your own numbers in half an hour, and tell you honestly which parts Treepie does not improve.