Skip to main content
PortaPro
Billing and pricing

The invoices you never sent: how to audit rate card billing every cycle

A unit sitting on a site with no invoice against it is the quietest way to lose money in this business. The five ways it happens, and the one report that catches all of them.

November 4, 20263 min read

Nobody loses money in this business by forgetting to bill a customer they can see. They lose it on the unit that was delivered during the busy week in June, written on a whiteboard, placed on a site and serviced every Tuesday since, with no rate card row behind it. The driver knows it is there. The customer knows it is there. The invoice does not.

Here are the five ways it happens on real books, and the audit that catches them.

1. The row with no start date

A rate card row needs a date to bill from. Without one the engine either bills a full cycle (wrong, see proration) or, more often, nothing. A blank Bills From is the single most common cause of a missing first invoice. The audit should list every row created in the last six weeks with no start date and no issued invoice covering it, because once the first invoice is out, every later cycle is a full one and the date no longer matters.

2. The row on the wrong period

The company bills every 28 days; the row says monthly because that was the default. The invoice is a different length from every other invoice, or the amount is scaled, and the customer calls. The cycle post explains why. The audit should flag any row whose period is not its customer's cycle.

3. The paused site that never came back

A site goes seasonal in November. Billing pauses, correctly. In March the units are serviced again, the driver sees them every week, and the site is still paused. Months go by. The audit should show paused sites with completed service in the last cycle.

4. The period billed twice

The opposite failure, and it costs the customer's trust rather than your money. Two drafts for the same site and period usually come from an invoice whose header site differs from the site its lines bill, or a manual invoice typed over a cycle the engine also drafted. The audit should list any two rate card invoices on the same customer with overlapping periods.

5. The credit applied at the wrong price

A customer prepays three months by check. The credit is applied each cycle against the card price instead of the cash price, and every cycle comes up a few dollars short, which looks like an unpaid balance on a customer who paid in full. See how a cash discount program should treat credit. The audit should show a check-funded credit consumed at the card price.

The one report

None of this needs a bookkeeper. It needs one report, run the morning the invoices go out, with one row per live rate card line and a status for the last cycle: billed, draft, not billed, skipped, paused, no rate, starts later. Sort by "not billed" and read down. On a 300-site book it takes ten minutes.

That report is the Rate Card Billing Audit in PortaPro. It is also why Billing Health exists: the same checks run every night, and anything that trips one lands in a list with the fix beside it, so the audit happens whether or not anyone remembers to run it. Operators who have switched from a spreadsheet tell us the first run finds something every time. Not because they were careless; because nothing was checking.

Make the audit a habit

  1. Put the report on the calendar for the morning after each cycle closes.
  2. Read "not billed" first, then "no rate", then "paused".
  3. Fix the rate card row, never the invoice. The invoice is a result.
  4. Re-run and confirm the row now shows "draft" or "billed".

Thirteen ten-minute audits a year. It is the best hourly rate in the company.

Questions this post answers

How often should I audit billing?

Every cycle, the day the invoices go out. Thirteen times a year on a 28-day cycle. A quarterly audit finds the same problems three cycles later than it should.

What is the most common cause of a missed invoice?

A rate card row with no billing start date. The engine has nothing to bill from, so it waits. The row sits there, the unit sits on the site, and nothing goes out.

What if two invoices cover the same period?

Void the later one and find out how it happened. Usually the site's header points at a different site than its lines, or someone typed a manual invoice over a cycle the engine also drafted.

More on billing and pricing.

Every billing and pricing post
28-day billing vs monthly billing for portable toilet rentals

November 4, 2026 · 3 min read

Thirteen cycles a year or twelve. Why most portable sanitation companies bill every 28 days, when calendar months make more sense, and the mistake that happens when a rate card is on one and the company is on the other.

Read the post
The prorated first invoice: what to charge when a unit lands mid-cycle

November 4, 2026 · 3 min read

A unit placed on day nine of a 28-day cycle should not be billed for 28 days, and should not be free until the next cycle. The arithmetic, the inclusive-day rule, and the line the customer should see.

Read the post
Portable toilet business profit margins: what to expect (and how to improve them)

March 18, 2026 · 3 min read

Margins in portable sanitation vary more between two companies in the same town than between two industries. Where the margin goes, which numbers to watch each cycle, and the five levers that move it.

Read the post

See it on your own book.

Book a walkthrough with your own sites, units and billing cycle, or start a free trial and import your customer list tonight.

Start free trial

14-day free trial (card required, no charge today). Or a guided 30 to 60 day trial with no card.

Kygo, PortaPro's support assistant