Built for POS vendors, SaaS, and marketplaces
One API for European fiscalization.
Submit invoices once. We handle signing, validation, and submission to every tax authority — Spain, Italy, France, Portugal, and more.
- Countries
- 4
- Schemas
- 9+
- SDKs
- 9
One request in. Country-specific compliance out.
How it works
Three steps. Same call for every country.
You write one integration. The country logic lives in Zyntem.
- 01
Integrate
Install an SDK or hit the REST API. Works from your backend, mobile POS, or embedded device.
- 02
Configure
Upload your certificates, pick countries, map tax codes. Sandbox is free and unlimited.
- 03
Submit
Send one transaction. We sign, validate, submit, and return the fiscal ID and QR code.
POST /v1/transactions HTTP/1.1
Host: api.zyntem.dev
Authorization: Bearer $ZYNTEM_API_KEY
Content-Type: application/json
{
"country": "ES",
"issuer_tax_id": "B12345678",
"invoice_number": "2026-000421",
"issued_at": "2026-04-23T10:15:00Z",
"currency": "EUR",
"lines": [
{ "description": "Coffee", "quantity": 1, "unit_price": 2.50, "tax_rate": 0.10 },
{ "description": "Sandwich", "quantity": 1, "unit_price": 6.00, "tax_rate": 0.10 }
]
}{
"id": "txn_01HW8Z3P2R5Y…",
"country": "ES",
"scheme": "ticketbai",
"status": "accepted",
"fiscal_id": "TBAI-B12345678-230426-BZ8F-3A9D1C",
"qr_code_url": "https://api.zyntem.dev/qr/TBAI-B12345678-230426-BZ8F-3A9D1C.png",
"submitted_at": "2026-04-23T10:15:01Z"
}Coverage
Fiscal compliance across Europe.
Real schemas. Golden-file conformance tests against official government specifications. Certification in progress.
Loading map…
- SpainCertification in progressTicketBAIVerifactuSIILROE
- ItalyCertification in progressSDIFatturaPA
- FranceCertification in progressNF525
- PortugalCertification in progressSAF-T PTATCUD
For developers
SDKs for every stack. A single Rust engine underneath.
Every SDK shares a single Rust core, so behavior is identical across platforms. For embedded POS devices that operate offline, link the FFI library directly — no network required for signing.
- Python
pip install zyntem - Node.js / TypeScript
npm install @zyntem/sdk - .NET
dotnet add package Zyntem - Java
io.zyntem:zyntem-sdk - Kotlin / Android
io.zyntem:zyntem-android - Swift / iOS
pod 'Zyntem' - PHP
composer require zyntem/sdk - Ruby
gem install zyntem - WASM
@zyntem/wasm
Pricing
Per location. Every country included.
No per-country surcharges. No per-transaction fees. Sandbox is free, unlimited, and production-identical.
Starter
1 – 10 locations
- All countries included
- All schemes (TicketBAI, SDI, NF525, SAF-T PT…)
- Unlimited sandbox
- Community support
Growth
11 – 50 locations
- Everything in Starter
- Volume price per location
- SLA: 99.9%
- Email support
Scale
51 – 250 locations
- Everything in Growth
- SLA: 99.95%
- Priority support
- Dedicated slack channel
Enterprise
250+ locations
- Everything in Scale
- Custom SLAs and regions
- Dedicated infrastructure
- Security review and DPA
Prices in EUR. VAT may apply. Annual billing available on request.
Our mission
Every European country, done once — correctly.
Every country has different fiscalization requirements. POS vendors and SaaS companies spend months per country implementing and re-implementing the same compliance logic. We built Zyntem so they don't have to.
Open infrastructure
A single Rust fiscalization engine powers the API, SDKs, FFI library, and WASM build. Identical behavior, from mobile POS to backend batch jobs.
Compliance-first
Golden-file conformance tests run every commit against real government schemas. If a regulator updates a spec, the fix rolls out once — to everyone.
European by design
Data stays in the EU. Infrastructure is multi-region. Every country we add is implemented by engineers who speak the regulator's language.