🌱finance.accounts.receivable

paste to any AI agent

view raw
# Usage: curl -sSL https://seed.show/finance.accounts.receivable | bash -s <install-path>
# <install-path> is the directory where the file should land.

set -euo pipefail
[ -z "${1:-}" ] && {
  echo "install requires a path: curl -sSL https://seed.show/finance.accounts.receivable | bash -s <install-path>" >&2
  exit 1
}
TARGET="$1"
mkdir -p "$TARGET"
DEST="$TARGET/seed-fold.ZeR3N0.folded.md"

cat > "$DEST" <<'PORTDOWN_5AED7FBB'
<!--
This is a `.folded.md` archive — a directory packed into one markdown
file. The markers below are load-bearing; don't edit them directly.

To unpack (requires bash — if you have no shell, tell the user):
  1. curl -sSLf https://fold.dom.vin/skill | bash -s <INSTALL_DIR>
  2. <INSTALL_DIR>/fold/scripts/unfold <this-file>
     (or: unfold <this-file>  if fold/scripts is on your PATH)
-->

---
fold: true
marker: 867ccd
at: 2026-05-07T16:16:04Z
root: seed-pack.A9W9wZ
---

<!--fold:867ccd@file path="README.md" mode="644"-->
# Accounts Receivable Context

**Level:** Practitioner AR operations — collections workflow, aging analysis, dispute triage, DSO management, write-off policy. Cash flow modeling, credit underwriting, and treasury operations are adjacent but not covered here.

**What this is NOT for:** Consumer debt collection (different legal framework — FDCPA, state usury laws), factoring or AR securitization structuring, revenue recognition accounting (ASC 606 is referenced but not taught), or intercompany eliminations.

---

## What AR is actually managing

AR is the function that converts earned revenue into cash — as fast as possible, while preserving the customer relationships that generate future revenue. Those two goals are in permanent tension. Collections pressure that recovers cash today can kill a renewal tomorrow. Letting invoices age unchallenged destroys working capital and signals that late payment has no consequence.

The job is to resolve that tension at scale, customer by customer, invoice by invoice, with the least friction and the most speed. Everything in AR — aging buckets, collection sequences, dispute workflows, DSO targets — is a tool for managing that tradeoff.

---

## The monetization lag mental model

The invoice is a receivable from the moment it's issued until cash lands in the bank. Every day it's outstanding has a cost: the cost of capital tied up in uncollected revenue. If your cost of capital is 8% annually, a $100,000 invoice outstanding for 45 days instead of 30 costs roughly $330 in financing cost alone — before you account for the staff time to chase it, the relationship friction, or the credit risk of the additional 15 days.

This is why DSO is a financial metric, not just an operational one. Reducing DSO by 10 days on a $50M AR balance frees ~$1.4M in working capital. That's not a collections win — that's a capital efficiency win. AR professionals who frame their work this way get more investment in automation and headcount than those who frame it as "chasing late payments."

Corollary: the invoice is the cheapest collections tool. An invoice with the wrong PO number, sent to the wrong contact, in the wrong format, will sit open for at least one billing cycle while the customer's AP team routes it back to you. That's 30 days of monetization lag you created before collections ever enters the picture.

---

## The AR lifecycle

**Invoice delivery → Aging review → Collections → Dispute → Cash**

### 1. Invoice delivery
Revenue is recognized when a performance obligation is satisfied (ASC 606), but cash doesn't arrive until the invoice is delivered and paid. Invoice quality matters here: errors in amount, PO number, billing address, or payment terms delay payment before AR even begins. A clean invoice on the right date is the cheapest collections tool.

### 2. Aging review
Open invoices are grouped into buckets by days outstanding from due date: current, 1–30 DPD, 31–60 DPD, 61–90 DPD, 90+ DPD. The aging report is the AR team's primary working document. Reviewing it regularly — weekly for most companies, daily for high-volume — reveals which customers are trending toward risk before they become problems.

