What is actually slow, measured
Before automating anything, get four numbers. Days from period end until invoices are out the door. The share of invoices that get corrected, credited or disputed. Days sales outstanding, and separately the share of receivables past sixty days. And unbilled work aging — jobs delivered, hours worked, equipment on rent, usage consumed, that has not been invoiced yet. Most companies can produce the first three in an afternoon. The fourth is the one nobody has and the one that usually contains the money.

Days-to-bill is the number worth attacking first, because it moves cash directly and it is measurable from day one. In the service and usage businesses we see, a manual close commonly takes somewhere between five and fifteen business days from period end to the last invoice out. Well-run automated billing lands in the one-to-three-day range, and the difference is not the invoice generation. It is that the data the invoice depends on arrives late — timesheets not approved, delivery tickets still in a truck, meter readings not entered, a purchase order not yet issued by the customer.
The uncomfortable version of that: if you automate the invoice run and nothing upstream changes, you will produce wrong invoices faster.
You are probably here because
- The monthly close eats the first two weeks of every month
- You found work that was delivered months ago and never invoiced
- A customer disputed an invoice and it took three days to assemble the backup
- Two people are keying invoices by hand and one of them is leaving
Only the last of those is really a data-entry problem. The other three are upstream capture, backup and rules problems, and automating the invoice run alone will not touch them.
Rating is the part everyone underestimates
Rating means turning what happened into what is owed. It is where nearly all the complexity lives, and it is almost always more intricate than the person scoping the project believes, because the rules are spread across contracts, a spreadsheet and one person's memory.
The rules that cause the trouble are consistent across industries. Minimums and commitments, where the customer pays the greater of usage and a floor. Tiers, and whether a tier applies to every unit or only to units above the threshold. Proration, which is the single most common source of invoice disputes: a customer adds users on the eleventh, and whether they are charged by the day, by the half month or from the next cycle is a rule someone has to write down. Overage. Included allowances that do or do not roll over. Rounding, and where it happens, because rounding per line and rounding at the total give different answers and both are defensible.
Industry specifics matter more than the general theory. An equipment rental business rates on a cycle that is not a calendar month — daily, weekly and four-week rates with a rule for which applies to an eleven-day rental, plus a damage waiver as a percentage, delivery and pickup, and fuel. A staffing firm computes a bill rate from a pay rate with burden, and overtime rules that vary by state, and a holiday multiplier, and a different markup for the contract-to-hire conversion. A managed services provider bills per device from a count that changes every day of the month, which raises the question of whether the count is measured on the first, the last or as an average.
Write the rules down first, in plain language, with a worked example each, and have the person who negotiates contracts read them. That document is worth more than any tool you buy, and it is what you test against later.
Your customer's requirements are part of the product
An invoice that is arithmetically perfect and does not meet the customer's requirements will not be paid, and it will not tell you why. This is the most underrated cause of long days-sales-outstanding in businesses that sell to larger companies.
The usual requirements: a purchase order number on the invoice, matched to a specific line, with no payment until it matches. Submission through the customer's accounts payable portal rather than by email, in that portal's format. Backup attached — a signed delivery ticket, an approved timesheet, a weight ticket, a scale certificate. A specific reference to their cost center or work order. Invoices split a particular way, one per location or one per project, because that is how their approval routing works.
Collect those requirements as structured data on the customer record, not as a note in a comment field that only your longest-serving billing clerk knows to check. Then enforce them: an invoice for a customer who requires a purchase order should not be able to leave without one. That single rule usually retires a whole category of aged receivables.
| Business | What makes rating hard | What blocks payment | Where leakage hides |
|---|---|---|---|
| Managed services | Device and seat counts that change daily; bundled versus billable work | Purchase order matching, portal submission | Out-of-scope work absorbed and never billed |
| Equipment rental | Daily, weekly and four-week rates; partial cycles; waiver and fuel | Missing signed delivery or pickup ticket | Assets off-rent in the system but still in the field |
| Staffing | Burden, overtime by state, holiday multipliers, conversions | Unapproved timesheets, wrong cost center | Approved overtime billed at straight time |
| Waste and route services | Per-lift plus tonnage, contamination charges, fuel surcharge | Missing weight ticket, service address mismatch | Extra lifts performed and not captured on the route |
| Subscription software | Proration, tiers, overage, mid-term plan changes | Card declines and expired payment methods | Downgrades processed, upgrades never rated |
An invoice is a document, not a row you can edit
Once an invoice has been issued, it is a record the customer holds a copy of, your accountant relies on, and a tax authority may ask about. It should be immutable. Changes happen through a credit memo and a new invoice, never by editing the original. This is not fussiness. When you edit an issued invoice you create a situation where your copy and the customer's copy differ and neither of you can tell.
Practically: a sequential, gap-free numbering scheme; a stored rendering of exactly what was sent, so you can produce the document itself years later rather than re-rendering from data that has since changed; the tax treatment recorded as it was applied at the time; and a retention policy that matches your accountant's advice for your jurisdiction. Credits carry a reason code, and the reason codes are a short controlled list, because "why do we issue credits" is a question worth being able to answer.
The billing run must be safe to run twice
Someone will re-run it. The job will time out halfway and get restarted, or two people will kick it off, or a retry will fire after a network hiccup. Make each billable period per customer a unique key so a second run finds the work already done and produces nothing new. Double-billing is the one billing defect customers do not forgive quickly, and it is entirely preventable with a uniqueness constraint written before the first invoice is ever generated.
The exception queue, and making it shrink
Full automation with no human in the loop is the wrong target for most companies. The right target is a review queue that starts large and gets smaller, with the rules for what lands in it written down.
Sensible triggers: a new customer's first invoice, a total that differs from last period by more than an agreed percentage, a credit above a threshold, an unusually large or small quantity, any manual line, and any customer with an open dispute. Everything else goes out automatically.
Then treat the queue as a measurement. If eleven percent of invoices are being reviewed and nine percent are approved without any change, the rules are catching noise and should be tightened. If a specific customer appears every month, their contract is modeled wrong and that is a one-time fix worth doing. A queue nobody tunes stops being a control within about two months, because reviewers start approving in bulk.
Where billing effort pays back — our weights
Weights sum to 100. Where we would spend a first billing budget. Judgment from projects we have run, not a survey. Capture leads because everything below it depends on it.
Disputes are a data question wearing an emotional coat
A dispute is almost always someone saying "I do not recognise this number." The fix is backup they can inspect without calling you. Every line traceable to the events behind it: which tickets, which hours by which person on which day, which meter readings, which devices. Available to the customer, on their invoice or behind a link, without a request.
Companies that do this well see disputes fall sharply, and the remaining ones resolve in a call instead of a week of email. The mechanism is not subtle — most disputes are not disagreements about the contract, they are the customer being unable to verify a total, and giving them the detail resolves it before it becomes a conversation.
Track disputes as a metric with a reason code. Over a quarter, the codes tell you exactly which upstream process is broken. If a third of disputes are "this work was not authorised," the problem is in how change requests get approved in the field, and no amount of billing software will fix it.
Reminders that a person would have sent
Automated reminders work, within limits worth being honest about. A polite note a few days before the due date, one on the due date, and one a week after collects a meaningful share of what would otherwise age. Past thirty days, a human phone call outperforms any sequence, and past sixty the sequence is mostly making your company look automated to someone who has already decided not to pay yet.
Two rules keep this from damaging relationships. Never send a reminder on a disputed invoice — suppress it automatically when a dispute is open, because a dunning email in the middle of a good-faith disagreement undoes the goodwill of the person resolving it. And route to the right person: the accounts payable clerk who processes the invoice is usually not the manager who signed the contract, and a reminder to the wrong one accomplishes nothing.
Then make paying easy. A link that goes straight to a payment page, with the invoice attached, without a login. The friction between deciding to pay and paying is real money at scale.
Send us three invoices and the rules behind them.
Email three real invoices with the numbers redacted, plus how you compute what is owed and how long a close takes, to contact@precisionfederal.com. You get back a written note on where the days are going, which rules will cause disputes, and the first thing we would automate. One business day, no charge, no meeting.
contact@precisionfederal.comTax, and when you actually need an engine
Sales and use tax is a place to be careful, and also a place where firms buy more than they need. If you operate in one state and sell one kind of thing, a maintained rate table and a written taxability decision from your accountant is usually adequate.
You need a real tax service when several things become true at once: you have obligations in many states, what you sell has taxability that differs by state — services are the classic trap, since the same work is taxable in one state and exempt across the border — you have customers with exemption certificates that expire, or you deliver to addresses where the correct rate depends on more than the postal code.
Whatever you choose, store the tax that was applied on the invoice record rather than recomputing it later. Rates change, and an invoice reprinted next year with today's rate is a document that does not match what the customer paid.
Billing and revenue recognition are different systems
They get conflated constantly, and conflating them creates a mess that is expensive to untangle at audit time. Billing answers what the customer owes and when. Recognition answers when you may record it as revenue. An annual contract invoiced up front is one invoice and twelve months of recognition. A milestone project might recognise on progress and invoice on a completely different schedule.
The practical guidance: keep them as separate concerns even if one system does both, make sure every billing event carries enough contract information for the recognition treatment to be derived, and involve whoever signs your financial statements in that design before it is built. Retrofitting recognition onto a billing system that discarded the contract terms is one of the more painful projects in this category.
Payments, and the fee arithmetic
Card acceptance costs a meaningful percentage; bank transfers cost a small flat fee. On a forty-dollar consumer subscription the difference is noise. On a forty-thousand-dollar invoice it is a real slice of margin, and it is the reason most business-to-business sellers push toward bank transfer for large balances. Surcharging card fees is possible in many places and restricted in others, and the rules are specific enough that this is a question for your counsel and your processor rather than a design decision.
For recurring card payments, retries matter more than people expect. A declined card retried on a smarter schedule recovers a substantial share of failed charges, and prompting the customer to update an expiring card before it expires recovers more. Both are small pieces of work with a direct return.
Where you should not automate
If you send forty invoices a month and they look substantially the same, a competent bookkeeper and standard accounting software is the correct answer. A custom billing system there is a maintenance obligation dressed up as an efficiency, and the person who understands it will eventually leave.
The same is true if your billing complexity is really contract chaos. If every customer has bespoke terms because the sales team negotiates freely, automation will encode the chaos and make it permanent. The cheaper fix is to standardise onto a small number of contract shapes for new business and let the legacy arrangements age out. We have seen that alone take a close from nine days to three with no software written.
And if you are automating primarily to remove a person, count the exception handling before you count the savings. Billing has a long tail of situations that need judgment, and the automated version needs someone who understands the rules well enough to fix what the rules missed.
The mistakes we get called in to fix
- A billing run that is not safe to repeat, and a customer with two invoices for one month
- Issued invoices edited in place, so your copy and the customer's no longer match
- Proration rules that live in one person's head and differ between two salespeople
- No unbilled aging report, so delivered work is discovered months later or never
- Purchase order requirements in a free-text note instead of an enforced field
- Reminders firing on disputed invoices, undoing the work of the person resolving them
- An exception queue nobody tunes, approved in bulk within two months
- Tax recomputed at reprint, producing a document that does not match what was paid
An eight-week path to a shorter close
Billing: First Automated Cycle
The parallel run is the step that decides whether anyone trusts the system. Re-rate a month you have already billed and compare invoice by invoice. Every difference is either a defect or an undocumented rule, and both are worth finding on a period nobody will be re-billed for. Do not go live on the strength of a sample.
Before the first automated cycle goes out
- Every rating rule is written in plain language with a worked example
- Proration and rounding are specified explicitly and agreed by sales
- The billing run is safe to execute twice, proven by executing it twice
- Issued invoices are immutable; corrections go through credit memos with reason codes
- Customer purchase order, portal, split and backup rules are enforced fields
- Every line traces to the events behind it, visible to the customer
- The exception queue has documented triggers and a monthly tuning review
- Reminders suppress automatically on disputed invoices
- Applied tax is stored on the invoice, never recomputed at reprint
- A full period was re-rated in parallel and reconciled invoice by invoice
Bottom line
Billing automation succeeds upstream of the invoice. Capture what is billable when it happens, write the rating rules down before anyone codes them, store your customers' requirements as enforced fields rather than folklore, and give every line backup a customer can inspect on their own. Make the run repeatable, keep issued invoices immutable, and reconcile a full parallel period before you trust it. Do that and days-to-bill falls, disputes fall with it, and the leakage you could not see becomes a number you can watch. Skip it and you will produce the same invoices, faster.
Frequently asked questions
One to three business days is achievable for most service and usage businesses. Manual closes commonly run five to fifteen. The gap is almost never invoice generation — it is waiting on timesheets, delivery tickets, meter readings and approvals. Fix the capture and the close shortens before you automate anything.
Work you delivered and never invoiced. Find it with an unbilled aging report: every billable event with no invoice against it, sorted by age. Then look at the oldest items and ask why each one stalled. The reasons cluster into two or three fixable process gaps, usually around out-of-scope work performed in good faith and never recorded as billable.
Buy when your model is close to standard subscription or straightforward invoicing, because the products in that space are mature and cheap relative to building. Build, or extend, when the rating rules are specific to your industry and your contracts — rental cycles, route services, staffing burden and overtime — where a general product forces you to distort how you actually sell. A common answer is buying the ledger and payments and building only the rating layer.
Give the customer the backup without making them ask. Every line traceable to the tickets, hours, readings or devices behind it, available on the invoice itself. Most disputes are not disagreements about the contract; they are a person who cannot verify a total. Then track disputes by reason code, because the codes point at the upstream process that is actually broken.
Most of them, yes, once you have a documented set of exception triggers: first invoice for a customer, variance beyond an agreed threshold, credits over a limit, manual lines and open disputes. The goal is a review queue that shrinks as the rules improve. A queue that stays large stops being a control, because reviewers start approving in bulk.
