Common Objects

Shared schema objects used across multiple endpoints.

These objects are referenced by multiple request schemas.

Address

BG-15 deliver-to address (BT-75..80, BT-163)
FieldTypeDescription
additionalStreetstringBT-162 / BT-163 — Additional address line.
cityrequiredstringBT-37 (seller) / BT-52 (buyer) — City / town.
countryCoderequiredstringISO 3166-1 alpha-2 country code (BT-40, BT-55, BT-159). Serialized in JSON as the two-letter country code, which is the enum constant name, e.g. "LU", "DE", "FR".
countrySubdivisionstringBT-39 (seller) / BT-54 (buyer) — Country subdivision (region / state / province).
postCoderequiredstringBT-38 (seller) / BT-53 (buyer) — Post code / ZIP.
street1requiredstringBT-35 (seller) / BT-50 (buyer) — Address line 1 (street and number).
street2stringBT-36 / BT-51 — Address line 2.

Contact

BG-6 (seller) / BG-9 (buyer) — Contact details (name, phone, email).
FieldTypeDescription
emailstringBT-43 (seller) / BT-58 (buyer) — Contact email address.
namestringBT-41 (seller) / BT-56 (buyer) — Contact point name.
telephonestringBT-42 (seller) / BT-57 (buyer) — Contact telephone number.

BankAccount

BG-17 credit-transfer bank accounts (BT-84..86); empty when not applicable
FieldTypeDescription
accountNamestringPayment account name (BT-85)
bicstringPayment service provider identifier / BIC (BT-86)
ibanrequiredstringPayment account identifier / IBAN for credit transfer (BT-84)

Attachment

BG-24 — Embedded supporting documents / binary attachments (e.g. a PDF rendition). Empty if none.
FieldTypeDescription
contentrequiredstringBG-24 embedded binary content, Base64-encoded (BT-125)
contentTyperequiredstringBG-24 attachment MIME type — must be application/pdf for v1.0
descriptionstringBG-24 human-readable document description (BT-123)
filenamerequiredstringBG-24 attachment file name (e.g. invoice-2026-001.pdf)

Money

BT-148 — Item gross price (before the item price discount).
FieldTypeDescription
amountrequirednumberMonetary amount. Up to 2 decimals for totals, up to 4 for unit prices / tax bases.
currencyrequiredstringISO 4217 currency code (BT-5, BT-6). Serialized in JSON as the three-letter ISO 4217 alphabetic code, which is the enum constant name, e.g. "EUR", "USD", "CHF".

TaxBreakdown

BG-23 — VAT breakdown per category/rate. At least one entry is required.
FieldTypeDescription
categoryCoderequiredstringUNCL5305 VAT category code (BT-118, BT-151), e.g. S standard rate, Z zero rated, E exempt, AE reverse charge, K intra-community supply, G free export, O outside scope, L Canary Islands IGIC, M Ceuta and Melilla (plus PINT MY jurisdiction codes). Serialized in JSON as the category code, which is the enum constant name, e.g. "S", "AE".
exemptionReasonCodestringBT-121 — VAT exemption reason code.
exemptionReasonTextstringBT-120 — VAT exemption reason text.
raterequirednumberBT-119 — VAT category rate (percentage).
requiredMoney

PaymentInfo

BG-16 — Payment instructions (means of payment, account, remittance reference).
FieldTypeDescription
BankAccount[]BG-17 credit-transfer bank accounts (BT-84..86); empty when not applicable
paymentMeansCoderequiredstringUNCL4461 payment means code (BT-81), e.g. 30 credit transfer, 58 SEPA credit transfer, 48 card, 49 direct debit. Serialized in JSON as the enum constant name (e.g. "CREDIT_TRANSFER", "SEPA_CREDIT_TRANSFER"); the numeric code is exposed separately via code().
paymentMeansTextstringBG-16 payment means text (BT-82)
remittanceInformationstringBG-16 remittance / payment reference (BT-83)

Delivery

BG-13 — Delivery information (deliver-to party, location, address, actual delivery date).
FieldTypeDescription
Address
deliveryDatedateBG-13 actual delivery date (BT-72)
locationIdentifierstringBG-13 deliver-to location identifier (BT-71)
locationIdentifierSchemeIdstringBG-13 deliver-to location identifier scheme (BT-71-1)
partyNamestringBG-13 deliver-to party name (BT-70)

Allowance

BG-27 — Invoice line allowances (discounts). Empty if none.
FieldTypeDescription
requiredMoney
Money
percentagenumberBG-20/BG-27 allowance percentage (BT-94 / BT-138)
reasonCodestringBG-20/BG-27 allowance reason code (BT-98 / BT-140)
reasonTextstringBG-20/BG-27 allowance reason text (BT-97 / BT-139)
vatCategoryCoderequiredstringUNCL5305 VAT category code (BT-118, BT-151), e.g. S standard rate, Z zero rated, E exempt, AE reverse charge, K intra-community supply, G free export, O outside scope, L Canary Islands IGIC, M Ceuta and Melilla (plus PINT MY jurisdiction codes). Serialized in JSON as the category code, which is the enum constant name, e.g. "S", "AE".
vatRatenumberBG-20/BG-27 allowance VAT rate (BT-96)

Charge

BG-28 — Invoice line charges (fees). Empty if none.
FieldTypeDescription
requiredMoney
Money
percentagenumberBG-21/BG-28 charge percentage (BT-101 / BT-143)
reasonCodestringBG-21/BG-28 charge reason code (BT-105 / BT-145)
reasonTextstringBG-21/BG-28 charge reason text (BT-104 / BT-144)
vatCategoryCoderequiredstringUNCL5305 VAT category code (BT-118, BT-151), e.g. S standard rate, Z zero rated, E exempt, AE reverse charge, K intra-community supply, G free export, O outside scope, L Canary Islands IGIC, M Ceuta and Melilla (plus PINT MY jurisdiction codes). Serialized in JSON as the category code, which is the enum constant name, e.g. "S", "AE".
vatRatenumberBG-21/BG-28 charge VAT rate (BT-103)

LeitwegId

German XRechnung B2G routing identifier (Leitweg-ID, BT-10 buyer reference). Format: 2-12 digits, optional alphanumeric segment, optional 1-5 digit suffix.
FieldTypeDescription
valuerequiredstringThe Leitweg-ID value, e.g. 04011000-12345-37.