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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions