Use the explorer below as the request contract. It shows the complete payload, which fields are required, and the fields nested inside every object. You do not need to understand the underlying invoicing standard before building a request.
Search by its JSON name, path, type, or description.
Expand an object or array to inspect its child fields in place.
AUTO mode derives line amounts, totals, and tax amounts.
Every request has two top-level objects:
invoice contains the invoice number, parties, payment information, taxes,
totals, and line items.config selects the output syntax, specification, version, and profile.The same InvoiceRequestDto body is accepted by the
XRechnung generation API,
EN 16931 generation API, and
ZUGFeRD generation API.
The explorer below is split per generation endpoint. A field's required flag
can differ between specs — for example buyerReference (BT-10) is required
under XRechnung (enforced by the BR-DE-15 Schematron rule) but optional under
EN 16931 and ZUGFeRD. Fields whose requiredness differs across specs carry a
Differs across specs indicator so you know the difference is intentional,
not an inconsistency. Pick the explorer for the endpoint you are calling.
The example beside each explorer contains every documented field. Hover or focus a field to locate it in the JSON, and open object fields to inspect their nested structure. Fields marked Engine calculated can be omitted in AUTO mode.
Explore the contract
198 of 198 fields shown
invoiceobjectrequiredInvoice · BG-1 · 34 fields · 10 requiredThe EN 16931 invoice payload.
invoiceNumberstringrequired BT-1 Unique invoice identifier.
issueDatedaterequired BT-2 ISO-8601 invoice issue date.
invoiceTypeCodestringrequired BT-3 UNTDID 1001 type; 380 is a commercial invoice.
currencyCodestringrequired BT-5 ISO 4217 invoice currency.
sellerobjectrequired BG-4 Seller · BG-4 · 10 fields · 1 requiredParty issuing the invoice.
namestringrequired BT-27 Seller name.
tradingNamestringoptional BT-28 Additional trading name.
identifierstringoptional BT-29 Seller identifier.
legalRegistrationIdentifierstringoptional BT-30 Company-register identifier.
vatIdentifierstringoptional BT-31 VAT identifier.
taxRegistrationIdentifierstringoptional BT-32 Tax registration identifier.
electronicAddressstringoptional BT-34 Electronic routing address.
electronicAddressSchemeIdstringoptional BT-34 scheme Electronic address scheme.
postalAddressobjectoptional BG-5 Seller postal address · BG-5 · 7 fields · 3 requiredSeller postal address.
contactobjectoptional BG-6 Seller contact · BG-6 · 3 fields · 1 requiredSeller contact.
buyerobjectrequired BG-7 Buyer · BG-7 · 9 fields · 1 requiredParty receiving the invoice.
namestringrequired BT-44 Buyer name.
tradingNamestringoptional BT-45 Buyer trading name.
identifierstringoptional BT-46 Buyer identifier.
legalRegistrationIdentifierstringoptional BT-47 Company-register identifier.
vatIdentifierstringoptional BT-48 Buyer VAT identifier.
electronicAddressstringoptional BT-50 Electronic routing address.
electronicAddressSchemeIdstringoptional BT-50 scheme Electronic address scheme.
postalAddressobjectoptional BG-8 Buyer postal address · BG-8 · 7 fields · 3 requiredBuyer postal address.
contactobjectoptional BG-9 Buyer contact · BG-9 · 3 fields · 0 requiredBuyer contact.
paymentInstructionsobjectrequired BG-16 Payment instructions · BG-16 · 6 fields · 1 requiredHow the invoice should be paid.
meansCodestringrequired BT-81 UNCL 4461 payment means code.
meansTextstringoptional BT-82 Payment means text.
remittanceInformationstringoptional BT-83 Payment reference.
creditTransferobjectoptional BG-17 Credit transfer · BG-17 · 3 fields · 1 requiredCredit-transfer details.
paymentCardInformationobjectoptional BG-18 Payment card · BG-18 · 2 fields · 0 requiredPayment-card details.
directDebitobjectoptional BG-19 Direct debit · BG-19 · 3 fields · 1 requiredDirect-debit details.
documentTotalsobjectrequired BG-22 Document totals · BG-22 · 8 fields · 0 requiredRequired totals container; values are calculated in AUTO mode.
lineExtensionAmountnumberoptional BT-106 Sum of line net amounts.
allowanceTotalAmountnumberoptional BT-107 Sum of document allowances.
chargeTotalAmountnumberoptional BT-108 Sum of document charges.
taxExclusiveAmountnumberoptional BT-109 Total without VAT.
taxInclusiveAmountnumberoptional BT-112 Total with VAT.
prepaidAmountnumberoptional BT-113 Amount already paid.
payableRoundingAmountnumberoptional BT-114 Rounding adjustment.
payableAmountnumberoptional BT-115 Final amount due.
vatBreakdownsobject[]required BG-23 VAT breakdown · BG-23 · 6 fields · 2 requiredOne or more VAT category/rate entries.
vatCategoryTaxableAmountnumberoptional BT-116 Taxable amount.
vatCategoryTaxAmountnumberoptional BT-117 VAT amount.
vatCategoryCodestringrequired BT-118 S, Z, E, AE, K, G, or O.
vatCategoryRatenumberrequired BT-119 VAT percentage.
exemptionReasonstringoptional BT-120 Exemption reason text.
exemptionReasonCodestringoptional BT-121 Coded exemption reason.
invoiceLinesobject[]required BG-25 Invoice lines · BG-25 · 13 fields · 2 requiredOne or more billed line items.
lineIdentifierstringrequired BT-126 Unique line identifier.
notestringoptional BT-127 Line note.
quantitynumberoptional BT-129 Billed quantity; required outside MANUAL mode.
unitCodestringoptional BT-130 UNECE unit code.
netAmountnumberoptional BT-131 Line net amount.
referencedPurchaseOrderLinestringoptional BT-132 Purchase-order line reference.
buyerAccountingReferencestringoptional BT-133 Buyer accounting code.
invoiceLinePeriodobjectoptional BG-26 Invoice-line period · BG-26 · 2 fields · 0 requiredLine service period.
invoiceLineAllowancesobject[]optional BG-27 Line-level allowances · BG-27 · 5 fields · 0 requiredLine discounts.
invoiceLineChargesobject[]optional BG-28 Line-level charges · BG-28 · 5 fields · 0 requiredLine charges.
priceDetailsobjectoptional BG-29 Price details · BG-29 · 4 fields · 0 requiredUnit pricing.
lineVatInformationobjectoptional BG-30 Line VAT information · BG-30 · 2 fields · 2 requiredLine VAT category and rate.
itemInformationobjectrequired BG-31 Item information · BG-31 · 8 fields · 1 requiredProduct or service identity.
namestringrequired BT-153 Item name.
descriptionstringoptional BT-154 Item description.
sellersIdentifierstringoptional BT-155 Seller-assigned identifier.
buyersIdentifierstringoptional BT-156 Buyer-assigned identifier.
standardIdentifierstringoptional BT-157 Standard identifier such as GTIN.
classifiedIdentifierstringoptional BT-158 Commodity classification.
countryOfOriginstringoptional BT-159 ISO country of origin.
itemAttributesobject[]optional BG-32 Item attributes · BG-32 · 2 fields · 0 requiredAdditional name/value properties.
invoiceSubTypestringoptional BT-7 Invoice sub-type code.
valueAddedTaxPointDatedateoptional BT-7/8 VAT accounting date.
invoiceCurrencyCodestringoptional BT-5a VAT accounting currency code alias.
vatAccountingCurrencyCodestringoptional BT-6 VAT accounting currency.
buyerReferencestringoptionalDiffers across specs BT-10 Buyer's accounting reference.
projectReferencestringoptional BT-11 Project identifier.
contractReferencestringoptional BT-12 Contract identifier.
purchaseOrderReferencestringoptional BT-13 Purchase-order reference.
salesOrderReferencestringoptional BT-14 Sales-order reference.
despatchAdviceReferencestringoptional BT-15 Despatch advice reference.
receivingAdviceReferencestringoptional BT-16 Receiving advice reference.
tenderOrLotReferencestringoptional BT-17 Tender or lot reference.
invoicedObjectIdentifierstringoptional BT-18 Identifier of the invoiced object.
paymentTermsstringoptional BT-20 Human-readable payment terms.
invoiceNotestringoptional BT-22 Free-text invoice note.
processControlobjectoptional BG-2 Process control · BG-2 · 2 fields · 0 requiredBusiness-process and specification identifiers.
precedingInvoiceReferenceobjectoptional BG-3 Preceding invoice reference · BG-3 · 2 fields · 1 requiredOriginal invoice for a correction or credit note.
payeeobjectoptional BG-10 Payee · BG-10 · 3 fields · 1 requiredPayment recipient when different from seller.
sellerTaxRepresentativePartyobjectoptional BG-11 Seller tax representative · BG-11 · 3 fields · 1 requiredSeller's tax representative.
deliveryInformationobjectoptional BG-13 Delivery information · BG-13 · 4 fields · 0 requiredDelivery party, location, date, and address.
invoicingPeriodobjectoptional BG-14 Invoicing period · BG-14 · 2 fields · 0 requiredPeriod covered by the invoice.
documentLevelAllowancesobject[]optional BG-20 Document-level allowances · BG-20 · 7 fields · 0 requiredInvoice-wide discounts.
documentLevelChargesobject[]optional BG-21 Document-level charges · BG-21 · 7 fields · 0 requiredInvoice-wide charges.
additionalSupportingDocumentsobject[]optional BG-24 Additional supporting documents · BG-24 · 5 fields · 0 requiredDocument references, links, or base64 attachments.
configobjectrequiredGeneration config · 5 fields · 1 requiredGeneration standard, syntax, version, and profile.
specstringoptionalSpecification key such as xrechnung or EN16931; defaults from the endpoint.
syntaxstringrequiredXML syntax; CII or UBL, case-insensitive.
versionstringoptionalVersion; omitted values resolve to the active default.
profilestringoptionalOptional CIUS or profile identifier.
metadataLanguagestringoptionalPDF-only language for the engine-authored PDF chrome (labels, headers, footer, date format). Accepted only on the ZUGFeRD endpoint (rejected with 400 INVALID_INPUT on XRechnung and EN 16931). ISO 639-1 code, case-insensitive ("en" or "de"). Defaults to "en". The engine does not translate user-supplied invoice content.
A field marked required must always be present. Optional objects can be
omitted entirely, but some have required children once you include them. For
example, seller.postalAddress is optional; if you include it, provide
addressLine1, city, and countryCode.
Dates use YYYY-MM-DD, money and rates are JSON numbers, and country and
currency values use their two-letter ISO 3166-1 and three-letter ISO 4217
codes. VAT categories use EN 16931 codes such as
S (standard rated), Z (zero rated), and E (exempt).
config.metadataLanguageconfig.metadataLanguage is a PDF-only option accepted solely by the
ZUGFeRD generation API. It
selects the language of the engine-authored PDF chrome — labels, headers,
footer, and date format — not the user-supplied invoice content.
| Value | Meaning | Notes |
|---|---|---|
en | English labels (default) | Used when the field is omitted. |
de | German labels and date format | Case-insensitive: DE, De, de are all accepted. |
"DE", "De", and "de" are equivalent.en. Omit the field to keep English PDF chrome.config.metadataLanguage on the
XRechnung or
EN 16931 XML generation
endpoints is rejected with 400 INVALID_INPUT."fr", "de-DE") are rejected with
400 INVALID_INPUT on the ZUGFeRD endpoint. Only bare ISO 639-1 codes
en and de are accepted.metadataLanguage affects only
the engine-authored PDF presentation layer.