Docs

3 API3.4

3.4

Lire une facture, ses événements, ses documents

Lire une facture, ses événements et ses documents.

  • Dans le bac à sable

En termes simples

Ces appels montrent où en est une facture, chaque événement de son historique et les fichiers stockés pour elle.

Quatre appels de lecture permettent de suivre une facture après le 202. Tous nécessitent une clé dotée de la portée read. Pour un identifiant qui n’existe pas ou qui appartient à un autre client, la réponse est 404.

La facture

GET /invoices/{id} renvoie l’état actuel de la facture.

ChampSignification
id, invoice_ref, invoice_numberNotre identifiant, l’identifiant du document dans l’ERP et le numéro de facture.
route, environment, clientLe canal, l’environnement et l’identifiant du client (local quand aucun n’a été indiqué).
statequeued, submitted, ready, cancelled, etc. La page Statuts présente les deux niveaux.
legal_idLa référence propre au canal, une fois que le réseau a la facture : le numéro KSeF, l’index d’envoi ANAF, l’identifiant de document du point d’accès ou l’identifiant de facture de la plateforme française.
document_sha256Le SHA-256 de ce qui a été stocké.
attemptsLes soumissions précédentes du même invoice_ref, par exemple après un rejet et une correction.
deadline_atUne échéance indicative, pour la Roumanie et la Pologne seulement, et seulement quand la facture porte une date d’émission. Elle n’est jamais antérieure à l’échéance réelle, et ne constitue pas un conseil juridique.
created_at, updated_atHorodatages RFC 3339 en UTC.
curl "https://api-sandbox-eu.eurinvoice.com/invoices/inv_936a93e38de84e7b0a1d7681" \
  -H "Authorization: Bearer <your-api-key>"
Réponse200 OK
{
  "invoice_ref": "CAPTURE-JSON-1790961440",
  "environment": "sandbox",
  "document_sha256": "45f857890231e9bc6e73c1ec1e53bc01e7b030f84068b324bdd9ef42b88322bc",
  "route": "DE-XRECHNUNG",
  "updated_at": "2026-10-06T19:49:02.676Z",
  "documents": [
    {
      "sha256": "45f857890231e9bc6e73c1ec1e53bc01e7b030f84068b324bdd9ef42b88322bc",
      "kind": "canonical",
      "href": "/invoices/inv_936a93e38de84e7b0a1d7681/documents/canonical"
    },
    {
      "sha256": "ad122fe72dc6f04b2de6b6bbc01fcb7e46e33116b12e3bbb02a569cde3f10106",
      "kind": "manifest",
      "href": "/invoices/inv_936a93e38de84e7b0a1d7681/documents/manifest"
    },
    {
      "sha256": "941fd5005aa03586a7bf23f3039c6d15e38220879d46690f9199a494e35fdc11",
      "kind": "validation-report",
      "href": "/invoices/inv_936a93e38de84e7b0a1d7681/documents/validation-report"
    },
    {
      "sha256": "251a52fec3bdd44555a7396a1567d62c5ada3e3b7d002bb757d6b50e347c2e90",
      "kind": "xrechnung-ubl",
      "href": "/invoices/inv_936a93e38de84e7b0a1d7681/documents/xrechnung-ubl"
    }
  ],
  "client": "acme-srl",
  "created_at": "2026-10-06T19:49:01.621Z",
  "id": "inv_936a93e38de84e7b0a1d7681",
  "state": "ready",
  "invoice_number": "DOC-mux3dlqm"
}
Enregistré le 7 oct. 2026.

Ses événements

GET /invoices/{id}/events rejoue chaque événement de statut de la facture, dans l’ordre de sequence. Utilisez-le pour vous remettre à jour après une interruption. Les événements n’expirent pas tant que le contrat est en cours, et rien ne doit être acquitté.

curl "https://api-sandbox-eu.eurinvoice.com/invoices/inv_936a93e38de84e7b0a1d7681/events" \
  -H "Authorization: Bearer <your-api-key>"
Réponse200 OK
{
  "data": [
    {
      "occurred_at": "2026-10-06T19:49:01.621Z",
      "sequence": 1,
      "environment": "sandbox",
      "invoice_ref": "CAPTURE-JSON-1790961440",
      "document_sha256": "45f857890231e9bc6e73c1ec1e53bc01e7b030f84068b324bdd9ef42b88322bc",
      "event_id": "evt_e1b58da963c46e4a63409006",
      "country_route": "DE-XRECHNUNG",
      "invoice_number": "DOC-mux3dlqm",
      "status": "received"
    },
    {
      "occurred_at": "2026-10-06T19:49:02.661Z",
      "sequence": 2,
      "environment": "sandbox",
      "invoice_ref": "CAPTURE-JSON-1790961440",
      "document_sha256": "45f857890231e9bc6e73c1ec1e53bc01e7b030f84068b324bdd9ef42b88322bc",
      "event_id": "evt_0dcb4d0b797e93185b22c27d",
      "country_route": "DE-XRECHNUNG",
      "invoice_number": "DOC-mux3dlqm",
      "status": "validated"
    }
  ]
}
Enregistré le 7 oct. 2026.

