Skip to main content
BlogOctober 23, 2026

AR exception handling: a playbook for short pays, deductions and disputes

An AR exception handling playbook for B2B SaaS: reason codes, owners, Slack escalation and write-off approval for short pays, deductions and disputes.

Zuny FesterBy Zuny Fester, Head of Operations and Marketing
Reviewed by Zuny Fester
Published Editorial policy

Part of the accounts receivable and collections guide.

A row of invoices moves along a line while two of them are routed down into a blue exception tray beside a reviewer.

Accounts receivable exception handling is the process that takes every payment that doesn't match an open invoice and closes it on purpose. Each exception gets a type, a reason code, an owner, a deadline and an escalation path. It ends with an approved action: rebill, credit memo, refund, reclass or write-off. Without that process, a short-paid invoice is where AR automation stops and a spreadsheet starts.

This playbook is written for B2B SaaS and services teams. Your exceptions look different from the retail deductions most guides describe: service credits, partial disputes, tax withheld at source and bank fees taken out of a wire. The routing logic is the same, and so is the risk. An exception nobody owns sits in suspense until close week, and your auditor asks about it.

Key takeaways

  • Five exception types cover most B2B cases: short pay, deduction, dispute, overpayment and unidentified payment.
  • Capture a reason code at the moment of cash application, not at month-end. The code sets the owner, the deadline and the escalation path.
  • Pause dunning on the disputed amount only, and keep collecting the undisputed balance.
  • Every exception closes with one approved action: rebill, credit memo, refund, reclass or write-off.
  • Write-offs follow a written approval rule, and the person who proposes one never approves it.
  • Automate the routing and the posting; keep the judgment with people. Matching, coding, reminders and logging run on rules. Resolutions need a named approver.

What counts as an AR exception?

An AR exception is any payment, or missing payment, that cannot be applied cleanly to an open invoice. The table lists the five types, what usually causes each in B2B SaaS, and who should look first.

TypeWhat it looks likeCommon B2B SaaS causeFirst owner
Short payPayment below the invoice amount, no explanationBank or FX fees taken from a wire; tax withheld at sourceAR specialist
DeductionPayment reduced on purpose, with a stated reasonService credit the customer believes it is owed; disputed seat countAccount owner
DisputeCustomer objects to the invoice itselfWrong price, wrong term, service not deliveredAccount owner, with billing
OverpaymentPayment above the open balanceDuplicate payment; customer paid an invoice that was already creditedAR specialist
Unidentified paymentCash received, customer or invoice unknownRemittance missing; payment from a parent or a resellerAR specialist

A deduction and a short pay are not the same thing. Darwin, a deductions software vendor, defines a deduction as "any reduction a customer applies to an invoice before paying it" (Darwin). A short pay with no stated reason is a question; a deduction with a reason is a claim you can accept or reject. For the accounting side of a single short payment, see how to handle a customer short payment, deduction or chargeback.

Why AR exceptions end up in suspense

AR exceptions end up in suspense because the people who cause them are not the people who see them. Darwin puts it plainly: "Deductions are caused by sales, logistics, and pricing, and absorbed by finance." The same source reports that some companies let deductions "sit open for up to twelve months before writing them off."

Your billing system adds its own clock. In Stripe's automatic reconciliation mode for bank transfers, Stripe funds as many invoices as the transfer can pay in full, and any remainder stays in the customer's cash balance. If a customer balance stays unreconciled for 75 days, Stripe automatically attempts to return the funds to the customer's bank account (Stripe docs). An overpayment nobody owns can leave on its own.

The cost shows up in three places:

  • The AR aging overstates what is overdue, because unapplied cash sits next to the invoices it paid. See what unapplied cash is and how to clear it.
  • Dunning chases customers who already paid, or who are waiting on a credit you promised.
  • Write-offs pile up at year-end without a documented reason, which is exactly what an auditor samples.

The AR exception handling playbook, step by step

The playbook has six steps, and each one runs the same way for every exception. The first four are routing and can run on fixed rules. The last two are decisions and need a named person.

Step 1: Capture a reason code at cash application

