Install
openclaw skills install clawed-invoiceGenerate professional PDF invoices with a clean layout — no Playwright, no browser, no complex dependencies. Built for reliability on constrained hosting environments ( Railway, minimal containers, offline setups). Just jsPDF + plain Node.js. Supports EUR/GBP/USD, multi-item tables, custom brand colours, and payment details footer.
openclaw skills install clawed-invoiceGenerate clean, professional PDF invoices with a consistent layout and customisable brand colours.
┌─────────────────────────────────────────────────────────┐
│ HEADER BAR (dark) │ Invoice No / Date / Customer No │
│ COMPANY NAME (gold) │ Payment Due Date │
├─────────────────────────────────────────────────────────┤
│ BILL TO │
│ Customer Name │
│ Customer Address │
├─────────────────────────────────────────────────────────┤
│ Code │ Description │ Qty │ Net │ VAT │ Gross │
│ ─────┼──────────────┼─────┼─────┼─────┼──────── │
│ SVC │ Service desc │ 1 │£xxx │ xx% │ £xxx │
├─────────────────────────────────────────────────────────┤
│ Subtotal (NET): £x,xxx.xx │
│ VAT 20%: £xxx.xx │
│ ██████████████ Total ██████████████████████ £x,xxx.xx │
├─────────────────────────────────────────────────────────┤
│ PAYMENT DETAILS │
│ Account holder: [Company Name] │
│ Swift/BIC: [XXXXXXXX] │
│ IBAN: [XXXX XXXX XXXX XXXX] │
├─────────────────────────────────────────────────────────┤
│ Notes / payment terms / legal text │
└─────────────────────────────────────────────────────────┘
| Element | Hex | Usage |
|---|---|---|
| Header / boxes | #2F3640 | Dark charcoal — use in config |
| Accent / total | #FFC11E | Gold — use in config |
| Row background | #F8F8F8 | Light grey alternating rows |
| Body text | #000000 | Primary content |
| Labels / muted | #505050 | Secondary text |
1. Prepare your invoice data as JSON:
{
"invoiceNumber": "INV-001",
"invoiceDate": "01/06/2026",
"customerNumber": "CUST-001",
"dueDate": "07/06/2026",
"customerName": "Acme Corp",
"customerAddress": "123 High Street\nLondon, EC1 1AB",
"items": [
{
"code": "SVC",
"description": "Consulting services",
"qty": "8",
"net": "2,400.00",
"vatRate": "20%",
"vatAmt": "480.00",
"gross": "2,880.00"
}
],
"currency": "GBP",
"entity": "default"
}
2. Run the generator:
node /data/workspace/skills/clawed-invoice/scripts/generate.js \
--config /data/workspace/skills/clawed-invoice/references/config.json \
--datafile /path/to/your-invoice.json
3. Output → invoice-INV-001.pdf in /tmp/invoices/ (or your outputDir)
Edit references/config.json to set your company details once — the generator pulls them automatically per invoice:
{
"default": {
"entity": "Your Company Name Ltd",
"swift": "XXXXXXXX",
"iban": "XXXX XXXX XXXX XXXX XXXX",
"companyNumber": "XXXXXXX",
"currency": "GBP",
"vatRate": "20%"
}
}
For multiple entities (e.g. UK + EU subsidiaries), add additional keys and select via entity: "eu" in your invoice data.
Requires jspdf installed at /data/local/node_modules/jspdf