### 3. Collections
Systematic outreach to recover payment on overdue invoices. The sequence matters: tone escalates as days increase, but the goal at every stage is resolution, not confrontation. Most late payments are not disputes — they are cash flow management, forgotten invoices, or internal approval delays on the customer's side. The first collections touch should assume innocence.

### 4. Dispute
A customer is withholding payment because they believe something is wrong: the amount, the goods, the service level, the contract terms, the PO coverage. Disputes are not collections problems. They are resolution problems. Routing a dispute into a collections sequence damages the relationship and doesn't recover cash. Disputes require investigation, cross-functional involvement (sales, legal, ops), and a resolution pathway.

### 5. Cash application
Payment received must be matched to the correct open invoice(s). This is the cash application problem: a customer sends a wire for $87,342 and your system has open invoices for $45,000, $31,000, $9,500, $1,842, and $1,000. Which invoices does that payment close? Partial payments, short-pays, and consolidated remittances make this harder. Unmatched cash creates phantom open AR, distorts aging, and frustrates customers who believe they've paid.

---

## DSO: the primary metric

**Days Sales Outstanding (DSO)** = (Accounts Receivable Balance / Total Credit Sales) × Number of Days

DSO measures how long, on average, it takes to collect revenue after it is earned. A DSO of 45 means the company is, on average, waiting 45 days from invoice to cash.

**On benchmarks:** DSO benchmarks vary substantially by industry, company size, and customer mix — a software company selling to enterprise on net 60 terms will have a structurally different DSO than a distributor on net 30. Do not apply a cross-industry average to a single company. For current industry-specific benchmarks, see `sources.md`: APQC's Open Standards Benchmarking, Highradius DSO benchmarking by industry, and Atradius Payment Practices Barometer are the primary sources. Benchmarks published more than 18 months ago are stale — payment behavior shifted materially post-2020.

What drives DSO up:
- **Payment terms** (net 60 is slower than net 30 by design — this is not a problem, it's arithmetic)
- **Invoice errors** (disputed invoices sit open; customers won't pay what they're contesting)
- **Collections process gaps** (no systematic follow-up, escalation too slow)
- **Customer mix** (large enterprises pay slower than SMBs; government is slowest; international varies dramatically by country)
- **Seasonality** (end-of-quarter revenue recognized late rarely collects before DSO is measured)
- **Root-cause disputes** (recurring product/service issues that generate repeat short-pays)

What DSO does not tell you by itself:
- Whether AR is genuinely risky or just slow-paying reliably (a customer who always pays at 50 days on net 45 terms is predictable, not problematic)
- Whether aging is concentrated in a few large customers (a $5M customer 60 days past due skews DSO more than 50 small customers at 30 days)
- Whether the aging trend is improving or deteriorating
- Whether the DSO change is driven by payment behavior or by a mix shift in revenue timing (more end-of-period bookings produces more end-of-period AR without any change in collections performance)

DSO is a lagging indicator. Aging trend analysis — week over week — is the leading indicator. **Best Possible DSO (BPDSO)** = (current AR / total credit sales) × number of days, where current AR is only invoices not yet due — this isolates the structural floor from the collections problem.

---

## What agents get wrong

### 1. Treating all late invoices as collections problems
Late payments fall into three categories with fundamentally different responses: (a) administrative delay — invoice routing, approval queue, wrong contact, format mismatch; (b) cash flow management — customer is managing their own DPO, will pay but on their schedule; (c) dispute — customer believes something is wrong and is withholding payment until it's resolved. Only category (b) is a collections problem. Category (a) is a process fix. Category (c) is a dispute, and routing it into a collections sequence damages the relationship and produces no payment. Triage root cause before applying any collections pressure.

### 2. Treating all aging buckets the same
The action for a current invoice is monitoring. The action for a 1–30 DPD invoice is a soft reminder. The action for a 61–90 DPD invoice is formal escalation with account-owner involvement. Applying the same outreach approach across buckets either over-pressures current customers (relationship damage for no reason) or under-pressures genuinely delinquent ones (cash left on the table). Bucket-appropriate response is the core operational discipline of AR.

### 3. DSO calculation errors
Three common mistakes: (a) using total revenue instead of credit sales in the denominator — if a significant portion of revenue is cash-on-delivery or prepaid, this dramatically understates DSO; (b) using period-end AR instead of average AR — end-of-quarter AR is inflated by late-quarter revenue recognition, making DSO look worse than it is structurally; (c) ignoring BPDSO (Best Possible DSO), which isolates the floor — if actual DSO is 52 and BPDSO is 48, the collections problem is only 4 days, not 52.

### 4. Collections language that damages customer relationships
"Your account is seriously delinquent" is appropriate for consumer debt collectors operating under FDCPA. It is catastrophic when sent by a SaaS vendor to a VP of Finance who forgot to route an approval. B2B collections communications must be professional, assume good faith until evidence says otherwise, provide easy payment paths, and escalate tone gradually and deliberately. The goal is payment AND preserved relationship — not payment OR relationship. The customer you antagonize at 45 DPD is the customer who cancels at renewal.

### 5. Conflating short-pay with non-pay
A short-pay is not a missed payment. It is a signal: the customer paid what they believe they owe. The delta between what was invoiced and what was paid is either an error (yours or theirs) or a dispute. Treating a short-pay as a collections problem generates friction without resolving the underlying issue. The first step with any short-pay is invoice investigation — not a collections call.

### 6. Missing the cash application backlog
Unmatched cash is phantom open AR. An agent reviewing an aging report that contains invoices already paid but not yet matched will flag legitimate delinquencies incorrectly, contact customers who have already paid (relationship-destroying), and miss the process failure that's producing the backlog. Cash application accuracy is a prerequisite for aging accuracy. Before any collections contact, confirm the cash application ledger is current.

### 7. Write-off timing errors
Under ASC 326 (CECL), the allowance for credit losses is estimated on a forward-looking basis — companies should be reserving against expected losses before they're certain. Two common errors: (a) waiting until a debt is obviously uncollectable to write it off (too late — you've been overstating AR); (b) writing off debt without controller/CFO approval and proper documentation (required for both GAAP compliance and IRS bad debt deduction eligibility). Write-off is an accounting action, not a forgiveness decision — unless the customer receives written notice that the debt is forgiven, the legal obligation remains.

