When a tax audit begins, the first request is not a folder of invoices: it is a file. Article L47 A-I of the Livre des procédures fiscales (LPF), France's code of tax procedure, requires any taxpayer whose accounts are kept on a computerised system to hand over, "at the start of the audit operations", a copy of its accounting entries in electronic form. This file — the FEC, fichier des écritures comptables, the standardised accounting-entries file French companies must produce on a tax audit — is processed by software before an auditor has read a single line of it: the same article expressly authorises the administration to "carry out sorts, classifications and all calculations" in order to establish that the entries agree with the returns filed.
There is nothing opaque about this mechanism. The format is standardised and published, the list of fields is set out in the Livre des procédures fiscales, and the DGFiP (Direction générale des Finances publiques), France's tax administration, provides a free testing tool so that a company can check its own file. In other words: everything the administration will read in your FEC, you can read first. At doo.FINANCE we work with French SMEs that discover their FEC on the day of the audit. This article proposes the opposite — discovering it on a Sunday afternoon, with nothing at stake.
What the law requires, and when
Paragraph I of article L47 A of the LPF sets an obligation of form, not of substance: the taxpayer satisfies its obligation to produce accounting records "by handing over at the start of the audit operations, in electronic form meeting standards set by order of the minister responsible for the budget, a copy of the accounting-entry files".
Two procedures, two timetables:
- On-site audit of the accounts (vérification de comptabilité) — the FEC must be handed over "at the first on-site visit", according to the administrative doctrine published in the BOFiP (Bulletin officiel des finances publiques).
- Remote examination of the accounts (examen de comptabilité) — the company receives a notice of examination and has 15 days to send in its FEC. The administration then has six months to analyse the accounts, at the end of which it issues either a proposed adjustment or a notice that no adjustment will be made.
The obligation applies to taxpayers "keeping their accounts by means of computerised systems" and required by the CGI (Code général des impôts), France's general tax code, to keep and produce accounting records. The BOFiP exempts, among others, sociétés civiles immobilières whose partners are exclusively individuals, and auto-entrepreneurs.
Where the file is not produced, article 1729 D of the CGI provides for a fine equal to €5,000 or, where an adjustment is made and that amount is higher, a surcharge of 10% of the tax charged to the taxpayer. The doctrine specifies that it applies only once per audit, across all financial years.
One point that is rarely known, and reassuring: the same article L47 A-I provides that the administration destroys the copies of the files it has received before the tax is entered for collection.
First filter: the format, before the substance
A FEC is first accepted or rejected on its form. This stage is binary and says strictly nothing about the quality of your accounts — but a non-compliant file counts as a failure to produce, and the audit time limits are suspended until compliant files are handed over (article L52 of the LPF).
The 18 mandatory fields, in order
Article A47 A-1 of the LPF sets the list. For a company taxed under an actual-profit regime (BIC, industrial and commercial profits, or impôt sur les sociétés, corporate income tax), the file contains 18 fields, in this exact order:
| # | Field | Content |
|---|---|---|
| 1 | JournalCode | The journal code of the accounting entry |
| 2 | JournalLib | The journal label of the accounting entry |
| 3 | EcritureNum | The number of the accounting entry, on a continuous sequence |
| 4 | EcritureDate | The date on which the accounting entry was posted |
| 5 | CompteNum | The account number, whose first characters must comply with the plan comptable français, the French chart of accounts |
| 6 | CompteLib | The account label, in accordance with the plan comptable français |
| 7 | CompAuxNum | The sub-account number (blank if not used) |
| 8 | CompAuxLib | The sub-account label (blank if not used) |
| 9 | PieceRef | The reference of the supporting document |
| 10 | PieceDate | The date of the supporting document |
| 11 | EcritureLib | The label of the accounting entry |
| 12 | Debit | The debit amount |
| 13 | Credit | The credit amount |
| 14 | EcritureLet | The matching code (lettrage) of the accounting entry (blank if not used) |
| 15 | DateLet | The matching date (blank if not used) |
| 16 | ValidDate | The date on which the accounting entry was validated |
| 17 | Montantdevise | The amount in foreign currency (blank if not used) |
| 18 | Idevise | The currency identifier (blank if not used) |
The déclaration contrôlée regime and agricultural profits kept on a receipts-and-payments basis include additional fields. If you fall under one of them, have the applicable list checked rather than reusing this one.
The formal rules that make a file fail
The same article sets the technical standards. The points on which a file most often stumbles:
- Structure — a flat file with fixed zones, or a structured file coded in XML complying with the XSD specifications published by the administration.
- Encoding — ASCII, ISO 8859-15 or UTF-8, and nothing else.
- Dates — AAAAMMJJ format, that is YYYYMMDD, with no separator.
- Amounts — in decimal mode, right-aligned.
- First line — reserved for the field names.
- File name — in the form
SirenFECAAAAMMJJ, the date being that of the financial year end. - A single file — all the entries, all journals together, sorted in chronological order of validation.
- Scope — the entries after year-end inventory operations, excluding centralisation entries and account-balancing entries.
- Documentation — the file is accompanied by technical documentation describing the fields and the structure of the data.
None of these rules bears on the substance: a file that complies passes, a file that breaches them is sent back.
Second filter: what the structure of the FEC makes visible
A word of honesty: the DGFiP does not publish the list of substantive tests it applies. But you do not need it in order to prepare, because every mandatory field is, by construction, an available control point — and five of them are particularly telling as soon as the file is sorted.
The sequence of entries (EcritureNum)
The text is explicit: EcritureNum carries "the number of the accounting entry on a continuous sequence". Continuous. A gap in the numbering of a journal shows up on a simple sort and calls for an explanation: where did entry 4,517 go?
In practice, the leading cause of a break is not fraud, it is technical. A change of software mid-year, a carry-forward of opening balances, a journal recreated, a sequence reset on 1 January when the financial year does not match the calendar year: this is exactly where numbering breaks are born. We set out these traps in our article on changing accounting software mid-year. The anomaly is real, the intent is not — but it is for you to demonstrate that, and it is better prepared calmly, well ahead of time.
The two dates: posting and validation
EcritureDate carries the posting date, ValidDate the validation date. Because the file is sorted in chronological order of validation, the gap between these two dates is obvious from the first reading.
A lag of a few days is normal. A whole financial year validated over three days in November tells a different story: accounts caught up after the event, where the documents were entered long after the transactions they record. This is not unlawful in itself. But accounts validated as business happens are far easier to defend than accounts reconstructed afterwards.
Matching (EcritureLet, DateLet)
The text states that these two fields stay "blank if not used": the absence of matching is therefore not a non-compliance in itself. It does, however, have a heavy practical consequence. A customer account of four hundred lines, none of them matched, no longer allows a payment to be tied to an invoice. The balance becomes a lump, and justifying a lump takes days — yours, or your expert-comptable's.
The supporting document (PieceRef, PieceDate)
These two fields are mandatory. Three profiles naturally attract attention when the file is sorted: generic references repeated identically ("FACTURE", "DIVERS", "OD"), empty references on significant amounts, and PieceDate values falling outside the financial year concerned.
The accounts moved at the year end
Year-end inventory entries are legitimate and expected — the FEC explicitly includes them. What raises a question is not their existence but their profile: an abnormal volume of manual entries all dated the last day of the financial year, a suspense account (471) that swells at the close, adjustment accounts that absorb amounts with no document reference. Sorting by journal and by posting date is enough to bring that profile out — at the administration's end as much as at yours.
Test your FEC before you are asked for it
The DGFiP provides Test Compta Demat, a piece of software "available for free download" which "checks the validity of the structure of the company's file and indicates in particular the points where anomalies have been detected". The administration describes the operation as "simple, secure and confidential": the software runs on your own computer. A telephone helpline is open on 0809 400 210.
What the tool does: it checks the structure. What it does not do: it does not judge whether your accounts are truthful. A file that passes the test is not a file above suspicion — it is a file that will not be rejected on form. That is already most of the friction avoided.
Three further checks, to be carried out yourself in a spreadsheet from the exported FEC:
- Continuity — sort by
JournalCodethenEcritureNum, and look for gaps in the numbering. - Validation lag — calculate
ValidDateminusEcritureDate, then look at the distribution rather than the average: it is the extreme values that speak. - Missing documents — filter the lines where
PieceRefis empty or generic, and sort them by descending amount.
Half a day, once a year, after the close. It is probably the best effort-to-peace-of-mind ratio of the whole financial year.
What accounts kept in an ERP produce by construction
Most of the anomalies described above are not corrected: they are prevented, at the level of the tool. Accounts kept in a properly configured ERP produce five properties without anyone having to think about them:
- Numbering — one sequence per journal, incremented by the system, never typed in by hand.
- Time-stamping — validating an entry sets a validation date that the user does not choose.
- Matching — built into the bank reconciliation flow, not added at the end of the year.
- The document — the invoice stays attached to the entry, not filed away in a parallel folder.
- The audit trail — every entry remains tied to the document and the transaction that produced it.
A spreadsheet produces none of these five properties. Well-configured accounting software produces all of them — provided the configuration was actually done and the sequences were not broken during a data migration. If your tool was put in place mid-year, or if you migrated from another package, that is the point to check first. Our Odoo accounting services include this check.
The same traceability logic governs the e-invoicing reform: invoices routed through an Approved Platform (Plateforme Agréée, PA — formerly PDP) arrive identified and time-stamped, which feeds directly into the quality of the FEC. We set it out in our article on Odoo as an Approved Platform for e-invoicing in France.
Have your FEC checked before the administration does
doo.FINANCE is a financial advisory firm and an Odoo Gold Partner. We audit our French SME clients' FEC year by year: format compliance first, then sequence continuity, validation lags, matching rates and the quality of document references. Where an anomaly comes from the configuration or from a badly sequenced migration, we correct it at source, so that the following year starts clean.
Would you like to know what your FEC would say if it were read tomorrow? Let's talk — a first conversation is enough to place the level of risk.
Contact us for a free call →Frequently asked questions
My expert-comptable keeps my accounts: am I still concerned?
Yes. The obligation set by article L47 A-I of the LPF falls on the taxpayer, whoever enters the transactions. In practice, your firm will produce the file, but you are answerable for handing it over and for its compliance. Ask them for a FEC of the closed financial year and run it through Test Compta Demat: the exercise takes an hour and clears most of the doubt.
What is the risk if the FEC is not handed over, or is not compliant?
Article 1729 D of the CGI provides for a fine of €5,000 or, where an adjustment is made and that amount is higher, a surcharge of 10% of the tax charged to the company. The administrative doctrine specifies that this fine applies only once per audit, across all financial years.
Does the administration keep my file after the audit?
No. Article L47 A-I of the LPF expressly provides that the administration destroys, before the tax is entered for collection, the copies of the files that were sent to it. The FEC is an audit instrument, not an administrative archive of your accounts.
Does a compliant FEC protect me from an adjustment?
No. The compliance of the FEC is a question of form: it guarantees that the file will be usable and will not be rejected. The substance — whether the entries are truthful and supported — is assessed separately. A faultless FEC avoids a fine and an opening friction; it does not replace accounts that are properly kept and documented.
Do all companies have to produce a FEC?
The obligation applies to taxpayers who keep their accounts by means of computerised systems and who are required to produce accounting records. The administrative doctrine exempts, among others, sociétés civiles immobilières whose partners are exclusively individuals, and auto-entrepreneurs. If you are unsure about your own situation, have it assessed: the rules vary with the tax regime, and professional advice remains recommended.
