Identification des parties
SIREN vendeur → BT-30, SellerTradeParty/SpecifiedLegalOrganization/ID (schemeID 0002). N° TVA intracom → BT-31, SpecifiedTaxRegistration/ID (schemeID VA). Adresse → BT-35..40, PostalTradeAddress.
Numéro, dates, référence
Numéro de facture → BT-1, ExchangedDocument/ID. Date d'émission → BT-2, IssueDateTime (format 102). Date d'échéance → BT-9, SpecifiedTradePaymentTerms/DueDateDateTime.
TVA et montants
Taux par ligne → BT-152, ApplicableTradeTax/RateApplicablePercent. Totaux par taux → BT-116/117/118, ApplicableTradeTax (Basis/Calculated/CategoryCode). Total TTC → BT-112, GrandTotalAmount.
Pénalités de retard et indemnité de 40 €
EN 16931 n'a pas de champ dédié aux pénalités de retard ni à l'indemnité forfaitaire de recouvrement : l'usage courant est de les porter dans le texte des conditions de paiement (BT-20, SpecifiedTradePaymentTerms/Description) ou, à défaut, dans une note de facture (BT-22, ExchangedDocument/IncludedNote). Les deux mentions doivent en tout état de cause rester visibles sur le PDF.
Franchise en base (293 B)
Cible normative (BT-120/BT-121) : motif d'exonération « TVA non applicable, art. 293 B du CGI » dans ApplicableTradeTax/ExemptionReason, code VATEX-FR-FRANCHISE. Le moteur (`cii_builder.resolve_vat_category`) émet CategoryCode `E` + VATEX-FR-FRANCHISE lorsque le taux est 0 % et qu'une mention de franchise est présente ; CategoryCode `Z` si taux 0 % sans franchise ; CategoryCode `S` si taux > 0 (avec calcul du n° TVA FR à partir du SIREN si BT-31 absente).
Autoliquidation et intracommunautaire
Autoliquidation → CategoryCode AE + VATEX correspondant. Livraison intracommunautaire exonérée → CategoryCode K, motif « Exonération de TVA, article 262 ter, I du CGI » . Export hors UE → CategoryCode G (VATEX-EU-G).