Billing Exceptions
The Non-Standard Terms That Keep Billing Manual
A billing exception is any commercial term or event the billing engine was not configured to handle on its own: a ramp, a minimum commitment, a mid-term amendment, a missing PO number, a short pay. Billing software handles the clean path. Exceptions are why a finance team still touches every enterprise invoice. This is the taxonomy: 15 exception types, where each originates, what the billing engine does with it, what a person does today, and how an AI billing operator handles it.
Billing Exception Definition
A billing exception is a billing event that cannot be completed by the billing engine's configured rules alone, because the information it needs lives somewhere else: in the signed contract, an amendment, a customer email, a procurement portal, or a remittance. Resolving it requires reading that source, deciding what the contract actually requires, and acting across more than one system.
Exceptions are the reason billing operations exists as a function, and the reason it stays manual after the billing engine is bought.
Why exceptions stay manual
The billing engine bills what it was configured to bill. Every engine on the market can model a ramp, a credit, or a proration if a person translates the contract into its objects. The exception is not that the term is impossible. It is that the term arrived in a PDF, a Slack thread, or a customer's AP policy, and the engine has no way to know it exists.
Exceptions cluster in the largest invoices. Self-serve customers on a published price list generate almost none. Enterprise deals generate several each: the negotiated rate, the PO requirement, the portal, the amendment in month five. So the invoices that carry the most revenue are the ones the software handles least.
The cost is the search, not the fix. Applying a credit takes a minute. Finding the contract that justifies it, the email where the customer was promised it, the previous invoice it relates to, and the remittance that references it takes the afternoon. Billing exceptions stay manual because the information is scattered across six systems and a person is the only thing that spans all six.
The 15 billing exceptions, at a glance
Where each one comes from, what the engine does with it, what a person does today, and what an operator does instead.
| Exception | Originates in | What the billing engine does | What a person does today | How an AI billing operator handles it |
|---|---|---|---|---|
| 1. Ramp pricing | The order form: year 1 at one price, year 2 at another, or quarterly step-ups. | Stripe subscription schedules and Chargebee plan changes can model the steps if someone configures each phase. Most setups bill flat until a person changes the price. | A calendar reminder to change the price on the step date. Missed steps go unbilled until renewal. | Reads the ramp from the contract, builds the phased schedule, and checks each period's invoice against the step that should apply. No approval unless the invoice differs from the contract. |
| 2. Minimum commitment with true-up | The MSA: an annual minimum, reconciled quarterly or at term end. | Bills metered usage or a flat fee. Committed floors and shortfall true-ups are not native objects in most engines. Stripe's billing credits are still in public preview. | A spreadsheet comparing rated usage to the commit each period, and a manually keyed true-up invoice. | Compares rated usage to the committed floor every period, bills the shortfall or the overage per the contract, and attaches the math. True-ups above a threshold route for approval. |
| 3. Included allowance and overage | The pricing exhibit: a quantity included per period, a per-unit rate thereafter. | Meters and bills the configured rate. Contract-specific allowances are often set wrong, set at list price, or reset on the wrong cycle. | Pulls a usage export at period end and applies the contract rate in a spreadsheet. | Meters or ingests usage, rates it against the contract's allowance and overage rate, and flags any period where the engine under-billed. Exceptions are flagged, not approved. |
| 4. Prepaid credits and drawdown | A credit pack or annual pool with a conversion rate, an expiry date, and rollover rules. | Some engines support credit grants. Balances, expiry, and rollover rarely match the contract, and expired credits often stay spendable. | Tracks balances in a spreadsheet. Expiry is enforced by nobody. | Tracks grants, draws down against metered usage at the contract rate, enforces expiry, and ties deferred revenue to unconsumed credits. |
| 5. Mid-term amendment | An amendment, an order form addendum, or an email that adds seats from the 15th. | Bills the original terms until someone updates the subscription. Its proration setting, not the contract, decides the credit. | Reads the amendment, edits the subscription, calculates the proration by hand, and issues a credit memo or an incremental invoice. | Reads the amendment, calculates the prorated adjustment at the daily rate the contract specifies, posts an incremental invoice or a linked credit memo, and never edits the original invoice. Credits above a threshold route for approval. |
| 6. Co-terming | An add-on sold mid-term that must end on the master agreement's date. | Aligns end dates only if the add-on is configured as a prorated addition to the existing subscription rather than a new one. | Calculates the partial-period amount and the new alignment manually, usually twice. | Co-terms the add-on to the master agreement's end date, prorates the first invoice, and records the aligned renewal date in the CRM. |
| 7. Consolidated and parent-child invoicing | The MSA or the customer's AP team: one invoice per month for all subsidiaries. | Stripe combines subscriptions on one invoice only when their billing cycles align on a single customer. Parent-child roll-ups are usually manual. | Merges invoices by hand, or issues several and fields the complaint. | Builds one invoice per billing entity from the contract's structure, with child accounts as line items, and keeps child-level detail for revenue. |
| 8. PO number required or expired | The customer's AP policy, usually discovered when the first invoice bounces. | Can carry a PO number as a custom field if someone enters it. It does not know a PO is required, or that the one on file has expired. | The invoice bounces, someone emails AP, waits, and resends. | Knows which customers require a PO, holds the invoice until one is on file, requests it, and adds it to the invoice and the portal submission. No approval needed. |
| 9. Procurement portal submission and rejection | The customer's AP platform: Coupa, SAP Ariba, Bill.com, Tipalti. | Does not submit to portals. The invoice is marked sent when it is emailed, which the portal ignores. | Logs in, re-keys the invoice, tracks rejections by email, and resubmits. | Submits the invoice to the portal, monitors status, reads the rejection reason, fixes it, and resubmits. |
| 10. Milestone and deliverable billing | The SOW: a percentage on kickoff, on go-live, on acceptance. | Recurring cycles only. Milestone invoices are one-off invoices someone remembers to create. | Waits for someone to say the milestone is done, then keys the invoice. | Bills on the milestone trigger from the CRM or project tool, per the contract schedule, and holds the invoice if acceptance is disputed. |
| 11. Proration on upgrade or downgrade | A plan or seat change mid-cycle, sometimes with a contract-specified method. | Native for plan changes on the engine's own cycle. Wrong when the contract specifies a different method or a different cycle. | Recalculates by hand when the customer disputes the amount. | Applies the contract's proration method at the daily rate and documents the calculation on the invoice. |
| 12. Short pay and deductions | The remittance: the customer paid less than the invoice amount, with or without an explanation. | Applies the partial payment or leaves it unapplied. It does not know why. | Emails the customer, reads the remittance advice, and decides between a credit, a dispute, and a collections follow-up. | Reads the remittance, matches the deduction to a known credit or an open dispute, applies the cash, and opens a collections thread for the unexplained balance. |
| 13. Credit and rebill | A wrong PO, a tax correction, a pricing dispute, a changed bill-to entity. | Credit notes exist. The rebill and the accounting linkage between the two documents are manual. | Voids the invoice, reissues it, and fixes the ledger later. | Issues the linked credit memo and the corrected invoice, keeps the audit chain between them, and updates the ledger in the same step. |
| 14. Multi-entity and multi-currency | The customer's legal structure and the contract's currency clause. | One account per entity or currency, frequently duplicated. FX differences are booked by hand. | Routes invoices to the right entity, chooses the currency, and books the FX difference at month end. | Routes each invoice to the correct legal entity, company file, and currency, and posts FX differences when the payment lands. |
| 15. Tax exemption and reverse charge | The customer's exemption certificate or the jurisdiction's VAT rules. | Tax engines calculate correctly when the customer record carries the right flag and certificate. Missing certificates mean tax is charged, disputed, and credited. | Chases the certificate, removes the tax, and reissues. | Applies the customer's tax treatment from the record, holds invoices where a required certificate is missing or expired, and routes them for approval. |
The operator column describes how LedgerUp's agent Ari handles each exception today, with links to the workflow pages below. High-risk actions (credits above a threshold, true-up invoices, missing tax certificates) route to a person in Slack for approval before anything posts.
Each exception, explained
What the term means, why it slips through the billing engine, and where to go deeper.
Ramp pricing
Ramps are the most common enterprise term and the easiest to lose money on, because the failure is silent: the invoice goes out at last quarter's price and nobody notices until renewal, when the customer has a year of underpriced invoices as precedent. The fix is not a better reminder. It is a schedule built from the contract and a check, every period, that the invoice amount matches the step the contract says applies.
Minimum commitment with true-up
A commitment is a promise to pay at least a floor regardless of consumption. The billing engine sees usage; the floor lives in the contract. When usage runs under the commit, someone has to bill the difference, and when it runs over, someone has to make sure the overage rate is the negotiated one rather than list price. Both directions are exceptions, and both are where enterprise revenue leaks.
Included allowance and overage
The engine can rate usage. The question is whether it is rating against the contract or against whatever was configured at onboarding. When an allowance resets quarterly but the meter resets monthly, or when the negotiated overage rate never made it into the price object, the invoice is wrong every period in the same direction. Reconciling rated usage to the contract is a separate job from metering it.
Prepaid credits and drawdown
Credits look like a simplification and behave like the hardest exception on this list, because every credit pack is a contract liability that must equal the value of unconsumed credits at all times. Drawdown that does not tie to metered usage, negative balances that keep flowing, and expiry that never fires are three separate ways to misstate revenue and under-bill at the same time.
Mid-term amendment
Amendments are where the CRM, the contract, and the billing engine drift apart fastest. Sales records the new ARR, the amendment PDF sits in the deal, and the subscription keeps billing the old configuration. The correct handling is an incremental document with an audit link back to the original, not an edit to an invoice that has already been sent and possibly paid.
Co-terming
Co-terming is a proration problem with a renewal problem attached. Get the first invoice wrong and the customer disputes it; get the end date wrong and two renewals arrive in different months for the same customer. The contract states the alignment. The engine only knows it if someone told it.
Consolidated and parent-child invoicing
Consolidated invoicing is a customer requirement that the billing engine treats as an edge case. The parent wants one document; finance needs revenue and usage by child for recognition and reporting. The exception is holding both truths at once: a single invoice for AP and line-level detail for the ledger.
PO number required or expired
The PO exception costs the most days of DSO per dollar of effort, because an invoice without a required PO is not late, it is invisible: AP never entered it. Stripe and every ERP can print a PO number on an invoice. None of them know that this customer will reject an invoice without one, or that the PO covering last year expired in March.
Procurement portal submission and rejection
Portal customers are usually the largest customers, so this exception concentrates in the invoices that matter most. Each portal has its own field requirements and rejection codes, and a rejected invoice restarts the payment clock. The operator's job is to treat the portal as a delivery channel with a status, not as a website someone visits on Fridays.
Milestone and deliverable billing
Milestone billing depends on an event outside every finance system: the delivery team saying the work is done. The exception is the handoff between delivery and finance, and the failure mode is the milestone that was hit in March and invoiced in June. The contract schedule plus a trigger from the project tool closes the gap.
Proration on upgrade or downgrade
Proration is native in every billing engine and still an exception, because the engine prorates by its own rules and enterprise contracts sometimes specify their own: daily rate, monthly rate, no credits on downgrade, or a minimum period. When the customer's finance team recalculates the credit and gets a different number, the dispute lands in the collections inbox.
Short pay and deductions
A short pay is a message: the customer disagrees with something, and the remittance is the only place they said so. Cash application that leaves the difference unapplied turns a resolvable dispute into a stale receivable. The exception is reading the reason and routing it, which is judgment, not matching.
Credit and rebill
Credit and rebill is the correction path for half the exceptions above, which is why doing it cleanly matters. The wrong pattern is editing or voiding a sent invoice; the right one is a credit memo that references the original, a new invoice that references the credit, and a ledger that shows all three. Auditors ask for the chain.
Multi-entity and multi-currency
Entity and currency exceptions compound: the wrong entity on an invoice means the wrong company file in the ledger, the wrong tax treatment, and often the wrong bank account for the payout. The contract names the contracting entity and the currency. The operator's job is to carry both through every system without a person re-deciding them at each step.
Tax exemption and reverse charge
Tax is the exception that turns into two others: a disputed invoice and a credit and rebill. The certificate is a document with an expiry date, and the exemption only applies while it is valid and on file. Treating the certificate as part of the customer record, with a hold when it is missing, prevents the invoice from going out wrong in the first place.
How Ari handles exceptions
Ari reads the source of truth for each exception (the contract, the amendment, the remittance, the portal), decides what the contract requires, acts across the CRM, the billing engine, the ledger, and the customer channel, and asks for approval in Slack when the action is high-risk. The billing engine you run today stays exactly as it is. See the AI billing agent overview and the automated invoicing docs for the controls.
Related Guides
The function that owns these exceptions: the six systems it spans and the five metrics that measure it.
Five of these exceptions in one worked contract, carried through Stripe from signature to reconciled payout.
The pricing models behind the usage exceptions, and how metered usage becomes recognized revenue.
What skipped exceptions cost, and where in contract-to-cash the money goes missing.
Billing Exceptions FAQ
What is a billing exception?
A billing exception is a billing event that cannot be completed by the billing engine's configured rules alone, because the information it needs lives somewhere else: in the signed contract, an amendment, a customer email, a procurement portal, or a remittance. Resolving it means reading that source, deciding what the contract actually requires, and acting across more than one system. Ramps, minimum commitments, mid-term amendments, PO requirements, portal rejections, and short pays are the most common examples in B2B SaaS.
Why can't my billing system handle custom contracts?
Because a billing system bills what it was configured to bill, and custom contracts contain terms nobody configured. Stripe Billing, Chargebee, and Zuora can model most terms once a person translates the contract into their objects, but the translation, the amendment three months later, the PO the customer requires, and the payout that arrives net of fees all happen outside the engine. That work is billing operations, and it stays manual until something reads the contract and operates across the systems.
What is the most common billing exception in B2B SaaS?
In the contracts LedgerUp processes, the exceptions that appear most often are the ones tied to how the customer pays rather than what they bought: PO numbers that are required or expired, procurement portal submissions and rejections, and mid-term amendments that never reached the billing engine. Usage-related exceptions, minimum commitments and included allowances, are less frequent but larger in dollar terms.
How do you automate billing exceptions?
Not by adding rules to the billing engine. Exceptions are automated by an operator that reads the source of truth for each one (the contract, the amendment, the remittance, the portal), decides what the contract requires, acts across the CRM, billing engine, ledger, and customer channel, and asks a person for approval when the action is high-risk. That is what an AI billing operator like Ari does; the billing engine stays exactly as it is.
What is a true-up invoice?
A true-up invoice bills the difference between what a customer committed to and what they were actually billed over a period. If a contract carries a $120,000 annual minimum and usage invoices totaled $104,000, the true-up bills the $16,000 shortfall. True-ups also run the other way when usage exceeds a prepaid amount. They are exceptions because the commitment lives in the contract, not in the metering system.
What is consolidated invoicing?
Consolidated invoicing combines multiple subscriptions, products, or subsidiaries onto one invoice for a single customer, usually because the customer's AP team requires one document per period. It is an exception because billing engines generate invoices per subscription or per billing cycle, and finance still needs line-level detail by product or entity for revenue recognition even when the customer sees one total.
Do I need a PO number on every invoice?
Only when the customer requires one, which is exactly the problem: the requirement is the customer's AP policy, not a field in your billing system. Enterprise and public-sector customers commonly reject invoices without a valid PO, and an invoice that is rejected for a missing PO has not started the payment clock. The fix is to record which customers require a PO, hold their invoices until one is on file, and carry it into the invoice and any portal submission.
What is a billing exception rate?
The share of invoices in a period that needed a non-standard action to go out or get paid: a PO chase, an amendment, a credit, a short-pay resolution, a portal rejection, or a usage dispute. It is one of the five billing operations metrics. A rising exception rate with flat headcount means exceptions are being skipped, and skipped exceptions are where revenue leaks.