Skip to content

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

An illustration of how production issuing works. Your software sends a document to Tallio, which checks it and routes it to the merchant’s own provider. The provider, the legal issuer, signs it and sends it to AADE myDATA, which assigns its registration number (MARK). The number, the QR code and the PDF come back through the provider, and Tallio tells your software the document is issued. The sheet is an example.How production issuing worksPOST /api/v1/documents201 CreatedAuthorization: Bearer sk_…idempotency-key: order-1042{ "merchant": "mer_02y9O8rh7F50tGi0QcWRrx", "document": { "type": "1.1", "issue_date": "2026-10-10", "customer": { "name": "Kafeneio Lemonia IKE", … }, "lines": [ {…}, {…} ], "totals": { "net": 2500, "vat": 435, "gross": 2935 } }}Talliovalidatesand routesMerchant’s providerthe legal issuer:signs and transmitsone per documentAADE myDATAassigns the MARKMARKQR code, PDFvia the providerΤιμολόγιο πώλησης1.1 · 2026-10-10ExampleKafeneio Lemonia IKEΑΦΜ 666666662Olive oil, bulk15,00Delivery10,00ΦΠΑ4,35Σύνολο29,35 €MARK900000000000001PDF on requestwebhookdocument.issuedsignedtallio-signature: t=…,v1=…{ "type": "document.issued", "data": { "object": { "id": "doc_02y9O8rhJKVUXRvojdffcz", "status": "issued", "mark": "900000000000001", "qr_url": "https://sandbox.tallio.invalid/qr/90…" } }}
An illustration of how production issuing works. Your software sends a document to Tallio, which checks it and routes it to the merchant’s own provider. The provider, the legal issuer, signs it and sends it to AADE myDATA, which assigns its registration number (MARK). The number, the QR code and the PDF come back through the provider, and Tallio tells your software the document is issued. The sheet is an example.POST/api/v1/documentsTalliovalidates, routesMerchant’s providersigns, transmitsAADE myDATAassigns the MARKΤιμολόγιο1.1 · 2026-10-10Kafeneio Lemonia IKEΣύνολο29,35 €MARK900000000000001PDF on requestExamplewebhook: document.issuedHow production issuing works

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

  • Tallio sandbox

    Test environment (no AADE registration)

    Live
  • Wrapp

    Licensed provider

    In development
  • IMPACT

    Licensed provider

    Planned
  • Epsilon Digital

    Licensed provider

    Planned
  • SoftOne

    Licensed provider

    Planned
  • Prosvasis

    Licensed provider

    Planned
  • myDATA (AADE)

    Direct to myDATA

    Planned

Platforms

Names are trademarks of their owners; listing implies no partnership.

See every provider and what its status means

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

  1. Send the document

    Your software sends it to Tallio once, with a key that makes retries safe. Tallio checks it straight away.

  2. Tallio routes it

    It goes to exactly one provider, the merchant’s own, which signs it and registers it with the tax authority.

  3. 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/documents
POST /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.

curl
curl "$TALLIO_API_URL/api/v1/documents" \
  -H "Authorization: Bearer $TALLIO_API_KEY" \
  -H "idempotency-key: order-1042" \
  -H "Content-Type: application/json" \
  -d @document.json

More 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.

Who does what for each document
StepWho does it
Check the document before issuingTallio
Route it to the merchant’s providerTallio
Sign it and transmit it to the tax authorityYour provider
Keep the legal archiveYour provider; Tallio keeps the document’s status
Return the registration, QR code and PDFYour 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.