|
1 | | ---- |
2 | | -name: agentic-invoice-skill |
3 | | -description: >- |
4 | | - Create tailored invoices, invoice line items, payment requests, credit memos, pro forma invoices, recurring invoices, milestone invoices, change-order invoices, expense pass-through invoices, late-fee notices, and end-to-end billing workflows for agentic development services. Use when Codex needs to choose, draft, validate, or adapt invoice documents for agentic software workflow engagements from deposit through final payment and post-sale support. |
5 | | -version: 1.0.0 |
6 | | -metadata: |
7 | | - openclaw: |
8 | | - skillKey: agentic-invoice-skill |
9 | | - homepage: https://github.com/CompleteTech-LLC/agentic-invoice-skill |
10 | | - requires: |
11 | | - bins: |
12 | | - - python3 |
13 | | ---- |
14 | | - |
15 | | -# Agentic Invoice Skill |
16 | | - |
17 | | -## Purpose |
18 | | - |
19 | | -Create practical invoice documents for agentic development services end to end: upfront deposits, scoped pilots, discovery, implementation, evaluation, change orders, retainers, support, expenses, credits, late fees, refunds, and closeout. |
20 | | - |
21 | | -## System Boundary |
22 | | - |
23 | | -This skill owns billing document drafting and invoice-event selection. Use `agentic-proposal-skill` for pricing rationale or commercial scope before approval, `agentic-contract-skill` for agreement terms, `agentic-delivery-skill` for milestone evidence, `agentic-email-skill` for the message that sends an invoice, and an accounting system or human reviewer for final tax, payment, ledger, and collection decisions. |
24 | | - |
25 | | -## Core Workflow |
26 | | - |
27 | | -1. Identify the invoice event: estimate, deposit, milestone, monthly retainer, time and materials, change order, expense, final invoice, credit, late fee, refund, or renewal. |
28 | | -2. Gather required facts: provider, client, invoice number, issue date, due date, terms, currency, contract or SOW reference, project name, billing period, line items, taxes, discounts, credits, previous payments, payment instructions, and notes. |
29 | | -3. Use `references/invoice-positioning.md` for service language and risk boundaries. |
30 | | -4. Use `references/use-case-decision-table.md` to choose the right invoice type. |
31 | | -5. Use `references/invoice-lifecycle.md` for end-to-end billing flow and gates. |
32 | | -6. Use `references/invoice-catalog.md` for the near-exhaustive invoice template library. |
33 | | -7. Draft clearly and conservatively. Do not invent tax IDs, banking details, tax rates, contract terms, or legal/accounting claims. |
34 | | - |
35 | | -## Invoice Selection Guide |
36 | | - |
37 | | -Choose by billing event: |
38 | | - |
39 | | -- Before signed agreement or purchase order: use `pro-forma-invoice` or `deposit-request-invoice`. |
40 | | -- Fixed-scope pilot deposit: use `pilot-deposit-invoice`. |
41 | | -- Workflow assessment only: use `discovery-assessment-invoice`. |
42 | | -- Contract signing deposit: use `contract-deposit-invoice`. |
43 | | -- Milestone reached: use `milestone-invoice`. |
44 | | -- Prototype delivered: use `prototype-delivery-invoice`. |
45 | | -- Evaluation or test-set work delivered: use `evaluation-work-invoice`. |
46 | | -- Documentation and handoff complete: use `handoff-invoice`. |
47 | | -- Final balance due: use `final-balance-invoice`. |
48 | | -- Hourly work: use `time-and-materials-invoice`. |
49 | | -- Monthly support or managed monitoring: use `monthly-retainer-invoice`. |
50 | | -- Recurring agent operations support: use `recurring-support-invoice`. |
51 | | -- Additional scope after agreement: use `change-order-invoice`. |
52 | | -- Rush work: use `rush-fee-invoice`. |
53 | | -- Added integration or tool connector: use `integration-add-on-invoice`. |
54 | | -- API, model, hosting, storage, or third-party pass-through charges: use `usage-pass-through-invoice`. |
55 | | -- Travel, printing, procurement, or reimbursable costs: use `expense-reimbursement-invoice`. |
56 | | -- Support hours exceeded: use `support-overage-invoice`. |
57 | | -- Late payment fee or finance charge: use `late-fee-invoice`. |
58 | | -- Payment plan installment: use `installment-invoice`. |
59 | | -- Partial payment received: use `partial-payment-receipt-invoice`. |
60 | | -- Client prepayment or credit balance: use `prepayment-credit-invoice`. |
61 | | -- Discount or courtesy reduction: use `discount-adjustment-invoice`. |
62 | | -- Correcting a prior invoice: use `corrected-invoice`. |
63 | | -- Cancelled project with earned work: use `termination-invoice`. |
64 | | -- Refund owed: use `refund-memo`. |
65 | | -- Credit owed against future work: use `credit-memo`. |
66 | | -- Retainer renewal: use `retainer-renewal-invoice`. |
67 | | -- Expansion to a second workflow: use `expansion-workflow-invoice`. |
68 | | -- Training or enablement: use `training-invoice`. |
69 | | -- Advisory-only work: use `advisory-invoice`. |
70 | | -- Acceptance holdback release: use `holdback-release-invoice`. |
71 | | -- Tax-only adjustment: use `tax-only-invoice`. |
72 | | -- Voiding a prior invoice: use `voided-invoice-notice`. |
73 | | -- Confirming full payment: use `paid-in-full-receipt`. |
74 | | - |
75 | | -When several templates fit, choose the invoice closest to the actual commercial trigger. For example, if a prototype was delivered but the contract bills only on milestone acceptance, use `milestone-invoice`, not `prototype-delivery-invoice`. |
76 | | - |
77 | | -## Quality Rules |
78 | | - |
79 | | -- Use exact client-provided amounts and terms. |
80 | | -- Keep line items specific enough for approval but not cluttered. |
81 | | -- Tie invoices to contract, SOW, change order, or accepted milestone references when available. |
82 | | -- Separate professional services, third-party pass-throughs, expenses, taxes, credits, and late fees. |
83 | | -- Mark drafts as drafts if payment details or tax handling are unknown. |
84 | | -- Do not put legal, tax, or accounting advice on invoices unless the user specifically asks for explanatory notes. |
85 | | -- Never fabricate bank accounts, tax IDs, purchase order numbers, tax rates, or compliance status. |
86 | | - |
87 | | -## Resource Guide |
88 | | - |
89 | | -- `references/invoice-positioning.md`: load for agentic development service wording, line-item language, and boundaries. |
90 | | -- `references/use-case-decision-table.md`: load when choosing which invoice to use. |
91 | | -- `references/invoice-lifecycle.md`: load for end-to-end invoicing workflows, approval gates, and follow-up steps. |
92 | | -- `references/invoice-catalog.md`: load for the near-exhaustive invoice template library. |
93 | | -- `references/template-index.json`: machine-readable template metadata used by the renderer. |
94 | | -- `scripts/render_invoice.py`: list invoice templates or render a draft with placeholders. |
95 | | - |
96 | | -## Renderer |
97 | | - |
98 | | -Use the renderer for repeatable invoice drafts or template discovery: |
99 | | - |
100 | | -```bash |
101 | | -python3 scripts/render_invoice.py --list |
102 | | -python3 scripts/render_invoice.py --stage milestone --list |
103 | | -python3 scripts/render_invoice.py --template pilot-deposit-invoice --var client_name=Acme --var invoice_number=INV-1001 --var amount_due=6000 |
104 | | -``` |
105 | | - |
106 | | -If a user needs a polished production invoice, use the rendered draft as a starting point and replace every placeholder with verified facts. |
107 | | - |
108 | | -## Rendering to a Branded PDF |
109 | | - |
110 | | -Artifacts from this skill are delivered as branded CompleteTech LLC **PDF** documents, not raw Markdown. The renderer emits the PDF (and prints the Markdown) in **one command**, using the same reportlab branding engine as the contract skill: |
111 | | - |
112 | | -```bash |
113 | | -pip install -r requirements.txt |
114 | | -python3 scripts/render_invoice.py --template milestone-invoice \ |
115 | | - --out artifact.pdf --png artifact.png \ |
116 | | - --title "Invoice INV-2026-0461" --doc-type "MILESTONE INVOICE" \ |
117 | | - --meta "INVOICE NO.=INV-2026-0461" --meta "DUE=2026-06-23" --no-cover \ |
118 | | - --var client_name="Client Name" --var workflow="support triage" |
119 | | -``` |
120 | | - |
121 | | -- `--no-pdf` emits Markdown only (the original behavior); `--no-cover` drops the cover page. |
122 | | -- Already drafted the Markdown yourself? Render it directly: `python3 scripts/render_pdf.py --markdown artifact.md --out artifact.pdf --logo assets/logo.png --title "..."`. |
123 | | -- The PDF supports a Markdown subset: `#`/`##`/`###` headings, paragraphs, `-` bullets, tables, `>` callouts, `**bold**`, and `[PAGE_BREAK]`. PDF requires `reportlab`; the optional `--png` preview requires `pypdfium2` and `pillow`. See `assets/examples/` for a rendered example. |
| 1 | +--- |
| 2 | +name: agentic-invoice-skill |
| 3 | +description: >- |
| 4 | + Create tailored invoices, invoice line items, payment requests, credit memos, pro forma invoices, recurring invoices, milestone invoices, change-order invoices, expense pass-through invoices, late-fee notices, and end-to-end billing workflows for agentic development services. Use when Codex needs to choose, draft, validate, or adapt invoice documents for agentic software workflow engagements from deposit through final payment and post-sale support. |
| 5 | +version: 1.0.0 |
| 6 | +metadata: |
| 7 | + openclaw: |
| 8 | + skillKey: agentic-invoice-skill |
| 9 | + homepage: https://github.com/CompleteTech-LLC/agentic-invoice-skill |
| 10 | + requires: |
| 11 | + bins: |
| 12 | + - python3 |
| 13 | + install: |
| 14 | + - kind: uv |
| 15 | + package: reportlab>=4.0 |
| 16 | + - kind: uv |
| 17 | + package: pyyaml>=6.0 |
| 18 | +--- |
| 19 | + |
| 20 | +# Agentic Invoice Skill |
| 21 | + |
| 22 | +## Purpose |
| 23 | + |
| 24 | +Create practical invoice documents for agentic development services end to end: upfront deposits, scoped pilots, discovery, implementation, evaluation, change orders, retainers, support, expenses, credits, late fees, refunds, and closeout. |
| 25 | + |
| 26 | +## System Boundary |
| 27 | + |
| 28 | +This skill owns billing document drafting and invoice-event selection. Use `agentic-proposal-skill` for pricing rationale or commercial scope before approval, `agentic-contract-skill` for agreement terms, `agentic-delivery-skill` for milestone evidence, `agentic-email-skill` for the message that sends an invoice, and an accounting system or human reviewer for final tax, payment, ledger, and collection decisions. |
| 29 | + |
| 30 | +## Core Workflow |
| 31 | + |
| 32 | +1. Identify the invoice event: estimate, deposit, milestone, monthly retainer, time and materials, change order, expense, final invoice, credit, late fee, refund, or renewal. |
| 33 | +2. Gather required facts: provider, client, invoice number, issue date, due date, terms, currency, contract or SOW reference, project name, billing period, line items, taxes, discounts, credits, previous payments, payment instructions, and notes. |
| 34 | +3. Use `references/invoice-positioning.md` for service language and risk boundaries. |
| 35 | +4. Use `references/use-case-decision-table.md` to choose the right invoice type. |
| 36 | +5. Use `references/invoice-lifecycle.md` for end-to-end billing flow and gates. |
| 37 | +6. Use `references/invoice-catalog.md` for the near-exhaustive invoice template library. |
| 38 | +7. Draft clearly and conservatively. Do not invent tax IDs, banking details, tax rates, contract terms, or legal/accounting claims. |
| 39 | + |
| 40 | +## Invoice Selection Guide |
| 41 | + |
| 42 | +Choose by billing event: |
| 43 | + |
| 44 | +- Before signed agreement or purchase order: use `pro-forma-invoice` or `deposit-request-invoice`. |
| 45 | +- Fixed-scope pilot deposit: use `pilot-deposit-invoice`. |
| 46 | +- Workflow assessment only: use `discovery-assessment-invoice`. |
| 47 | +- Contract signing deposit: use `contract-deposit-invoice`. |
| 48 | +- Milestone reached: use `milestone-invoice`. |
| 49 | +- Prototype delivered: use `prototype-delivery-invoice`. |
| 50 | +- Evaluation or test-set work delivered: use `evaluation-work-invoice`. |
| 51 | +- Documentation and handoff complete: use `handoff-invoice`. |
| 52 | +- Final balance due: use `final-balance-invoice`. |
| 53 | +- Hourly work: use `time-and-materials-invoice`. |
| 54 | +- Monthly support or managed monitoring: use `monthly-retainer-invoice`. |
| 55 | +- Recurring agent operations support: use `recurring-support-invoice`. |
| 56 | +- Additional scope after agreement: use `change-order-invoice`. |
| 57 | +- Rush work: use `rush-fee-invoice`. |
| 58 | +- Added integration or tool connector: use `integration-add-on-invoice`. |
| 59 | +- API, model, hosting, storage, or third-party pass-through charges: use `usage-pass-through-invoice`. |
| 60 | +- Travel, printing, procurement, or reimbursable costs: use `expense-reimbursement-invoice`. |
| 61 | +- Support hours exceeded: use `support-overage-invoice`. |
| 62 | +- Late payment fee or finance charge: use `late-fee-invoice`. |
| 63 | +- Payment plan installment: use `installment-invoice`. |
| 64 | +- Partial payment received: use `partial-payment-receipt-invoice`. |
| 65 | +- Client prepayment or credit balance: use `prepayment-credit-invoice`. |
| 66 | +- Discount or courtesy reduction: use `discount-adjustment-invoice`. |
| 67 | +- Correcting a prior invoice: use `corrected-invoice`. |
| 68 | +- Cancelled project with earned work: use `termination-invoice`. |
| 69 | +- Refund owed: use `refund-memo`. |
| 70 | +- Credit owed against future work: use `credit-memo`. |
| 71 | +- Retainer renewal: use `retainer-renewal-invoice`. |
| 72 | +- Expansion to a second workflow: use `expansion-workflow-invoice`. |
| 73 | +- Training or enablement: use `training-invoice`. |
| 74 | +- Advisory-only work: use `advisory-invoice`. |
| 75 | +- Acceptance holdback release: use `holdback-release-invoice`. |
| 76 | +- Tax-only adjustment: use `tax-only-invoice`. |
| 77 | +- Voiding a prior invoice: use `voided-invoice-notice`. |
| 78 | +- Confirming full payment: use `paid-in-full-receipt`. |
| 79 | + |
| 80 | +When several templates fit, choose the invoice closest to the actual commercial trigger. For example, if a prototype was delivered but the contract bills only on milestone acceptance, use `milestone-invoice`, not `prototype-delivery-invoice`. |
| 81 | + |
| 82 | +## Quality Rules |
| 83 | + |
| 84 | +- Use exact client-provided amounts and terms. |
| 85 | +- Keep line items specific enough for approval but not cluttered. |
| 86 | +- Tie invoices to contract, SOW, change order, or accepted milestone references when available. |
| 87 | +- Separate professional services, third-party pass-throughs, expenses, taxes, credits, and late fees. |
| 88 | +- Mark drafts as drafts if payment details or tax handling are unknown. |
| 89 | +- Do not put legal, tax, or accounting advice on invoices unless the user specifically asks for explanatory notes. |
| 90 | +- Never fabricate bank accounts, tax IDs, purchase order numbers, tax rates, or compliance status. |
| 91 | + |
| 92 | +## Resource Guide |
| 93 | + |
| 94 | +- `references/invoice-positioning.md`: load for agentic development service wording, line-item language, and boundaries. |
| 95 | +- `references/use-case-decision-table.md`: load when choosing which invoice to use. |
| 96 | +- `references/invoice-lifecycle.md`: load for end-to-end invoicing workflows, approval gates, and follow-up steps. |
| 97 | +- `references/invoice-catalog.md`: load for the near-exhaustive invoice template library. |
| 98 | +- `references/template-index.json`: machine-readable template metadata used by the renderer. |
| 99 | +- `scripts/render_invoice.py`: list invoice templates or render a draft with placeholders. |
| 100 | + |
| 101 | +## Renderer |
| 102 | + |
| 103 | +Use the renderer for repeatable invoice drafts or template discovery: |
| 104 | + |
| 105 | +```bash |
| 106 | +python3 scripts/render_invoice.py --list |
| 107 | +python3 scripts/render_invoice.py --stage milestone --list |
| 108 | +python3 scripts/render_invoice.py --template pilot-deposit-invoice --var client_name=Acme --var invoice_number=INV-1001 --var amount_due=6000 |
| 109 | +``` |
| 110 | + |
| 111 | +If a user needs a polished production invoice, use the rendered draft as a starting point and replace every placeholder with verified facts. |
| 112 | + |
| 113 | +## Rendering to a Branded PDF |
| 114 | + |
| 115 | +Artifacts from this skill are delivered as branded CompleteTech LLC **PDF** documents, not raw Markdown. The renderer emits the PDF (and prints the Markdown) in **one command**, using the same reportlab branding engine as the contract skill: |
| 116 | + |
| 117 | +```bash |
| 118 | +pip install -r requirements.txt |
| 119 | +python3 scripts/render_invoice.py --template milestone-invoice \ |
| 120 | + --out artifact.pdf --png artifact.png \ |
| 121 | + --title "Invoice INV-2026-0461" --doc-type "MILESTONE INVOICE" \ |
| 122 | + --meta "INVOICE NO.=INV-2026-0461" --meta "DUE=2026-06-23" --no-cover \ |
| 123 | + --var client_name="Client Name" --var workflow="support triage" |
| 124 | +``` |
| 125 | + |
| 126 | +- `--no-pdf` emits Markdown only (the original behavior); `--no-cover` drops the cover page. |
| 127 | +- Already drafted the Markdown yourself? Render it directly: `python3 scripts/render_pdf.py --markdown artifact.md --out artifact.pdf --logo assets/logo.png --title "..."`. |
| 128 | +- The PDF supports a Markdown subset: `#`/`##`/`###` headings, paragraphs, `-` bullets, tables, `>` callouts, `**bold**`, and `[PAGE_BREAK]`. PDF requires `reportlab`; the optional `--png` preview requires `pypdfium2` and `pillow`. See `assets/examples/` for a rendered example. |
0 commit comments