An invoice assembles from delivered work in Loop and approved expenses, priced from the catalogue rate that applied when the quote was issued. Payment terms come from the contract rather than a system default.
Estimates, quotations, sales orders, delivery challans and credit notes all reference the same customer and the same lines, so the trail from order to payment is continuous.
Because the accounting system does not know what was delivered. Somebody reads a delivery note or a project report, decides what is billable, and types it in. Every step is a chance to drop a line, a discount or a milestone.
The error is found at the end of the quarter, if at all, and by then the customer has paid the wrong amount or not been asked for the right one.
Milestones bill when the work is recorded as delivered, not when somebody remembers. Out-of-contract support time reaches the invoice without being re-keyed from a ticket.
The month-end question changes from "what should we bill" to "here is what we billed, does anyone disagree".
It does not raise invoices without approval. The schedule is drafted automatically; sending it is a decision, on the rule that where a customer would find the error, somebody should see it first.
It also will not chase payment on its own beyond scheduled reminders. Collections is a relationship, not a cron job.
Import open invoices first with their real dates and terms — an aged receivables report built on approximated dates is worse than none.
Run the first billing cycle in parallel. Compare invoice by invoice rather than totals; totals agree while individual lines are wrong more often than anyone expects.
It reads delivered work from Loop, approved expenses, and contract terms from Flow. It writes the receivable to the ledger and the payment state back to the customer record, so sales can see what is owed without opening Books. GST and tax treatment are decided at the point of raising, which is what makes returns assemble later rather than being reconstructed.
An invoice assembles from delivered work in Loop and approved expenses, priced from the catalogue rate that applied when the quote was issued. Payment terms come from the contract rather than a system default.
Milestones bill when the work is recorded as delivered, not when somebody remembers. Out-of-contract support time reaches the invoice without being re-keyed from a ticket.
It does not raise invoices without approval. The schedule is drafted automatically; sending it is a decision, on the rule that where a customer would find the error, somebody should see it first.
Import open invoices first with their real dates and terms — an aged receivables report built on approximated dates is worse than none.
Fourteen days, every module, no card. Or half an hour with someone who will run it on your own records and tell you where it does not help.