---

## What AI is changing

### Automated cash application
Cash application has historically required humans to match incoming wire amounts to open invoices — especially when customers consolidate multiple invoices into one payment or send remittance advice in unstructured formats. AI matching models (Highradius, Billtrust, and ERP-native tools) now achieve 80–95% straight-through match rates on structured remittance data, with human review reserved for exceptions. The improvement is compounding: the models improve as they learn per-customer remittance patterns. The remaining exceptions — short-pays, consolidated remittances with no remittance advice, payments with memo-field-only reference — still require human judgment, but the volume reaching humans has shrunk.

### Dispute detection
Short-pays and repeated late payment on specific invoice types are early signals of a systemic dispute — a pricing error, a delivery issue, a contract terms misinterpretation. AI models trained on historical AR data can flag these patterns before a formal dispute is raised, allowing proactive outreach. This is meaningfully different from reactive dispute processing: catching a recurring short-pay pattern at invoice 3 instead of invoice 7 reduces both the total amount at risk and the relationship damage.

### Collections prioritization and dunning optimization
Collections teams historically worked aging buckets sequentially (oldest first) or by balance size. AI-scored collections queues reorder based on predicted payment probability — surfacing accounts with deteriorating behavior patterns, flagging customers who have paid late before after a specific type of contact, deprioritizing accounts with high payment probability regardless of days outstanding. Dunning optimization adjusts message timing, channel (email vs. phone vs. portal), and tone based on what has historically produced payment for similar customers. The net effect is the same team recovering more cash with the same number of touches.

### What stays human
**Customer relationship judgment** — the decision to apply late fees to a $2M strategic account at 75 DPD versus waiving them to preserve the renewal is not an optimization problem. It requires knowing the relationship, the account history, the sales team's read, and what the customer's payment delay actually signals. AI can surface the data; the judgment call is human.

