← Back to Fatūra Pro

Invoicing API

Create and retrieve invoices programmatically. Connect your online store, CRM or internal system so every order becomes an invoice automatically — no manual data entry.

Available on the Advanced plan
API access requires Fatūra Pro Advanced (€19/month). Generate your key in the app under Settings → API access.

Base URL

https://faturapro.app/api/v1

Authentication

Every request must include your API key as a Bearer token in the Authorization header. Keys start with fp_live_ and are shown only once when generated, so store yours somewhere safe.

Authorization: Bearer fp_live_your_key_here

Keys are tied to your account: requests only ever return or create data belonging to you. You can hold up to three keys at a time and delete any of them from Settings → API access. If a key leaks, delete it there and generate a new one.

List invoices

GET /api/v1/invoices

Returns your most recent invoices, newest first, up to 100 per request.

curl -H "Authorization: Bearer fp_live_your_key_here" \
  https://faturapro.app/api/v1/invoices

Example response:

{
  "invoices": [
    {
      "id": "INV-012-4821",
      "client": "Atlas Marketing GmbH",
      "email": "client@atlas-marketing.de",
      "date": "2026-08-01",
      "due": "2026-08-15",
      "status": "pending",
      "subtotal": 2400,
      "tax_amt": 504,
      "total": 2904,
      "currency": "EUR",
      "items": [
        { "desc": "Brand identity package", "qty": 1, "price": 2400 }
      ]
    }
  ]
}

Create an invoice

POST /api/v1/invoices

Creates a new invoice in your account with status pending. Totals are calculated server-side from the items you send, so you never need to compute them yourself.

FieldTypeDescription
clientstringRequiredClient or company name
itemsarrayRequiredLine items: desc (string), qty (number), price (number)
emailstringOptionalClient email address
datestringOptionalInvoice date, YYYY-MM-DD. Defaults to today
duestringOptionalDue date, YYYY-MM-DD
taxnumberOptionalTax percentage. Defaults to 21. Send 0 for no tax
discountnumberOptionalDiscount percentage applied before tax
currencystringOptionalThree-letter code such as EUR, USD, GBP. Defaults to EUR
notesstringOptionalNotes shown on the invoice
curl -X POST https://faturapro.app/api/v1/invoices \
  -H "Authorization: Bearer fp_live_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "client": "Atlas Marketing GmbH",
    "email": "client@atlas-marketing.de",
    "items": [
      { "desc": "Order #1001 - Brand identity package", "qty": 1, "price": 2400 }
    ],
    "tax": 21,
    "currency": "EUR",
    "due": "2026-08-15"
  }'

Example response (HTTP 201):

{
  "invoice": {
    "id": "INV-012-4821",
    "total": 2904,
    "currency": "EUR",
    "status": "pending"
  }
}

JavaScript example

Creating an invoice from a Node.js backend or a serverless function:

const res = await fetch("https://faturapro.app/api/v1/invoices", {
  method: "POST",
  headers: {
    "Authorization": "Bearer " + process.env.FATURA_API_KEY,
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    client: order.customerName,
    email: order.customerEmail,
    items: order.lines.map(l => ({
      desc: l.title,
      qty: l.quantity,
      price: l.unitPrice
    })),
    currency: order.currency,
    tax: 21
  })
});

const data = await res.json();
console.log(data.invoice.id);

Keep your API key on the server side only. Never expose it in browser code, mobile apps or public repositories.

Response codes

200Request succeeded (GET)
201Invoice created (POST)
400Missing or invalid fields — check that client and items are present
401Invalid or missing API key
405Method not allowed — only GET and POST are supported
500Something went wrong on our side. Retry, and contact support if it persists

Common use cases

Online stores. Create an invoice automatically for every new order, with the order number in the line item description.

Recurring services and SaaS. Trigger an invoice when a subscription renews or when usage is billed.

Internal tools and CRMs. Turn a closed deal into an invoice without anyone retyping the numbers.

No-code automation. Tools such as Make or Zapier can call this API with a generic HTTP request module, so you can connect it without writing code.

Support

Questions about integrating the API? Email support@faturapro.app and we will help.

Get your API key
API access is part of the Advanced plan, along with quotes, scheduled recurring invoice creation, unlimited receipt scanning and team access.
Start free →