This skill reproduces the work of a statutory auditor (CAC) for the validation of the annual financial statements of a company subject to corporate income tax.
Regulatory context
- Applicable standards : the CNCC's Professional Auditing Standards (NEP, Normes d'Exercice Professionnel)
- Accounting framework : the French General Chart of Accounts (Plan Comptable Général, PCG, ANC 2014-03)
- Statutory audit requirement thresholds : balance sheet 4M, revenue 8M, headcount 50 (2 of the 3 thresholds)
Even without a legal requirement, this audit provides reasonable assurance on the reliability of the accounts.
Preliminary step: Gather the context (MANDATORY)
Never start the audit without the minimum information. If it is missing, ask the user for it before any other action.
If a file company.json exists, read it to obtain the context automatically.
Required information:
- Company identity : company name, SIREN, legal form, tax regime (IS/IR), VAT regime, share capital, address
- Period audited : start date, end date, duration in days, first financial year or not
- Available documents : FEC, balance sheet, income statement, trial balance, general ledger, tax return, bank statements, invoices, minutes of the general meeting, articles of association
If critical information is missing (SIREN, legal form, tax regime), ask for it explicitly. Do not make assumptions.
Audit programme
The audit follows 7 sequential phases. Each phase produces a deliverable and a conclusion.
Phase 1: Understanding and planning
Objective : Understand the entity and its environment.
- Read the articles of association, the Kbis, the minutes of the general meeting
- Identify the significant transactions of the period
- Assess the risks of material misstatement
- Define the materiality threshold
Recommended materiality threshold :
- 5% of profit before tax, or
- 1-2% of revenue for small entities
- Absolute minimum: 500 for a micro-enterprise
Deliverables : Planning memorandum, risk map
Phase 2: Verification of the Accounting Entries File (FEC)
Objective : Verify the compliance and integrity of the FEC (art. L. 47 A-I of the LPF).
Read the FEC file and verify:
- Format : 18 mandatory columns separated by
| - Required columns : JournalCode, JournalLib, EcritureNum, EcritureDate, CompteNum, CompteLib, CompteAuxNum, CompteAuxLib, PieceRef, PieceDate, EcritureLib, Debit, Credit, EcritureLet, DateLet, ValidDate, Montantdevise, Idevise
- Balance : Total Debit = Total Credit (to within 0.01)
- Numbering : continuous sequence of EcritureNum
- Dates : consistency of EcritureDate within the period of the fiscal year
- Accounts : compliance with PCG (lengths, roots)
- Balanced entries : each EcritureNum has Total Debit = Total Credit
- No entries with zero amount except account-matching entries
Control script :
Pour chaque écriture :
- Vérifier total débit = total crédit
- Vérifier format date AAAAMMJJ
- Vérifier CompteNum commence par 1-7
- Vérifier pas de montant négatif
Phase 3: Balance Sheet Control
Read the balance sheet and verify:
Assets:
- Fixed assets = Gross value - Accumulated depreciation
- Consistent depreciation (straight-line, duration, prorata temporis)
- Cash = Balance confirmed by bank statement
- Bank reconciliation for each account
Equity and liabilities:
- Capital = Articles of association (check Kbis)
- Result = Net result from the income statement
- Current account 455: supporting documents for each movement
- Corporate tax payable = Verified corporate tax calculation
- Deferred income (PCA): justification of the deferred portion
Balance :
- Total assets = Total equity and liabilities (to the nearest euro)
Phase 4: Income Statement Control
Read the income statement and verify:
Income:
- Revenue = Sum of sales over the fiscal year (cross-check with payment platforms)
- Cut-off: revenue only for the period of the fiscal year
- Deferred income (PCA) correctly calculated (annual subscriptions overlapping the following financial year)
- Documented exceptional income (disposals, commissions)
Expenses:
- Each category of expenses corresponds to invoices and statements
- Expenses 455 (pre-incorporation): within 6 months and necessary for the business
- Depreciation: correct calculation (basis, duration, prorata)
- Home office expenses: reasonable and documented share
- Platform fees: reconciliation with statements
Result:
- Operating result = Income - Expenses
- Corporate tax = rate x taxable result (check conditions for reduced SME rate)
- Net result = Result before corporate tax - corporate tax
Phase 5: Trial Balance and General Ledger Control
Read the trial balance and the general ledger.
- Balanced trial balance (total debit balances = total credit balances)
- Reconciliation trial balance <-> balance sheet (each line)
- Reconciliation trial balance <-> income statement
- General ledger: sampling of significant entries
- Matching and reconciliation of account 411 (Customers)
- Justification of credit balance 411 if abnormal
Phase 6: Tax Return Package Control
2033-A (Simplified balance sheet):
- Boxes filled in = Accounting balance sheet (rounded to the euro)
- Net carrying amount of assets = Equity and liabilities
- Gross fixed assets = Table C
- Depreciation = Table C
2033-B (Simplified income statement):
- Correct allocation between boxes
- Total income = Total accounting income
- Total expenses = Total accounting expenses
- Taxable income = Accounting income + add-backs - deductions
- Corporate tax added back if applicable
2033-C (Fixed assets):
- Movements for the financial year consistent
- Depreciation and amortization charges consistent
2033-D (Provisions):
- None if no provision
2033-E (Value added):
- Value added calculation = Income - Intermediate consumption
- Not subject to CVAE if revenue < 500,000
2572-SD (Corporate tax balance statement):
- Taxable income consistent
- Correct corporate tax rate
- Balance payable = Corporate tax - Advance payments
Phase 7: Cross-cutting controls and opinion
Bank reconciliation :
- Platform payouts = Identified bank credits
- Internal transfers neutralized
Cut-off control :
- No income from the previous financial year recognized
- Deferred income (PCA) correctly identified and calculated
- Prepaid expenses: none or justified
Regulated agreements (L. 227-10 French Commercial Code) :
- Current account 455: agreement approved by the sole shareholder / the general meeting
- Current account interest rate compliant
Subsequent events :
- Review of transactions between closing and the audit date
- No event requiring an adjustment to the accounts
Recurring points of attention
For micro-enterprises/SMEs, particularly SaaS companies:
-
Credit balance of account 411 : abnormal situation often due to payment platform payouts including revenue outside the financial year. Document and justify.
-
Asset disposals : verify the accounting and tax treatment (disposal income 775 vs exceptional income).
-
Affiliate commissions : verify the nature (service vs affiliation) and the VAT treatment (reverse charge if foreign service provider).
-
Pre-incorporation expenses : verify compliance with the 6-month deadline (art. L. 210-6 French Commercial Code) and the link with the company's activity.
-
Home office : verify the professional/total area and the supporting documents.
-
EUR/foreign currency conversion : verify consistency with the ECB exchange rates for the financial year.
Audit report format
# Rapport d'Audit — [Société] — Exercice [dates]
## 1. Opinion
[ ] Sans réserve
[ ] Avec réserve(s) — détailler
[ ] Refus de certifier — motif
[ ] Impossibilité de certifier — motif
## 2. Fondement de l'opinion
[Résumé des travaux effectués et bases de l'opinion]
## 3. Observations
[Points significatifs sans impact sur l'opinion]
## 4. Synthèse des contrôles
| Phase | Conclusion | Anomalies |
|-------|-----------|-----------|
| FEC | ok/attention/ko | ... |
| Bilan | ok/attention/ko | ... |
| Compte de résultat | ok/attention/ko | ... |
| Balance / Grand livre | ok/attention/ko | ... |
| Liasse fiscale | ok/attention/ko | ... |
| Réconciliation | ok/attention/ko | ... |
| Contrôles transversaux | ok/attention/ko | ... |
## 5. Recommandations
[Points d'amélioration pour l'exercice suivant]
## 6. Pièces examinées
[Liste des documents analysés]
Data
The repo includes open source data in data/ :
| File | Content | Use in the audit |
|---|---|---|
data/pcg_YYYY.json |
Complete French Chart of Accounts | Verify compliance of the accounts with the PCG (Phase 2), validate the roots |
data/nomenclature-liasse-fiscale.csv |
Boxes of the tax return | Review the tax return package (Phase 6), checking the allocation to the boxes |
How to Use These Data:
To check whether an account complies with the French Chart of Accounts (PCG), in Phase 2:
Lire data/pcg_YYYY.json → chercher dans le tableau "flat" par "number"
Vérifier que le CompteNum existe et que le libellé correspond à l'usage
To review the tax return package (Phase 6):
Lire data/nomenclature-liasse-fiscale.csv → format "id;lib"
Vérifier que chaque case renseignée correspond au bon poste comptable
Exemple : FL = Chiffre d'affaires nets → doit correspondre au total des comptes 70x
The file data/sources.json lists all sources with their most recent retrieval dates.
References
| File | Content |
|---|---|
| references/normes-nep.md | Applicable NEP auditing standards, materiality thresholds and FEC specifications |
| references/procedures-detaillees.md | Detailed procedures for each audit phase |