Three calls to a PDF.
Render polished invoices from your own code — Node, browser, Bun, Deno. This page is the teaser; the full schema, every field, and your license key live behind a free account.
1 · Install the SDK
Works on Node 18+, Bun, Deno, and modern browsers. ESM and CJS both ship in the package.
npm install simpleinvoicing2 · One call, one PDF
Set your license key once via createClient, then issue invoices in a single await. Stored profiles and clients (for repeat billing) are introduced after you sign in.
import { createClient } from 'simpleinvoicing';
const si = createClient({ licenseKey: process.env.SI_KEY! });
const pdf = await si.invoices.generate({
supplier: { name: 'Acme Ltd' },
purchaser: { name: 'Globex' },
invoiceDetails: {
invoiceNr: 'INV-2026-001',
issueDate: '2026-06-15',
dueDate: '2026-06-29',
currency: 'EUR',
},
items: [{ item: 'Web design', quantity: 1, unitCost: 1200 }],
});3 · Or just curl
Don't want the SDK? The API is plain JSON over HTTP. Same fields, same response shape — the SDK is just a thin wrapper for the same endpoint.
curl -X POST https://invoice.codurra.com/api/invoices/generate \
-H "Content-Type: application/json" \
-d '{
"invoiceSettings": { "licenseKey": "YOUR_LICENSE_KEY" },
"supplier": { "name": "Acme Ltd" },
"purchaser": { "name": "Globex" },
"invoiceDetails": {
"invoiceNr": "INV-2026-001",
"issueDate": "2026-06-15",
"dueDate": "2026-06-29",
"currency": "EUR"
},
"items": [
{ "item": "Web design", "quantity": 1, "unitCost": 1200 }
]
}'Full docs and examples are available after login.