Remise comptable / France
Le fichier que la DGFiP réclame, et un délai que vous ne choisissez pas
Lors d'un contrôle fiscal, une entreprise qui tient sa comptabilité en France doit remettre l'intégralité de son grand livre sous forme de FEC : dix-huit colonnes obligatoires, dans un ordre fixe, sous les noms exacts publiés par la DGFiP. Voici ce que contient ce fichier et où un export se trompe.
Ce que le fichier contient réellement
- 1Une ligne d'en-tête aux noms exacts de la DGFiPDix-huit colonnes, orthographiées telles qu'elles sont publiées : JournalCode, JournalLib, EcritureNum, EcritureDate, CompteNum, CompteLib, CompAuxNum, CompAuxLib, PieceRef, PieceDate, EcritureLib, Debit, Credit, EcritureLet, DateLet, ValidDate, Montantdevise, Idevise. En renommer une ou en changer l'ordre invalide le fichier.
- 2Une ligne par LIGNE d'écritureEt non par écriture. Une écriture de trois lignes produit trois lignes partageant le même EcritureNum. C'est l'inverse de la logique DATEV, où une écriture est un couple de comptes, et c'est l'erreur la plus fréquente quand un export est repris d'un autre marché.
- 3Un fichier nommé d'après votre SIREN et votre date de clôtureLa convention de la DGFiP est {SIREN}FEC{clôture en AAAAMMJJ}.txt. Le SIREN n'est pas une colonne du fichier : il identifie le fichier lui-même.
Les cinq choses qui tournent mal
Rien de tout cela n'est exotique. Chacun de ces points est un réglage par défaut correct presque partout ailleurs en informatique, et faux ici.
Le fichier est séparé par des tabulations. Un point-virgule ou une virgule constituent un autre format, et aucun champ texte ne doit contenir lui-même une tabulation ou un retour à la ligne. Un libellé qui en contient décale silencieusement toutes les colonnes suivantes de la ligne, ce qui est pire qu'un rejet puisque le fichier reste lisible.
Les montants utilisent la virgule décimale. Débits et crédits sont des nombres positifs dans deux colonnes distinctes : une valeur négative dans Debit n'est donc pas un crédit, c'est une erreur.
EcritureDate, PieceDate, DateLet et ValidDate sont au format AAAAMMJJ sans séparateur. Ni le JJ/MM/AAAA qu'écrirait un humain, ni l'ISO avec tirets.
Chaque ligne porte un code journal et son libellé. Un vérificateur attend les abréviations françaises usuelles plutôt que des codes inventés : VT pour Ventes, AC pour Achats, BQ pour Banque, PAI pour Paie, OD pour Opérations diverses.
CompteNum porte le numéro seul et CompteLib porte le libellé. Un export qui écrit « 706 - Prestations de services » dans CompteNum a rempli une colonne obligatoire avec deux informations et laissé l'autre fausse.
Pourquoi la forme des lignes compte plus que le formatage
Les règles de formatage ci-dessus sont mécaniques : une fois le séparateur, la virgule et le format de date corrects, ils le restent. C'est la forme des lignes qui casse discrètement quand un export est repris d'un autre marché.
Une ligne de FEC est une LIGNE d'écriture. Le grand livre dont elle provient est déjà une liste de lignes, la correspondance est donc directe et rien n'a besoin d'être décomposé ni apparié. Si votre export a été conçu pour un format qui stocke les écritures en compte et contrepartie, la tentation est de réutiliser cet appariement ici, et le résultat est un fichier équilibré qui ne décrit pas votre grand livre.
Devises étrangères
Montantdevise et Idevise existent pour les lignes comptabilisées dans une devise autre que l'euro. Elles portent le montant d'origine et le code de la devise, tandis que Debit et Credit restent en euros au cours du jour de comptabilisation. Les laisser vides sur une ligne en euros est correct ; y recopier le montant en euros ne l'est pas.
Lettrage
EcritureLet et DateLet enregistrent le lettrage entre écritures : un règlement client rapproché de la facture qu'il solde. Ces colonnes sont légitimement vides sur les lignes non lettrées. Un export qui ne les renseigne jamais, pour une entreprise qui lettre réellement, supprime une information que le vérificateur s'attend à pouvoir suivre.
La DGFiP publie un validateur gratuit, Test Compta Demat. Il contrôle la structure, les noms de colonnes, les formats et l'équilibre global des débits et des crédits, et cela prend quelques minutes.
Faites-le tourner sur un export réel avant qu'un contrôle ne rende la chose urgente. Un fichier rejeté pendant un contrôle ajoute un problème de procédure à l'objet même du contrôle.
Deux choses que l’export de Softbooq ne fait pas encore. Il laisse EcritureLet et DateLet vides sur chaque ligne, si bien que le lettrage fait dans Softbooq n’apparaît pas dans le fichier. Et il laisse Montantdevise et Idevise vides, si bien que le montant d’origine d’une ligne en devise n’est pas dans le fichier. Mieux vaut le savoir avant un contrôle.
Questions fréquentes
Quand dois-je exactement produire un FEC ?
Lors d'un contrôle fiscal. En application de l'article L47 A-I du Livre des procédures fiscales, une entreprise qui tient une comptabilité informatisée en France remet son grand livre sous forme de FEC au début du contrôle. Il n'est pas déposé périodiquement, ce qui explique qu'on découvre facilement au pire moment que l'export est faux.
Une ligne par écriture ou par ligne d'écriture ?
Par ligne d'écriture. Une écriture de trois lignes devient trois lignes partageant le même EcritureNum. Les exports repris de formats qui stockent les écritures en couples de comptes se trompent ici et produisent un fichier équilibré qui ne décrit pas le grand livre.
Comment le fichier doit-il être nommé ?
La convention de la DGFiP est {SIREN}FEC{date de clôture en AAAAMMJJ}.txt, par exemple 123456789FEC20261231.txt. Le SIREN identifie le fichier plutôt que d'y figurer comme colonne.
Softbooq utilise-t-il le plan comptable français ?
Oui. Le PCG est l'un des cinq plans comptables légaux inclus, aux côtés du SKR03 et du SKR04 pour l'Allemagne, du PGC pour l'Espagne et du SYSCOHADA. CompteNum porte le numéro de compte PCG et CompteLib son libellé, en deux colonnes distinctes.
Softbooq produit ce fichier directement à partir des écritures comptabilisées : dix-huit colonnes dans l'ordre, séparateur tabulation, virgule décimale, dates en AAAAMMJJ et une ligne par ligne d'écriture. Le comportement est couvert par des tests automatisés exécutés avant chaque livraison.
Voir le module finance