Free Invoicing bySalary.io
API v1

Invoice generation API

One endpoint. Your saved company profile is the issuer, numbering is gap-less and server-side, responses are the canonical invoice JSON. Free — 100 invoices per day per account.

1 · Your key

The key is issued automatically the moment your account is created (first export). Find it in your dashboard — we store only its hash.

2 · Create an invoice

request
curl -X POST https://ohgpllewrnbpryjvknit.functions.supabase.co/generate-invoice \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "recipient": {
      "name": "Ana Souza",
      "country": "BR",
      "email": "ana@studio.br"
    },
    "items": [
      { "description": "Product design — June", "qty": 1, "unit_price": 396000, "tax_rate": 0 }
    ],
    "currency": "USD",
    "language": "pt",
    "direction": "client",
    "due_date": "2026-07-19"
  }'
201 response
{
  "invoice": {
    "version": "v1",
    "number": "INV-0352",
    "issueDate": "2026-07-05",
    "currency": "USD",
    "language": "pt",
    "issuer": { "...": "from your saved company profile" },
    "recipient": { "name": "Ana Souza", "country": "BR" },
    "items": [ { "description": "Product design — June", "qty": 1, "unitPrice": 396000 } ]
  },
  "totals": { "subtotal": 396000, "tax_total": 0, "total": 396000, "currency": "USD" }
}

Fields

recipientobject — name (required), country (ISO-2 of the 13 supported, or omit), email, address_lines[], tax_ids[]
itemsarray — description, qty, unit_price (minor units, e.g. cents), tax_rate (%)
currencyISO code, default USD
languageen · es · fr · pt · hi · zh — invoice document language
directionclient (default) or self_billing
issue_date / due_dateYYYY-MM-DD; issue_date defaults to today
country_formatjurisdiction for field rules; defaults to your company country
notes / payment_detailsstrings printed on the document

Limits and roadmap

  • · 100 invoices / 24h per account (free — the only tier).
  • · Responses are JSON; render PDF/DOCX in the web app today. PDF-over-API — v1.1.
  • · Errors: 401 invalid key · 422 validation · 429 rate limit.