Skip to content

docs: explain what a Factur-X file actually contains - #23

Merged
btouchard merged 1 commit into
mainfrom
docs/anatomie-facturx
Sep 19, 2026
Merged

btouchard merged 1 commit into
mainfrom
docs/anatomie-facturx

Conversation

@btouchard

@btouchard btouchard commented Sep 7, 2026 •

Copy link
Copy Markdown
Contributor

What

Adds this week's deep-dive article to docs/comprendre/: Anatomie d'un Factur-X : ce qu'il y a vraiment dans le fichier.

Content

  • The two layers of a Factur-X file: the PDF/A-3 wrapper and the embedded CII XML.
  • Where Factur-X sits relative to UBL and plain CII.
  • The EN 16931 field nomenclature, with BT-34/BT-49 (routing addresses) called out specifically.
  • Why reconstructing the XML through an internal model — instead of embedding it verbatim — is the most common way those routing addresses get silently dropped.
  • The distinction between a valid file and an accepted one.
  • Sources cited (Légifrance decree/arrêté of 27 July 2026, data.gouv.fr PA dataset, EN 16931 explainer).

Checks

  • No platform-agreed-count figures cited, per the guardrail on unstable numbers.
  • No claim that gofact transmits to the administration; the "gofact produces the file, your approved platform carries it" line is present.
  • Wired into both mkdocs.yml nav entries under Comprendre la réforme.
  • ~1100 words, within the 900–1600 target.

Add the week 3 deep-dive article on Factur-X internals: the PDF/A-3
wrapper, the embedded CII XML, the EN 16931 field nomenclature (BT-34/
BT-49 routing addresses in particular), and why reconstructing the XML
instead of embedding it verbatim is the most common way to lose those
addresses. Wire it into both mkdocs nav entries under Comprendre la
réforme.
@btouchard
btouchard merged commit ab83853 into main Sep 19, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant