Forum Discussion
citoinformatique
Première note
il y a 4 joursFactur-X : les lignes articles sont regroupées dans invoice_lines, comment les séparer ?
Bonjour,
Nous générons nos factures fournisseurs au format Factur-X (CII, EN16931) avec un détail article complet : chaque ligne a un LineID (BT-126) unique, un code produit (GlobalID), une quantité, un prix unitaire, etc.
Lorsque nous récupérons ensuite les lignes via GET /api/external/v2/supplier_invoices/{id}/invoice_lines, nous n'obtenons pas les lignes articles telles qu'envoyées dans le XML, mais des lignes consolidées. Exemple concret : notre XML contient 6 lignes articles valorisées (2 x déplacement zone 1, 2 x déplacement zone 2, 2 x chaudière), avec des LineID distincts (4559 à 4567). Or l'API ne retourne que 2 lignes en tout, qui correspondent visiblement à un regroupement par compte comptable / catégorie plutôt qu'aux lignes articles d'origine (les montants totaux correspondent bien à la somme des lignes XML, donc rien n'est perdu financièrement, mais le détail article disparaît).
Par ailleurs, même sur les lignes non fusionnées, le schéma retourné par invoice_lines pour les factures fournisseurs ne contient pas la quantité ni le code article (contrairement aux factures clients), ce qui a déjà été remonté par d'autres utilisateurs sur ce forum.
Notre besoin : pouvoir récupérer via l'API, pour une facture fournisseur importée en Factur-X, l'intégralité des lignes articles telles qu'elles figurent dans le XML d'origine (une ligne API par LineID/BT-126, avec code article, désignation, quantité et prix unitaire), sans regroupement par compte comptable.
Questions :
1. Existe-t-il un moyen (paramètre d'import, invoice_options, option de compte) pour empêcher ce regroupement automatique et conserver une ligne API par ligne XML ?
2. À défaut, un endpoint ou un champ permettant d'accéder aux lignes articles brutes du Factur-X (indépendamment de la ventilation comptable) est-il prévu à court terme ?
Ce besoin rejoint la demande déjà ouverte sur le forum "Demande d'évolution API – accès aux comptes comptables par ligne de facture", qui pointe l'absence de lien fiable entre invoice_lines et ledger_entry_lines. Notre cas illustre un besoin complémentaire : ne pas fusionner les lignes du tout, en amont de toute question de compte comptable.
Merci d'avance pour votre retour !
Bonjour citoinformatique
Ce comportement est un regroupement volontaire, pas une perte de données : par défaut, les lignes d'une facture fournisseur importée en Factur-X sont automatiquement regroupées par taux de TVA et par poste comptable avant leur enregistrement, ce qui explique que 6 lignes XML d'origine deviennent 2 lignes API. Les montants totaux sont bien conservés, mais le détail par LineID (BT-126) disparaît lors de ce regroupement.
Il existe un moyen de désactiver ce regroupement et de conserver une ligne API par ligne XML d'origine :
• Le tiers (fournisseur) peut avoir une stratégie e-invoicing propre réglable sur "par ligne produit" (au lieu de "par taux de TVA"), qui prend le pas sur le réglage global de l'entreprise.
• À défaut, un réglage au niveau de l'entreprise (paramètres de comptabilité, onglet Informations sur l'entreprise) permet de basculer la ventilation par défaut de "par taux de TVA" vers "par ligne produit".
Attention : même avec ce réglage, les factures de 20 lignes ou plus déclenchent toujours le regroupement automatique, quel que soit le paramétrage. À l'inverse, les lignes transmises via les "hints" de l'API lors de l'import sont, elles, toujours conservées individuellement, indépendamment du regroupement ou du nombre de lignes.
Concernant la quantité et le code article : ces informations sont bien extraites du XML et associées à chaque ligne en interne lors du traitement, mais elles ne font actuellement pas partie des champs exposés par l'endpoint de récupération des lignes d'une facture fournisseur, à la différence de l'endpoint équivalent pour les factures clients (qui expose quantité, unité et produit associé). Cela confirme l'écart déjà signalé par d'autres utilisateurs sur le forum.
1 Réponse
- Angélique_
Pennylaneur
Bonjour citoinformatique
Ce comportement est un regroupement volontaire, pas une perte de données : par défaut, les lignes d'une facture fournisseur importée en Factur-X sont automatiquement regroupées par taux de TVA et par poste comptable avant leur enregistrement, ce qui explique que 6 lignes XML d'origine deviennent 2 lignes API. Les montants totaux sont bien conservés, mais le détail par LineID (BT-126) disparaît lors de ce regroupement.
Il existe un moyen de désactiver ce regroupement et de conserver une ligne API par ligne XML d'origine :
• Le tiers (fournisseur) peut avoir une stratégie e-invoicing propre réglable sur "par ligne produit" (au lieu de "par taux de TVA"), qui prend le pas sur le réglage global de l'entreprise.
• À défaut, un réglage au niveau de l'entreprise (paramètres de comptabilité, onglet Informations sur l'entreprise) permet de basculer la ventilation par défaut de "par taux de TVA" vers "par ligne produit".
Attention : même avec ce réglage, les factures de 20 lignes ou plus déclenchent toujours le regroupement automatique, quel que soit le paramétrage. À l'inverse, les lignes transmises via les "hints" de l'API lors de l'import sont, elles, toujours conservées individuellement, indépendamment du regroupement ou du nombre de lignes.
Concernant la quantité et le code article : ces informations sont bien extraites du XML et associées à chaque ligne en interne lors du traitement, mais elles ne font actuellement pas partie des champs exposés par l'endpoint de récupération des lignes d'une facture fournisseur, à la différence de l'endpoint équivalent pour les factures clients (qui expose quantité, unité et produit associé). Cela confirme l'écart déjà signalé par d'autres utilisateurs sur le forum.