Concurrency-safe numbering as an API

Centralised numbering for invoices, orders, contracts — anything that needs a strictly increasing series. For solopreneurs and small operations that have outgrown a spreadsheet.

What you get

Concurrency-safe by construction

Pessimistic row locks plus idempotency keys mean two retries for the same call return the same number — no duplicates, no gaps, no off-by-one bugs hiding in your code.

Multi-series, multi-format

One account, many independent series — invoices, credit notes, contracts, shipments. Format placeholders cover yearly and monthly resets without custom code.

Full audit trail

Every issued number, every change, every retry is recorded with timestamp, source IP, and the API key that made the call. Useful when an auditor asks how a gap appeared.

Boring, documented HTTP API

OpenAPI spec, predictable error responses, sane rate limiting, no surprises. Integrate in an afternoon and forget about it.