ANA-FEC2 : analyser la TVA collectée à partir du FEC

ANA-FEC2 est un outil d’analyse du fichier des écritures comptables (FEC). Il permet notamment de contrôler les comptes, d’identifier des anomalies et de produire des extractions structurées à l’aide de scripts réutilisables.

ANA-FEC2 Requête SQL analyse TVA collectée

Un langage associant directives ANA-FEC2 et requêtes SQL

Le langage de script ANA‑FEC2 associe trois composantes complémentaires :

  • la directive SourceFEC, qui identifie le fichier source utilisé par le traitement ;
  • la directive TypeJournal, qui qualifie les journaux comptables selon leur fonction : ventes, achats, banque, centralisation de TVA, etc. ;
  • le langage SQL, qui sélectionne, agrège et restitue les données à analyser.

Cette association assure la traçabilité entre les données source, les règles de qualification appliquées et les extractions obtenues. Le script constitue ainsi une véritable documentation du traitement : il peut être conservé, relu et exécuté de nouveau sur le même FEC (ou sur un autre) à des fins de contrôle ou de test.

La directive suivante rattache, par exemple, le script au FEC analysé :

SourceFEC[1,"20261231\\xxxxxxxxxFEC20261231.TXT"]

Il est possible d’interroger plusieurs FEC simultanément (requêtes multi-FEC) d’une même entreprise voire d’entreprises différentes.

La directive TypeJournal établit ensuite une correspondance entre chaque code journal et sa nature fonctionnelle. Cette étape permet d’écrire des requêtes indépendantes des particularités du plan de journaux de chaque entité.

ANA-FEC2 Qualification des journaux

Une analyse mensuelle de la TVA collectée

Le script présenté réalise trois extractions successives (requêtes multiples).

La première, BG_TVA_Coll, établit la balance des comptes commençant par 4457x. Elle permet de recenser les comptes de TVA collectée présents dans le FEC et d’en calculer les mouvements cumulés.

La deuxième, Mvts_Mensuels_TVA_Coll, ventile ces mouvements par mois et par compte. Elle facilite l’identification des variations inhabituelles et le rapprochement avec les déclarations de TVA mensuelles (CA3).

Enfin, ANALYSE_TVA_COLL produit une synthèse mensuelle distinguant :

  • la TVA collectée enregistrée dans les journaux de ventes ;
  • les autres mouvements affectant les comptes 4457x, hors journaux de ventes et de centralisation de la TVA ;
  • le nombre de lignes de TVA hors centralisation ;
  • la TVA collectée déclarée, issue du journal qualifié CENTRALTVA ;
  • le solde mensuel des comptes de TVA collectée ;
  • le nombre de lignes non lettrées hors centralisation.

Le classement préalable des journaux donne ainsi tout son sens à l’analyse SQL. Une même requête peut être reproduite sur différents FEC, sous réserve d’adapter la directive TypeJournal à l’organisation comptable de l’entité.

§ --------------------------------------------------------
§ ANALYSE DE LA TVA COLLECTEE
§
§ Démo ANA-FEC2 06/09/2026
§ Benoît RIVIERE
§ https://www.auditsi.eu/?page_id=12786
§ --------------------------------------------------------

§ FEC source
SourceFEC[1,"20261231\\xxxxxxxxxFEC20261231.TXT"]

