What you will learn
- How commercial waste contracts translate into billable items
- How scheduled service, extra pickups, and overages are charged
- Where scale weights and rental fees enter the invoice
- How invoice disputes are investigated and resolved
- What integrations billing needs with routing, scales, and accounting
What the project is
A commercial customer pays for a combination of things: container rental, a scheduled number of lifts per week, extra pickups beyond the schedule, disposal or weight charges, and sometimes fuel or environmental surcharges. Billing software holds the contract terms per customer, records each completed lift from the driver app or route system, applies the contract's pricing rules, and produces an invoice that shows its working. When a customer queries a charge, the answer should be a service record, not a phone argument.
The complexity comes from exceptions. A customer adds a container mid-month, a lift is missed and reattempted, a container is overweight, a scheduled pickup falls on a holiday. Each exception has a billing consequence, and a system that handles only the clean monthly case will generate disputes on every messy month. The best billing products treat the service record as the source of truth and make every invoice line traceable to it.
Core features
Invoice clarity is the feature. If a customer cannot see why they were charged, they will dispute it, and every dispute costs more than the charge is worth.
- Contract modelling per customer: containers, lift frequency, pricing, surcharges, and effective dates.
- Service records imported from routing or driver apps, so billed lifts match completed lifts.
- Extra pickup and overage handling with approval rules, so an unscheduled lift is priced before it is invoiced.
- Weight and disposal charge handling from scale tickets, with allocation rules for shared loads.
- Invoice generation with line-level detail, showing each charge's service date and container.
- Dispute workflow: a disputed line freezes, shows its service evidence, and resolves to a credit, a correction, or a confirmed charge.
- Accounting integration for receivables, payments, and aging, so billing and the ledger never disagree.
How it is built
Start from real contracts, not from an ideal pricing model. Ten real customer contracts will teach more about billing than any requirements workshop.
- Contract study: collect real contracts and invoices, and list every charge type, exception, and surcharge actually in use.
- Service record design: define how a completed lift, a missed lift, and an extra lift are recorded and linked to a customer and container.
- Pricing engine: implement contract rules as data, not code, so a new surcharge or rate change does not need a release.
- Invoice and dispute flow: generate invoices from service records, and build the dispute workflow before the first live invoice.
- Integration and migration: connect routing, scales, and accounting, and reconcile the first month's invoices against the old system line by line.
Tech considerations
Billing correctness is a data problem. The pricing engine, the audit trail, and the integrations matter more than the invoice template.
- A rules-based pricing engine where contract terms are configuration, with effective dates and change history.
- Immutable service records with an audit trail, so a corrected lift keeps its history.
- Imports from routing, driver apps, and scale systems, with mismatch reports when records disagree.
- Accounting integration for invoices, payments, credits, and aging.
- Role-based access, because billing staff, dispatchers, and managers should not all be able to edit the same things.
Challenges to plan for
Billing projects are judged by dispute rates, not by feature lists. A system that invoices faster but disputes more has failed.
- Contract variety: no two large customers have identical terms, and hardcoding them creates a maintenance burden.
- Service record gaps: a lift that happened but was never recorded cannot be billed, and a lift recorded twice will be disputed.
- Mid-month changes: container swaps and frequency changes need proration rules that customers accept.
- Surcharge confusion: fuel and environmental surcharges that are not explained on the invoice generate calls regardless of their legality.
Who it is for, and honest limits
This fits haulers with commercial customers, especially those with mixed container types and frequent extra pickups. It fits less well for a purely residential operation billed per household per month, where a simple subscription charge covers the service.
It does not set prices or negotiate contracts. It makes agreed prices billable and defensible. If the underlying rates are uncompetitive, accurate invoices will simply show that faster.
Frequently asked questions
How are extra pickups charged?
An extra pickup is recorded as a service event, priced by the contract's extra-lift rate, and shown on the invoice with its date and container. Approval rules can require dispatcher sign-off before an unscheduled lift is billable.
What about missed pickups?
A missed pickup that is reattempted and completed is billed normally, with the original miss visible in the record. A pickup never completed should not appear as a charge, and the dispute workflow exists for exactly this case.
Can weights be billed per customer?
Yes, where scale tickets can be allocated to a customer, such as a dedicated load. Shared loads need an allocation rule agreed in the contract, such as container count or volume share, and the invoice should state the rule.
How do rate changes work mid-contract?
Rates carry effective dates, so a change applies from its date forward and past invoices stay unchanged. The contract record should show who approved the change and when.
Does it handle residential billing too?
It can, but residential billing is simpler and often better served by a subscription charge. The value of this system is in commercial complexity: containers, lifts, overages, and weight.