manus-skills/.kortix/opencode/skills/business/cash-flow-snapshot/reference/gotchas.md
zhukang 1c7abd81d1 All 310 Manus skill-hub community skills as a Kortix marketplace registry
- 310 registry:skill items, 1528 files, 7 categories (hub tags)
- registry.json generated by @kortix/registry buildRegistry
- nested SKILL.md in sn-da-* renamed SUBSKILL.md (no phantom skills)
- provenance + licenses: SOURCES.md
2026-09-15 13:37:20 +08:00

2.4 KiB
Raw Permalink Blame History

Gotchas — cash-flow-snapshot

Known edge cases and connector failure modes. 2–5 entries, Good/Bad format.


1. QuickBooks AR aging includes invoices already collected

Bad: Including fully-paid invoices from the AR aging report inflates inflow projections. QuickBooks sometimes shows $0-balance invoices in aging exports.

Good: Filter AR rows to balance_due > 0 before computing inflows. If the connector doesn't expose balance_due, subtract known PayPal/Stripe settlements from the invoice total before including it.


2. PayPal settlement lag varies by transaction type

Bad: Assuming all PayPal receipts settle in 1–2 business days. PayPal holds funds differently for disputes, new sellers, and high-value transactions — using a flat settlement assumption produces overconfident inflow timing.

Good: Compute settlement lag from actual transaction_date → completed_date pairs in the PayPal transaction history. Use the computed mean and stddev per customer or transaction type.


3. CSV column names are inconsistent across accounting exports

Bad: Requiring exact column names like "Date", "Amount", "Type". QuickBooks CSV exports use "Transaction Date", "Amount", "Transaction Type". Wave uses "Date", "Amount", "Account Type". Rigid parsing fails silently.

Good: Fuzzy-match column headers (date → transaction date → txn date; amount → debit/credit; type → category → account type). Show the header row to the user and confirm mapping before computing — one question beats a silent wrong forecast.


4. Fixed costs hidden in one-off AP entries

Bad: Only pulling recurring line items labeled as "recurring" in QuickBooks. Many SMBs don't tag fixed costs consistently — rent may appear as a one-off vendor bill each month.

Good: Look for AP entries that appear in 3+ consecutive months with the same vendor and similar amount (±10%). Treat these as recurring fixed costs in the forecast. Surface the list to the user: "I'm treating these as fixed monthly costs — does that look right?"


5. Confidence band formula breaks when mean payment lag is zero

Bad: Dividing stddev by a mean lag of 0 (e.g. immediate payment customers like Square POS) produces a divide-by-zero error or an infinite band.

Good: If mean lag ≤ 1 day, set band_pct to 5% (low variance, near-immediate settlement). Don't attempt the division.