Code the exception the moment the payment fails to match, while the remittance and the bank detail are still at hand. A code assigned three weeks later is a guess.

Use a short, fixed list. A starting set for B2B SaaS:

CodeMeaning
SP-FEEShort pay equal to a bank or FX fee
SP-TAXShort pay with tax withheld at source
DED-CREDITDeduction for a credit the customer believes it is owed
DIS-PRICEDispute over price, quantity or term
DIS-SERVICEDispute over service delivered
OVPOverpayment or duplicate payment
UNIDUnidentified payment

Keep the list under about a dozen codes. Every extra code is one more way to file an exception in the wrong place.

Step 2: Assign an owner and a deadline by code

The reason code decides the owner, so nobody has to decide who owns it. The owner is a named person, not a team inbox.

CodeOwnerDeadline to next actionEscalates to
SP-FEEAR specialistTwo business daysAR lead
SP-TAXAR specialist, with taxFive business daysController
DED-CREDITAccount ownerFive business daysHead of customer success
DIS-PRICEAccount owner, with billingFive business daysFinance lead
DIS-SERVICEAccount owner10 business daysHead of customer success
OVPAR specialistTwo business daysAR lead
UNIDAR specialistTwo business daysAR lead

These deadlines are a starting point, not a standard. Set them to match your close calendar, and make sure every overpayment and unidentified payment clears well inside your billing system's own return window.

Step 3: Pause dunning on the disputed amount only

A dispute should stop reminders on the disputed amount and nothing else. Collecting the undisputed balance keeps cash moving and keeps the conversation focused on the real disagreement.

Tag the disputed lines so the reminder cadence skips them, and remove the tag when the dispute closes. For cadence design, see how to automate dunning and collections reminders without annoying good customers.

Step 4: Escalate in Slack with the context attached

An escalation should arrive with everything the owner needs to act on it in one place. That means the invoice, the payment, the remittance, the customer's recent history, the reason code and the proposed action.

payment received → no exact match → reason code assigned → owner notified in Slack with invoice, remittance and history → deadline passes without action → escalated to the next approver → resolution recorded

The record matters as much as the message. Every step should leave a timestamp and a name, so the exception's history reads the same in the audit as it did in Slack.

Step 5: Close every exception with one approved action

Each exception ends with exactly one of five actions, and each action posts the same way every time.

ActionUse whenWhat it posts
Rebill or collectThe customer underpaid and owes the balanceBalance stays open; reminder cadence resumes
Credit memoThe customer is owed a credit (service credit, agreed price change)Credit memo against the invoice, with the reason code
Refund or applyThe customer overpaidRefund, or application to the next open invoice with the customer's agreement
ReclassThe shortfall is not a credit loss (bank fee, tax withheld at source)Bank fee to a fee expense account; recoverable withheld tax to a tax receivable; never to bad debt
Write-offThe balance will not be collectedWrite-off per the approval rule in step 6

Bank fees and withheld tax are not bad debt. A bank fee is a cost of collection. Tax withheld at source is often recoverable, and recoverable withholding is usually recorded as a tax receivable, not as an expense or a write-off. Whether it is recoverable depends on the jurisdiction and any tax treaty, so confirm the treatment with your tax advisor. Keeping both out of bad debt means your write-off line shows only true credit losses.

Billing systems support the last action natively. Stripe's API lets you mark an invoice uncollectible, which it describes as "useful for keeping track of bad debts that can be written off for accounting purposes" (Stripe API). The billing status is only half the job; the write-off still has to reach the ERP with the approval attached.

Step 6: Set a write-off approval rule

Write a rule that says who can approve a write-off at each amount, and never let the proposer approve. Tie the tiers to your existing delegation of authority.

A hypothetical rule for a mid-size SaaS company: the AR lead approves write-offs up to a small fixed amount, the controller approves above that, and the CFO approves anything above a higher limit or any write-off for a top customer. Every write-off carries the reason code, the evidence and both names.

Review the exception list weekly. Look for repeat codes by customer, by sales rep or by product line, and send each pattern back to the team that creates it. A deduction that repeats every quarter is a billing or contract problem, not a collections problem.