§ DECLARATION DES JOURNAUX
TypeJournal[1:{FDM,SITUATIONS;01IVM,VENTES;01VM,VENTES;01AM,ACHATS;ACH,ACHATS;NDF,ACHATS;CAN,BANQUE;CAI,CAISSE;APR,ACHATS;HAG,ACHATS;STEL,BANQUE;VTE,VENTES;LBP,BANQUE;EAP,SALAIRES;OD,OD;SAL,SALAIRES;01CM,CESS_INT;VPR,VENTES;TVA,CENTRALTVA;CIC,BANQUE;VEN,VENTES;01CB,REMISES_BANQUE;SF,REMISES_BANQUE;01CH,REMISES_BANQUE;VIR,REMISES_BANQUE;CES,CESS_INT;VDIV,VENTES;BNP,BANQUE;PAY,BANQUE;CAN2,BANQUE;VAPV,VENTES;AVO,ACHATS;VVN,VENTES;VVO,VENTES;VTG,VENTES;RET,#NON IDENTIFIE#;BNP6,BANQUE;BNP5,BANQUE;CIC2,BANQUE;BNP2,BANQUE;CAN6,BANQUE;AVN,ACHATS;ACI,ACHATS;EAR,EFFETS;02CA,CAISSE;01CA,CAISSE;03CA,CAISSE;CAN5,BANQUE;05CA,CAISSE;CEP3,BANQUE;BNP4,BANQUE;CAN4,BANQUE;CIC4,BANQUE;BNP3,BANQUE;CIC3,BANQUE;CIC5,BANQUE;CAN3,BANQUE;N00,A_NOUVEAUX;A11,ACHATS;A21,ACHATS;A31,VENTES;A51,ACHATS;A71,ACHATS;A91,ACHATS;B01,BANQUE;B11,BANQUE;C01,CAISSE;G61,VENTES;G62,VENTES;O91,OD;O94,SITUATIONS;O95,SALAIRES;R11,REMISES_BANQUE;R12,REMISES_BANQUE;R21,SALAIRES;R31,EFFETS;R41,REMISES_BANQUE;R51,REMISES_BANQUE;V11,VENTES;V21,VENTES;V61,VENTES;V62,VENTES;V81,VENTES;V91,VENTES;A14,ACHATS;A92,ACHATS;A52,ACHATS;O92,OD;A24,ACHATS;V14,VENTES}]

§ BALANCE COMPTES 4457x
BG_TVA_Coll:
    SELECT
        CompteNum,
        CompteLib,
        Round(Sum(FEC.Solde),2) AS Solde_mvts_mois
    FROM FEC
    WHERE CompteNum LIKE '4457%'
    GROUP BY CompteNum, CompteLib
    ORDER BY CompteNum

§ BALANCE MOUVEMENTS MENSUELS COMPTES 4457x
Mvts_Mensuels_TVA_Coll:
    SELECT
        AAAAMM,
        CompteNum,
        CompteLib,
        Round(Sum(FEC.Solde),2) AS Solde_mvts_mois
    FROM FEC
    WHERE CompteNum LIKE '4457%'
    GROUP BY AAAAMM, CompteNum, CompteLib
    ORDER BY AAAAMM

§ ANALYSE DE LA TVA COLLECTEE
ANALYSE_TVA_COLL:
    SELECT
        AAAAMM,

§ TVA collectée sur ventes
        ROUND(
            SUM(
                CASE
                    WHEN TypeJournal = 'VENTES'
                    THEN Credit - Debit
                    ELSE 0
            END
            ),
        2
        ) AS TVA_collectee_VENTES,

§ TVA collectée autre que sur VENTES
        ROUND(
            SUM(
                CASE
                    WHEN TypeJournal <> 'VENTES'
                AND TypeJournal <> 'CENTRALTVA'
                    THEN Credit - Debit
                    ELSE 0
            END
            ),
        2
        ) AS Autres_mvts_TVA_coll,

§ Nb de lignes TVA collectée hors TVA centralisée
        SUM(
            CASE
                WHEN TypeJournal <> 'CENTRALTVA'
                THEN 1
                ELSE 0
        END
        ) AS Nb_lig_TVA_coll,

§ TVA collectée déclarée sur CA3
        ROUND(
            SUM(
                CASE
                    WHEN TypeJournal = 'CENTRALTVA'
                    THEN Debit - Credit
                    ELSE 0
            END
            ),
        2
        ) AS TVA_collectee_declaree,

§ Solde TVA collectée
        ROUND(SUM(Credit - Debit), 2) AS Solde_TVA_Coll,

§ Nb de lignes de TVA collectée non lettrée
        SUM(
            CASE
                WHEN (EcritureLet IS NULL OR EcritureLet = '') AND TypeJournal <> 'CENTRALTVA'
                THEN 1
                ELSE 0
        END
        ) AS Nb_Lig_Non_Lettrees
    FROM FEC
    WHERE CompteNum LIKE '4457%'
    GROUP BY AAAAMM
    ORDER BY AAAAMM

Un traitement documenté et reproductible

L’intérêt du script ne réside donc pas seulement dans le résultat exporté. Il conserve également :

  • l’identification du FEC utilisé ;
  • les règles de qualification des journaux ;
  • les critères de sélection des écritures ;
  • les formules de calcul ;
  • les modalités de regroupement et de tri.

Le résultat peut ainsi être rapproché du FEC d’origine, expliqué et reproduit. Cette traçabilité facilite les travaux de révision comptable, la justification des déclarations de TVA et la constitution de tests susceptibles d’être rejoués lors d’une clôture ultérieure ou sur une autre entité.

Avec ses directives SourceFEC et TypeJournal, complétées par le langage SQL, ANA‑FEC2 transforme une extraction ponctuelle en un traitement contrôlable et reproductible.

ANA-FEC2 Analyse TVA collectée

Pour accéder à ANA-FEC2 cliquer ici.

The following two tabs change content below.
Après seize années passées en cabinet d’expertise-comptable et de commissariat aux comptes (où j’ai exercé comme expert-comptable et chef de mission audit), j’ai pris le poste de directeur comptable d’un groupe de distribution automobile en novembre 2014. Au cours de ma carrière, j’ai acquis une expérience significative en audit et en exploitation des systèmes d’information (analyse de données, automatisation des tâches, programmation informatique) au service de la production des comptes annuels et consolidés. C’est cette expérience personnelle et ma passion pour l’informatique que je partage sur ce blog. Mon CV / Réalisations personnelles et projets informatiques / Ma collection / Me contacter

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. Découvrez comment les données de vos commentaires sont traitées.