Skip to content

[Docs D-21] Reference — Facturxv10 generator options #86

Description

@nielsdrost7

Wiki section: Reference
Tier: 3 — Reference
Publish when: InvoicePlane v1.8.0 is released

The Facturxv10Xml generator (application/libraries/XMLtemplates/Facturxv10Xml.php) handles all CII-based formats: Factur-X, ZUGFeRD 2.x, XRechnung CII, and NLCIUS CII. Behaviour is controlled by the options array in each config file.


Full options reference

GuidelineSpecifiedDocumentContextParameterID

Type: string | Default: urn:cen.eu:en16931:2017

The profile identifier placed in ram:GuidelineSpecifiedDocumentContextParameter/ram:ID. This is the single most important option — it tells validators which profile the invoice conforms to.

Value Profile Used by
urn:cen.eu:en16931:2017 EN 16931 comfort Factur-X comfort, ZUGFeRD comfort, French PDP
urn:factur-x.eu:1p0:minimum Factur-X minimum Facturxv10minimum.php
urn:factur-x.eu:1p0:basicwl Factur-X basic WL Facturxv10basicwl.php, Zugferdv23basicwl.php
urn:factur-x.eu:1p0:basic Factur-X basic Facturxv10basic.php
urn:factur-x.eu:1p0:extended Factur-X extended Facturxv10extended.php
urn:zugferd.de:2p0:basic ZUGFeRD 2.x basic Zugferdv23basic.php
urn:zugferd.de:2p0:extended ZUGFeRD 2.x extended Zugferdv23extended.php
urn:cen.eu:en16931:2017#compliant#urn:xoev-de:kosit:standard:xrechnung_3.0 XRechnung 3.0 Xrechnungciiv30de.php
urn:cen.eu:en16931:2017#compliant#urn:fdc:nen.nl:1.0:0.9:... NLCIUS CII Nlciusciiv10.php

Important for French validators: Use urn:cen.eu:en16931:2017. The old urn:cen.eu:en16931:2017#conformant#urn:factur-x.eu:1p0:extended value is rejected by FactPulse and SuperPDP. See issue #11.

BusinessProcessSpecifiedDocumentContextParameterID

Type: string | Default: none

Required by XRechnung. Placed in ram:BusinessProcessSpecifiedDocumentContextParameter/ram:ID.

'BusinessProcessSpecifiedDocumentContextParameterID' => 'urn:fdc:peppol.eu:2017:poacc:billing:01:1.0',

CII

Type: bool | array

When true or an array, activates CII-specific behaviour (used for XRechnung CII). When an array, can carry endpoint codes:

'CII' => [
    'client_eas_code' => '0204',
    'user_eas_code'   => '0204',
],

user_eas_code / client_eas_code

Type: string

EAS code for the seller and buyer electronic address (ram:URIUniversalCommunication/ram:URIID schemeID). See EAS code reference.

For most Factur-X and ZUGFeRD configs these are not set (endpoints are SIREN or email). For XRechnung and NLCIUS they are required.

URIUniversalCommunication

Type: array

Controls the CII electronic address mapping for XRechnung. Maps client and user fields to endpoint URIs with scheme IDs:

'URIUniversalCommunication' => [
    'client' => ['email', '...', 'schemeID' => 'EM'],
    'user'   => ['vat_id', '...', 'schemeID' => '9930'],
],

NoReasonCode

Type: bool | Default: false

When true, suppresses ram:ReasonCode on allowances and charges. Required by NLCIUS CII.

ExemptionReason

Type: string

Sets the VAT exemption reason text for zero-rated items. Used by some national CIUS rules.


Profile and line item behaviour

Some profiles exclude line items entirely:

Profile Line items in XML
Minimum No
Basic WL No
Basic Yes
Comfort (EN 16931) Yes
Extended Yes

When line items are excluded, the generator emits only header-level totals.


Minimal working config example

$xml_setting = [
    'full-name'   => 'My CII Format',
    'countrycode' => 'XX',
    'embedXML'    => true,
    'XMLname'     => 'my-invoice.xml',
    'generator'   => 'Facturxv10',
    'options'     => [
        'GuidelineSpecifiedDocumentContextParameterID' => 'urn:cen.eu:en16931:2017',
    ],
];

Migrated from InvoicePlane/InvoicePlane-e-invoices#45.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions