abFaktura API

Connect your e-shop, CRM or accounting software to abFaktura. Through the API you issue invoices, record payments, download PDFs and get document changes pushed to you by webhooks.

What you need

First request

All addresses start with https://api.abfaktura.cz/api/v1. Send the key in the Authorization header:

curl https://api.abfaktura.cz/api/v1/invoices?pageSize=5 \
  -H "Authorization: Bearer abf_YOUR_KEY"

Issuing an invoice needs only the customer and the lines; abFaktura fills in the number, the dates, the supplier (your company), the bank account and the totals.

curl https://api.abfaktura.cz/api/v1/invoices \
  -H "Authorization: Bearer abf_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: order-2026-1042" \
  -d '{
    "customer": { "name": "Customer s.r.o.", "companyNumber": "12345678", "taxNumber": "CZ12345678",
                  "street": "Hlavní 1", "city": "Praha", "postalCode": "11000", "email": "billing@customer.cz" },
    "lines": [
      { "name": "Website", "quantity": 1, "unitPrice": 25000, "vatRate": 21 },
      { "name": "Hosting for a year", "quantity": 12, "unitPrice": 300, "vatRate": 21 }
    ]
  }'

The answer 201 Created holds the whole document with its number, totals and VAT summary. You can then e-mail it or download the PDF.

Basics

FormatJSON in UTF-8. Field names are camelCase, enum values are strings (invoice, creditNote, bankTransfer).
DatesDates as 2026-10-26, times as ISO 8601 in UTC (2026-10-26T08:30:00Z). Days count in Czech time.
AmountsDecimal numbers in the currency of the document, rounded to hundredths. The server always computes the totals.
Errorsapplication/problem+json with a machine-readable code, see Errors.
LimitsPlus 120 requests a minute and 20,000 a month, Neomezeně 240 and 200,000, see Limits and retries.
VersionThe address holds the version v1. New fields may appear; breaking changes come only in a new version.

The documents follow Czech tax rules (VAT, DUZP – the date of taxable supply, credit notes). Field names are in English; Czech terms are given where they help.

Next steps