Skip to content

The sandbox

Try everything with a test key (fkn_test_…, created in the portal under API keys → Test). It uses the same endpoints and the same validation as live keys, but it only ever reaches the sandbox.

  • Separate data. Test invoices, documents, deliveries and idempotency keys are stored apart from live data. A test key never sees live invoices and a live key never sees test invoices (404). Sellers are shared and readable.
  • Marked as test. Every test invoice carries the note "TESTRECHNUNG – keine gültige Rechnung / TEST INVOICE – not a valid invoice" and is otherwise schema-valid XRechnung, ZUGFeRD or RO e-Factura.
  • Free. Nothing is billed or counted; no plan limits, no seller verification.
  • Deleted after 30 days. Test data is never archived.
  • Safe deliveries. Peppol is always simulated ("simulated": true): receivers containing reject are rejected, offline stay pending, unknown are not found, everything else is delivered. E-mail goes only to the verified addresses of your own portal users, with [TEST] in the subject. ANAF is never contacted (403 sandbox.anaf-unavailable).
  • Webhooks of sandbox events carry "livemode": "false".

Limits

60 requests per minute and 2 at a time (separate from your live limits), at most 500 stored test invoices or 100 MB, 200 test invoices and 200 deliveries per 24 hours, 20 e-mails per 24 hours (409 sandbox.limit, 503 sandbox.busy).

What a test key cannot do

API keys, webhooks, seller changes and usage need a live key or the portal: a test key gets 403 sandbox.live-only. Test keys have scope invoices only.

A note added to every test invoice counts towards national note limits (CIUS-RO); a draft already at the limit is refused only in the sandbox.