Skip to content

[1.8] Complete orphaned e-invoice configs that have no generator #24

Description

@nielsdrost7

Context

The develop branch of the e-invoices repository contains several config files for e-invoice formats that have no corresponding generator. These configs are inert — they appear in no dropdown and produce no output. This issue tracks completing them so they are either connected to an existing generator or given a new one.


Orphaned configs inventory

Config file Standard Country Missing
Ublxrechnungv30de.php UBL XRechnung 3.0 Germany Generator (connect to Ublv24 or new?)
Ublxrechnungv30vatde.php UBL XRechnung 3.0 (VAT scheme) Germany Generator
Nlciusciiv10.php NL CIUS CII 1.0 Netherlands Generator
Ublsi20nl.php Dutch SI 2.0 (UBL) Netherlands Generator
Ublsi20vatnl.php Dutch SI 2.0 VAT variant Netherlands Generator
Ublciusv10ro.php Romanian CIUS Romania Generator
Ublciusv21pt.php Portuguese CIUS 2.1 Portugal Generator
Zugferdv23basic.php ZUGFeRD 2.3 Basic Germany Generator (reuse Facturxv10?)
Zugferdv23basicwl.php ZUGFeRD 2.3 Basic WL Germany Generator
Zugferdv23extended.php ZUGFeRD 2.3 Extended Germany Generator

Note: Zugferdv10.php + Zugferdv10Xml.php and Zugferdv23.php already work — only the v2.3 profile variants (Basic, Basic WL, Extended) are orphaned.


Resolution approach

Many of these can be resolved by adding 'generator' => 'ExistingGenerator' to the config rather than writing new generators:

Config Likely generator
Ublxrechnungv30de.php Ublv24 (see #16)
Ublxrechnungv30vatde.php Ublv24
Ublsi20nl.php Ublv24
Ublsi20vatnl.php Ublv24
Ublciusv10ro.php Ublv24
Ublciusv21pt.php Ublv24
Zugferdv23basic.php Facturxv10 (same CII namespace, different profile)
Zugferdv23basicwl.php Facturxv10
Zugferdv23extended.php Facturxv10
Nlciusciiv10.php Facturxv10 (CII-based) or new generator

Before connecting a config to an existing generator, verify that the generator correctly handles any requirements specific to that config's CustomizationID (e.g. CIUS-specific schematron rules, country-specific tax handling).


Deliverables

For each orphaned config:

  1. Confirm which generator to use (or decide a new one is needed)
  2. Add the 'generator' key to the config
  3. Generate sample output and validate it against the relevant schema or schematron
  4. Add a basic AAA test (standard invoice + schema validation)

Acceptance criteria

  • All 10 orphaned configs connected to a working generator
  • Sample XML generated and schema-validated for each
  • Each config appears in the correct country's e-invoicing version dropdown
  • At minimum one AAA test per newly connected config (standard invoice → schema valid)
  • ZUGFeRD v2.3 Basic / Basic WL / Extended profiles produce correct CustomizationID values per the ZUGFeRD 2.3 specification

Priority order

  1. ZUGFeRD 2.3 profiles (Basic, Basic WL, Extended) — German market, high demand, Facturxv10 already works
  2. UBL XRechnung (UBL variant of German B2G) — complement CII XRechnung from [1.8] Implement XRechnung 3.0 (standalone CII) XML template #17
  3. Dutch SI 2.0 / NL CIUS — Netherlands B2G is mandatory; Ublv24 likely reusable
  4. Romanian and Portuguese CIUS — lower urgency, Ublv24 likely reusable

Dependency

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions