{"id":"88a09baf-bbff-482b-b13f-94fe0d50a54d","entityType":"agent","slug":"clawhub-skills-1kalin-afrexai-invoice-engine","name":"afrexai-invoice-engine","canonicalUrl":"https://www.xpersona.co/agent/clawhub-skills-1kalin-afrexai-invoice-engine","canonicalPath":"/agent/clawhub-skills-1kalin-afrexai-invoice-engine","generatedAt":"2026-10-10T00:56:17.740Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":null},"description":"Generate, manage, and track professional invoices with payment terms, recurring billing, overdue automation, and financial reporting. Use when creating invoices, tracking payments, managing clients, or reviewing revenue. --- name: afrexai-invoice-engine description: Generate, manage, and track professional invoices with payment terms, recurring billing, overdue automation, and financial reporting. Use when creating invoices, tracking payments, managing clients, or reviewing revenue. --- Invoice Engine — Complete Invoicing & Accounts Receivable A zero-dependency agent skill for end-to-end invoicing — from quote to payment to reporting","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. Last updated 4/15/2026.","installCommand":"clawhub skill install skills:1kalin:afrexai-invoice-engine","sourceUrl":"https://github.com/openclaw/skills/tree/main/skills/1kalin/afrexai-invoice-engine","homepage":null,"primaryLinks":[{"label":"View on ClawHub","url":"https://github.com/openclaw/skills/tree/main/skills/1kalin/afrexai-invoice-engine","kind":"source"}],"safetyScore":84,"overallRank":62,"popularityScore":50,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Generate, manage, and track professional invoices with payment terms, recurring billing, overdue automation, and financial reporting. Use when creating invoices"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[{"label":"expect","status":"self-declared"},{"label":"resolve","status":"self-declared"}],"verifiedCount":0,"selfDeclaredCount":3,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"},{"key":"expect","type":"capability","support":"supported","confidenceSource":"profile","notes":"Declared in agent profile metadata"},{"key":"resolve","type":"capability","support":"supported","confidenceSource":"profile","notes":"Declared in agent profile metadata"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile capability:expect|supported|profile capability:resolve|supported|profile"}},"adoption":{"evidence":{"source":"no-adoption-signals","verified":false,"confidence":"low","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":"No source adoption metrics were available."},"stars":null,"forks":null,"downloads":null,"packageName":null,"latestVersion":null,"tractionLabel":null},"release":{"evidence":{"source":"agent-index","verified":false,"confidence":"medium","updatedAt":"2026-02-25T06:17:36.868Z","emptyReason":null},"lastUpdatedAt":"2026-04-15T00:45:39.800Z","lastCrawledAt":"2026-02-25T06:17:36.868Z","lastIndexedAt":null,"nextCrawlAt":"2026-02-26T06:17:36.868Z","lastVerifiedAt":null,"highlights":[]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install skills:1kalin:afrexai-invoice-engine","setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-1kalin-afrexai-invoice-engine/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-1kalin-afrexai-invoice-engine/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-1kalin-afrexai-invoice-engine/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-skills-1kalin-afrexai-invoice-engine/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-skills-1kalin-afrexai-invoice-engine/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-skills-1kalin-afrexai-invoice-engine/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T00:56:17.740Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-1kalin-afrexai-invoice-engine/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-1kalin-afrexai-invoice-engine/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-1kalin-afrexai-invoice-engine/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-1kalin-afrexai-invoice-engine/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":null},"readme":"---\nname: afrexai-invoice-engine\ndescription: Generate, manage, and track professional invoices with payment terms, recurring billing, overdue automation, and financial reporting. Use when creating invoices, tracking payments, managing clients, or reviewing revenue.\n---\n\n# Invoice Engine — Complete Invoicing & Accounts Receivable\n\nA zero-dependency agent skill for end-to-end invoicing — from quote to payment to reporting.\n\n## Quick Start\n\nWhen the user says \"create an invoice\" or \"bill [client]\":\n\n1. Check if client exists in memory (see Client Registry below)\n2. If new client → run Client Onboarding\n3. Generate invoice using the Invoice Builder\n4. Present for review → finalize\n5. Track in the Invoice Ledger\n\n---\n\n## 1. Client Registry\n\nMaintain a YAML client database in your workspace:\n\n```yaml\n# clients.yaml\nclients:\n  - id: \"CLI-001\"\n    name: \"Acme Corp\"\n    contact: \"Jane Smith\"\n    email: \"jane@acme.com\"\n    address:\n      line1: \"123 Business Ave\"\n      line2: \"Suite 400\"\n      city: \"New York\"\n      state: \"NY\"\n      zip: \"10001\"\n      country: \"US\"\n    tax_id: \"US-EIN-12-3456789\"\n    payment_terms: \"net-30\"       # net-15, net-30, net-45, net-60, due-on-receipt, custom\n    preferred_currency: \"USD\"\n    default_tax_rate: 0           # 0 for B2B cross-border, local rate for domestic\n    notes: \"PO required for invoices > $5,000\"\n    created: \"2026-01-15\"\n    lifetime_revenue: 12500.00\n    invoices_sent: 3\n    invoices_paid: 2\n    avg_days_to_pay: 22\n```\n\n### Client Onboarding Checklist\nWhen adding a new client, collect:\n- [ ] Legal entity name (exactly as on their records)\n- [ ] Billing contact name + email\n- [ ] Billing address (full, with country)\n- [ ] Tax ID / VAT number (if applicable)\n- [ ] Preferred payment terms\n- [ ] Currency preference\n- [ ] Any PO or approval requirements\n- [ ] Tax-exempt? (if so, get certificate reference)\n\n---\n\n## 2. Invoice Builder\n\n### Invoice Number Format\n```\n[PREFIX]-[YEAR].[MONTH].[SEQUENCE]\nExample: INV-2026.02.001\n```\n\nConfigurable prefix per business line:\n- `INV` = standard invoice\n- `PRO` = proforma / quote\n- `REC` = recurring invoice\n- `CN` = credit note\n\n### Invoice Template\n\nWhen generating an invoice, structure it as:\n\n```\n╔══════════════════════════════════════════════════════════╗\n║  [YOUR COMPANY NAME]                                     ║\n║  [Address Line 1]                                        ║\n║  [City, State ZIP]                                       ║\n║  [Country]                                               ║\n║  Tax ID: [YOUR TAX ID]                                   ║\n╠══════════════════════════════════════════════════════════╣\n║                                                          ║\n║  INVOICE [NUMBER]                  Date: [ISSUE DATE]    ║\n║                                    Due:  [DUE DATE]      ║\n║                                                          ║\n║  Bill To:                          Payment Terms:        ║\n║  [CLIENT NAME]                     [Net-30 / etc.]       ║\n║  [Client Address]                                        ║\n║  [City, State ZIP]                 PO Number:            ║\n║  Tax ID: [CLIENT TAX ID]          [If applicable]        ║\n║                                                          ║\n╠══════════════════════════════════════════════════════════╣\n║  #  │ Description          │ Qty │ Rate    │ Amount     ║\n╠═════╪══════════════════════╪═════╪═════════╪════════════╣\n║  1  │ [Service/Product]    │  1  │ $X,XXX  │ $X,XXX.XX ║\n║  2  │ [Service/Product]    │  3  │ $XXX    │ $X,XXX.XX ║\n║  3  │ [Expense passthrough]│  1  │ $XXX    │ $XXX.XX   ║\n╠═════╧══════════════════════╧═════╧═════════╧════════════╣\n║                              Subtotal:    $XX,XXX.XX     ║\n║                              Discount:    -$X,XXX.XX     ║\n║                              Tax (X%):    $X,XXX.XX      ║\n║                              ─────────────────────────   ║\n║                              TOTAL DUE:   $XX,XXX.XX     ║\n╠══════════════════════════════════════════════════════════╣\n║  Payment Methods:                                        ║\n║  • Bank Transfer: [Bank] | Acct: [XXXX] | Routing: [XX] ║\n║  • PayPal: [email]                                       ║\n║  • Stripe: [payment link]                                ║\n║  • Bitcoin: [address] / Lightning: [LNURL]               ║\n║                                                          ║\n║  Notes: [Custom message / thank you / late fee notice]   ║\n╚══════════════════════════════════════════════════════════╝\n```\n\n### Line Item Types\n- **Time-based**: Hours × hourly rate (log hours, auto-calculate)\n- **Fixed fee**: Project milestones, retainers\n- **Quantity-based**: Units × unit price\n- **Expense passthrough**: At-cost or with markup %\n- **Discount line**: Negative amount (early payment, volume, loyalty)\n- **Recurring**: Auto-populated from recurring schedule\n\n### Tax Handling Decision Tree\n```\nIs client in same country as you?\n├── YES → Apply local tax rate\n│   ├── Client tax-exempt? → Add exemption reference, 0% tax\n│   └── Client NOT exempt → Apply standard rate\n└── NO → Usually 0% (reverse charge / export)\n    ├── Both in EU? → Reverse charge mechanism (0%, note on invoice)\n    ├── US interstate? → Check nexus rules\n    └── International → 0% with export reference\n```\n\n### Discount & Pricing Framework\n- **Early payment**: 2/10 Net 30 (2% discount if paid within 10 days)\n- **Volume**: Tiered pricing (1-10 units = $X, 11-50 = $Y, 51+ = $Z)\n- **Loyalty**: After 6+ invoices, offer 5% ongoing discount\n- **Bundled**: Package multiple services, discount 10-15% vs à la carte\n- **Seasonal**: Q4 premium (+10%), Q1 discount (-5%) if applicable\n\n---\n\n## 3. Invoice Lifecycle & Status Tracking\n\n### Status Flow\n```\nDRAFT → SENT → VIEWED → PARTIALLY_PAID → PAID → CLOSED\n                  ↓\n              OVERDUE → ESCALATED → WRITTEN_OFF\n                  ↓\n            DISPUTED → RESOLVED → PAID\n```\n\n### Invoice Ledger (YAML)\n\n```yaml\n# invoices.yaml\ninvoices:\n  - number: \"INV-2026.02.001\"\n    client_id: \"CLI-001\"\n    status: \"sent\"\n    issue_date: \"2026-02-13\"\n    due_date: \"2026-03-15\"\n    currency: \"USD\"\n    subtotal: 5000.00\n    discount: 0\n    tax: 0\n    total: 5000.00\n    amount_paid: 0\n    balance_due: 5000.00\n    payment_terms: \"net-30\"\n    line_items:\n      - description: \"AI Integration Consulting — February\"\n        qty: 20\n        rate: 250.00\n        amount: 5000.00\n    payments: []\n    notes: \"\"\n    sent_date: \"2026-02-13\"\n    reminders_sent: 0\n    created: \"2026-02-13T10:30:00Z\"\n```\n\n### Payment Recording\nWhen a payment comes in:\n```yaml\npayments:\n  - date: \"2026-03-10\"\n    amount: 5000.00\n    method: \"bank_transfer\"    # bank_transfer, stripe, paypal, btc, cash, check\n    reference: \"TXN-ABC123\"\n    notes: \"Paid in full\"\n```\n\nUpdate: `amount_paid`, `balance_due`, `status` (→ paid if balance = 0, → partially_paid if balance > 0)\n\n---\n\n## 4. Recurring Invoices\n\n### Schedule Configuration\n```yaml\nrecurring:\n  - id: \"REC-001\"\n    client_id: \"CLI-001\"\n    description: \"Monthly Retainer — AI Ops Support\"\n    frequency: \"monthly\"          # weekly, biweekly, monthly, quarterly, annually\n    day_of_month: 1               # 1-28 (avoid 29-31 for safety)\n    line_items:\n      - description: \"AI Operations Retainer\"\n        qty: 1\n        rate: 3500.00\n    auto_send: true               # false = create as draft\n    start_date: \"2026-01-01\"\n    end_date: null                # null = indefinite\n    next_invoice: \"2026-03-01\"\n    invoices_generated: 2\n    active: true\n```\n\n### Recurring Invoice Routine (run on schedule)\n1. Check `recurring` entries where `next_invoice <= today` and `active = true`\n2. For each: generate invoice from template, assign next number\n3. If `auto_send = true` → mark as sent, notify client\n4. If `auto_send = false` → save as draft, notify user for review\n5. Update `next_invoice` to next occurrence\n6. Log in daily memory\n\n---\n\n## 5. Overdue Management & Collections\n\n### Reminder Schedule\n| Days After Due | Action | Tone |\n|---|---|---|\n| +1 day | Friendly reminder email | \"Just a gentle reminder...\" |\n| +7 days | Follow-up with invoice attached | \"Following up on...\" |\n| +14 days | Firm reminder, mention late fee | \"This invoice is now 14 days past due...\" |\n| +30 days | Final notice before escalation | \"Final notice — please remit payment...\" |\n| +45 days | Escalate to human (Kalin/Christina) | Flag for personal outreach |\n| +60 days | Consider write-off or collections | Business decision |\n\n### Reminder Templates\n\n**Day +1 (Friendly)**\n```\nSubject: Friendly reminder — Invoice [NUMBER] due [DATE]\n\nHi [CONTACT],\n\nHope all is well! Just a quick reminder that invoice [NUMBER] for [AMOUNT] was due on [DATE].\n\nIf you've already sent payment, please disregard this note.\n\nPayment details are on the attached invoice. Let me know if you need anything.\n\nBest,\n[YOUR NAME]\n```\n\n**Day +14 (Firm)**\n```\nSubject: Invoice [NUMBER] — 14 days overdue ([AMOUNT])\n\nHi [CONTACT],\n\nInvoice [NUMBER] for [AMOUNT] is now 14 days past the due date of [DATE].\n\nPer our agreement, a late fee of [X]% may apply to balances outstanding beyond [Y] days.\n\nCould you confirm when we can expect payment? Happy to discuss if there's an issue.\n\nThanks,\n[YOUR NAME]\n```\n\n**Day +30 (Final)**\n```\nSubject: Final notice — Invoice [NUMBER] overdue ([AMOUNT])\n\nHi [CONTACT],\n\nThis is a final reminder that invoice [NUMBER] for [AMOUNT] remains unpaid, now 30 days past the due date.\n\nPlease arrange payment within the next 7 business days to avoid further action.\n\nIf there's a dispute or issue with this invoice, please let me know immediately so we can resolve it.\n\nRegards,\n[YOUR NAME]\n```\n\n### Late Fee Calculation\n```\nStandard: 1.5% per month on overdue balance (18% APR)\nGrace period: 5 business days after due date\nCompound: Simple interest (not compound)\nCap: 25% of invoice total (or local legal maximum)\n\nFormula: late_fee = balance_due × (monthly_rate / 30) × days_overdue\nExample: $5,000 × (0.015 / 30) × 14 = $35.00\n```\n\n---\n\n## 6. Financial Reporting\n\n### Revenue Dashboard (generate weekly/monthly)\n\n```\n═══ REVENUE SUMMARY — [MONTH YEAR] ═══\n\nInvoiced This Month:      $XX,XXX.XX  ([N] invoices)\nCollected This Month:     $XX,XXX.XX  ([N] payments)\nOutstanding (not overdue): $XX,XXX.XX  ([N] invoices)\nOverdue:                  $XX,XXX.XX  ([N] invoices, avg [X] days late)\nWritten Off (YTD):        $XX,XXX.XX\n\nCollection Rate:          XX.X%  (collected / invoiced, trailing 90 days)\nAvg Days to Pay:          XX days (trailing 90 days)\nAvg Invoice Size:         $X,XXX.XX\n\n═══ TOP CLIENTS (by revenue, YTD) ═══\n1. [Client] — $XX,XXX  ([N] invoices, avg [X] days to pay)\n2. [Client] — $XX,XXX  ([N] invoices, avg [X] days to pay)\n3. [Client] — $XX,XXX  ([N] invoices, avg [X] days to pay)\n\n═══ AGING REPORT ═══\nCurrent (not yet due):     $XX,XXX  ([N] invoices)\n1-15 days overdue:         $XX,XXX  ([N] invoices)\n16-30 days overdue:        $XX,XXX  ([N] invoices)\n31-60 days overdue:        $XX,XXX  ([N] invoices)\n60+ days overdue:          $XX,XXX  ([N] invoices) ⚠️\n\n═══ MONTHLY TREND ═══\nJan: $XX,XXX ████████████\nFeb: $XX,XXX ████████████████\nMar: $XX,XXX ██████████\n...\n\n═══ ACTIONS NEEDED ═══\n• [N] invoices need reminder emails\n• [N] recurring invoices due for generation\n• [Client] has disputed INV-XXXX — needs resolution\n```\n\n### Key Metrics to Track\n- **Collection Rate**: % of invoiced amount actually collected (target: >95%)\n- **DSO (Days Sales Outstanding)**: avg days from invoice to payment (target: <30)\n- **Overdue Ratio**: overdue balance / total outstanding (target: <10%)\n- **Revenue Concentration**: % from top client (flag if >40% — dependency risk)\n- **MRR from Recurring**: recurring invoice total / month\n\n---\n\n## 7. Credit Notes & Adjustments\n\nWhen a refund or correction is needed:\n\n```yaml\ncredit_note:\n  number: \"CN-2026.02.001\"\n  original_invoice: \"INV-2026.01.003\"\n  client_id: \"CLI-001\"\n  reason: \"Partial refund — service hours overcharged\"\n  line_items:\n    - description: \"Correction: 5 hours overcharged\"\n      qty: -5\n      rate: 250.00\n      amount: -1250.00\n  total: -1250.00\n  issued: \"2026-02-13\"\n```\n\nApply credit notes against:\n1. The original invoice (reduce balance)\n2. Future invoices (credit on account)\n3. Direct refund (record refund method + reference)\n\n---\n\n## 8. Multi-Currency Support\n\n```yaml\ncurrencies:\n  primary: \"USD\"\n  accepted: [\"USD\", \"GBP\", \"EUR\", \"BTC\"]\n  exchange_rates:  # Update weekly or use live rates\n    GBP_USD: 1.27\n    EUR_USD: 1.08\n    BTC_USD: 97500\n  conversion_note: \"Converted at rate on invoice date. Payment accepted in invoiced currency only.\"\n```\n\nRules:\n- Always invoice in the client's preferred currency\n- Record payments in the currency received\n- Convert to primary currency for reporting (use rate on payment date)\n- Note exchange rate on invoice if cross-currency\n- BTC/Lightning: include both sats and fiat equivalent\n\n---\n\n## 9. Quote-to-Invoice Pipeline\n\n### Quote (Proforma) Template\nSame as invoice template but:\n- Prefix: `PRO-` instead of `INV-`\n- Header: \"QUOTATION\" instead of \"INVOICE\"\n- Add: \"Valid until: [DATE]\" (typically 30 days)\n- Add: \"This is not a tax invoice\"\n\n### Pipeline Flow\n```\nQUOTE → ACCEPTED → INVOICE → PAID\n  ↓\nEXPIRED (auto-expire after validity period)\n  ↓\nREVISED (new version with changes)\n```\n\nWhen a quote is accepted:\n1. Convert to invoice (change prefix, remove validity notice)\n2. Assign invoice number\n3. Set payment terms based on client profile\n4. Send invoice\n5. Archive quote as \"converted\"\n\n---\n\n## 10. Edge Cases & Rules\n\n### Partial Payments\n- Record each payment separately with reference\n- Update balance_due after each payment\n- On final payment → mark PAID\n- If partial + overdue → chase remaining balance only\n\n### Disputed Invoices\n- Mark status as DISPUTED\n- Record dispute reason and date\n- Pause reminders during dispute\n- Track resolution (adjusted, credit note, or confirmed correct)\n- Resume billing after resolution\n\n### Void vs Credit Note\n- **Void**: Invoice was sent in error, never should have existed → mark VOIDED, exclude from reports\n- **Credit Note**: Services were delivered but need adjustment → issue CN, include in reports\n\n### Tax Invoice Requirements (by region)\n- **US**: No strict format, but include EIN if registered\n- **UK/EU**: Must include VAT number, VAT amount, \"reverse charge\" note if applicable\n- **Australia**: Must say \"Tax Invoice\", include ABN, GST amount\n- **Canada**: Include GST/HST number, province-specific rules\n\n### Rounding\n- Always round line item amounts to 2 decimal places\n- Calculate tax on subtotal (not per-line) to avoid penny discrepancies\n- Display currency symbol before amount: $1,234.56\n\n### Invoice Numbering\n- NEVER reuse or skip numbers (tax audit requirement)\n- Sequential within each prefix\n- If voided, keep the number, just mark status\n\n---\n\n## 11. Automation Opportunities\n\nSet up cron jobs or heartbeat checks for:\n- [ ] Generate recurring invoices on schedule\n- [ ] Send overdue reminders per the schedule above\n- [ ] Weekly revenue dashboard to owner\n- [ ] Monthly aging report\n- [ ] Auto-flag clients with >45 days overdue\n- [ ] Quarterly review: update exchange rates, review pricing\n\n---\n\n## 12. Export Formats\n\nWhen the user needs to export:\n- **CSV**: For spreadsheet / accounting import\n  ```\n  invoice_number,client,date,due_date,total,status,amount_paid,balance\n  ```\n- **JSON**: For API integration or backup\n- **Markdown table**: For quick review in chat\n- **PDF-ready text**: Formatted text block ready for PDF generation tool\n\n---\n\n## Commands Reference\n\n| Command | Action |\n|---|---|\n| \"Invoice [client] for [amount/description]\" | Create new invoice |\n| \"Quote [client] for [service]\" | Create proforma |\n| \"Show outstanding invoices\" | List unpaid invoices |\n| \"What's overdue?\" | Aging report, overdue only |\n| \"Revenue this month\" | Monthly revenue dashboard |\n| \"Send reminder for [invoice]\" | Generate reminder email |\n| \"Record payment [invoice] [amount]\" | Log payment received |\n| \"Recurring: [client] [amount] [frequency]\" | Set up recurring invoice |\n| \"Credit note for [invoice]\" | Issue credit/adjustment |\n| \"Client report [name]\" | Full client payment history |\n| \"Export invoices [format]\" | CSV/JSON/Markdown export |\n| \"Void [invoice]\" | Void an invoice |\n| \"Update rates\" | Refresh exchange rates |\n","readmeExcerpt":"--- name: afrexai-invoice-engine description: Generate, manage, and track professional invoices with payment terms, recurring billing, overdue automation, and financial reporting. Use when creating invoices, tracking payments, managing clients, or reviewing revenue. --- Invoice Engine — Complete Invoicing & Accounts Receivable A zero-dependency agent skill for end-to-end invoicing — from quote to payment to reporting","codeSnippets":[],"executableExamples":[{"language":"yaml","snippet":"# clients.yaml\nclients:\n  - id: \"CLI-001\"\n    name: \"Acme Corp\"\n    contact: \"Jane Smith\"\n    email: \"jane@acme.com\"\n    address:\n      line1: \"123 Business Ave\"\n      line2: \"Suite 400\"\n      city: \"New York\"\n      state: \"NY\"\n      zip: \"10001\"\n      country: \"US\"\n    tax_id: \"US-EIN-12-3456789\"\n    payment_terms: \"net-30\"       # net-15, net-30, net-45, net-60, due-on-receipt, custom\n    preferred_currency: \"USD\"\n    default_tax_rate: 0           # 0 for B2B cross-border, local rate for domestic\n    notes: \"PO required for invoices > $5,000\"\n    created: \"2026-01-15\"\n    lifetime_revenue: 12500.00\n    invoices_sent: 3\n    invoices_paid: 2\n    avg_days_to_pay: 22"},{"language":"text","snippet":"[PREFIX]-[YEAR].[MONTH].[SEQUENCE]\nExample: INV-2026.02.001"},{"language":"text","snippet":"╔══════════════════════════════════════════════════════════╗\n║  [YOUR COMPANY NAME]                                     ║\n║  [Address Line 1]                                        ║\n║  [City, State ZIP]                                       ║\n║  [Country]                                               ║\n║  Tax ID: [YOUR TAX ID]                                   ║\n╠══════════════════════════════════════════════════════════╣\n║                                                          ║\n║  INVOICE [NUMBER]                  Date: [ISSUE DATE]    ║\n║                                    Due:  [DUE DATE]      ║\n║                                                          ║\n║  Bill To:                          Payment Terms:        ║\n║  [CLIENT NAME]                     [Net-30 / etc.]       ║\n║  [Client Address]                                        ║\n║  [City, State ZIP]                 PO Number:            ║\n║  Tax ID: [CLIENT TAX ID]          [If applicable]        ║\n║                                                          ║\n╠══════════════════════════════════════════════════════════╣\n║  #  │ Description          │ Qty │ Rate    │ Amount     ║\n╠═════╪══════════════════════╪═════╪═════════╪════════════╣\n║  1  │ [Service/Product]    │  1  │ $X,XXX  │ $X,XXX.XX ║\n║  2  │ [Service/Product]    │  3  │ $XXX    │ $X,XXX.XX ║\n║  3  │ [Expense passthrough]│  1  │ $XXX    │ $XXX.XX   ║\n╠═════╧══════════════════════╧═════╧═════════╧════════════╣\n║                              Subtotal:    $XX,XXX.XX     ║\n║                              Discount:    -$X,XXX.XX     ║\n║                              Tax (X%):    $X,XXX.XX      ║\n║                              ─────────────────────────   ║\n║                              TOTAL DUE:   $XX,XXX.XX     ║\n╠══════════════════════════════════════════════════════════╣\n║  Payment Methods:                                        ║\n║  • Bank Transfer: [Bank] | Acct: [XXXX] | Routing: [XX] ║\n║  • PayPal: [email]                                      "},{"language":"text","snippet":"Is client in same country as you?\n├── YES → Apply local tax rate\n│   ├── Client tax-exempt? → Add exemption reference, 0% tax\n│   └── Client NOT exempt → Apply standard rate\n└── NO → Usually 0% (reverse charge / export)\n    ├── Both in EU? → Reverse charge mechanism (0%, note on invoice)\n    ├── US interstate? → Check nexus rules\n    └── International → 0% with export reference"},{"language":"text","snippet":"DRAFT → SENT → VIEWED → PARTIALLY_PAID → PAID → CLOSED\n                  ↓\n              OVERDUE → ESCALATED → WRITTEN_OFF\n                  ↓\n            DISPUTED → RESOLVED → PAID"},{"language":"yaml","snippet":"# invoices.yaml\ninvoices:\n  - number: \"INV-2026.02.001\"\n    client_id: \"CLI-001\"\n    status: \"sent\"\n    issue_date: \"2026-02-13\"\n    due_date: \"2026-03-15\"\n    currency: \"USD\"\n    subtotal: 5000.00\n    discount: 0\n    tax: 0\n    total: 5000.00\n    amount_paid: 0\n    balance_due: 5000.00\n    payment_terms: \"net-30\"\n    line_items:\n      - description: \"AI Integration Consulting — February\"\n        qty: 20\n        rate: 250.00\n        amount: 5000.00\n    payments: []\n    notes: \"\"\n    sent_date: \"2026-02-13\"\n    reminders_sent: 0\n    created: \"2026-02-13T10:30:00Z\""}],"parameters":{},"dependencies":[],"permissions":[],"extractedFiles":[],"languages":["typescript"],"docsSourceLabel":"CLAWHUB","editorialOverview":"Generate, manage, and track professional invoices with payment terms, recurring billing, overdue automation, and financial reporting. Use when creating invoices, tracking payments, managing clients, or reviewing revenue. --- name: afrexai-invoice-engine description: Generate, manage, and track professional invoices with payment terms, recurring billing, overdue automation, and financial reporting. Use when creating invoices, tracking payments, managing clients, or reviewing revenue. --- Invoice Engine — Complete Invoicing & Accounts Receivable A zero-dependency agent skill for end-to-end invoicing — from quote to payment to reporting","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":392,"uniquenessScore":62,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T00:56:17.740Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}