Document Type Profiles
When you send an invoice over Peppol, the document type profile decides which CustomizationID is published in the UBL XML and which schematron rules the recipient applies on arrival. Most cross-border traffic uses Peppol BIS Billing 3.0, but several countries publish national CIUS variants that are mandatory or preferred for domestic flows.
Invoro picks the profile for you per invoice. You can override it per invoice via the API, and the resolved profile is always reconciled against what the recipient actually accepts.
Available Profiles
Section titled “Available Profiles”| Country | Invoice profile key | Credit note profile key |
|---|---|---|
| Any | invoice (Peppol BIS) | credit_note (Peppol BIS) |
| BE | ublbe_invoice | ublbe_credit_note |
| NL | nlcius_invoice | nlcius_credit_note |
| DE | xrechnung_ubl_invoice | xrechnung_ubl_credit_note |
Germany also publishes xrechnung_cii_invoice for the CII syntax.
Defaults at Registration
Section titled “Defaults at Registration”When a company registers in Belgium, the Netherlands, or Germany, Invoro automatically:
- Enables the matching national profile on the participant’s SMP record so senders can deliver under it, and
- Sets the company’s outgoing default to that profile, so subsequent invoices and credit notes use it without further configuration.
For other jurisdictions the defaults stay on Peppol BIS Billing 3.0, which every Peppol participant must accept.
Per-Invoice Override (API)
Section titled “Per-Invoice Override (API)”Set header.document_type on the invoice payload to force a specific
profile for that single send:
{ "header": { "invoice_type_code": "380", "document_type": "ublbe_invoice" }}Rules:
- The key must exist in the profile table above.
- It must match the document category. Invoice profiles are valid for type
code
380, credit note profiles for381. A mismatch returns422 Unprocessable Entity. - The override only applies to the invoice it is sent with. The company default is unchanged.
There is no UI for per-invoice override. It is API-only.
Resolution Order at Send Time
Section titled “Resolution Order at Send Time”For each outgoing invoice, Invoro resolves the profile in this order:
- API override:
header.document_typeif present and category-matched. - Company default:
default_invoice_document_typeordefault_credit_note_document_type. Seeded automatically on registration for BE, NL, DE. - Baseline:
invoiceorcredit_note(Peppol BIS Billing 3.0).
Recipient Capability Check
Section titled “Recipient Capability Check”If the resolved profile is not the baseline Peppol BIS, Invoro consults the recipient’s SMP record before sending:
- If the recipient publishes the profile, it is used as-is and the UBL
CustomizationIDis rewritten to the matching specification. - If the recipient does not publish the profile, behaviour depends on
the company’s
fallback_to_standard_profilesetting.
Fallback Setting
Section titled “Fallback Setting”fallback_to_standard_profile is a company-level toggle (default on):
| Setting | Behaviour when recipient does not publish the preferred profile |
|---|---|
true (default) | Silently downgrade to Peppol BIS so the send proceeds. The original preferred key is recorded in the invoice log. |
false | Mark the invoice failed with error code PROFILE_NOT_SUPPORTED. No fallback is attempted. Use this when a national mandate (for example Belgium B2B) makes Peppol BIS non-compliant for your domestic flows. |
The fallback policy applies to whichever profile was resolved (override or default). A per-invoice override does not bypass it.
Related
Section titled “Related”- API Reference - full endpoint documentation including the
header.document_typefield. - Authentication - API key setup.