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)
| Field | Type | Description |
|---|---|---|
additionalStreet | string | BT-162 / BT-163 — Additional address line. |
cityrequired | string | BT-37 (seller) / BT-52 (buyer) — City / town. |
countryCoderequired | string | ISO 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". |
countrySubdivision | string | BT-39 (seller) / BT-54 (buyer) — Country subdivision (region / state / province). |
postCoderequired | string | BT-38 (seller) / BT-53 (buyer) — Post code / ZIP. |
street1required | string | BT-35 (seller) / BT-50 (buyer) — Address line 1 (street and number). |
street2 | string | BT-36 / BT-51 — Address line 2. |
Contact
BG-6 (seller) / BG-9 (buyer) — Contact details (name, phone, email).
| Field | Type | Description |
|---|---|---|
email | string | BT-43 (seller) / BT-58 (buyer) — Contact email address. |
name | string | BT-41 (seller) / BT-56 (buyer) — Contact point name. |
telephone | string | BT-42 (seller) / BT-57 (buyer) — Contact telephone number. |
BankAccount
BG-17 credit-transfer bank accounts (BT-84..86); empty when not applicable
| Field | Type | Description |
|---|---|---|
accountName | string | Payment account name (BT-85) |
bic | string | Payment service provider identifier / BIC (BT-86) |
ibanrequired | string | Payment account identifier / IBAN for credit transfer (BT-84) |
Attachment
BG-24 — Embedded supporting documents / binary attachments (e.g. a PDF rendition). Empty if none.
| Field | Type | Description |
|---|---|---|
contentrequired | string | BG-24 embedded binary content, Base64-encoded (BT-125) |
contentTyperequired | string | BG-24 attachment MIME type — must be application/pdf for v1.0 |
description | string | BG-24 human-readable document description (BT-123) |
filenamerequired | string | BG-24 attachment file name (e.g. invoice-2026-001.pdf) |
Money
BT-148 — Item gross price (before the item price discount).
| Field | Type | Description |
|---|---|---|
amountrequired | number | Monetary amount. Up to 2 decimals for totals, up to 4 for unit prices / tax bases. |
currencyrequired | string | ISO 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.
| Field | Type | Description |
|---|---|---|
categoryCoderequired | string | UNCL5305 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". |
exemptionReasonCode | string | BT-121 — VAT exemption reason code. |
exemptionReasonText | string | BT-120 — VAT exemption reason text. |
raterequired | number | BT-119 — VAT category rate (percentage). |
| required | Money | |
amountrequired | number | Monetary amount. Up to 2 decimals for totals, up to 4 for unit prices / tax bases. |
currencyrequired | string | ISO 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". |
PaymentInfo
BG-16 — Payment instructions (means of payment, account, remittance reference).
| Field | Type | Description |
|---|---|---|
BankAccount[] | BG-17 credit-transfer bank accounts (BT-84..86); empty when not applicable | |
accountName | string | Payment account name (BT-85) |
bic | string | Payment service provider identifier / BIC (BT-86) |
ibanrequired | string | Payment account identifier / IBAN for credit transfer (BT-84) |
paymentMeansCoderequired | string | UNCL4461 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(). |
paymentMeansText | string | BG-16 payment means text (BT-82) |
remittanceInformation | string | BG-16 remittance / payment reference (BT-83) |
Delivery
BG-13 — Delivery information (deliver-to party, location, address, actual delivery date).
| Field | Type | Description |
|---|---|---|
Address | ||
additionalStreet | string | BT-162 / BT-163 — Additional address line. |
cityrequired | string | BT-37 (seller) / BT-52 (buyer) — City / town. |
countryCoderequired | string | ISO 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". |
countrySubdivision | string | BT-39 (seller) / BT-54 (buyer) — Country subdivision (region / state / province). |
postCoderequired | string | BT-38 (seller) / BT-53 (buyer) — Post code / ZIP. |
street1required | string | BT-35 (seller) / BT-50 (buyer) — Address line 1 (street and number). |
street2 | string | BT-36 / BT-51 — Address line 2. |
deliveryDate | date | BG-13 actual delivery date (BT-72) |
locationIdentifier | string | BG-13 deliver-to location identifier (BT-71) |
locationIdentifierSchemeId | string | BG-13 deliver-to location identifier scheme (BT-71-1) |
partyName | string | BG-13 deliver-to party name (BT-70) |
Allowance
BG-27 — Invoice line allowances (discounts). Empty if none.
| Field | Type | Description |
|---|---|---|
| required | Money | |
amountrequired | number | Monetary amount. Up to 2 decimals for totals, up to 4 for unit prices / tax bases. |
currencyrequired | string | ISO 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". |
Money | ||
amountrequired | number | Monetary amount. Up to 2 decimals for totals, up to 4 for unit prices / tax bases. |
currencyrequired | string | ISO 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". |
percentage | number | BG-20/BG-27 allowance percentage (BT-94 / BT-138) |
reasonCode | string | BG-20/BG-27 allowance reason code (BT-98 / BT-140) |
reasonText | string | BG-20/BG-27 allowance reason text (BT-97 / BT-139) |
vatCategoryCoderequired | string | UNCL5305 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". |
vatRate | number | BG-20/BG-27 allowance VAT rate (BT-96) |
Charge
BG-28 — Invoice line charges (fees). Empty if none.
| Field | Type | Description |
|---|---|---|
| required | Money | |
amountrequired | number | Monetary amount. Up to 2 decimals for totals, up to 4 for unit prices / tax bases. |
currencyrequired | string | ISO 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". |
Money | ||
amountrequired | number | Monetary amount. Up to 2 decimals for totals, up to 4 for unit prices / tax bases. |
currencyrequired | string | ISO 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". |
percentage | number | BG-21/BG-28 charge percentage (BT-101 / BT-143) |
reasonCode | string | BG-21/BG-28 charge reason code (BT-105 / BT-145) |
reasonText | string | BG-21/BG-28 charge reason text (BT-104 / BT-144) |
vatCategoryCoderequired | string | UNCL5305 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". |
vatRate | number | BG-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.
| Field | Type | Description |
|---|---|---|
valuerequired | string | The Leitweg-ID value, e.g. 04011000-12345-37. |