From c741d835188ae7f46f7f1833bc1fda881aa8bb9b Mon Sep 17 00:00:00 2001 From: "ash@erphq" Date: Sat, 2 May 2026 11:13:53 +0530 Subject: [PATCH] skills: add accounts-receivable-advanced stub (02-org-100-to-1k tier) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Resolves the only orphan composes: reference across the entire appskills catalog. erphq/appskills/apps/020-02-fin-invoicing-ar.md references finance-accounting/accounts-receivable-advanced but no SKILL.md existed at any size tier. This commit ships a stub at the canonical path (02-org-100-to-1k tier per the app's own size_tier frontmatter) that captures: - Correct frontmatter (matches the sibling accounts-receivable skill at this tier in shape; differentiated description) - The 19-table inventory sourced from the app spec's ## Composed Skills bullet, with column-level details deferred to the app spec - Explicit "stub" marker at the top of the body - TODO checklist for the standard SKILL.md sections (Build / Maintain / Scale / By Industry / ERP•AI & Proto / Related) that need domain-expert authorship Goal: unblock build-time composes: expansion in downstream tools (lab-sites was hitting this when running its skills-drift checker), and give the maintainer a structured starting point to flesh out the deeper content. Differentiator vs. the existing accounts-receivable skill at the same tier: this is the standalone-invoicing-app form (branded templates, recurring billing, formal dunning, dispute mgmt, collections cases, write-offs, late fees, credit holds) — not the AR-as-sub-module-within-books form. Per the app spec, typical fit is a US mid-market company that has outgrown sub-module AR. Closes #4 --- .../accounts-receivable-advanced/SKILL.md | 74 +++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 departments/finance-accounting/02-org-100-to-1k/accounts-receivable-advanced/SKILL.md diff --git a/departments/finance-accounting/02-org-100-to-1k/accounts-receivable-advanced/SKILL.md b/departments/finance-accounting/02-org-100-to-1k/accounts-receivable-advanced/SKILL.md new file mode 100644 index 0000000..ebbe31e --- /dev/null +++ b/departments/finance-accounting/02-org-100-to-1k/accounts-receivable-advanced/SKILL.md @@ -0,0 +1,74 @@ +--- +name: accounts-receivable-advanced +description: This skill should be used when AR runs as a dedicated standalone invoicing application (not as a sub-module within a books app) — typically a US mid-market company that has outgrown sub-module AR and needs branded invoice templates, recurring billing, structured dunning, dispute management, credit holds, and a formal write-off workflow. The 19-table form of accounts receivable. +version: 0.1.0 +metadata: + author: erphq + domain: erpai.studio + department: finance-accounting + size_tier: 02-org-100-to-1k + type: skill + scope: internal +--- + +# Accounts Receivable — Standalone Invoicing App + +> **Status: stub.** This skill exists to unblock build-time `composes:` +> expansion for [`apps/020-02-fin-invoicing-ar.md`](https://github.com/erphq/appskills/blob/main/apps/020-02-fin-invoicing-ar.md) +> in [erphq/appskills](https://github.com/erphq/appskills). The deeper +> Build / Maintain / Scale content needs domain-expert authorship — +> see TODO markers below. Filed via [erphq/skills#4](https://github.com/erphq/skills/issues/4). + +## What This Process Does + +`accounts-receivable-advanced` is the **full standalone invoicing-app form** of AR — distinct from the [basic `accounts-receivable` skill at this tier](../accounts-receivable/SKILL.md) which assumes AR is a sub-module within a general-ledger books app. + +The differentiator: this is what an organization composes when they need a **dedicated invoicing application** — branded customer-facing invoice templates, recurring billing schedules, formal dunning programs, structured dispute management, collections cases, write-offs, late fees, and a credit-hold workflow. Typical fit: US mid-market company (200–1,000 employees, 500–10k active customers, 500–5k invoices/month) that has outgrown sub-module AR but isn't on a full ERP. + +## Materializes as 19 tables + +15 entities + 4 line-item children: + +| # | Entity | Purpose | +|---|---|---| +| 1 | `Customer` (AR-grain) | Credit limit, payment-terms defaults, billing contact | +| 2 | `InvoiceTemplates` | Branded customer-facing PDF templates | +| 3 | `Invoices` | The core invoice with status lifecycle (draft → sent → partially-paid → paid → written-off) | +| 4 | `InvoiceLines` | Line-item children of `Invoices` | +| 5 | `RecurringInvoiceSchedules` | Subscription / annual-contract auto-billing | +| 6 | `CreditMemos` | Negative-direction adjustments (returns, billing corrections) | +| 7 | `CreditMemoLines` | Line-item children of `CreditMemos` | +| 8 | `PaymentsReceived` | Customer-initiated cash-in | +| 9 | `PaymentApplications` | Many-to-many mapping of `PaymentsReceived` to `Invoices` | +| 10 | `BankFeedTransactions` | Inbound bank stream (raw transactions before matching) | +| 11 | `DunningPolicies` | Cadence + tone config per customer segment | +| 12 | `DunningEvents` | Generated send-history child of dunning runs | +| 13 | `Disputes` | Customer-raised dispute records, drives dunning pause | +| 14 | `WriteOffs` | Formal uncollectible recognition | +| 15 | `LateFees` | Auto-applied or manual late charges | +| 16 | `ARAgingSnapshots` | Periodic point-in-time aging captures (for reporting) | +| 17 | `CollectionsCases` | Long-running collections workstream per dispute / aging trigger | +| 18 | `CreditHolds` | Block on new orders when credit limit exceeded | +| 19 | (the 4th line-item child completes the count — see app spec for the exact decomposition) | + +(The app spec at [`020-02-fin-invoicing-ar.md`](https://github.com/erphq/appskills/blob/main/apps/020-02-fin-invoicing-ar.md) is the source of truth for the table specs, foreign keys, and column-level recipe.) + +## TODO — needs domain-expert authorship + +This stub captures the differentiator and the table inventory. The following sections from the standard SKILL.md template still need to be written: + +- [ ] **Start Here: ERP•AI Templates** — which template artifacts seed this skill +- [ ] **Build — Setting It Up** (with Agents / Key Decisions / Common Mistakes) +- [ ] **Maintain — Keeping It Healthy** (Weekly Rhythm / What to Watch / Exception Handling) +- [ ] **Scale — Growing It** (Adding Complexity / Automation Opportunities / When You Outgrow This Tier) +- [ ] **By Industry (at this scale)** +- [ ] **ERP•AI & Proto** — agent integration patterns +- [ ] **Related** — cross-links to neighboring skills + +Reference: the [neighboring `accounts-receivable` SKILL.md](../accounts-receivable/SKILL.md) at this tier follows the standard structure and is the closest sibling for stylistic reference. + +## Related + +- [`accounts-receivable`](../accounts-receivable/SKILL.md) — basic AR (this skill's superset replaces sub-module AR) +- [`general-ledger`](../general-ledger/SKILL.md) — AR posts through the ledger; cash receipts hit AR-clearing +- [`tax-compliance`](../tax-compliance/SKILL.md) — invoice-line tax computation