Docs

Uitproberen

Bekijk een proefrun op een voorbeeldfactuur.

  • In de sandbox

In gewone woorden

Deze pagina toont een proefrun op een voorbeeldfactuur, zonder enige installatie: kies een voorbeeld en lees het antwoord, dat het veld noemt en zegt wie het oplost. Alle facturen zijn verzonnen.

Een proefrun toont wat eurinvoice anders maakt: als een factuur fout is, noemt het antwoord het veld, geeft het een cataloguscode en zegt het wie het oplost. Kies een factuur en lees het antwoord.

Alleen voorbeeldgegevens. Typ geen echte factuur, geen echt bedrijf en geen sleutel voor een live systeem. Niets wat u typt, wordt op een server opgeslagen, en in de voorbeeldmodus verlaat niets deze pagina.

Vastgelegde antwoorden, 7 okt 2026. Elk antwoord is van de dienst vastgelegd en wordt hier opnieuw afgespeeld. De XML is opgebouwd door de eigen code van de dienst. Er wordt geen server aangeroepen.

Een Duits softwarebedrijf factureert aan een brouwerij. De KoSIT-validator controleert het bestand.

Vast in de voorbeeldmodus.

Naar het antwoord

De factuur

Dit is wat er werd verzonden.

Factuurtype
Verkoper
Koper
Factuurgegevens
Regels

Regel 1

Regel 2

Regel 3

Door deze pagina berekend om te tonen. De dienst berekent zijn eigen totalen.

Subtotaal
6.609,00 EUR
Btw (19 %)
1.255,71 EUR
Te betalen
7.864,71 EUR

Het antwoord

GeldigDE-XRECHNUNG, vastgelegd op 7 okt 2026

  1. schemageslaagd
  2. mappinggeslaagd
  3. pre-checkgeslaagd
  4. kositgeslaagd

Geen bevindingen.

Aangemaakt bestand

  • xrechnung-ubl SHA-256 cc1a764a50fb6439f558a2459bcd4a5a58d8960bdc28c6dd1bab00790e67a630

De dienst rapporteerde deze hash voor het bestand dat hij aanmaakte. De XML hieronder geeft dezelfde hash (5.305 bytes). Ze wordt met regeleinden getoond; de download is het bestand zoals het is aangemaakt.

De aangemaakte XML
<?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>
Verzoek

De JSON die deze pagina naar POST /validate stuurt. De cURL gebruikt een placeholder als sleutel.

{
  "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
Antwoord
{
  "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"
    }
  ]
}

Wat u ziet

Elk van de zes facturen is een verzonnen voorbeeld, één keer door POST /validate gehaald, met het antwoord bewaard. De pagina speelt dat antwoord opnieuw af: ze roept geen server aan en slaat niets op. De XML bij een geldig antwoord is aangemaakt door de eigen code van de dienst, en de hash ervan is gelijk aan die welke de dienst rapporteerde.

Wat het niet doet

  • Het slaat niets op en heeft geen accounts. Een proefrun zet niets in de wachtrij en verzendt niets.
  • Het werkt alleen voor facturen tussen ondernemingen.
  • Het levert geen wettelijke vermeldingen. Vul voor facturen met verlegging van heffing en voor vrijgestelde facturen zelf de grondslag in.
  • Het voert geen proefrun uit op een factuur die u wijzigt. Vraag daarvoor om een sleutel voor de sandbox en roep POST /validate aan.