FEC Checker (French accounting file pre-audit)
fec-lint
Technical check, not tax advice. fec-lint checks the structure of a file against the published FEC format. It does not certify a file or replace an accountant's review.
Contrôle technique, pas un conseil fiscal. fec-lint vérifie la structure d'un fichier au regard du format FEC publié. Il ne certifie pas un fichier et ne remplace pas la revue d'un expert-comptable.
English
Free structural linter for French FEC files (Fichier des Écritures Comptables, art. A47 A-1 LPF), as a command line tool and an MCP server.
Install
pipx install fec-lintCommand line
fec-lint 123456782FEC20251231.txt123456782FEC20251231.txt: FAILED (encoding utf-8, separator pipe, lines 214)
error date_invalid x3: Non-existent date in EcritureDate. - line(s) 21, 22, 23
error date_format x3: Wrong date format in EcritureDate (expected AAAAMMJJ). - line(s) 64, 65, 66
Structure has errors. Full pre-audit (balance, numbering, risk signals): https://apify.com/highfiddle/fec-checker--jsonprints the full result:{ok, file, errors[], warnings[], stats}.--name 123456782FEC20251231.txtsets the name checked againstSIRENFECAAAAMMJJ.txt.--quiethides the last line.Exit code:
0when the structure is OK,1on errors,2when a file cannot be read. Several files can be given at once.A
.zipholding exactly one.txtFEC is unpacked first.
MCP server
Add it to your MCP client (Claude Desktop, Claude Code, Cursor…):
{
"mcpServers": {
"fec-lint": {
"command": "uvx",
"args": ["--from", "fec-lint", "fec-lint-mcp"]
}
}
}Without uv, install with pipx install fec-lint and use "command": "fec-lint-mcp". The server exposes one tool, lint_fec(path), which takes a local file path and returns the same JSON as --json.
Full pre-audit as a hosted MCP server. The paid FEC Checker (balance, numbering, risk signals, AI fix list) runs on Apify and is reachable over MCP. Users sign in with Apify OAuth; agents can pay with x402 by adding &payment=x402:
claude mcp add --transport http fec-checker "https://mcp.apify.com/?tools=highfiddle/fec-checker"Free vs full pre-audit
Check | fec-lint (free) | |
File name | ✅ | ✅ |
Encoding, separator, 18 headers | ✅ | ✅ |
Field formats: dates, amounts, mandatory fields, pairs | ✅ | ✅ |
Balance per entry and for the whole file | — | ✅ |
EcritureNum gaps and duplicates, ValidDate chronology | — | ✅ |
Risk signals: weekends, holidays, round amounts, Benford, cash 53x, suspense 471, after year end | — | ✅ |
Verdict, 0-100 score, AI-written fix list (FR/EN) | — | ✅ |
Runs | locally, nothing leaves your machine | on Apify, pay per file |
Related MCP server: beliq-mcp
Français
Linter structurel gratuit pour les FEC (Fichier des Écritures Comptables, art. A47 A-1 LPF), en ligne de commande et en serveur MCP.
Installation
pipx install fec-lintLigne de commande
fec-lint 123456782FEC20251231.txt--jsonaffiche le résultat complet :{ok, file, errors[], warnings[], stats}.--name 123456782FEC20251231.txtindique le nom à contrôler selonSIRENFECAAAAMMJJ.txt.--quietmasque la dernière ligne.Code de sortie :
0si la structure est correcte,1en cas d'erreur,2si un fichier est illisible. Plusieurs fichiers peuvent être passés à la fois.Un
.zipcontenant un seul FEC.txtest décompressé d'abord.
Les messages sont en anglais ; les codes de règle (date_invalid, header_missing…) sont stables.
Serveur MCP
Ajoutez-le à votre client MCP (Claude Desktop, Claude Code, Cursor…) avec la configuration ci-dessus. L'outil lint_fec(path) prend le chemin d'un fichier local et renvoie le même JSON que --json.
Pré-audit complet en serveur MCP hébergé. Le FEC Checker payant (équilibre, numérotation, signaux de risque, plan de correction IA) tourne sur Apify et s'utilise en MCP via https://mcp.apify.com/?tools=highfiddle/fec-checker (connexion Apify OAuth ; les agents peuvent payer en x402 avec &payment=x402).
Gratuit ou pré-audit complet
Contrôle | fec-lint (gratuit) | |
Nom | ✅ | ✅ |
Encodage, séparateur, 18 colonnes | ✅ | ✅ |
Formats : dates, montants, champs obligatoires, couples de champs | ✅ | ✅ |
Équilibre par écriture et du fichier | — | ✅ |
Ruptures et doublons d'EcritureNum, chronologie de ValidDate | — | ✅ |
Signaux de risque : week-ends, jours fériés, montants ronds, Benford, caisse 53x, attente 471, après clôture | — | ✅ |
Verdict, score 0-100, plan de correction rédigé par IA (FR/EN) | — | ✅ |
Exécution | en local, rien ne quitte votre machine | sur Apify, paiement par fichier |
Development
python -m venv .venv
.venv/bin/pip install -e ".[test]" # Windows: .venv\Scripts\pip
pytestThe fixtures in tests/fixtures/ are synthetic FEC files (fictitious SIREN 123456782). MIT license.
This server cannot be deployed
Maintenance
Related MCP Connectors
Validate, fix and generate Romanian e-Factura; check SAF-T D406 (ANAF validator + consistency)
Verify French and UK companies, EU VAT and IBANs; screen OFAC, UN, EU and UK sanctions lists.
Conformité Factur-X : 21 critères PDF/A-3, XML CII EN 16931 et BR-FR. Analyse locale, gratuite.
Open-source AI accounting skills verified by licensed accountants (tax, VAT, payroll).
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables autonomous agents to validate, audit, and correct e-invoices against European standards (EN16931) and Peppol regulations.1MIT
- AlicenseAqualityCmaintenanceValidates electronic invoices (XRechnung, ZUGFeRD, Factur-X, Peppol BIS, etc.) against authority-pinned rules and explains failures.2156 npmMIT
- AlicenseNot gradedqualityBmaintenanceValidates EU, UK, and AU VAT numbers against live sources and uses AI pattern analysis to detect invoice fraud.124 npmMIT
- AlicenseAqualityCmaintenanceAudits Excel workbooks by tracing cell dependencies and detecting circular references, volatile functions, and other formula risks, enabling natural-language audit queries on local files.443 npmMIT