Toutes les factures

GET /invoices liste et recherche les factures d’un client, les plus récentes d’abord, page par page. Il filtre par q (une partie de invoice_ref ou du numéro), route, state et le jour de réception (received_from, received_to). Une ligne contient ce que contient GET /invoices/{id}, sans les documents et sans le contenu de la facture : ni acheteur, ni montants, ni date d’émission. GET /invoices/series compte les factures reçues et rejetées pour chaque jour et chaque canal, pour un graphique. Voir la référence.

Ses documents

GET /invoices/{id}/documents/{kind} renvoie ce que le service a stocké. Le type est l’un des suivants :

TypeStocké quand
canonicalVous avez soumis du JSON. Le fichier est la facture telle que vous l’avez envoyée.
erp-exportVous avez soumis un export de l’ERP. Le fichier est l’export tel que l’ERP l’a envoyé.
ubl, cii, fa3, pdfLe fichier tel qu’envoyé, ou le document que le service a construit : xrechnung-ubl pour l’Allemagne, ubl ou fa3 pour les autres canaux.
validation-reportCe que chaque contrôle a trouvé.
manifestLe SHA-256 des octets qui partent vers le canal, et les contrôles exécutés dessus.

Les types JSON sont servis en application/json.

ETag est le SHA-256 du fichier. Les documents ne sont lisibles qu’avec la clé. Il n’y a pas de liens publics. Un essai à blanc ne stocke rien.

curl "https://api-sandbox-eu.eurinvoice.com/invoices/inv_1721a979f65d8ff80ef5f64b/documents/ubl" \
  -H "Authorization: Bearer <your-api-key>"
