API documentation

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 simpleinvoicing

2 · 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.