One API for every e‑invoicing provider
E-invoicing API for Greece and France
Send one document. Tallio issues it through the licensed provider your merchant already uses and sends the result back to your software. Every country we support comes with a sandbox, so you can test before you go live.
Sandbox liveProduction in development6 providers planned
Production flow, example values. In the sandbox, test documents never reach a provider or AADE.
Your merchants choose the provider. Tallio connects to it.
Providers
- Live
Tallio sandbox
Test environment (no AADE registration)
- In development
Wrapp
Licensed provider
- Planned
IMPACT
Licensed provider
- Planned
Epsilon Digital
Licensed provider
- Planned
SoftOne
Licensed provider
- Planned
Prosvasis
Licensed provider
- Planned
myDATA (AADE)
Direct to myDATA
Platforms
- In development
- Planned
WooCommerce app
Names are trademarks of their owners; listing implies no partnership.
E-invoicing is mandatory
Required by law
Greece and France require e-invoicing, starting with the largest businesses. Every provider has its own API; your software needs only one.
Greece
AADE · 17 Feb 2026
E-invoicing is mandatory for businesses with 2023 gross revenue over €1,000,000, from 2 March 2026.
Read on aade.gr (external site)France
DGFiP · June 2026
Every business must be able to receive e-invoices from 1 September 2026; large and intermediate-size companies issue them from then, smaller ones from 1 September 2027.
Read on impots.gouv.fr (external site)
One call in, the registration back
How it works
Your software never talks to the provider: Tallio routes each document to the one your merchant already uses. See the full flow
Send the document
Your software sends it to Tallio once, with a key that makes retries safe. Tallio checks it straight away.
Tallio routes it
It goes to exactly one provider, the merchant’s own, which signs it and registers it with the tax authority.
Get the result
The registration number and QR code come back to your software, and the PDF is there when you ask for it.
Built to be checked before it issues
For developers
See the result before anything is issued
Preview
Preview a document to see how it will be classified and what to check, without sending it anywhere.
Defaults you can override per merchant
Warnings before issuing, never silent guesses
POST /api/v1/documents/preview (excerpt){
"type": "1.1",
"totals": {
"net": 2500,
"vat": 435,
"gross": 2935
},
"classification": {
"source": "default",
"warnings": [
"No income classification on line 2; …"
]
}
}One error shape for every provider
Errors
Errors read the same whichever provider is behind them. When a provider was involved, its own answer comes with the error.
422 provider_rejected{
"code": "provider_rejected",
"message": "The provider rejected the document.",
"provider_code": "228",
"provider_message": "Invalid counterpart VAT number.",
"retryable": false
}Safe to retry
Retries
Send the same request twice and you get the first document back, never a second registration.
POST /api/v1/documentsPOST /api/v1/documents
idempotency-key: order-1042
HTTP/1.1 201 Created
idempotent-replayed: true
{
"data": {
"id": "doc_02y9O8rhJKVUXRvojdffcz",
"status": "issued",
"mark": "900000000000001"
}
}Call it from your code or from an agent
Integrate
The REST API works today. A TypeScript SDK and an MCP server for AI agents are in development, generated from the same API description.
curlcurl "$TALLIO_API_URL/api/v1/documents" \
-H "Authorization: Bearer $TALLIO_API_KEY" \
-H "idempotency-key: order-1042" \
-H "Content-Type: application/json" \
-d @document.jsonMore SDKs, such as Python and PHP, are coming.
Tallio connects. Your provider issues.
Responsibility
The licensed provider stays the legal issuer and keeps the legal record. Tallio prepares and routes.
| Step | Who does it |
|---|---|
| Check the document before issuing | Tallio |
| Route it to the merchant’s provider | Tallio |
| Sign it and transmit it to the tax authority | Your provider |
| Keep the legal archive | Your provider; Tallio keeps the document’s status |
| Return the registration, QR code and PDF | Your provider to Tallio, Tallio to your software |
Common questions
Questions
No. Tallio is the connector, never the provider of record. On the provider route, the licensed provider the business already uses is the legal issuer: it signs each document, transmits it to AADE’s myDATA and keeps the legal archive. On the direct myDATA route (planned), the business transmits under its own AADE credentials and AADE keeps the record. Either way, Tallio returns the MARK.
Yes. Early access comes with a sandbox key. The sandbox stands in for the provider and AADE, so you can send test documents and get the same responses and webhooks, and nothing reaches AADE.
No. Each document is routed to exactly one provider and gets one MARK. A document that is already issued is never sent again: a mistake is corrected with a credit note that references the original MARK.
Tallio keeps document metadata, such as the status and the MARK, and holds no fiscal archive: the provider keeps the legal record, and Tallio fetches the PDF from the provider when you ask for it. For support, the full request and response are kept encrypted, with personal data redacted, and deleted after 90 days.
Then a direct integration with that provider may be all you need. Tallio is for software whose merchants use different providers, or may change provider later.
Issue your first test document
Early access comes with a sandbox key, so you can send test documents before any provider is connected.