If you want to see these six steps running against your own AR data, book a workflow review and we will map your exception paths with you.

Which tools automate accounts receivable exception handling?

No single tool covers the whole playbook, so the practical setup combines your billing system, your ERP and a workflow layer. Here is what each category does well.

Tool categoryWhat it handles wellWhat it leaves to you
Billing systems (Stripe, Chargebee)Matching bank transfers, credit notes, marking invoices uncollectibleReason codes, ownership and approvals across teams
ERPs (NetSuite, Sage Intacct, QuickBooks, Xero)Posting credit memos, write-offs and reclassesRouting and deadlines before anything posts
AR and deductions platformsCase management and collections workflows; many are designed for retail and consumer goodsFit for SaaS credits and partial disputes; integration with your billing system
Horizontal automation platformsConnecting any two systems quicklyYour team owns the logic and every fix
Deterministic workflow layer (Loopfour)Routing, reason codes, Slack approvals and postings across your existing stack, on fixed rulesThe resolution decisions, which stay with your people

Loopfour, the deterministic finance workflow automation platform, runs the routing half of this playbook as a managed workflow. Matching, reason codes, owner assignment, dunning pauses, escalations and postings run on rules you approved. AI is limited to one scoped task: extracting invoice references from unstructured remittance, under a confidence threshold, with a person reviewing anything below it. For the general pattern, see how exception handling works in accounting automation.

What to automate and what stays a person's call

Automate anything that follows a rule; keep every resolution with a named person. The split looks like this:

Runs on rulesNeeds a person
Matching payments to invoicesAccepting or rejecting a deduction
Assigning reason codes from known patterns (exact fee amounts, duplicate payments)Coding anything the rules do not recognize
Assigning owners and deadlines by codeAgreeing a credit with the customer
Pausing and restarting dunning on tagged linesApproving a write-off
Escalating when a deadline passesDeciding how to resolve a dispute
Posting the approved action to the ERPChanging the rules themselves

Partial payments sit on the boundary. A partial payment the customer agreed to is a match; one they didn't explain is an exception. See how to handle partial payments and split invoices in Cash Application.

Frequently asked questions

What is accounts receivable exception handling?

Accounts receivable exception handling is the process for every payment that does not match an open invoice exactly. Each exception gets a type, a reason code, an owner and a deadline, and it closes with an approved action such as a rebill, a credit memo, a refund or a write-off.

What is the difference between a short pay, a deduction and a dispute?

A short pay is any payment below the invoice amount. A deduction is a short pay where the customer took a reduction on purpose, such as a credit they believe they are owed. A dispute is a formal objection to the invoice itself, such as the price or the service delivered, and it usually pauses collection on the disputed amount.

Which tools automate accounts receivable exception handling?

Billing systems and ERPs cover parts of it, such as matching, credit memos and write-offs. AR and deductions platforms add case management, often designed for retail and consumer goods. A workflow layer such as Loopfour runs the routing, reason codes, approvals and postings across your existing systems on fixed rules, with people approving every resolution.

How long should an AR exception stay open?

Set a deadline per reason code and escalate when it passes. Unidentified payments and overpayments need the shortest clock, because the cash is already in your bank. Disputes take longer, but each one still needs a dated next step and a named owner.

Who should approve an AR write-off?

Write-offs should follow a written approval rule tied to your delegation of authority, with higher amounts going to more senior approvers. The person who proposes a write-off should not be the person who approves it. Every approval should be recorded with the reason code and the evidence.

Should dunning stop when a customer disputes an invoice?

Pause reminders on the disputed amount, not on the whole account. Keep collecting the undisputed balance on the normal schedule, and restart reminders on the disputed amount once the dispute is resolved in your favor.

Conclusion

Accounts receivable exception handling works when every exception has a code, an owner, a deadline and one approved way to close. Code at cash application, route by code, pause dunning only on what is disputed, and write off only under a written rule. Your aging stays honest, your write-offs carry evidence and nothing waits in suspense for close week.

Tell us the one workflow your team dreads. We will show it running. Book a demo.

Sources