Réponse200 OK
<?xml version="1.0" encoding="UTF-8"?>
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2" xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"><cbc:CustomizationID>urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0</cbc:CustomizationID><cbc:ProfileID>urn:fdc:peppol.eu:2017:poacc:billing:01:1.0</cbc:ProfileID><cbc:ID>RE-2026-0142</cbc:ID><cbc:IssueDate>2026-09-26</cbc:IssueDate><cbc:DueDate>2026-10-10</cbc:DueDate><cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode><cbc:Note>Vielen Dank für Ihren Auftrag.</cbc:Note><cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode><cbc:BuyerReference>PO-88731</cbc:BuyerReference><cac:InvoicePeriod><cbc:StartDate>2026-09-01</cbc:StartDate><cbc:EndDate>2026-09-30</cbc:EndDate></cac:InvoicePeriod><cac:AccountingSupplierParty><cac:Party><cbc:EndpointID schemeID="9930">DE123456789</cbc:EndpointID><cac:PostalAddress><cbc:StreetName>Hafenstraße 12</cbc:StreetName><cbc:CityName>Hamburg</cbc:CityName><cbc:PostalZone>20457</cbc:PostalZone><cac:Country><cbc:IdentificationCode>DE</cbc:IdentificationCode></cac:Country></cac:PostalAddress><cac:PartyTaxScheme><cbc:CompanyID>DE123456789</cbc:CompanyID><cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme></cac:PartyTaxScheme><cac:PartyLegalEntity><cbc:RegistrationName>Nordlicht Software GmbH</cbc:RegistrationName><cbc:CompanyID>HRB 123456</cbc:CompanyID><cbc:CompanyLegalForm>GmbH</cbc:CompanyLegalForm></cac:PartyLegalEntity><cac:Contact><cbc:Name>Jana Petersen</cbc:Name><cbc:Telephone>+49 40 1234567</cbc:Telephone><cbc:ElectronicMail>[email protected]</cbc:ElectronicMail></cac:Contact></cac:Party></cac:AccountingSupplierParty><cac:AccountingCustomerParty><cac:Party><cbc:EndpointID schemeID="9930">DE987654321</cbc:EndpointID><cac:PostalAddress><cbc:StreetName>Marienplatz 4</cbc:StreetName><cbc:CityName>München</cbc:CityName><cbc:PostalZone>80331</cbc:PostalZone><cac:Country><cbc:IdentificationCode>DE</cbc:IdentificationCode></cac:Country></cac:PostalAddress><cac:PartyTaxScheme><cbc:CompanyID>DE987654321</cbc:CompanyID><cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme></cac:PartyTaxScheme><cac:PartyLegalEntity><cbc:RegistrationName>Brauhaus Weber AG</cbc:RegistrationName></cac:PartyLegalEntity></cac:Party></cac:AccountingCustomerParty><cac:PaymentMeans><cbc:PaymentMeansCode>58</cbc:PaymentMeansCode><cbc:PaymentID>RE-2026-0142</cbc:PaymentID><cac:PayeeFinancialAccount><cbc:ID>DE89370400440532013000</cbc:ID><cbc:Name>Nordlicht Software GmbH</cbc:Name><cac:FinancialInstitutionBranch><cbc:ID>COBADEFFXXX</cbc:ID></cac:FinancialInstitutionBranch></cac:PayeeFinancialAccount></cac:PaymentMeans><cac:PaymentTerms><cbc:Note>Zahlbar innerhalb von 14 Tagen ohne Abzug.</cbc:Note></cac:PaymentTerms><cac:TaxTotal><cbc:TaxAmount currencyID="EUR">1255.71</cbc:TaxAmount><cac:TaxSubtotal><cbc:TaxableAmount currencyID="EUR">6609.00</cbc:TaxableAmount><cbc:TaxAmount currencyID="EUR">1255.71</cbc:TaxAmount><cac:TaxCategory><cbc:ID>S</cbc:ID><cbc:Percent>19.00</cbc:Percent><cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme></cac:TaxCategory></cac:TaxSubtotal></cac:TaxTotal><cac:LegalMonetaryTotal><cbc:LineExtensionAmount currencyID="EUR">6609.00</cbc:LineExtensionAmount><cbc:TaxExclusiveAmount currencyID="EUR">6609.00</cbc:TaxExclusiveAmount><cbc:TaxInclusiveAmount currencyID="EUR">7864.71</cbc:TaxInclusiveAmount><cbc:PayableAmount currencyID="EUR">7864.71</cbc:PayableAmount></cac:LegalMonetaryTotal><cac:InvoiceLine><cbc:ID>1</cbc:ID><cbc:InvoicedQuantity unitCode="LS">1</cbc:InvoicedQuantity><cbc:LineExtensionAmount currencyID="EUR">5900.00</cbc:LineExtensionAmount><cac:Item><cbc:Description>Mapping Business Central → EN 16931, Validierung XRechnung, Test im Peppol-Testnetz</cbc:Description><cbc:Name>E-Rechnung Einführung (Festpreis)</cbc:Name><cac:ClassifiedTaxCategory><cbc:ID>S</cbc:ID><cbc:Percent>19.00</cbc:Percent><cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme></cac:ClassifiedTaxCategory></cac:Item><cac:Price><cbc:PriceAmount currencyID="EUR">5900.00</cbc:PriceAmount></cac:Price></cac:InvoiceLine><cac:InvoiceLine><cbc:ID>2</cbc:ID><cbc:InvoicedQuantity unitCode="MON">1</cbc:InvoicedQuantity><cbc:LineExtensionAmount currencyID="EUR">349.00</cbc:LineExtensionAmount><cac:Item><cbc:Description>Care Plus, September 2026</cbc:Description><cbc:Name>Betreuung abgelehnter Rechnungen</cbc:Name><cac:ClassifiedTaxCategory><cbc:ID>S</cbc:ID><cbc:Percent>19.00</cbc:Percent><cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme></cac:ClassifiedTaxCategory></cac:Item><cac:Price><cbc:PriceAmount currencyID="EUR">349.00</cbc:PriceAmount></cac:Price></cac:InvoiceLine><cac:InvoiceLine><cbc:ID>3</cbc:ID><cbc:InvoicedQuantity unitCode="HUR">3</cbc:InvoicedQuantity><cbc:LineExtensionAmount currencyID="EUR">360.00</cbc:LineExtensionAmount><cac:Item><cbc:Description>Remote, Buchhaltungsteam</cbc:Description><cbc:Name>Zusätzliche Schulung</cbc:Name><cac:ClassifiedTaxCategory><cbc:ID>S</cbc:ID><cbc:Percent>19.00</cbc:Percent><cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme></cac:ClassifiedTaxCategory></cac:Item><cac:Price><cbc:PriceAmount currencyID="EUR">120.00</cbc:PriceAmount></cac:Price></cac:InvoiceLine></Invoice>

<!-- shortened for these docs -->
Le fichier UBL d’une soumission Peppol, raccourci, enregistré le 7 oct. 2026.

Réponses

StatutSignification
200La facture, ses événements ou le fichier.
401Aucune clé, ou une clé inconnue.
403La clé n’a pas la portée read.
404Cette facture n’existe pas pour ce client, ou elle n’a pas de document de ce type.
429Trop de requêtes pour la clé. Attendez Retry-After secondes.
curl "https://api-sandbox-eu.eurinvoice.com/invoices/inv_unknown" \
  -H "Authorization: Bearer <your-api-key>"
Réponse404 Not Found
{
  "type": "https://eurinvoice.com/problems/not-found",
  "title": "No such resource for this client",
  "status": 404
}
Enregistré le 7 oct. 2026.

Sur cette page