{
  "engine_version": "84cbbc170cb32d2496f0293b951fd847110ce963",
  "generated_from": [
    "app/application/dto/erp_invoice_data.py (ErpInvoiceData)",
    "app/domain/services/convert_invoice_data_field_coverage.py (CONVERT_INVOICE_DATA_FIELD_COVERAGE)",
    "app/infrastructure/api/routes/convert.py (DRY_RUN_ERP_FIELD_HINTS)",
    "app/domain/services/facturx_mapper.py (FacturxMapper real CII emission)",
    "app/resources/facturx_1.08/en16931/FACTUR-X_EN16931.sch (EN16931 rule grounding)",
    "app/resources/fr_ctc/1.3.1 (France CTC rule grounding)",
    "tests/fixtures (golden_cases — committed corpus, no invention)"
  ],
  "rule_grounding": {
    "schematron_rule_count": 615,
    "fr_ctc_version": "1.3.1",
    "omitted_unverified_rules": {
      "vat_point_date": [
        "BR-CO-3"
      ],
      "vat_point_date_code": [
        "BR-CO-3"
      ]
    }
  },
  "fields": [
    {
      "json_path": "invoice_number",
      "type": "string",
      "requirement": "required",
      "readiness_requirement": "required",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-1",
      "bg": null,
      "en16931_rule": "BR-02",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": "rsm:CrossIndustryInvoice/rsm:ExchangedDocument/ram:ID",
      "coverage_status": "emitted",
      "example_valid": "FX-EXEMPLE-FR2026-0004",
      "example_explanation": null,
      "typical_error": "Numéro de facture requis ou invalide.",
      "error_code": "BR-02",
      "description": null
    },
    {
      "json_path": "issue_date",
      "type": "string",
      "requirement": "required",
      "readiness_requirement": "required",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-2",
      "bg": null,
      "en16931_rule": "BR-03",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": "2026-05-07",
      "example_explanation": null,
      "typical_error": "Date d'émission requis ou invalide.",
      "error_code": "BR-03",
      "description": "ISO 8601 date (YYYY-MM-DD)"
    },
    {
      "json_path": "invoice_type",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-3",
      "bg": null,
      "en16931_rule": "BR-04",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": "rsm:CrossIndustryInvoice/rsm:ExchangedDocument/ram:TypeCode",
      "coverage_status": "emitted",
      "example_valid": "380",
      "example_explanation": null,
      "typical_error": "Type de facture requis ou invalide.",
      "error_code": "BR-04",
      "description": "380=invoice, 381=credit note, 384=corrected invoice"
    },
    {
      "json_path": "currency",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-5",
      "bg": null,
      "en16931_rule": "BR-05",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": "rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:InvoiceCurrencyCode",
      "coverage_status": "emitted",
      "example_valid": "EUR",
      "example_explanation": null,
      "typical_error": "Devise de facture requis ou invalide.",
      "error_code": "BR-05",
      "description": null
    },
    {
      "json_path": "business_process",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "required_nonblocking",
      "blocks_conversion_when_missing": false,
      "required_when": null,
      "applicability": "target=france_2026",
      "required_for": "france_2026_transmission",
      "generation_when_missing": "allowed",
      "accepted_values": [
        "B1",
        "S1",
        "M1",
        "B2",
        "S2",
        "M2",
        "S3",
        "B4",
        "S4",
        "M4",
        "S5",
        "S6",
        "B7",
        "S7",
        "B8",
        "S8",
        "M8"
      ],
      "accepted_options": [
        {
          "value": "B1",
          "label": "Facture de biens",
          "description": "Facture portant sur des biens."
        },
        {
          "value": "S1",
          "label": "Facture de services",
          "description": "Facture portant sur une prestation de service."
        },
        {
          "value": "M1",
          "label": "Facture mixte",
          "description": "Biens et services indépendants les uns des autres sur une même facture."
        },
        {
          "value": "B2",
          "label": "Facture de biens déjà payée",
          "description": "Facture de biens dont le montant a déjà été payé."
        },
        {
          "value": "S2",
          "label": "Facture de services déjà payée",
          "description": "Facture de services dont le montant a déjà été payé."
        },
        {
          "value": "M2",
          "label": "Facture mixte déjà payée",
          "description": "Facture mixte dont le montant a déjà été payé."
        },
        {
          "value": "S3",
          "label": "Sous-traitance avec paiement direct (B2G)",
          "description": "Demande de paiement direct d'un sous-traitant dans un contexte B2G."
        },
        {
          "value": "B4",
          "label": "Facture définitive de biens après acompte",
          "description": "Facture définitive de biens émise après un acompte."
        },
        {
          "value": "S4",
          "label": "Facture définitive de services après acompte",
          "description": "Facture définitive de services émise après un acompte."
        },
        {
          "value": "M4",
          "label": "Facture mixte définitive après acompte",
          "description": "Facture mixte définitive émise après un acompte."
        },
        {
          "value": "S5",
          "label": "Facture de sous-traitant",
          "description": "Facture de prestation de service déposée par un sous-traitant."
        },
        {
          "value": "S6",
          "label": "Facture de cotraitant",
          "description": "Facture de prestation de service déposée par un cotraitant."
        },
        {
          "value": "B7",
          "label": "Facture de biens déjà e-reportée",
          "description": "Facture de biens déjà couverte par un e-reporting, avec TVA déjà collectée."
        },
        {
          "value": "S7",
          "label": "Facture de services déjà e-reportée",
          "description": "Facture de services déjà couverte par un e-reporting, avec TVA déjà collectée."
        },
        {
          "value": "B8",
          "label": "Facture multi-vendeurs de biens",
          "description": "Facture regroupant plusieurs vendeurs et portant sur des biens."
        },
        {
          "value": "S8",
          "label": "Facture multi-vendeurs de services",
          "description": "Facture regroupant plusieurs vendeurs et portant sur des services."
        },
        {
          "value": "M8",
          "label": "Facture multi-vendeurs mixte",
          "description": "Facture multi-vendeurs regroupant des factures unitaires de catégories différentes."
        }
      ],
      "accepted_values_guidance": "Choisissez le code qui décrit le processus réel de cette facture. Le service ne peut pas le déduire de façon fiable des montants, de la TVA ou du profil cible ; en cas de doute, faites confirmer ce choix par le responsable facturation ou comptable.",
      "accepted_values_source": {
        "authority": "AFNOR FE",
        "reference": "XP Z12-012, BR-FR-08",
        "url": "https://www.e-invoicing-france.eu/documentation/xp-z12-012/AFNOR-FE-XP-Z12-012-4-Formats-et-profils"
      },
      "bt": "BT-23",
      "bg": null,
      "en16931_rule": null,
      "france_2026_rule": "BR-FR-08",
      "target_policy_rule": "FX-POLICY-FR-2026-BT23-INPUT",
      "cii_xpath": "rsm:CrossIndustryInvoice/rsm:ExchangedDocumentContext/ram:BusinessProcessSpecifiedDocumentContextParameter/ram:ID",
      "coverage_status": "emitted",
      "example_valid": "S1",
      "example_explanation": "L'exemple synthétique utilise S1 parce qu'il décrit une facture de services uniquement ; ne réutilisez pas ce code sans vérifier le processus réel de votre facture.",
      "typical_error": "Cadre de facturation absent : entrée France 2026 non bloquante ; une valeur fournie hors vocabulaire relève séparément de BR-FR-08.",
      "error_code": "FX-POLICY-FR-2026-BT23-INPUT",
      "description": "Cadre de facturation France 2026 (BT-23). Choisissez le code qui décrit le processus métier réel de la facture ; cette valeur n'est jamais déduite des montants, de la TVA ou de la cible. En cas de doute, faites-la confirmer par le responsable facturation ou comptable. Son absence laisse BT-23 non renseigné et ne bloque pas la génération locale. Valeurs acceptées : B1, S1, M1, B2, S2, M2, S3, B4, S4, M4, S5, S6, B7, S7, B8, S8, M8."
    },
    {
      "json_path": "seller.name",
      "type": "string",
      "requirement": "required",
      "readiness_requirement": "required",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-27",
      "bg": null,
      "en16931_rule": "BR-06",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": "rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:Name",
      "coverage_status": "emitted",
      "example_valid": "ACME Travaux SAS",
      "example_explanation": null,
      "typical_error": "Nom du vendeur requis ou invalide.",
      "error_code": "BR-06",
      "description": "Legal name"
    },
    {
      "json_path": "seller.address.country",
      "type": "string",
      "requirement": "required",
      "readiness_requirement": "required",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-40",
      "bg": "BG-5",
      "en16931_rule": "BR-08",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": "rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:PostalTradeAddress/ram:CountryID",
      "coverage_status": "emitted",
      "example_valid": "FR",
      "example_explanation": null,
      "typical_error": "Pays du vendeur requis ou invalide.",
      "error_code": "invalid_invoice_data",
      "description": "ISO 3166-1 alpha-2 country code"
    },
    {
      "json_path": "seller.address.street",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-35",
      "bg": "BG-5",
      "en16931_rule": "BR-08",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": "rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:PostalTradeAddress/ram:LineOne",
      "coverage_status": "emitted",
      "example_valid": "12 rue de l'Exemple",
      "example_explanation": null,
      "typical_error": "Adresse du vendeur requis ou invalide.",
      "error_code": "BR-08",
      "description": null
    },
    {
      "json_path": "seller.address.city",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-37",
      "bg": "BG-5",
      "en16931_rule": "BR-08",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": "rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:PostalTradeAddress/ram:CityName",
      "coverage_status": "emitted",
      "example_valid": "Lyon",
      "example_explanation": null,
      "typical_error": "Adresse du vendeur requis ou invalide.",
      "error_code": "BR-08",
      "description": null
    },
    {
      "json_path": "seller.address.postal_code",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-38",
      "bg": "BG-5",
      "en16931_rule": "BR-08",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": "rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:PostalTradeAddress/ram:PostcodeCode",
      "coverage_status": "emitted",
      "example_valid": "69001",
      "example_explanation": null,
      "typical_error": "Adresse du vendeur requis ou invalide.",
      "error_code": "BR-08",
      "description": null
    },
    {
      "json_path": "seller.vat_id",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": "TVA IGIC (catégorie L); TVA IPSI (catégorie M); au moins un de ce groupe de champs; export hors UE (catégorie G); interdit hors champ de la TVA (catégorie O); livraison intracommunautaire (catégorie K)",
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-31",
      "bg": null,
      "en16931_rule": "BR-AF-02, BR-AG-02, BR-CO-26, BR-G-02, BR-IC-02, BR-O-02, BR-S-02",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": "rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:SpecifiedTaxRegistration/ram:ID",
      "coverage_status": "emitted",
      "example_valid": "FR12345678901",
      "example_explanation": null,
      "typical_error": "Identifiant TVA vendeur requis (au moins un de ce groupe de champs).",
      "error_code": "BR-CO-26",
      "description": "VAT registration number (e.g., FR12345678901)"
    },
    {
      "json_path": "seller.siret",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": "target=france_2026",
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-29",
      "bg": null,
      "en16931_rule": "BR-CO-26",
      "france_2026_rule": "BR-FR-10",
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "derived",
      "example_valid": "12345678900010",
      "example_explanation": null,
      "typical_error": "SIREN vendeur requis ou invalide.",
      "error_code": "BR-FR-10",
      "description": "SIRET identifier (FR only)"
    },
    {
      "json_path": "seller.electronic_address.value",
      "type": "string",
      "requirement": "conditional",
      "readiness_requirement": "conditional",
      "blocks_conversion_when_missing": null,
      "required_when": "target=france_2026",
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-34",
      "bg": null,
      "en16931_rule": null,
      "france_2026_rule": "BR-FR-13",
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": "12345678900010",
      "example_explanation": null,
      "typical_error": "Identifiant électronique vendeur requis ou invalide.",
      "error_code": "BR-FR-13",
      "description": null
    },
    {
      "json_path": "seller.electronic_address.scheme_id",
      "type": "string",
      "requirement": "conditional",
      "readiness_requirement": "conditional",
      "blocks_conversion_when_missing": null,
      "required_when": "target=france_2026",
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-34",
      "bg": null,
      "en16931_rule": null,
      "france_2026_rule": "BR-FR-13",
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": "0002",
      "example_explanation": null,
      "typical_error": "Identifiant électronique vendeur requis ou invalide.",
      "error_code": "BR-FR-13",
      "description": "Electronic Address Scheme identifier for BT-34/BT-49"
    },
    {
      "json_path": "seller.tax_registration_id",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": "TVA IGIC (catégorie L); TVA IPSI (catégorie M)",
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-32",
      "bg": null,
      "en16931_rule": "BR-AF-02, BR-AG-02",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": "Identifiant fiscal vendeur (hors TVA) requis (TVA IGIC (catégorie L)).",
      "error_code": "BR-AF-02",
      "description": "Seller tax registration identifier other than VAT, BT-32 (emitted with schemeID FC). Seller only — rejected on the buyer."
    },
    {
      "json_path": "seller.legal_registration.value",
      "type": "string",
      "requirement": "conditional",
      "readiness_requirement": "conditional",
      "blocks_conversion_when_missing": null,
      "required_when": "seller.legal_registration fourni",
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-30",
      "bg": null,
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Legal registration identifier, BT-30 (seller) / BT-47 (buyer)"
    },
    {
      "json_path": "seller.legal_registration.scheme_id",
      "type": "string",
      "requirement": "conditional",
      "readiness_requirement": "conditional",
      "blocks_conversion_when_missing": null,
      "required_when": "seller.legal_registration fourni",
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-30",
      "bg": null,
      "en16931_rule": "BR-CL-11",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "ISO 6523 ICD scheme identifier (BR-CL-11), e.g. 0002 (SIREN), 0060 (DUNS)"
    },
    {
      "json_path": "seller.contact.name",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-41",
      "bg": null,
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": "rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:DefinedTradeContact/ram:PersonName",
      "coverage_status": "emitted",
      "example_valid": "Service Facturation",
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Contact point name, BT-41 (seller) / BT-56 (buyer)"
    },
    {
      "json_path": "seller.contact.phone",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-42",
      "bg": null,
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": "rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:DefinedTradeContact/ram:TelephoneUniversalCommunication/ram:CompleteNumber",
      "coverage_status": "emitted",
      "example_valid": "+33123456789",
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Contact telephone, BT-42 (seller) / BT-57 (buyer)"
    },
    {
      "json_path": "seller.contact.email",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-43",
      "bg": null,
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": "rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:DefinedTradeContact/ram:EmailURIUniversalCommunication/ram:URIID",
      "coverage_status": "emitted",
      "example_valid": "facturation@exemple.test",
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Contact email, BT-43 (seller) / BT-58 (buyer)"
    },
    {
      "json_path": "buyer.name",
      "type": "string",
      "requirement": "required",
      "readiness_requirement": "required",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-44",
      "bg": null,
      "en16931_rule": "BR-07",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": "rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:Name",
      "coverage_status": "emitted",
      "example_valid": "Client Exemple SARL",
      "example_explanation": null,
      "typical_error": "Nom de l'acheteur requis ou invalide.",
      "error_code": "BR-07",
      "description": "Legal name"
    },
    {
      "json_path": "buyer.address.country",
      "type": "string",
      "requirement": "required",
      "readiness_requirement": "required",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-55",
      "bg": "BG-8",
      "en16931_rule": "BR-10",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": "rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:PostalTradeAddress/ram:CountryID",
      "coverage_status": "emitted",
      "example_valid": "FR",
      "example_explanation": null,
      "typical_error": "Pays de l'acheteur requis ou invalide.",
      "error_code": "invalid_invoice_data",
      "description": "ISO 3166-1 alpha-2 country code"
    },
    {
      "json_path": "buyer.address.street",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-50",
      "bg": "BG-8",
      "en16931_rule": "BR-10",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": "rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:PostalTradeAddress/ram:LineOne",
      "coverage_status": "emitted",
      "example_valid": "3 avenue de la Démo",
      "example_explanation": null,
      "typical_error": "Adresse de l'acheteur requis ou invalide.",
      "error_code": "BR-10",
      "description": null
    },
    {
      "json_path": "buyer.address.city",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-52",
      "bg": "BG-8",
      "en16931_rule": "BR-10",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": "rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:PostalTradeAddress/ram:CityName",
      "coverage_status": "emitted",
      "example_valid": "Paris",
      "example_explanation": null,
      "typical_error": "Adresse de l'acheteur requis ou invalide.",
      "error_code": "BR-10",
      "description": null
    },
    {
      "json_path": "buyer.address.postal_code",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-53",
      "bg": "BG-8",
      "en16931_rule": "BR-10",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": "rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:PostalTradeAddress/ram:PostcodeCode",
      "coverage_status": "emitted",
      "example_valid": "75001",
      "example_explanation": null,
      "typical_error": "Adresse de l'acheteur requis ou invalide.",
      "error_code": "BR-10",
      "description": null
    },
    {
      "json_path": "buyer.vat_id",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": "au moins un de ce groupe de champs; interdit hors champ de la TVA (catégorie O); livraison intracommunautaire (catégorie K)",
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-48",
      "bg": null,
      "en16931_rule": "BR-AE-02, BR-IC-02, BR-O-02",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": "rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:SpecifiedTaxRegistration/ram:ID",
      "coverage_status": "emitted",
      "example_valid": "FR10987654321",
      "example_explanation": null,
      "typical_error": "Identifiant TVA acheteur requis (livraison intracommunautaire (catégorie K)).",
      "error_code": "BR-IC-02",
      "description": "VAT registration number (e.g., FR12345678901)"
    },
    {
      "json_path": "buyer.siret",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": "au moins un de ce groupe de champs",
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-46",
      "bg": null,
      "en16931_rule": "BR-AE-02",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "derived",
      "example_valid": "98765432100020",
      "example_explanation": null,
      "typical_error": "Identifiant légal acheteur requis (au moins un de ce groupe de champs).",
      "error_code": "BR-AE-02",
      "description": "SIRET identifier (FR only)"
    },
    {
      "json_path": "buyer.electronic_address.value",
      "type": "string",
      "requirement": "conditional",
      "readiness_requirement": "conditional",
      "blocks_conversion_when_missing": null,
      "required_when": "target=france_2026",
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-49",
      "bg": null,
      "en16931_rule": null,
      "france_2026_rule": "BR-FR-12",
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": "98765432100020",
      "example_explanation": null,
      "typical_error": "Identifiant électronique acheteur requis ou invalide.",
      "error_code": "BR-FR-12",
      "description": null
    },
    {
      "json_path": "buyer.electronic_address.scheme_id",
      "type": "string",
      "requirement": "conditional",
      "readiness_requirement": "conditional",
      "blocks_conversion_when_missing": null,
      "required_when": "target=france_2026",
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-49",
      "bg": null,
      "en16931_rule": null,
      "france_2026_rule": "BR-FR-12",
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": "0002",
      "example_explanation": null,
      "typical_error": "Identifiant électronique acheteur requis ou invalide.",
      "error_code": "BR-FR-12",
      "description": "Electronic Address Scheme identifier for BT-34/BT-49"
    },
    {
      "json_path": "buyer.tax_registration_id",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-32",
      "bg": null,
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "fail_closed",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": "Champ refusé par le contrat d'entrée.",
      "error_code": "invalid_invoice_data",
      "description": "Seller tax registration identifier other than VAT, BT-32 (emitted with schemeID FC). Seller only — rejected on the buyer."
    },
    {
      "json_path": "buyer.legal_registration.value",
      "type": "string",
      "requirement": "conditional",
      "readiness_requirement": "conditional",
      "blocks_conversion_when_missing": null,
      "required_when": "buyer.legal_registration fourni",
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-47",
      "bg": null,
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Legal registration identifier, BT-30 (seller) / BT-47 (buyer)"
    },
    {
      "json_path": "buyer.legal_registration.scheme_id",
      "type": "string",
      "requirement": "conditional",
      "readiness_requirement": "conditional",
      "blocks_conversion_when_missing": null,
      "required_when": "buyer.legal_registration fourni",
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-47",
      "bg": null,
      "en16931_rule": "BR-CL-11",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "ISO 6523 ICD scheme identifier (BR-CL-11), e.g. 0002 (SIREN), 0060 (DUNS)"
    },
    {
      "json_path": "buyer.contact.name",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-56",
      "bg": null,
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Contact point name, BT-41 (seller) / BT-56 (buyer)"
    },
    {
      "json_path": "buyer.contact.phone",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-57",
      "bg": null,
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Contact telephone, BT-42 (seller) / BT-57 (buyer)"
    },
    {
      "json_path": "buyer.contact.email",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-58",
      "bg": null,
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Contact email, BT-43 (seller) / BT-58 (buyer)"
    },
    {
      "json_path": "totals.net",
      "type": "decimal",
      "requirement": "required",
      "readiness_requirement": "required",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-109",
      "bg": null,
      "en16931_rule": "BR-CO-10, BR-CO-13, BR-CO-15",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": "100.00",
      "example_explanation": null,
      "typical_error": "Total HT de facture requis ou invalide.",
      "error_code": "BR-CO-10",
      "description": "Total HT (BT-109)"
    },
    {
      "json_path": "totals.tax",
      "type": "decimal",
      "requirement": "required",
      "readiness_requirement": "required",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-110",
      "bg": null,
      "en16931_rule": "BR-CO-14, BR-CO-15",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": "rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:TaxTotalAmount",
      "coverage_status": "emitted",
      "example_valid": "20.00",
      "example_explanation": null,
      "typical_error": "Total TVA de facture requis ou invalide.",
      "error_code": "BR-CO-14",
      "description": "Total TVA (BT-110)"
    },
    {
      "json_path": "totals.gross",
      "type": "decimal",
      "requirement": "required",
      "readiness_requirement": "required",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-112",
      "bg": null,
      "en16931_rule": "BR-CO-15",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": "120.00",
      "example_explanation": null,
      "typical_error": "Total TTC de facture requis ou invalide.",
      "error_code": "BR-CO-15",
      "description": "Total TTC (BT-112)"
    },
    {
      "json_path": "totals.due",
      "type": "decimal",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-115",
      "bg": null,
      "en16931_rule": "BR-CO-16",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": "120.00",
      "example_explanation": null,
      "typical_error": "Montant restant à payer requis ou invalide.",
      "error_code": "BR-CO-16",
      "description": "Amount due, BT-115 (defaults to gross - prepaid_amount + rounding_amount; may be negative when prepaid exceeds gross)"
    },
    {
      "json_path": "totals.prepaid_amount",
      "type": "decimal",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-113",
      "bg": null,
      "en16931_rule": "BR-CO-16",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Amount already paid, BT-113"
    },
    {
      "json_path": "totals.rounding_amount",
      "type": "decimal",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-114",
      "bg": null,
      "en16931_rule": "BR-CO-16",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Rounding amount applied to the amount due, BT-114 (may be negative)"
    },
    {
      "json_path": "tax_breakdown[].rate",
      "type": "decimal",
      "requirement": "required",
      "readiness_requirement": "required",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-119",
      "bg": null,
      "en16931_rule": "BR-CO-17, BR-S-08",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": "20.00",
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "VAT rate percentage (e.g., 20)"
    },
    {
      "json_path": "tax_breakdown[].category",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": "une seule ventilation TVA en catégorie O",
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-118",
      "bg": "BG-23",
      "en16931_rule": "BR-CO-17, BR-CO-18, BR-O-01, BR-S-08",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": "rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:CategoryCode",
      "coverage_status": "emitted",
      "example_valid": "S",
      "example_explanation": null,
      "typical_error": "Ventilation TVA requis ou invalide.",
      "error_code": "BR-CO-17",
      "description": "VAT category code per EN16931"
    },
    {
      "json_path": "tax_breakdown[].base",
      "type": "decimal",
      "requirement": "required",
      "readiness_requirement": "required",
      "blocks_conversion_when_missing": null,
      "required_when": "base = lignes − remises + frais (BR-S-08)",
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-116",
      "bg": null,
      "en16931_rule": "BR-S-08",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": "rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:BasisAmount",
      "coverage_status": "emitted",
      "example_valid": "100.00",
      "example_explanation": null,
      "typical_error": "Base HT par taux de TVA requis (base = lignes − remises + frais (BR-S-08)).",
      "error_code": "BR-S-08",
      "description": "Taxable base amount (may be negative)"
    },
    {
      "json_path": "tax_breakdown[].amount",
      "type": "decimal",
      "requirement": "required",
      "readiness_requirement": "required",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-117",
      "bg": null,
      "en16931_rule": "BR-CO-14, BR-CO-17",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": "20.00",
      "example_explanation": null,
      "typical_error": "Montants TVA par taux requis ou invalide.",
      "error_code": "BR-CO-14",
      "description": "Tax amount (may be negative)"
    },
    {
      "json_path": "tax_breakdown[].exemption_reason",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-120",
      "bg": null,
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Per-entry VAT exemption reason text, BT-120"
    },
    {
      "json_path": "tax_breakdown[].exemption_reason_code",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": "export hors UE (catégorie G); livraison intracommunautaire (catégorie K)",
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-121",
      "bg": null,
      "en16931_rule": "BR-G-10, BR-IC-10",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": "Motif d'exonération (livraison intracommunautaire) requis (livraison intracommunautaire (catégorie K)).",
      "error_code": "BR-IC-10",
      "description": "Per-entry VAT exemption reason code (VATEX), BT-121"
    },
    {
      "json_path": "line_items[].number",
      "type": "string",
      "requirement": "required",
      "readiness_requirement": "required",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-126",
      "bg": "BG-25",
      "en16931_rule": "BR-13",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": "1",
      "example_explanation": null,
      "typical_error": "Lignes de facture requis ou invalide.",
      "error_code": "invalid_invoice_data",
      "description": "Line identifier"
    },
    {
      "json_path": "line_items[].description",
      "type": "string",
      "requirement": "required",
      "readiness_requirement": "required",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-153",
      "bg": null,
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": "rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedTradeProduct/ram:Name",
      "coverage_status": "emitted",
      "example_valid": "Prestation de service exemple",
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Item name, BT-153 (SpecifiedTradeProduct/Name); the free-text item description is the separate optional item_description (BT-154)"
    },
    {
      "json_path": "line_items[].quantity",
      "type": "decimal",
      "requirement": "required",
      "readiness_requirement": "required",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-129",
      "bg": null,
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": "1",
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Invoiced quantity"
    },
    {
      "json_path": "line_items[].unit",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-130",
      "bg": null,
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": "C62",
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "UN/ECE unit code"
    },
    {
      "json_path": "line_items[].unit_price",
      "type": "decimal",
      "requirement": "required",
      "readiness_requirement": "required",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-146",
      "bg": null,
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": "100.00",
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Unit price HT (non-negative for invoices)"
    },
    {
      "json_path": "line_items[].net_amount",
      "type": "decimal",
      "requirement": "required",
      "readiness_requirement": "required",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-131",
      "bg": null,
      "en16931_rule": "BR-CO-10",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": "100.00",
      "example_explanation": null,
      "typical_error": "Montants HT des lignes requis ou invalide.",
      "error_code": "BR-CO-10",
      "description": "Line net amount HT, BT-131 (final, after line allowances/charges)"
    },
    {
      "json_path": "line_items[].vat_rate",
      "type": "decimal",
      "requirement": "required",
      "readiness_requirement": "required",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-152",
      "bg": "BG-23",
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": "rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax/ram:RateApplicablePercent",
      "coverage_status": "derived",
      "example_valid": "20.00",
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "VAT rate percentage"
    },
    {
      "json_path": "line_items[].vat_category",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": "toutes les lignes en catégorie O",
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-151",
      "bg": "BG-23",
      "en16931_rule": "BR-AE-02, BR-O-11",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": "rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax/ram:CategoryCode",
      "coverage_status": "derived",
      "example_valid": "S",
      "example_explanation": null,
      "typical_error": "Catégorie de TVA des lignes requis (toutes les lignes en catégorie O).",
      "error_code": "BR-O-11",
      "description": "VAT category code"
    },
    {
      "json_path": "line_items[].purchase_order_line_reference",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-132",
      "bg": null,
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Referenced purchase order line, BT-132"
    },
    {
      "json_path": "line_items[].buyer_accounting_reference",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-133",
      "bg": null,
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Line buyer accounting reference, BT-133"
    },
    {
      "json_path": "line_items[].object_identifier",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-128",
      "bg": null,
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Invoice line object identifier, BT-128 — an identifier for an object this line relates to (asset, meter, subscription item). Emitted as line AdditionalReferencedDocument with TypeCode 130."
    },
    {
      "json_path": "line_items[].object_scheme_code",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-128-1",
      "bg": null,
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Scheme of the line object identifier, BT-128-1 (UNTDID 1153 reference type code) — emitted as ReferenceTypeCode."
    },
    {
      "json_path": "line_items[].period.start_date",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-134",
      "bg": null,
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Invoice line period start date, BT-134 (YYYY-MM-DD)"
    },
    {
      "json_path": "line_items[].period.end_date",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-135",
      "bg": null,
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Invoice line period end date, BT-135 (YYYY-MM-DD)"
    },
    {
      "json_path": "line_items[].allowances[].amount",
      "type": "decimal",
      "requirement": "conditional",
      "readiness_requirement": "conditional",
      "blocks_conversion_when_missing": null,
      "required_when": "line_items.allowances fourni",
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-136",
      "bg": "BG-27",
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Allowance amount BT-136 / charge amount BT-141 (always positive)"
    },
    {
      "json_path": "line_items[].allowances[].base_amount",
      "type": "decimal",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-137",
      "bg": "BG-27",
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Base amount BT-137 / BT-142 (optional)"
    },
    {
      "json_path": "line_items[].allowances[].reason",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-139",
      "bg": "BG-27",
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Reason text BT-139 / BT-144"
    },
    {
      "json_path": "line_items[].allowances[].reason_code",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-140",
      "bg": "BG-27",
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "UNTDID 5189 (allowance) / 7161 (charge) reason code, BT-140 / BT-145"
    },
    {
      "json_path": "line_items[].charges[].amount",
      "type": "decimal",
      "requirement": "conditional",
      "readiness_requirement": "conditional",
      "blocks_conversion_when_missing": null,
      "required_when": "line_items.charges fourni",
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-141",
      "bg": "BG-28",
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Allowance amount BT-136 / charge amount BT-141 (always positive)"
    },
    {
      "json_path": "line_items[].charges[].base_amount",
      "type": "decimal",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-142",
      "bg": "BG-28",
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Base amount BT-137 / BT-142 (optional)"
    },
    {
      "json_path": "line_items[].charges[].reason",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-144",
      "bg": "BG-28",
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Reason text BT-139 / BT-144"
    },
    {
      "json_path": "line_items[].charges[].reason_code",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-145",
      "bg": "BG-28",
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "UNTDID 5189 (allowance) / 7161 (charge) reason code, BT-140 / BT-145"
    },
    {
      "json_path": "line_items[].gross_unit_price",
      "type": "decimal",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-148",
      "bg": null,
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Gross unit price before price discount, BT-148 (BR-28: non-negative)"
    },
    {
      "json_path": "line_items[].price_discount",
      "type": "decimal",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-147",
      "bg": null,
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Per-unit price discount, BT-147 (requires gross_unit_price)"
    },
    {
      "json_path": "line_items[].item_description",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-154",
      "bg": null,
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Item description free text, BT-154 (distinct from the BT-153 name)"
    },
    {
      "json_path": "line_items[].seller_item_id",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-155",
      "bg": null,
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Seller's item identifier / n° article vendeur, BT-155"
    },
    {
      "json_path": "line_items[].buyer_item_id",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-156",
      "bg": null,
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Buyer's item identifier, BT-156"
    },
    {
      "json_path": "line_items[].standard_item_id.value",
      "type": "string",
      "requirement": "conditional",
      "readiness_requirement": "conditional",
      "blocks_conversion_when_missing": null,
      "required_when": "line_items.standard_item_id fourni",
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-157",
      "bg": null,
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "BT-157"
    },
    {
      "json_path": "line_items[].standard_item_id.scheme_id",
      "type": "string",
      "requirement": "conditional",
      "readiness_requirement": "conditional",
      "blocks_conversion_when_missing": null,
      "required_when": "line_items.standard_item_id fourni",
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-157-1",
      "bg": null,
      "en16931_rule": "BR-CL-21",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "ISO 6523 ICD scheme (BR-CL-21), e.g. 0160 (GS1 GTIN)"
    },
    {
      "json_path": "line_items[].classification.value",
      "type": "string",
      "requirement": "conditional",
      "readiness_requirement": "conditional",
      "blocks_conversion_when_missing": null,
      "required_when": "line_items.classification fourni",
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-158",
      "bg": null,
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "BT-158"
    },
    {
      "json_path": "line_items[].classification.scheme_id",
      "type": "string",
      "requirement": "conditional",
      "readiness_requirement": "conditional",
      "blocks_conversion_when_missing": null,
      "required_when": "line_items.classification fourni",
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-158-1",
      "bg": null,
      "en16931_rule": "BR-CL-13",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "UNTDID 7143 scheme (BR-CL-13)"
    },
    {
      "json_path": "line_items[].origin_country",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-159",
      "bg": null,
      "en16931_rule": "BR-CL-15",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Item country of origin, BT-159 (ISO 3166-1 alpha-2) — emitted as SpecifiedTradeProduct/OriginTradeCountry/ID."
    },
    {
      "json_path": "line_items[].attributes[].name",
      "type": "string",
      "requirement": "conditional",
      "readiness_requirement": "conditional",
      "blocks_conversion_when_missing": null,
      "required_when": "line_items.attributes fourni",
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-160",
      "bg": null,
      "en16931_rule": "BR-54",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Attribute name, BT-160"
    },
    {
      "json_path": "line_items[].attributes[].value",
      "type": "string",
      "requirement": "conditional",
      "readiness_requirement": "conditional",
      "blocks_conversion_when_missing": null,
      "required_when": "line_items.attributes fourni",
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-161",
      "bg": null,
      "en16931_rule": "BR-54",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Attribute value, BT-161"
    },
    {
      "json_path": "payment.due_date",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": "target=france_2026",
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-9",
      "bg": null,
      "en16931_rule": "BR-CO-25",
      "france_2026_rule": "BR-FR-CO-07",
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": "2026-06-06",
      "example_explanation": null,
      "typical_error": "Date d'échéance de paiement requis (date d'échéance postérieure ou égale à la date d'émission).",
      "error_code": "BR-FR-CO-07",
      "description": "ISO 8601 date (YYYY-MM-DD)"
    },
    {
      "json_path": "payment.terms",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": "au moins un de ce groupe de champs",
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-20",
      "bg": null,
      "en16931_rule": "BR-CO-25",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": "rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradePaymentTerms/ram:Description",
      "coverage_status": "emitted",
      "example_valid": "Paiement à 30 jours.",
      "example_explanation": null,
      "typical_error": "Conditions de paiement requis (au moins un de ce groupe de champs).",
      "error_code": "BR-CO-25",
      "description": "Payment terms text"
    },
    {
      "json_path": "payment.means_code",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-81",
      "bg": null,
      "en16931_rule": "BR-CL-16",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Payment means type code, BT-81 (UNCL4461, e.g. 30=credit transfer, 58=SEPA credit transfer). Defaults to 30 when absent and an account is present."
    },
    {
      "json_path": "payment.iban",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": "paiement par virement (BT-81 = 30/58)",
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-84",
      "bg": null,
      "en16931_rule": "BR-CO-27",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": "rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementPaymentMeans/ram:PayeePartyCreditorFinancialAccount/ram:IBANID",
      "coverage_status": "derived",
      "example_valid": "FR0030006000011234567890189",
      "example_explanation": null,
      "typical_error": "IBAN vendeur BT-84 requis (paiement par virement (BT-81 = 30/58)).",
      "error_code": "BR-CO-27",
      "description": "Payment account IBAN, BT-84 (PayeePartyCreditorFinancialAccount/IBANID). Mutually exclusive with account_proprietary_id — an account is either an IBAN or a proprietary id, never both (BR-CO-27)."
    },
    {
      "json_path": "payment.account_proprietary_id",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-84",
      "bg": null,
      "en16931_rule": "BR-50, BR-61, BR-CO-27",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Proprietary payment account identifier, BT-84 (PayeePartyCreditorFinancialAccount/ProprietaryID) for an account that has no IBAN. France 2026 / FR-CTC accepts a proprietary account (BR-50 / BR-61: IBANID or ProprietaryID). Mutually exclusive with iban (BR-CO-27)."
    },
    {
      "json_path": "payment.account_name",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-85",
      "bg": null,
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Payment account name, BT-85 (PayeePartyCreditorFinancialAccount/AccountName). Requires iban or account_proprietary_id (BT-84) — it is emitted inside the creditor account block (BG-17)."
    },
    {
      "json_path": "payment.bic",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-86",
      "bg": null,
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": "rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementPaymentMeans/ram:PayeeSpecifiedCreditorFinancialInstitution/ram:BICID",
      "coverage_status": "emitted",
      "example_valid": "AGRIFRPPXXX",
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": null
    },
    {
      "json_path": "payment.mandate_reference",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-89",
      "bg": null,
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "SEPA Direct Debit mandate reference, BT-89 (SpecifiedTradePaymentTerms/DirectDebitMandateID). Identifies the mandate the buyer signed authorising the direct debit. Coherent only with a direct-debit means_code (49 or 59); optional under EN16931."
    },
    {
      "json_path": "payment.debtor_account_iban",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-91",
      "bg": null,
      "en16931_rule": "FX-SCH-A-000195",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": "Compte débité (prélèvement SEPA) requis ou invalide.",
      "error_code": "FX-SCH-A-000195",
      "description": "Debited account identifier, BT-91 (SpecifiedTradeSettlementPaymentMeans/PayerPartyDebtorFinancialAccount/IBANID) — the buyer account the direct debit is taken from. Coherent only with a direct-debit means_code (49 or 59)."
    },
    {
      "json_path": "payment.creditor_sepa_identifier",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-90",
      "bg": null,
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Bank assigned creditor identifier, BT-90 (ApplicableHeaderTradeSettlement/CreditorReferenceID) — the seller's SEPA creditor identifier (ICS). Coherent only with a direct-debit means_code (49 or 59)."
    },
    {
      "json_path": "payee.name",
      "type": "string",
      "requirement": "conditional",
      "readiness_requirement": "conditional",
      "blocks_conversion_when_missing": null,
      "required_when": "payee fourni",
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-59",
      "bg": null,
      "en16931_rule": "BR-17",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Payee name, BT-59 (PayeeTradeParty/Name)"
    },
    {
      "json_path": "payee.identifier",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-60",
      "bg": null,
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Payee identifier, BT-60 (PayeeTradeParty/ID)"
    },
    {
      "json_path": "delivery.date",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": "livraison intracommunautaire (catégorie K); preuve de livraison ou période de service",
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-72",
      "bg": null,
      "en16931_rule": "BR-FX-EN-04, BR-IC-11, FX-SCH-A-000354",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": "Date de livraison requis (livraison intracommunautaire (catégorie K)).",
      "error_code": "BR-IC-11",
      "description": "Actual delivery date, BT-72 (YYYY-MM-DD)"
    },
    {
      "json_path": "delivery.party_name",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-70",
      "bg": null,
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Deliver-to party name, BT-70 (ShipToTradeParty/Name) — the party goods/services are delivered to. Optional and independent of the address."
    },
    {
      "json_path": "delivery.address.country",
      "type": "string",
      "requirement": "conditional",
      "readiness_requirement": "conditional",
      "blocks_conversion_when_missing": null,
      "required_when": "livraison intracommunautaire (catégorie K)",
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-80",
      "bg": "BG-13",
      "en16931_rule": "BR-IC-12",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": "Pays de livraison requis (livraison intracommunautaire (catégorie K)).",
      "error_code": "BR-IC-12",
      "description": "ISO 3166-1 alpha-2 country code"
    },
    {
      "json_path": "delivery.address.street",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-75",
      "bg": "BG-13",
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": null
    },
    {
      "json_path": "delivery.address.city",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-77",
      "bg": "BG-13",
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": null
    },
    {
      "json_path": "delivery.address.postal_code",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-78",
      "bg": "BG-13",
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": null
    },
    {
      "json_path": "references.buyer_reference",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-10",
      "bg": null,
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": "rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerReference",
      "coverage_status": "emitted",
      "example_valid": "SERVICE-EXEMPLE-01",
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Buyer reference / service exécutant, BT-10"
    },
    {
      "json_path": "references.purchase_order_reference",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-13",
      "bg": null,
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": "rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerOrderReferencedDocument/ram:IssuerAssignedID",
      "coverage_status": "emitted",
      "example_valid": "CMD-EXEMPLE-2026-001",
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Purchase order reference (n° de commande), BT-13"
    },
    {
      "json_path": "references.contract_reference",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-12",
      "bg": null,
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Contract reference (n° de marché/contrat), BT-12"
    },
    {
      "json_path": "references.project_reference",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-11",
      "bg": null,
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Project reference, BT-11"
    },
    {
      "json_path": "references.tender_or_lot_reference",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-17",
      "bg": null,
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Tender or lot reference (référence appel d'offres / lot), BT-17 — public-procurement marché/lot identifier. Emitted as AdditionalReferencedDocument with TypeCode 50."
    },
    {
      "json_path": "references.despatch_advice_reference",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-16",
      "bg": null,
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Despatch advice reference (bon de livraison), BT-16"
    },
    {
      "json_path": "references.receiving_advice_reference",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-15",
      "bg": null,
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Receiving advice reference (avis de réception), BT-15"
    },
    {
      "json_path": "references.buyer_accounting_reference",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-19",
      "bg": null,
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Buyer accounting reference (imputation comptable), BT-19"
    },
    {
      "json_path": "references.invoiced_object_identifier",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-18",
      "bg": null,
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Invoiced object identifier, BT-18 — an identifier for an object the invoice relates to (subscription, contract, asset, meter). Emitted as AdditionalReferencedDocument with TypeCode 130."
    },
    {
      "json_path": "references.invoiced_object_scheme_code",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-18-1",
      "bg": null,
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Scheme of the invoiced object identifier, BT-18-1 (UNTDID 1153 reference type code) — emitted as ReferenceTypeCode."
    },
    {
      "json_path": "invoicing_period.start_date",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-73",
      "bg": "BG-14",
      "en16931_rule": "BR-IC-11",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Invoicing period start date, BT-73 (YYYY-MM-DD)"
    },
    {
      "json_path": "invoicing_period.end_date",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-74",
      "bg": "BG-14",
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Invoicing period end date, BT-74 (YYYY-MM-DD)"
    },
    {
      "json_path": "allowances[].amount",
      "type": "decimal",
      "requirement": "conditional",
      "readiness_requirement": "conditional",
      "blocks_conversion_when_missing": null,
      "required_when": "allowances fourni",
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-92",
      "bg": "BG-20",
      "en16931_rule": "BR-CO-11, BR-S-08",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Allowance amount BT-92 / charge amount BT-99 (always positive)"
    },
    {
      "json_path": "allowances[].base_amount",
      "type": "decimal",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-93",
      "bg": "BG-20",
      "en16931_rule": "BR-CO-11, BR-S-08",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Base amount BT-93 / BT-100 (optional)"
    },
    {
      "json_path": "allowances[].reason",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-97",
      "bg": "BG-20",
      "en16931_rule": "BR-CO-11, BR-S-08",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Reason text BT-97 / BT-104"
    },
    {
      "json_path": "allowances[].reason_code",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-98",
      "bg": "BG-20",
      "en16931_rule": "BR-CO-11, BR-S-08",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "UNTDID 5189 (allowance) / 7161 (charge) reason code, BT-98 / BT-105"
    },
    {
      "json_path": "allowances[].vat_category",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-95",
      "bg": "BG-20",
      "en16931_rule": "BR-CO-11, BR-S-08",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "VAT category code BT-95 / BT-102"
    },
    {
      "json_path": "allowances[].vat_rate",
      "type": "decimal",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-96",
      "bg": "BG-20",
      "en16931_rule": "BR-CO-11, BR-S-08",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "VAT rate percentage BT-96 / BT-103"
    },
    {
      "json_path": "charges[].amount",
      "type": "decimal",
      "requirement": "conditional",
      "readiness_requirement": "conditional",
      "blocks_conversion_when_missing": null,
      "required_when": "charges fourni",
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-99",
      "bg": "BG-21",
      "en16931_rule": "BR-CO-11, BR-S-08",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Allowance amount BT-92 / charge amount BT-99 (always positive)"
    },
    {
      "json_path": "charges[].base_amount",
      "type": "decimal",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-100",
      "bg": "BG-21",
      "en16931_rule": "BR-CO-11, BR-S-08",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Base amount BT-93 / BT-100 (optional)"
    },
    {
      "json_path": "charges[].reason",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-104",
      "bg": "BG-21",
      "en16931_rule": "BR-CO-11, BR-S-08",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Reason text BT-97 / BT-104"
    },
    {
      "json_path": "charges[].reason_code",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-105",
      "bg": "BG-21",
      "en16931_rule": "BR-CO-11, BR-S-08",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "UNTDID 5189 (allowance) / 7161 (charge) reason code, BT-98 / BT-105"
    },
    {
      "json_path": "charges[].vat_category",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-102",
      "bg": "BG-21",
      "en16931_rule": "BR-CO-11, BR-S-08",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "VAT category code BT-95 / BT-102"
    },
    {
      "json_path": "charges[].vat_rate",
      "type": "decimal",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-103",
      "bg": "BG-21",
      "en16931_rule": "BR-CO-11, BR-S-08",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "VAT rate percentage BT-96 / BT-103"
    },
    {
      "json_path": "vat_exemption_reason",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": "au moins un de ce groupe de champs",
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-120",
      "bg": null,
      "en16931_rule": "BR-AE-02, BR-AE-10",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": "Autoliquidation de la TVA (article 283-2 du CGI)",
      "example_explanation": null,
      "typical_error": "Mention d'exonération TVA (motif texte) requis ou invalide.",
      "error_code": "BR-AE-02",
      "description": null
    },
    {
      "json_path": "vat_exemption_code",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": "au moins un de ce groupe de champs; facture hors champ de la TVA (catégorie O)",
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-121",
      "bg": null,
      "en16931_rule": "BR-AE-02, BR-AE-10, BR-O-10",
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": "VATEX-EU-AE",
      "example_explanation": null,
      "typical_error": "Motif d'exonération (hors champ TVA) requis (facture hors champ de la TVA (catégorie O)).",
      "error_code": "BR-O-10",
      "description": null
    },
    {
      "json_path": "vat_point_date",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-7",
      "bg": null,
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Value added tax point date, BT-7 (ApplicableTradeTax/TaxPointDate). Mutually exclusive with vat_point_date_code (BR-CO-3)."
    },
    {
      "json_path": "vat_point_date_code",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-8",
      "bg": null,
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Value added tax point date code, BT-8 (ApplicableTradeTax/DueDateTypeCode, UNCL2005): 5=invoice date, 29=delivery/supply date, 72=payment date ('TVA sur les encaissements'). Mutually exclusive with vat_point_date (BR-CO-3)."
    },
    {
      "json_path": "invoice_reference",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-25",
      "bg": "BG-3",
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": "FX-EXEMPLE-0001",
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Original invoice number (for credit notes/corrections)"
    },
    {
      "json_path": "invoice_reference_issue_date",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-26",
      "bg": "BG-3",
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": "2026-01-10",
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Original invoice issue date (BT-26) for credit notes/corrections"
    },
    {
      "json_path": "document_notes[].content",
      "type": "string",
      "requirement": "conditional",
      "readiness_requirement": "conditional",
      "blocks_conversion_when_missing": null,
      "required_when": "target=france_2026",
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-22",
      "bg": null,
      "en16931_rule": null,
      "france_2026_rule": "BR-FR-05",
      "target_policy_rule": null,
      "cii_xpath": "rsm:CrossIndustryInvoice/rsm:ExchangedDocument/ram:IncludedNote/ram:Content",
      "coverage_status": "emitted",
      "example_valid": "Indemnité forfaitaire pour frais de recouvrement de 40 EUR en cas de retard de paiement.",
      "example_explanation": null,
      "typical_error": "Mention frais de recouvrement requis ou invalide.",
      "error_code": "BR-FR-05",
      "description": null
    },
    {
      "json_path": "document_notes[].subject_code",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": "target=france_2026",
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-21",
      "bg": null,
      "en16931_rule": "BR-CL-08",
      "france_2026_rule": "BR-FR-05",
      "target_policy_rule": null,
      "cii_xpath": "rsm:CrossIndustryInvoice/rsm:ExchangedDocument/ram:IncludedNote/ram:SubjectCode",
      "coverage_status": "emitted",
      "example_valid": "PMT",
      "example_explanation": null,
      "typical_error": "Mention frais de recouvrement requis ou invalide.",
      "error_code": "BR-FR-05",
      "description": "UNCL4451 subject code typing the note (BT-21), validated against the EN16931 BR-CL-08 allowlist (e.g. PMT, PMD, AAB, AAI, TXD, BAR)"
    },
    {
      "json_path": "supporting_documents[].reference",
      "type": "string",
      "requirement": "conditional",
      "readiness_requirement": "conditional",
      "blocks_conversion_when_missing": null,
      "required_when": "supporting_documents fourni",
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-122",
      "bg": "BG-24",
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Supporting document reference, BT-122 (IssuerAssignedID)"
    },
    {
      "json_path": "supporting_documents[].description",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-123",
      "bg": null,
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "Supporting document description, BT-123"
    },
    {
      "json_path": "supporting_documents[].url",
      "type": "string",
      "requirement": "optional",
      "readiness_requirement": "optional",
      "blocks_conversion_when_missing": null,
      "required_when": null,
      "applicability": null,
      "required_for": null,
      "generation_when_missing": null,
      "accepted_values": null,
      "accepted_options": null,
      "accepted_values_guidance": null,
      "accepted_values_source": null,
      "bt": "BT-124",
      "bg": null,
      "en16931_rule": null,
      "france_2026_rule": null,
      "target_policy_rule": null,
      "cii_xpath": null,
      "coverage_status": "emitted",
      "example_valid": null,
      "example_explanation": null,
      "typical_error": null,
      "error_code": null,
      "description": "External document location URI, BT-124"
    }
  ],
  "levels": {
    "draft": [
      "buyer.address.country",
      "buyer.name",
      "invoice_number",
      "issue_date",
      "line_items[].description",
      "line_items[].net_amount",
      "line_items[].number",
      "line_items[].quantity",
      "line_items[].unit_price",
      "line_items[].vat_rate",
      "seller.address.country",
      "seller.name",
      "tax_breakdown[].amount",
      "tax_breakdown[].base",
      "tax_breakdown[].rate",
      "totals.gross",
      "totals.net",
      "totals.tax"
    ],
    "en16931_ready": [
      "allowances[].amount",
      "allowances[].base_amount",
      "allowances[].reason",
      "allowances[].reason_code",
      "allowances[].vat_category",
      "allowances[].vat_rate",
      "buyer.address.city",
      "buyer.address.country",
      "buyer.address.postal_code",
      "buyer.address.street",
      "buyer.legal_registration.scheme_id",
      "buyer.name",
      "buyer.siret",
      "buyer.vat_id",
      "charges[].amount",
      "charges[].base_amount",
      "charges[].reason",
      "charges[].reason_code",
      "charges[].vat_category",
      "charges[].vat_rate",
      "currency",
      "delivery.address.country",
      "delivery.date",
      "document_notes[].subject_code",
      "invoice_number",
      "invoice_type",
      "invoicing_period.start_date",
      "issue_date",
      "line_items[].attributes[].name",
      "line_items[].attributes[].value",
      "line_items[].classification.scheme_id",
      "line_items[].description",
      "line_items[].net_amount",
      "line_items[].number",
      "line_items[].origin_country",
      "line_items[].quantity",
      "line_items[].standard_item_id.scheme_id",
      "line_items[].unit_price",
      "line_items[].vat_category",
      "line_items[].vat_rate",
      "payee.name",
      "payment.account_proprietary_id",
      "payment.debtor_account_iban",
      "payment.due_date",
      "payment.iban",
      "payment.means_code",
      "payment.terms",
      "seller.address.city",
      "seller.address.country",
      "seller.address.postal_code",
      "seller.address.street",
      "seller.legal_registration.scheme_id",
      "seller.name",
      "seller.siret",
      "seller.tax_registration_id",
      "seller.vat_id",
      "tax_breakdown[].amount",
      "tax_breakdown[].base",
      "tax_breakdown[].category",
      "tax_breakdown[].exemption_reason_code",
      "tax_breakdown[].rate",
      "totals.due",
      "totals.gross",
      "totals.net",
      "totals.prepaid_amount",
      "totals.rounding_amount",
      "totals.tax",
      "vat_exemption_code",
      "vat_exemption_reason"
    ],
    "france_2026_ready": [
      "allowances[].amount",
      "allowances[].base_amount",
      "allowances[].reason",
      "allowances[].reason_code",
      "allowances[].vat_category",
      "allowances[].vat_rate",
      "buyer.address.city",
      "buyer.address.country",
      "buyer.address.postal_code",
      "buyer.address.street",
      "buyer.electronic_address.scheme_id",
      "buyer.electronic_address.value",
      "buyer.legal_registration.scheme_id",
      "buyer.name",
      "buyer.siret",
      "buyer.vat_id",
      "charges[].amount",
      "charges[].base_amount",
      "charges[].reason",
      "charges[].reason_code",
      "charges[].vat_category",
      "charges[].vat_rate",
      "currency",
      "delivery.address.country",
      "delivery.date",
      "document_notes[].content",
      "document_notes[].subject_code",
      "invoice_number",
      "invoice_type",
      "invoicing_period.start_date",
      "issue_date",
      "line_items[].attributes[].name",
      "line_items[].attributes[].value",
      "line_items[].classification.scheme_id",
      "line_items[].description",
      "line_items[].net_amount",
      "line_items[].number",
      "line_items[].origin_country",
      "line_items[].quantity",
      "line_items[].standard_item_id.scheme_id",
      "line_items[].unit_price",
      "line_items[].vat_category",
      "line_items[].vat_rate",
      "payee.name",
      "payment.account_proprietary_id",
      "payment.debtor_account_iban",
      "payment.due_date",
      "payment.iban",
      "payment.means_code",
      "payment.terms",
      "seller.address.city",
      "seller.address.country",
      "seller.address.postal_code",
      "seller.address.street",
      "seller.electronic_address.scheme_id",
      "seller.electronic_address.value",
      "seller.legal_registration.scheme_id",
      "seller.name",
      "seller.siret",
      "seller.tax_registration_id",
      "seller.vat_id",
      "tax_breakdown[].amount",
      "tax_breakdown[].base",
      "tax_breakdown[].category",
      "tax_breakdown[].exemption_reason_code",
      "tax_breakdown[].rate",
      "totals.due",
      "totals.gross",
      "totals.net",
      "totals.prepaid_amount",
      "totals.rounding_amount",
      "totals.tax",
      "vat_exemption_code",
      "vat_exemption_reason"
    ],
    "france_2026_transmission_ready": [
      "allowances[].amount",
      "allowances[].base_amount",
      "allowances[].reason",
      "allowances[].reason_code",
      "allowances[].vat_category",
      "allowances[].vat_rate",
      "business_process",
      "buyer.address.city",
      "buyer.address.country",
      "buyer.address.postal_code",
      "buyer.address.street",
      "buyer.electronic_address.scheme_id",
      "buyer.electronic_address.value",
      "buyer.legal_registration.scheme_id",
      "buyer.name",
      "buyer.siret",
      "buyer.vat_id",
      "charges[].amount",
      "charges[].base_amount",
      "charges[].reason",
      "charges[].reason_code",
      "charges[].vat_category",
      "charges[].vat_rate",
      "currency",
      "delivery.address.country",
      "delivery.date",
      "document_notes[].content",
      "document_notes[].subject_code",
      "invoice_number",
      "invoice_type",
      "invoicing_period.start_date",
      "issue_date",
      "line_items[].attributes[].name",
      "line_items[].attributes[].value",
      "line_items[].classification.scheme_id",
      "line_items[].description",
      "line_items[].net_amount",
      "line_items[].number",
      "line_items[].origin_country",
      "line_items[].quantity",
      "line_items[].standard_item_id.scheme_id",
      "line_items[].unit_price",
      "line_items[].vat_category",
      "line_items[].vat_rate",
      "payee.name",
      "payment.account_proprietary_id",
      "payment.debtor_account_iban",
      "payment.due_date",
      "payment.iban",
      "payment.means_code",
      "payment.terms",
      "seller.address.city",
      "seller.address.country",
      "seller.address.postal_code",
      "seller.address.street",
      "seller.electronic_address.scheme_id",
      "seller.electronic_address.value",
      "seller.legal_registration.scheme_id",
      "seller.name",
      "seller.siret",
      "seller.tax_registration_id",
      "seller.vat_id",
      "tax_breakdown[].amount",
      "tax_breakdown[].base",
      "tax_breakdown[].category",
      "tax_breakdown[].exemption_reason_code",
      "tax_breakdown[].rate",
      "totals.due",
      "totals.gross",
      "totals.net",
      "totals.prepaid_amount",
      "totals.rounding_amount",
      "totals.tax",
      "vat_exemption_code",
      "vat_exemption_reason"
    ]
  },
  "golden_cases": [
    {
      "name": "autoliquidation / reverse charge (AE)",
      "source_fixture": "tests/fixtures/integration_contract/example_reverse_charge.json",
      "input_json": {
        "invoice_number": "FX-EXEMPLE-AE-0001",
        "issue_date": "2026-01-30",
        "invoice_type": "380",
        "currency": "EUR",
        "seller": {
          "name": "ACME Travaux SAS",
          "address": {
            "country": "FR",
            "street": "12 rue de l'Exemple",
            "city": "Lyon",
            "postal_code": "69001"
          },
          "vat_id": "FR12345678901",
          "siret": "12345678900010"
        },
        "buyer": {
          "name": "Client Exemple SARL",
          "address": {
            "country": "FR",
            "street": "3 avenue de la Démo",
            "city": "Paris",
            "postal_code": "75001"
          },
          "vat_id": "FR10987654321"
        },
        "totals": {
          "net": "10000.00",
          "tax": "0.00",
          "gross": "10000.00"
        },
        "tax_breakdown": [
          {
            "rate": "0",
            "category": "AE",
            "base": "10000.00",
            "amount": "0.00"
          }
        ],
        "line_items": [
          {
            "number": "1",
            "description": "Prestation de services exemple",
            "quantity": "1",
            "unit": "C62",
            "unit_price": "10000.00",
            "net_amount": "10000.00",
            "vat_rate": "0",
            "vat_category": "AE"
          }
        ],
        "payment": {
          "due_date": "2026-03-31",
          "terms": "45 jours fin de mois",
          "iban": "FR0030006000011234567890189",
          "bic": "BNPAFRPPXXX"
        },
        "vat_exemption_reason": "Autoliquidation de la TVA (article 283-2 du CGI)",
        "vat_exemption_code": "VATEX-EU-AE"
      },
      "expected_validation": "accepted_at_intake",
      "expected_errors": []
    },
    {
      "name": "avoir multi-taux (note de crédit 381)",
      "source_fixture": "tests/fixtures/integration_contract/example_avoir_multi_taux.json",
      "input_json": {
        "invoice_number": "FX-EXEMPLE-AVOIR-0002",
        "issue_date": "2026-02-15",
        "invoice_type": "381",
        "currency": "EUR",
        "seller": {
          "name": "ACME Travaux SAS",
          "address": {
            "country": "FR",
            "street": "12 rue de l'Exemple",
            "city": "Lyon",
            "postal_code": "69001"
          },
          "vat_id": "FR12345678901",
          "siret": "12345678900010"
        },
        "buyer": {
          "name": "Client Exemple SARL",
          "address": {
            "country": "FR",
            "street": "3 avenue de la Démo",
            "city": "Paris",
            "postal_code": "75001"
          },
          "vat_id": "FR10987654321"
        },
        "totals": {
          "net": "1200.00",
          "tax": "211.00",
          "gross": "1411.00"
        },
        "tax_breakdown": [
          {
            "rate": "20",
            "category": "S",
            "base": "1000.00",
            "amount": "200.00"
          },
          {
            "rate": "5.5",
            "category": "S",
            "base": "200.00",
            "amount": "11.00"
          }
        ],
        "line_items": [
          {
            "number": "1",
            "description": "Prestation taux normal",
            "quantity": "1",
            "unit": "C62",
            "unit_price": "1000.00",
            "net_amount": "1000.00",
            "vat_rate": "20",
            "vat_category": "S"
          },
          {
            "number": "2",
            "description": "Prestation taux réduit",
            "quantity": "1",
            "unit": "C62",
            "unit_price": "200.00",
            "net_amount": "200.00",
            "vat_rate": "5.5",
            "vat_category": "S"
          }
        ],
        "payment": {
          "due_date": "2026-03-15",
          "terms": "30 jours"
        },
        "invoice_reference": "FX-EXEMPLE-0001",
        "invoice_reference_issue_date": "2026-01-10"
      },
      "expected_validation": "accepted_at_intake",
      "expected_errors": []
    },
    {
      "name": "facture enrichie France 2026 (mentions PMT/PMD/AAB, adressage)",
      "source_fixture": "tests/fixtures/integration_contract/example_france_2026.json",
      "input_json": {
        "invoice_number": "FX-EXEMPLE-FR2026-0004",
        "issue_date": "2026-05-07",
        "invoice_type": "380",
        "currency": "EUR",
        "business_process": "S1",
        "seller": {
          "name": "ACME Travaux SAS",
          "address": {
            "country": "FR",
            "street": "12 rue de l'Exemple",
            "city": "Lyon",
            "postal_code": "69001"
          },
          "vat_id": "FR12345678901",
          "siret": "12345678900010",
          "electronic_address": {
            "scheme_id": "0002",
            "value": "12345678900010"
          },
          "contact": {
            "name": "Service Facturation",
            "phone": "+33123456789",
            "email": "facturation@exemple.test"
          }
        },
        "buyer": {
          "name": "Client Exemple SARL",
          "address": {
            "country": "FR",
            "street": "3 avenue de la Démo",
            "city": "Paris",
            "postal_code": "75001"
          },
          "vat_id": "FR10987654321",
          "siret": "98765432100020",
          "electronic_address": {
            "scheme_id": "0002",
            "value": "98765432100020"
          }
        },
        "totals": {
          "net": "100.00",
          "tax": "20.00",
          "gross": "120.00",
          "due": "120.00"
        },
        "tax_breakdown": [
          {
            "rate": "20.00",
            "category": "S",
            "base": "100.00",
            "amount": "20.00"
          }
        ],
        "line_items": [
          {
            "number": "1",
            "description": "Prestation de service exemple",
            "quantity": "1",
            "unit": "C62",
            "unit_price": "100.00",
            "net_amount": "100.00",
            "vat_rate": "20.00",
            "vat_category": "S"
          }
        ],
        "payment": {
          "due_date": "2026-06-06",
          "terms": "Paiement à 30 jours.",
          "iban": "FR0030006000011234567890189",
          "bic": "AGRIFRPPXXX"
        },
        "references": {
          "buyer_reference": "SERVICE-EXEMPLE-01",
          "purchase_order_reference": "CMD-EXEMPLE-2026-001"
        },
        "document_notes": [
          {
            "subject_code": "PMT",
            "content": "Indemnité forfaitaire pour frais de recouvrement de 40 EUR en cas de retard de paiement."
          },
          {
            "subject_code": "PMD",
            "content": "Pénalités de retard au taux légal applicables dès le lendemain de l'échéance."
          },
          {
            "subject_code": "AAB",
            "content": "Aucun escompte pour paiement anticipé."
          }
        ]
      },
      "expected_validation": "accepted_at_intake",
      "expected_errors": []
    },
    {
      "name": "rejet à l'entrée : montant dû incohérent (BR-CO-16)",
      "source_fixture": "tests/fixtures/integration_contract/example_rejected_br_co_16.json",
      "input_json": {
        "invoice_number": "FX-EXEMPLE-REJET-0003",
        "issue_date": "2026-02-20",
        "invoice_type": "380",
        "currency": "EUR",
        "seller": {
          "name": "ACME Travaux SAS",
          "address": {
            "country": "FR",
            "street": "12 rue de l'Exemple",
            "city": "Lyon",
            "postal_code": "69001"
          },
          "vat_id": "FR12345678901",
          "siret": "12345678900010"
        },
        "buyer": {
          "name": "Client Exemple SARL",
          "address": {
            "country": "FR",
            "street": "3 avenue de la Démo",
            "city": "Paris",
            "postal_code": "75001"
          },
          "vat_id": "FR10987654321"
        },
        "totals": {
          "net": "1000.00",
          "tax": "200.00",
          "gross": "1200.00",
          "due": "999.99"
        },
        "tax_breakdown": [
          {
            "rate": "20",
            "category": "S",
            "base": "1000.00",
            "amount": "200.00"
          }
        ],
        "line_items": [
          {
            "number": "1",
            "description": "Prestation exemple",
            "quantity": "1",
            "unit": "C62",
            "unit_price": "1000.00",
            "net_amount": "1000.00",
            "vat_rate": "20",
            "vat_category": "S"
          }
        ]
      },
      "expected_validation": "rejected_at_intake",
      "expected_errors": [
        "BR-CO-16"
      ]
    }
  ]
}
