Skip to main content
ClaudeWave
Skill596 repo starsupdated 3d ago

finance-receivables

Analyze accounts receivable aging, calculate DSO, and generate compliant collection email sequences for overdue invoices. FDCPA / state-UDAP-aware language; intent-gated escalation; SOL-aware bad-debt write-off guidance. Ported from Anthropic's reconciliation skill, hardened for SMB liability surface.

Install in Claude Code
Copy
git clone --depth 1 https://github.com/FerroxLabs/wayland /tmp/finance-receivables && cp -r /tmp/finance-receivables/resources/bundled-extensions/business-finance/skills/finance-receivables ~/.claude/skills/finance-receivables
Then start a new Claude Code session; the skill loads automatically.

SKILL.md

> **Templates and analytical tools only - not personalized financial, tax, accounting, or legal advice.** Collection language carries FDCPA (third-party debt collectors) and state UDAP (original creditors in CA, NY, FL, TX + others) exposure. **Threatening legal action you do not intend or are not authorized to take is a textbook FDCPA §1692e violation pattern.** Review collection templates with counsel before sending. Bad-debt write-off and 1099-C issuance rules vary by basis of accounting.

# Finance - Receivables Management

Analyze AR aging, calculate Days Sales Outstanding (DSO), and generate **compliant** collection emails for overdue invoices.

## When to use

- Monthly AR aging review
- Identifying invoices at risk of becoming bad debt
- Drafting collection emails (first reminder through final notice)
- Calculating DSO and benchmarking against industry standards

## Required inputs

- **Jurisdiction**: US (with state) / UK / EU-country / CA / AU / other - collection law differs.
- **Basis of accounting**: cash / accrual / modified cash - determines bad-debt deductibility.
- **Invoice list** - paste as a table or describe: client name, invoice number, amount, invoice date, due date, status (open / partial / overdue), **whether the underlying contract specifies late fees and any contractual collection terms**.
- **Total monthly revenue** (for DSO calculation)
- **Period**: the as-of date for the aging analysis
- **Client type**: B2B / B2C - FDCPA and state UDAP exposure higher for consumer debts.

## FDCPA / UDAP gate - read before generating any collection language

> ⚠️ **Stop before threatening legal action.** The federal **Fair Debt Collection Practices Act (FDCPA, 15 U.S.C. §1692)** technically governs **third-party debt collectors**, not original creditors. **However, ~15+ states extend collection-conduct rules to original creditors** via state UDAP / consumer-protection statutes - including **California (Rosenthal Fair Debt Collection Practices Act, Civ. Code §1788)**, **New York (GBL §349 + DFS rules)**, **Florida (FCCPA, Fla. Stat. §559)**, **Texas (DTPA + Tex. Fin. Code §392)**, **Massachusetts (M.G.L. c. 93 §49 + 940 CMR 7.00)**, and others.
>
> **The most common violations:**
> - **§1692e** - false, deceptive, or misleading representations, including:
>   - Threatening legal action you do not intend or are not authorized to take
>   - Misrepresenting the legal status of the debt
>   - Threatening to take action that cannot legally be taken
> - **§1692d** - harassment or abuse, including repeated calls, profane language, threats of violence
> - **§1692f** - unfair practices, including charging fees not authorized by contract or law
> - State UDAP equivalents apply the same standards to original creditors.

### Intent gate (required before any "FINAL NOTICE" or legal-action language)

Before generating Template 4 or any "legal remedies" / "collections agency" / "service suspension" language, the skill **MUST** ask the user:

> **Confirm intent for each escalation you want me to mention. I will only generate language for actions you (a) actually intend to take, (b) are authorized to take, and (c) can legally take.**
>
> 1. **Refer to a collections agency?** Y/N - if Y, do you have an engaged agency willing to take this account?
> 2. **Pursue legal action (small claims / civil suit)?** Y/N - if Y, do you have counsel engaged and is the SOL still open in the relevant state? Have you reviewed the matter with counsel?
> 3. **Suspend services?** Y/N - if Y, does the underlying contract authorize suspension for non-payment?
> 4. **Apply a late fee?** Y/N - if Y, is the late fee in the underlying signed contract and below the state usury / late-fee cap?
> 5. **Report to a credit bureau?** Y/N - if Y, are you a furnisher under the **FCRA** (Fair Credit Reporting Act)? FCRA accuracy and dispute-resolution duties apply.
> 6. **Issue a 1099-C?** Y/N - applies only after write-off; see write-off section.

If the user answers N to an item, that escalation **MUST NOT** appear in the generated email.

## AR aging report

Categorize each open invoice by days past due:

```
ACCOUNTS RECEIVABLE AGING - As of [Date]                  Jurisdiction: [SELECTED]
──────────────────────────────────────────────────────────────────
Client         Invoice #  Amount     Invoice Date  Due Date   Age     Bucket
──────────────────────────────────────────────────────────────────
[Client A]     INV-042    $2,400.00  2026-02-01    2026-03-03   0-30  Current
[Client B]     INV-039    $1,850.00  2026-01-15    2026-02-14  31-60  Aging
[Client C]     INV-031    $3,200.00  2025-12-01    2025-12-31  61-90  Overdue
[Client D]     INV-024    $5,500.00  2025-10-15    2025-11-14   90+   Critical
──────────────────────────────────────────────────────────────────
TOTALS
  Current (0–30 days):    $X,XXX    XX%
  Aging (31–60 days):     $X,XXX    XX%
  Overdue (61–90 days):   $X,XXX    XX%
  Critical (90+ days):    $X,XXX    XX%
  TOTAL OPEN AR:          $XX,XXX   100%
──────────────────────────────────────────────────────────────────
```

## DSO calculation

```
DSO = (Total Open AR / Total Revenue for Period) × Number of Days in Period

DSO benchmarks by industry (target):
  Professional services:       30–45 days
  Software / SaaS:             30–45 days
  Manufacturing:               40–55 days
  Wholesale / distribution:    35–50 days
  Construction:                45–70 days (varies widely)
```

## Collection email templates

> **Operating principle:** Reminders should be **factual, conditional, accurate**. Do not use loaded boilerplate. Every escalation must match the **gated intent** the user confirmed above.

### Template 1 - Friendly reminder (1–7 days past due)

```
Subject: Friendly reminder - Invoice [#] due [Date]

Hi [Client name],

Just a quick note - Invoice [#] for $[Amount] was due on [Date].
If you've already sent payment, please disregard this message.

If you have any questions about the invoice, I'