Cities, counties, school districts and park boards do not pay an invoice the way a contractor does. They pay against a purchase order, on a claims cycle, and only for a proper invoice. Two settings on the customer's Billing screen make PortaPro fit that: Bill in advance and PO number.
Why municipalities are different
A city clerk puts each invoice on a claims list for a council or board meeting, usually once or twice a month with a cutoff about a week before. The invoice has to reference an open purchase order, and the accounts-payable system checks for a vendor name, an invoice number and date, the service period, the amount, a remit-to address, and the PO number. An invoice missing the PO number is returned unpaid and slips to the next cycle.
Most agencies also want the invoice in hand before the service period, so it can be approved while the period runs and paid on the warrant run after. That is the opposite of how PortaPro bills by default (after the cycle closes, in arrears), and it is what Bill in advance is for.
Bill in advance
Where: Customer profile, Edit, Billing, Bill in advance. It is per customer; every other customer keeps billing in arrears. The profile's Billing & Terms card shows the current setting under Billing Timing, with an info icon that explains both modes.
What changes when a customer bills in advance:
| In arrears (default) | In advance | |
|---|---|---|
| Draft is cut | A few days before the cycle closes (Lead days) | A set number of days before the cycle starts (Advance lead days) |
| Invoice covers | The period that is ending | The upcoming period's recurring charges, plus a true-up of usage from the period that just ran |
| Due date | Payment terms, never earlier than the cycle's last day | Payment terms from the send date, no floor |
| Schedule on approve | Sends on the cycle end date | Sends on the cycle start date |
Nothing else changes: same rate card, same billing cycle, same cycle-draft review. The draft still waits for your approval.
Advance lead days has a company default in Settings, Finance, Cycle Billing (0 to 60, default 10), independent of the arrears Lead days, and a per-customer override under Edit Customer, Billing, Advance lead days for this customer. A city whose claims list closes a month out takes 30 there without moving anyone else; 15 to 30 days is typical for agencies.
Not available for Completed-work billing. Those invoices bill work already done, and nothing exists to bill when a period starts, so the switch is disabled for those customers.
What is on an advance invoice
Two things. The upcoming period's rate-card charges, and a clearly labeled true-up of usage from the period that just finished: extra pulls, overage visits, roll-off hauls and staged fees, which cannot be known before a period runs. True-up lines read like "3 pulls, previous cycle true-up" and still apply the previous period's included-pull allowance. There is always one invoice per cycle, and the service period printed on it is the upcoming one.
Due dates and reminders
Payment terms run from the day the invoice is sent, with no end-of-cycle floor. Net 30 sent 10 days before the period starts is due 20 days into the period. Municipal AP will not pay before service starts and then pays on its warrant run, so the invoice can read as overdue in PortaPro before the agency ever intended to pay, and overdue reminders key off that due date plus the grace period. Give municipal accounts Net 30 or Net 45 terms and a per-customer grace-period override so the reminders stay quiet.
Send now or schedule
Approving an advance draft offers two sends:
Switching, and what you cannot do
Switching a customer to advance bills their current period right away (otherwise it would never bill), then each upcoming period ahead of its start. Switching back is just as safe: a period already billed in advance is skipped and the next one bills at its close. Every period bills exactly once in either direction, with no mid-cycle proration.
Deleting the draft does not skip the period. The daily draft run retries until each period has an invoice, so a deleted draft is simply cut again the next morning. When a customer should not bill a period, use Skip a billing period on their Billing tab (the three-dot menu) or the calendar-off icon on the draft's row in the review wizard. It records the period with a reason, deletes the draft, and every generator path reports the period as skipped instead of re-cutting it. It is reversible from the same dialog, and it works for arrears customers too. A skip covers the period's recurring charges only; extra pulls and fees from the skipped period still roll onto the next invoice.
The customer's PO number
Where: Customer profile, Edit, Billing, PO number. Type it exactly as the customer wrote it, including any prefix or fiscal-year suffix. Leave it blank for customers that do not use one; nothing prints when it is empty.
Where it prints: in the invoice PDF header as "PO #", between Service Period and Invoice Date; on the PDF's remittance stub, so the portion they mail back carries it; as a "PO number" row in the invoice email's summary card; and as a "PO #" row on the invoice inside PortaPro.
Drafts follow the customer, sent invoices keep theirs. An unsent draft always prints the number currently on the customer, so a new PO takes effect on the next send. The moment an invoice is issued, its number is frozen: changing the customer's PO later never re-labels an invoice the customer already matched to a purchase order, and a revision carries the original's number forward.
Per-site PO numbers. A site carries its own PO number in its Add or Edit Service Location dialog (the customer import fills it from location_po_number), and on per-site invoices the site's number prints instead of the customer's. When a site has none, the customer's number is used.
Fiscal-year rollover. Most municipalities start a fiscal year on July 1 (some October 1 or January 1) and issue a new blanket PO for it. Update the customer once when it arrives. For a customer billed in advance, the draft cut in late June for July service prints whichever PO is on the customer when it is sent, so enter the new number before approving that draft, or schedule the send for July 1.
This is the customer's PO for billing them. It is unrelated to Financials, Purchase Orders, which are the POs you send to your vendors.
Municipal invoice checklist
On the customer's Billing screen: Bill in advance on, PO number filled in, payment terms Net 30 or Net 45, a grace-period override, and tax exempt with the certificate number on file. In Settings, Finance, Cycle Billing: Advance lead days set for the slowest agency you bill. Then approve each draft with Send now or Schedule as their AP prefers.
