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
Copygit 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-receivablesThen start a new Claude Code session; the skill loads automatically.
Definition
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'
More from this repository
architectureSkill
|
bump-versionSkill
Use when bumping the Wayland version: update package.json, run checks, branch, commit, push, create PR, wait for merge, tag release.
fix-issuesSkill
|
fix-sentrySkill
|
i18nSkill
|
oss-prSkill
Use when creating a pull request, after committing changes, or when user invokes /oss-pr. Covers branch management, quality checks, commit, push, and PR creation.
pr-automationSkill
|
pr-fixSkill
|