FEC Checker (French accounting file pre-audit)
Validate French FEC accounting files and flag audit risks before a tax audit.
التثبيت
أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: .cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).
claude mcp add --transport http fec-checker-french-accounting-file-pre-a 'https://mcp.apify.com/?tools=highfiddle/fec-checker'
{
"mcpServers": {
"fec-checker-french-accounting-file-pre-a": {
"type": "http",
"url": "https://mcp.apify.com/?tools=highfiddle/fec-checker"
}
}
}
fec-lintclaude mcp add fec-checker-french-accounting-file-pre-a -- uvx fec-lint==0.1.2
{
"mcpServers": {
"fec-checker-french-accounting-file-pre-a": {
"command": "uvx",
"args": [
"fec-lint==0.1.2"
]
}
}
}
التوثيق
مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.
المحتويات
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.
What file does it check?
The FEC your accounting software exports (look for "FEC" or "Export DGFiP" in its year-end menu); you don't build it by hand. It is a text file named SIRENFECAAAAMMJJ.txt (SIREN, FEC, closing date), tab- or pipe-separated, with this header and one line per accounting line:
JournalCode|JournalLib|EcritureNum|EcritureDate|CompteNum|CompteLib|CompAuxNum|CompAuxLib|PieceRef|PieceDate|EcritureLib|Debit|Credit|EcritureLet|DateLet|ValidDate|Montantdevise|Idevise
VE|Ventes|000039|20250610|411000|Clients|CLI001|Atelier Durand|F2025-06|20250610|Facture F2025-06 Atelier Durand|3960,00|0,00|||20250610||
Dates are AAAAMMJJ; amounts use a decimal comma and no thousands separator. CompAuxNum/CompAuxLib, EcritureLet/DateLet and Montantdevise/Idevise may be empty, but only in pairs; every other field is required. The FEC Checker page has the full column-by-column table. Synthetic examples are in tests/fixtures/.
Install
pipx install fec-lint
Command line
fec-lint 123456782FEC20251231.txt
123456782FEC20251231.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) | FEC Checker on Apify |
|---|---|---|
File name SIRENFECAAAAMMJJ.txt, SIREN key | ✅ | ✅ |
| 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 |
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.
Quel fichier contrôle-t-il ?
Le FEC exporté par votre logiciel comptable (cherchez « FEC » ou « Export DGFiP » dans le menu de clôture) ; vous ne le construisez pas à la main. C'est un fichier texte nommé SIRENFECAAAAMMJJ.txt (SIREN, FEC, date de clôture), séparé par tabulations ou barres verticales, avec l'en-tête et le type de ligne montrés plus haut.
Les dates sont au format AAAAMMJJ ; les montants utilisent la virgule décimale, sans séparateur de milliers. CompAuxNum/CompAuxLib, EcritureLet/DateLet et Montantdevise/Idevise peuvent être vides, mais seulement par paires ; tous les autres champs sont obligatoires. La page FEC Checker détaille chaque colonne. Des exemples fictifs sont dans tests/fixtures/.
Installation
pipx install fec-lint
Ligne 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) | FEC Checker sur Apify |
|---|---|---|
Nom SIRENFECAAAAMMJJ.txt, clé du SIREN | ✅ | ✅ |
| 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
pytest
The fixtures in tests/fixtures/ are synthetic FEC files (fictitious SIREN 123456782). MIT license.
الأسئلة الشائعة
ما هو FEC Checker (French accounting file pre-audit)؟
Validate French FEC accounting files and flag audit risks before a tax audit.
كيف أثبّت FEC Checker (French accounting file pre-audit)؟
يعمل كخادم بعيد. في Claude Code: claude mcp add --transport http fec-checker-french-accounting-file-pre-a 'https://mcp.apify.com/?tools=highfiddle/fec-checker'. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.
هل يحتاج FEC Checker (French accounting file pre-audit) إلى مفتاح API؟
لا يذكر إدراجه في السجل أي مفتاح أو سر إلزامي. قد تتطلب بعض الميزات حسابًا لدى الخدمة التي يتصل بها.
هل FEC Checker (French accounting file pre-audit) مفتوح المصدر؟
نعم. شيفرته متاحة على GitHub بترخيص MIT.
من يصون FEC Checker (French accounting file pre-audit)؟
ينشره vincenz-cdf. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.
من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.