Docs

Essayer

Voir un essai à blanc sur une facture d’exemple.

  • Dans le bac à sable

En termes simples

La page Essayer montre un essai à blanc sur une facture d’exemple sans aucune configuration : choisissez un exemple et lisez la réponse, qui nomme le champ et indique qui le corrige. Toutes les factures sont fictives.

Un essai à blanc montre ce qui distingue eurinvoice : quand une facture est erronée, la réponse nomme le champ, donne un code du catalogue et indique qui le corrige. Choisissez une facture et lisez la réponse.

Données d’exemple uniquement. Ne saisissez ni vraie facture, ni vraie société, ni clé d’un système réel. Rien de ce que vous saisissez n’est stocké sur un serveur, et rien ne quitte cette page en mode exemple.

Réponses enregistrées, 7 oct. 2026. Chacune a été enregistrée sur le service et est rejouée ici. Le XML a été produit par le code du service lui-même. Aucun serveur n’est appelé.

Un éditeur de logiciels allemand facture une brasserie. Le validateur KoSIT contrôle le fichier.

Fixé en mode exemple.

Aller à la réponse

La facture

Voici ce qui a été envoyé.

Type de facture
Vendeur
Acheteur
Détails de la facture
Lignes

Ligne 1

Ligne 2

Ligne 3

Calculés par cette page pour l’affichage. Le service calcule ses propres totaux.

Sous-total
6 609,00 EUR
TVA (19 %)
1 255,71 EUR
Total à payer
7 864,71 EUR

La réponse

ValideDE-XRECHNUNG, enregistrée le 7 oct. 2026

  1. schemaréussi
  2. mappingréussi
  3. pre-checkréussi
  4. kositréussi

Aucun constat.

Fichier produit

  • xrechnung-ubl SHA-256 cc1a764a50fb6439f558a2459bcd4a5a58d8960bdc28c6dd1bab00790e67a630

Le service a indiqué cette empreinte pour le fichier qu’il a produit. Le XML ci-dessous a la même empreinte (5 305 octets). Il est affiché avec des retours à la ligne ; le téléchargement est le fichier tel qu’il a été produit.

Le XML produit
<?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:xeinkauf.de:kosit:xrechnung_3.0</cbc:CustomizationID>
  <cbc:ProfileID>urn:fdc:peppol.eu:2017:poacc:billing:01:1.0</cbc:ProfileID>
  <cbc:ID>RE-2026-0143</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">DE938296582</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>DE938296582</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">DE965003781</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>DE965003781</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-0143</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>
Requête

Le JSON que cette page envoie à POST /validate. La commande cURL utilise une clé fictive.

{
  "invoice_ref": "RE-2026-0143",
  "route": "DE-XRECHNUNG",
  "environment": "sandbox",
  "document": {
    "lang": "de",
    "country": "DE",
    "invoice": {
      "number": "RE-2026-0143",
      "issue_date": "2026-09-26",
      "due_date": "2026-10-10",
      "type_code": 380,
      "currency": "EUR",
      "buyer_reference": "PO-88731",
      "period": {
        "start": "2026-09-01",
        "end": "2026-09-30"
      },
      "notes": [
        "Vielen Dank für Ihren Auftrag."
      ]
    },
    "seller": {
      "name": "Nordlicht Software GmbH",
      "address": {
        "street": "Hafenstraße 12",
        "city": "Hamburg",
        "postcode": "20457",
        "country": "DE"
      },
      "vat_id": "DE938296582",
      "tax_number": "27/123/45678",
      "company_id": "HRB 123456",
      "register": "Amtsgericht Hamburg HRB 123456",
      "managing_directors": "Geschäftsführer: Jana Petersen",
      "legal_info": "GmbH",
      "endpoint": {
        "id": "DE938296582",
        "scheme": "9930"
      },
      "contact": {
        "name": "Jana Petersen",
        "email": "[email protected]",
        "phone": "+49 40 1234567"
      },
      "brand_color": "#1160FF",
      "accent_color": "#FF9021"
    },
    "buyer": {
      "name": "Brauhaus Weber AG",
      "address": {
        "street": "Marienplatz 4",
        "city": "München",
        "postcode": "80331",
        "country": "DE"
      },
      "vat_id": "DE965003781",
      "endpoint": {
        "id": "DE965003781",
        "scheme": "9930"
      }
    },
    "lines": [
      {
        "name": "E-Rechnung Einführung (Festpreis)",
        "description": "Mapping Business Central → EN 16931, Validierung XRechnung, Test im Peppol-Testnetz",
        "quantity": 1,
        "unit": "LS",
        "unit_price": 5900,
        "vat_category": "S",
        "vat_rate": 19
      },
      {
        "name": "Betreuung abgelehnter Rechnungen",
        "description": "Care Plus, September 2026",
        "quantity": 1,
        "unit": "MON",
        "unit_price": 349,
        "vat_category": "S",
        "vat_rate": 19
      },
      {
        "name": "Zusätzliche Schulung",
        "description": "Remote, Buchhaltungsteam",
        "quantity": 3,
        "unit": "HUR",
        "unit_price": 120,
        "vat_category": "S",
        "vat_rate": 19
      }
    ],
    "payment": {
      "means_code": 58,
      "iban": "DE89 3704 0044 0532 0130 00",
      "bic": "COBADEFFXXX",
      "reference": "RE-2026-0143",
      "terms": "Zahlbar innerhalb von 14 Tagen ohne Abzug."
    },
    "profile": "xrechnung"
  }
}
curl -X POST "https://localhost:8443/validate" \
  -H "Authorization: Bearer <your-api-key>" \
  -H "Content-Type: application/json" \
  --data-binary @invoice.json
Réponse
{
  "valid": true,
  "route": "DE-XRECHNUNG",
  "documents": [
    {
      "sha256": "cc1a764a50fb6439f558a2459bcd4a5a58d8960bdc28c6dd1bab00790e67a630",
      "kind": "xrechnung-ubl"
    }
  ],
  "layers": [
    {
      "findings": [],
      "passed": true,
      "layer": "schema"
    },
    {
      "findings": [],
      "passed": true,
      "layer": "mapping"
    },
    {
      "findings": [],
      "passed": true,
      "layer": "pre-check"
    },
    {
      "findings": [],
      "passed": true,
      "layer": "kosit"
    }
  ]
}

Ce que vous voyez

Chacune des six factures est un exemple fictif, passé une fois par POST /validate, avec sa réponse enregistrée. La page rejoue cette réponse : elle n’appelle aucun serveur et ne stocke rien. Le XML d’une réponse valide a été produit par le code du service lui-même, et son empreinte est égale à celle que le service a indiquée.

Ce qu’il ne fait pas

  • Il ne stocke rien et n’a pas de comptes. Un essai à blanc ne met rien en file d’attente et n’envoie rien.
  • Il ne fonctionne que pour les factures entre entreprises.
  • Il ne fournit aucune mention légale. Pour l’autoliquidation et les factures exonérées, saisissez vous-même le fondement.
  • Il ne lance pas d’essai à blanc sur une facture que vous modifiez. Pour cela, demandez une clé de bac à sable et appelez POST /validate.