**Credit decisions** — setting or adjusting a customer's credit limit involves underwriting risk that combines financial data (D&B score, financial statements, payment history) with context AI doesn't have (the salesperson's relationship intelligence, the CFO's read on the customer's industry health, strategic account considerations). The model can score inputs; the decision is human.

**Complex dispute resolution** — disputes involving contract interpretation, delivery claims, or coverage gaps require cross-functional human judgment. A dispute over whether a SaaS product met its SLA uptime obligation involves legal, ops, and the customer relationship — not a workflow engine.

**Vendor selection and model governance** — AR automation vendors make strong claims about match rates and collection effectiveness. Evaluating those claims, configuring exception handling, and auditing model performance over time requires humans who understand both the underlying AR process and how the models work.
<!--fold:867ccd@file path="sources.md" mode="644"-->
# Accounts Receivable Sources

## Professional associations

**IOFM (Institute of Finance and Management)**
- AR and O2C resources: https://www.iofm.com/accounts-receivable
- AR benchmarking surveys (DSO, automation rates, staffing ratios): https://www.iofm.com/research
- Accounts Receivable Management certification program: https://www.iofm.com/certification/accounts-receivable-manager
- IOFM covers the full Order-to-Cash process with practitioner-level depth on cash application, collections, and dispute management

**NACM (National Association of Credit Management)**
- Credit management best practices: https://www.nacm.org/credit-learning-center.html
- NACM Commercial Collection Agency section: https://www.nacm.org/commercial-collection-agencies.html
- Business Credit magazine: https://www.nacm.org/business-credit-magazine.html
- NACM Credit Congress and Expo (annual, practitioner conference): https://www.nacm.org/credit-congress.html
- NACM is the authoritative professional body for B2B credit and collections; their standards define industry practice for collections escalation and credit decisioning

## Regulatory and accounting standards

**FASB ASC 606 — Revenue Recognition**
- ASC 606 codification (free read-only access): https://asc.fasb.org
- ASC 606 directly governs when revenue is recognized and therefore when AR is created. The five-step model (identify contract → identify performance obligations → determine transaction price → allocate → recognize) determines the invoice amount and timing. Variable consideration (rebates, returns, penalties) affects AR balance.
- FASB implementation guide for ASC 606: https://www.fasb.org/Page/PageContent?pageId=/staticpages/implementation-guidance-606.html

**FASB ASC 310 — Receivables**
- The authoritative standard for classification, measurement, and impairment of trade receivables
- Covers the allowance for credit losses (bad debt reserves), write-off policies, and factoring/securitization of AR
- ASC 326 (CECL — Current Expected Credit Losses) updated the credit loss model for receivables: https://asc.fasb.org

**SEC — Regulation S-X and SAB 99**
- For public companies, AR disclosure requirements under Regulation S-X: https://www.sec.gov/divisions/corpfin/ecfrlinks.htm
- SAB 99 (materiality) governs when AR misstatements require disclosure: https://www.sec.gov/divisions/corpfin/acctinterpretations.htm

## Cash application automation

**Strategic Finance (formerly CFO)**
- Cash application automation guides and vendor landscape: https://www.strategicfinance.com
- Covers AI-based remittance matching, ERP integration, and ROI benchmarks

**Billtrust (practitioner resource)**
- Cash application automation methodology: https://www.billtrust.com/resources/
- Order-to-cash glossary and process guides: https://www.billtrust.com/resources/blog/

**Highradius AR automation resources**
- AI in cash application (matching logic, exception handling): https://www.highradius.com/resources/
- DSO benchmarking by industry: https://www.highradius.com/resources/ebooks/dso-benchmarks/
- Collections effectiveness index: https://www.highradius.com/resources/

## Collections methodology

**Commercial Law League of America (CLLA)**
- Commercial collections standards and ethics: https://www.clla.org/resources
- Covers the escalation pathway from internal collections to commercial collection agency to litigation

**Atradius Collections**
- International collections practices and DSO benchmarks by country: https://group.atradius.com/publications/payment-practices-barometer.html
- Atradius Payment Practices Barometer (annual survey of B2B payment behavior): https://group.atradius.com/publications/

## Industry benchmarks and research

**Dun & Bradstreet — B2B payment trends**
- Trade payment data and DSO benchmarks by industry: https://www.dnb.com/business-directory/industry-standards.html
- D&B Data Cloud for credit scoring and AR risk assessment: https://www.dnb.com/products/finance-credit-risk.html

**APQC (American Productivity & Quality Center)**
- AR process benchmarking (DSO, cost per invoice, collection effectiveness index): https://www.apqc.org/resource-library/resource-listing/accounts-receivable-benchmarking
- Open Standards Benchmarking for Finance: https://www.apqc.org/osb

## How to use these sources

1. **IOFM** is the practitioner standard for AR operations — automation benchmarks, staffing ratios, process design. Start here for "how should we run this" questions.
2. **NACM** is authoritative for B2B credit and collections policy — escalation thresholds, commercial collection agency standards, credit decisioning frameworks.
3. **ASC 606 and ASC 310** govern the accounting: when AR is recognized, how it is measured, what the allowance for credit losses should be. Fetch from asc.fasb.org for specific guidance.
4. **Highradius and Billtrust** resources are vendor-published but contain substantive benchmarks and automation methodology — treat as practitioner perspective, not authoritative standard.
5. **Atradius** is the best source for international payment behavior data — useful when AR includes cross-border receivables with different payment norms.
<!--fold:867ccd@file path="workflow.md" mode="644"-->
# workflow

The AR collections workflow as a decision framework. Stage numbers track days past due (DPD) from invoice due date — not from invoice date. Decision criteria at each stage determine the action; the action is not automatic.

For the mental model behind why each day outstanding has a cost, and for what AI is changing across this workflow, see `README.md`.

## The workflow

### Invoice delivery (Day 0 from invoice send)

**Goal:** A clean, deliverable invoice reaches the right person at the right address with the right PO reference. Every error here delays payment by at least one billing cycle.

Decision criteria before sending:
- Does the invoice match the PO? (amount, line items, PO number, billing address, ship-to address)
- Is the payment term correct and agreed? (net 30 / net 60 / 2/10 net 30 — confirm against the contract, not the customer master default)
- Is the invoice going to the AP contact who processes payments — not just the business owner who signed the deal?
- Is the invoice format compatible with how this customer receives invoices? (email PDF, EDI, portal submission)

What to gather:
- AP contact name, email, and any required invoice portal credentials
- Purchase order number if the customer requires it (invoices without PO reference are rejected on receipt at many enterprises)
- Any invoice approval routing requirements (some customers require the internal requester to approve before AP pays)

Hard dependency: Revenue recognition under ASC 606 governs when the invoice can be raised. Invoice delivery is not the same as revenue recognition — but you cannot collect cash before the invoice exists. Invoice delivery kickstarts the clock.

---

### First aging review (1–30 DPD)

**Goal:** Identify invoices past due and determine whether the delay is administrative, cash-flow-driven, or a signal of dispute. Assume administrative delay first.

Decision criteria:
- Is this the first time this invoice has appeared on the aging report past due?
- Is the customer's payment history clean (pays net 30 reliably) or does this customer routinely pay at 45–60?
- Is there any open dispute on the account?
- Is there unmatched cash that might already cover this invoice?

Action: Soft reminder. The tone is informational, not collections. Assume the invoice was lost in routing, the approver is out, or the AP team has a processing backlog. Provide: invoice number, amount, due date, and a direct payment link or remittance instruction. Make paying easy.

What to gather before sending:
- Confirm the invoice was actually delivered (check the portal or delivery receipt — do not assume email delivery equals receipt)
- Check for any short-pay or partial payment that may have been received but not matched
- Check whether a dispute was logged by the customer but not yet routed to AR

Escalate if: The customer has multiple invoices in 1–30 DPD simultaneously, or has a pattern of the same invoice appearing past due multiple cycles (suggests a systemic issue — wrong billing contact, portal problem, PO mismatch).

---

### Second aging review (31–60 DPD)

**Goal:** Escalate tone. An invoice at 31–60 DPD has survived one full reminder cycle without resolution. This is no longer assumed administrative.

Decision criteria:
- Did the customer respond to the first reminder? (No response is information.)
- Is there a dispute open on this account?
- Is the customer current on other invoices, or is the entire account aging?
- What is the customer's credit limit and how does their total AR balance relate to it?

Action: Formal follow-up. Phone or email to the AR/AP manager, CC the account owner (sales rep or CSM). The tone shifts: you are requesting a payment commitment and a date. If the customer has communicated a reason for delay, document it and confirm whether it is resolvable (dispute → route to dispute triage; cash flow → request partial payment and a commitment schedule).

What to gather:
- Obtain a promised payment date in writing (email). A verbal commitment that isn't in writing doesn't exist.
- If the customer cites a dispute, get the specific invoice number(s) and the nature of the claim before ending the call.
- If the customer is unresponsive, document all attempts (date, method, contact, outcome).

Escalate if: Customer is unresponsive after two attempts, or the total AR balance on the account exceeds credit limit.

---

### Dispute triage (parallel track — can trigger at any DPD)

**Goal:** Separate disputes from collections. A customer who believes something is wrong will not pay until the wrong is resolved, regardless of collections pressure. Routing a dispute through the collections sequence is the single most relationship-damaging mistake in AR.

Decision criteria — is this a dispute?
- Customer claims the invoice amount is incorrect
- Customer claims the goods or services were not delivered, were defective, or did not meet contract specifications
- Customer references a credit memo, rebate, or contract adjustment that has not been applied
- Customer is short-paying (paying a subset of the invoice) without explanation — this is a dispute signal, not a payment

Action: Suspend collections activity on the disputed invoice(s) immediately. Route to dispute resolution workflow. Open a case. The case owner is responsible for: (a) confirming whether the dispute is valid, (b) involving the relevant internal team (sales, ops, legal), (c) issuing a corrected invoice or credit memo if warranted, (d) providing the customer a resolution timeline.

What to gather:
- Specific invoice number(s) under dispute
- Customer's stated reason (amount, delivery, contract terms, credit memo reference)
- Internal documentation: delivery confirmation, contract terms, prior credit memos, PO coverage
- Customer contact who raised the dispute (not always the same person as the AP contact)

Hard dependency: Collections and dispute tracks must not run simultaneously on the same invoice. Sending a collections escalation to a customer whose dispute is under investigation signals that AR doesn't know its own account — and it is frequently forwarded by the customer's AP team as evidence of bad faith.

Resolution pathways:
- **Valid dispute:** Issue credit memo or corrected invoice. Close the dispute case. Restart the collections clock from the corrected invoice date — DPD resets; do not carry the prior aging into the new invoice.
- **Invalid dispute (AR is correct):** Provide supporting documentation in writing (delivery confirmation, contract terms, prior credit memos). Give the customer a defined response window (typically 10 business days). If they do not respond or accept, resume collections track. Document the dispute outcome in the case before closing it — this record matters if the account later goes to a CCA or litigation.
- **Partial dispute:** Split the invoice in the AR system if your ERP supports it. Apply the undisputed amount to the standard collections track with its own aging clock. Hold the disputed portion in the dispute track with its own case. Do not let the dispute on a portion of the invoice freeze collections on the portion the customer has acknowledged they owe. If the ERP cannot split, document the split clearly in the case and track manually — the collections team must know which dollar amount is in dispute and which is collectible.

---

### Formal collections (61–90 DPD)

**Goal:** Escalate to account owner and senior AR management. This invoice is at risk. Document everything.

Decision criteria:
- Is there an open dispute? (If yes, this track does not apply — dispute triage owns it.)
- Has the customer made any payment commitment? Did they honor it?
- What is the customer's relationship value? (A $500K annual account at 90 DPD is managed differently from a $5K account at 90 DPD.)
- Is there a legal contract with payment terms and a late fee clause?

Action: Formal demand. Written communication from AR management or legal. Apply late fees per the contract. Engage the account owner to apply relationship pressure. Request a payment plan in writing if the customer cannot pay in full.

What to gather:
- Full account history: all invoices, payments, credits, prior disputes, payment commitments made and honored/broken
- Contract terms: payment terms, late fee rate, cure period, escalation provisions
- Any security: personal guarantee, letter of credit, credit insurance policy

Escalate immediately if:
- Customer has filed for bankruptcy (this is now a legal matter — stop collections, notify legal counsel)
- Customer is acquired (payment obligation may transfer — confirm with legal)
- Customer's credit score has materially deteriorated since the credit limit was set

---

### Escalation and write-off decision (90+ DPD)

**Goal:** Make a decision. The three paths are: (a) collect internally with intensified effort, (b) place with a commercial collection agency (CCA), (c) write off as bad debt. Not deciding is also a decision — it just produces worse outcomes than an explicit one.

Decision criteria:
- What is the probability of collection? (Based on customer solvency, relationship, dispute status, prior behavior — not just DPD)
- What is the cost of continued internal collections vs. collection agency placement? CCA contingency fees typically run 20–33% for commercial debt; litigation adds legal fees on top. For balances below ~$5,000, CCA placement often costs more than it recovers.
- Is litigation economically justified given the balance, legal cost, duration, and relationship impact? Small claims thresholds vary by state ($5,000–$25,000); above that, commercial litigation is rarely economic unless the relationship is already severed.
- For bad debt reserve purposes: does this receivable meet the CECL impairment threshold under ASC 326? Under CECL, forward-looking expected credit losses should already be reserved — write-off is the accounting recognition of a loss that, properly managed, was already reserved against.

Path A — Intensified internal: appropriate when customer is known to pay eventually, relationship has long-term value, and the delay has a documented resolvable cause. Requires a written payment plan with specific dates and amounts — not a verbal commitment.

Path B — Commercial collection agency placement: appropriate when internal collections has exhausted contact attempts (minimum 3 documented attempts across at least 2 channels), customer is unresponsive, and the balance justifies the agency fee. Document the placement: date, agency name, balance placed, contingency rate. Once placed, all direct contact from AR must stop — the agency owns the relationship.

Path C — Write-off: appropriate when the balance is below the cost of collection, the customer is insolvent or bankrupt (stop collections immediately on bankruptcy filing — automatic stay applies under 11 U.S.C. § 362), or the dispute was resolved in the customer's favor. 

Write-off mechanics: debit allowance for doubtful accounts (not bad debt expense directly, if reserves are properly maintained under CECL), credit AR. This removes the balance from the aging report. It does not forgive the legal obligation — the debt remains collectible unless the customer receives written notice of forgiveness. Recoveries on written-off balances are credited back to the allowance account.

Write-off timing: Write off in the period when the debt is determined to be uncollectable — not when it becomes convenient. Holding uncollectable AR on the books overstates assets. If reserves are inadequate (allowance account is insufficient to absorb the write-off), the excess hits bad debt expense on the income statement.

What to gather before write-off decision:
- Full collections documentation: all contact attempts with dates, methods, contacts, and outcomes
- Any payment commitments made and broken (documents that collections was attempted in good faith)
- Controller or CFO approval for write-offs above your materiality threshold (every company should have one)
- For IRS bad debt deduction: documentation that the debt was bona fide (actually owed), that the company has basis in the debt (accrual-basis taxpayers can deduct; cash-basis typically cannot), and that the debt is wholly worthless or partially worthless (with evidence)

---

## Decision criteria summary

| Stage | DPD | Primary action | Escalate when |
|---|---|---|---|
| Invoice delivery | 0 | Send clean invoice to AP contact | Delivery fails or PO mismatch detected |
| First aging review | 1–30 | Soft reminder, assume admin delay | Multiple invoices past due; short-pay detected |
| Second aging review | 31–60 | Formal follow-up, request commitment date | No response after two attempts; balance over credit limit |
| Dispute triage | Any | Suspend collections; open dispute case | Dispute unresolved after 30 days; customer unresponsive |
| Formal collections | 61–90 | Written demand; engage account owner | Bankruptcy; credit deterioration; broken payment commitment |
| Escalation / write-off | 90+ | Decide: internal, CCA, or write-off | Any (this is the decision point — no further escalation, only resolution) |

## What information to gather before any collections contact

Before any outreach — whether a soft reminder at 15 DPD or a formal demand at 75 DPD — confirm:

1. **Cash application is current.** Are there any unmatched payments that could cover this invoice? Contacting a customer for non-payment when they already paid is a relationship-destroying error that is also embarrassing.
2. **No open dispute.** Is there any dispute case open on this account? If yes, the collections contact must reference the dispute status, not ignore it.
3. **Contact is correct.** Are you reaching the person who can actually authorize payment — not just the person who received the invoice?
4. **History is reviewed.** What is the customer's payment pattern? First-time late vs. chronic late vs. strategic delay all require different approaches.

These four checks take less time than recovering from the relationship damage of skipping them.
<!--fold:867ccd@end-->
PORTDOWN_5AED7FBB

# ── post ──
MARKER=$(awk '/^---$/ { f++; if (f==2) exit; next } f==1 && /^marker:[[:space:]]/ { sub(/^marker:[[:space:]]+/, ""); print; exit }' "$DEST")
[ -z "$MARKER" ] && { echo "seed: archive has no marker — corrupt" >&2; exit 1; }
awk -v m="$MARKER" -v outdir="$TARGET" '
  BEGIN {
    # Match <!--fold:<m>@file path="X"--> with an optional mode attr after
    # the path (fold emits  mode="644"  on executables).
    file_re = "^<!--fold:" m "@file path=\"([^\"]+)\"( mode=\"[0-9]+\")?-->$"
    end_re  = "^<!--fold:" m "@end-->$"
  }
  $0 ~ end_re { if (current) close(current); exit }
  $0 ~ file_re {
    if (current) close(current)
    line = $0
    sub(/^<!--fold:[^@]+@file path="/, "", line); sub(/".*$/, "", line)
    current = outdir "/" line
    dir = current; sub(/\/[^\/]*$/, "", dir)
    if (dir != current) system("mkdir -p \"" dir "\"")
    printf "" > current
    next
  }
  current { print >> current }
' "$DEST"
SEED_EXTRACTED=$(find "$TARGET" -type f -not -path "$DEST" 2>/dev/null | wc -l)
if [ "$SEED_EXTRACTED" = "0" ]; then
  echo "seed: archive contained no files — refusing to delete the source" >&2
  echo "  archive preserved at: $DEST" >&2
  exit 1
fi
rm -f "$DEST"

echo "" >&2
echo "✓ seed unpacked → $TARGET ($SEED_EXTRACTED files)" >&2
find "$TARGET" -type f | sort | while IFS= read -r _sf; do
  echo "  ${_sf#${TARGET}/}" >&2
done
echo "" >&2
if [ -f "$TARGET/SKILL.md" ]; then
  echo "This seed contains a skill (SKILL.md). Install it in your agent's skills directory." >&2
  echo "" >&2
fi
echo "Install the seed skill if not already installed:" >&2
echo "  https://seed.show/skill" >&2
echo "" >&2
echo "Publisher prompt:" >&2
sed 's/^/  /' >&2 <<'__SEED_PROMPT_END_AC1F2B__'
AR practitioner context: monetization lag mental model, full invoice→aging→collections→dispute→write-off decision framework, DSO calculation errors, what AI is changing (cash application, dispute detection, dunning), what stays human. See workflow.md for the full decision framework.
__SEED_PROMPT_END_AC1F2B__
exit 0

instructions

AR practitioner context: monetization lag mental model, full invoice→aging→collections→dispute→write-off decision framework, DSO calculation errors, what AI is changing (cash application, dispute detection, dunning), what stays human. See workflow.md for the full decision framework.

idfinance.accounts.receivable size35.8 KB created2026-05-06 expirespermanent