FinchContext
Run with

Generate ISDOC Invoice XML

Skill: Convert invoice data into a valid Czech ISDOC XML

Region: Czech Republic (Česká republika) Category: E-Invoicing Does: Takes ordinary invoice data and produces an ISDOC (Invoice) XML document — the Czech national e-invoice format used for domestic B2B/B2G exchange. Schema version: ISDOC 6.0.1

ISDOC is the established Czech format; EN 16931 (PEPPOL/UBL, see the Slovakia skill for the UBL model) is the path for EU ViDA alignment. Validate the output against the official ISDOC 6.0.1 XSD before sending.


Input data required

Input Used for
Invoice number, UUID, issue date, tax point date header
Seller DIČ (VAT no.), IČO (company no.), name, address AccountingSupplierParty
Buyer DIČ, IČO, name, address AccountingCustomerParty
Currency LocalCurrencyCode / ForeignCurrencyCode
Line items: description, quantity, unit, unit price, VAT rate InvoiceLines
Bank account / IBAN, due date, variable symbol PaymentMeans

Namespace

Prefix URI
default http://isdoc.cz/namespace/2013

Root element: <Invoice version="6.0.1" xmlns="http://isdoc.cz/namespace/2013">.


Document structure to emit

Invoice (version="6.0.1")
├── DocumentType            (1 = invoice / tax document)
├── ID                      (invoice number)
├── UUID
├── IssueDate
├── TaxPointDate
├── VATApplicable           (true/false)
├── LocalCurrencyCode       (e.g. CZK)
├── AccountingSupplierParty (seller: Party > PartyIdentification, PartyName, PostalAddress, PartyTaxScheme)
├── AccountingCustomerParty (buyer)
├── InvoiceLines            (one InvoiceLine per item)
├── TaxTotal                (TaxSubTotal per rate + TaxAmount)
├── LegalMonetaryTotal      (totals)
└── PaymentMeans            (bank account, due date, VariableSymbol)

Party (seller / buyer)

Element Notes
Party > PartyIdentification > ID IČO (company registration number)
Party > PartyName > Name legal name
Party > PostalAddress StreetName, BuildingNumber, CityName, PostalZone, Country > IdentificationCode (CZ)
Party > PartyTaxScheme > CompanyID DIČ (VAT number, e.g. CZ12345678)

InvoiceLine

Element Meaning
ID line number
InvoicedQuantity quantity (with unitCode attribute)
LineExtensionAmount line net = quantity × unit price
UnitPrice net unit price
ClassifiedTaxCategory > Percent VAT rate (21, 12, 0)
ClassifiedTaxCategory > VATCalculationMethod 0 (from below) typical
Item > Description item description

TaxTotal / TaxSubTotal

Element Meaning
TaxSubTotal > TaxableAmount net per rate
TaxSubTotal > TaxAmount VAT per rate
TaxSubTotal > TaxInclusiveAmount gross per rate
TaxSubTotal > Percent the rate
TaxTotal > TaxAmount total VAT

LegalMonetaryTotal

Element Meaning
TaxExclusiveAmount net total
TaxInclusiveAmount gross total
AlreadyClaimedTaxInclusiveAmount prepaid (if any)
PayableAmount amount due

Calculation rules


Worked example (single 21% line)

<?xml version="1.0" encoding="UTF-8"?>
<Invoice xmlns="http://isdoc.cz/namespace/2013" version="6.0.1">
  <DocumentType>1</DocumentType>
  <ID>2024-001</ID>
  <UUID>3aa4d4f0-0b6a-4f1f-9b2d-2f1a9c0e1234</UUID>
  <IssueDate>2024-01-15</IssueDate>
  <TaxPointDate>2024-01-15</TaxPointDate>
  <VATApplicable>true</VATApplicable>
  <LocalCurrencyCode>CZK</LocalCurrencyCode>
  <AccountingSupplierParty>
    <Party>
      <PartyIdentification><ID>12345678</ID></PartyIdentification>
      <PartyName><Name>Acme s.r.o.</Name></PartyName>
      <PostalAddress>
        <StreetName>Programátorská</StreetName><BuildingNumber>42</BuildingNumber>
        <CityName>Praha</CityName><PostalZone>11000</PostalZone>
        <Country><IdentificationCode>CZ</IdentificationCode></Country>
      </PostalAddress>
      <PartyTaxScheme><CompanyID>CZ12345678</CompanyID></PartyTaxScheme>
    </Party>
  </AccountingSupplierParty>
  <AccountingCustomerParty>
    <Party>
      <PartyIdentification><ID>87654321</ID></PartyIdentification>
      <PartyName><Name>Klient a.s.</Name></PartyName>
      <PostalAddress>
        <StreetName>Obchodní</StreetName><BuildingNumber>7</BuildingNumber>
        <CityName>Brno</CityName><PostalZone>60200</PostalZone>
        <Country><IdentificationCode>CZ</IdentificationCode></Country>
      </PostalAddress>
      <PartyTaxScheme><CompanyID>CZ87654321</CompanyID></PartyTaxScheme>
    </Party>
  </AccountingCustomerParty>
  <InvoiceLines>
    <InvoiceLine>
      <ID>1</ID>
      <InvoicedQuantity unitCode="HUR">40</InvoicedQuantity>
      <LineExtensionAmount>10000.00</LineExtensionAmount>
      <UnitPrice>250.00</UnitPrice>
      <ClassifiedTaxCategory><Percent>21</Percent><VATCalculationMethod>0</VATCalculationMethod></ClassifiedTaxCategory>
      <Item><Description>Programátorské služby</Description></Item>
    </InvoiceLine>
  </InvoiceLines>
  <TaxTotal>
    <TaxSubTotal>
      <TaxableAmount>10000.00</TaxableAmount>
      <TaxAmount>2100.00</TaxAmount>
      <TaxInclusiveAmount>12100.00</TaxInclusiveAmount>
      <Percent>21</Percent>
    </TaxSubTotal>
    <TaxAmount>2100.00</TaxAmount>
  </TaxTotal>
  <LegalMonetaryTotal>
    <TaxExclusiveAmount>10000.00</TaxExclusiveAmount>
    <TaxInclusiveAmount>12100.00</TaxInclusiveAmount>
    <AlreadyClaimedTaxInclusiveAmount>0</AlreadyClaimedTaxInclusiveAmount>
    <PayableAmount>12100.00</PayableAmount>
  </LegalMonetaryTotal>
  <PaymentMeans>
    <Payment>
      <PaidAmount>12100.00</PaidAmount>
      <PaymentMeansCode>42</PaymentMeansCode>
      <Details><PaymentDueDate>2024-01-29</PaymentDueDate><ID>123456789/0100</ID><VariableSymbol>2024001</VariableSymbol></Details>
    </Payment>
  </PaymentMeans>
</Invoice>

Validation checklist


Last updated: 2026-05-26 — verify element names, the ISDOC version, and tax-category codes against the official ISDOC 6.0.1 schema and documentation before use.