Document Schemas
The Holofin API extracts structured data from French financial statements (liasse fiscale) including CERFA forms for the simplified and normal tax regimes. This page describes the response for balance sheets, income statements and supporting documents.
Complete API Response Format
The financial statement API returns extraction results in a structured format with document parts for each document type detected (CERFA forms, balance sheets, income statements, German SuSa, etc.):
{
"extraction_id": "wea_E58wA3KMSneeh85z",
"document_name": "liasse_fiscale_2024.pdf",
"extraction_date": "2025-06-10T17:12:45.109937+00:00",
"document_parts": [
{
"key": "segment_1",
"part_type": "CERFA-2033-A",
"validation_status": "OK",
"validation_codes": [],
"checks": [
{ "type": "extraction", "code": "ACTIF_TOTAL_BRUT", "label": "Total actif brut",
"description": null, "status": "passed", "severity": "error",
"message": null, "reason": null }
],
"pages": [1, 2],
"version": "2024",
"data": {
"028": {
"value": 60571,
"label": "Immobilisations corporelles (Brut)"
},
"030": {
"value": 34551,
"label": "Immobilisations corporelles (Amortissements)"
},
"028_net_n": {
"value": 26024,
"label": "Immobilisations corporelles (Net N)"
}
}
},
{
"key": "segment_2",
"part_type": "CERFA-2033-B",
"validation_status": "ERROR",
"validation_codes": [],
"pages": [3, 4],
"version": "2024",
"data": {
"210": {
"value": 500000,
"label": "Chiffre d'affaires"
}
}
}
]
}Root Level Fields
| Field | Type | Description |
|---|---|---|
| extraction_id | string | Unique document identifier |
| document_name | string | Original document filename |
| extraction_date | string | ISO 8601 timestamp of extraction |
| document_parts | array | Array of extracted document parts, each identified by type (e.g., CERFA-2033-A, FR-BILAN-ACTIF, DE-SUSA) |
Document Part Structure
Each item in the document_parts array contains a single document part with its extracted data:
| Field | Type | Description |
|---|---|---|
| validation_status | string | null | Validation result: OK (all consistency checks passed), WARNING (soft issues detected), or ERROR (validation errors detected) |
| validation_codes | array of strings | Stable upper-snake tokens describing the decisions taken during validation. Always present, may be empty. Codes appear here whether they fired an error, a warning, or a neutral note (for example a savings-account waiver). Branch on codes for behavior; rely on validation_status for the rolled-up verdict. See the code registry below. |
| checks | array of objects | The full rule inventory for this part: one flat array of every check that ran: passed, failed and skipped alike. Each entry carries type (extraction, business or id_verification), code, label, description, status (passed / failed / skipped), severity, message and reason. Extraction checks judge whether the document was read correctly; business checks judge your own acceptance rules; id_verification checks carry the identity-verification provider's verdict on identity documents. The code is the same token used in validation_codes, so the two join directly. A category that ran no checks contributes no entries. Organizations with rule details enabled additionally receive formula, values, expected, actual and tolerance per entry where available; absent keys uniformly mean the data is not available. |
| pages | array of integers | Page numbers where this document part appears in the original document |
| version | string | null | Document version/year when applicable (e.g., 2024 for SD2024 CERFA forms) |
| data | object | Extracted field values keyed by field codes. Each field contains value, label, and (for numeric form cells) column: a machine-readable token naming the form column the value belongs to (e.g. net_n, net_n_1, total_n, n_1, value_brut) |
Validation code registry
Each validation_codes entry is a stable upper-snake token. Branch on the code; the validation_status column shows whether the code, when fired, contributes to the rolled-up verdict. Bank statement codes have their own table.
| Code | When emitted | Affects validation_status | Part types |
|---|---|---|---|
| <CHECK_ID>_NOT_PERFORMED | A financial-statement consistency rule could not be evaluated because the document does not carry the data it needs: the target KPI line (for example a P&L without a résultat d'exploitation line) or every component line of the formula is absent. The check is traced as not performed instead of failing. The prefix is the upper-snake form of the check identifier, e.g. TOTAL_RESULTAT_D_EXPLOITATION_NET_N_NOT_PERFORMED. | No (status OK) | financial statements |
| SIREN_RESOLVED | The French company registry recognises the number carried by a field typed siren in the schema. Informational, surfaced for audit. | No (status OK) | custom schemas |
| SIREN_NOT_FOUND | The registry has no such SIREN, or the value printed on the document is not a usable 9-digit SIREN / 14-digit SIRET so nothing could be looked up. | Yes (ERROR) | custom schemas |
| SIREN_ENRICHMENT_UNAVAILABLE | The registry lookup could not be performed (outage or timeout), so we have no opinion on the company. Never means the company does not exist. | Yes (ERROR) | custom schemas |
Bank Statement JSON Schema
This page documents the JSON returned for a bank statement: document properties, transactions, extraction metadata and consistency check results.
part_type:bank-statement
Schema Overview
The bank statement extraction result contains the following main components:
- Document Properties: Bank name, currency, start/end balances
- Transactions: Detailed transaction records with dates, descriptions, and amounts
- Metadata: Extraction information and model details
- Consistency Checks: Validation results and balance verification
Complete JSON Response
The API returns extraction results in a simplified format without OCR positioning data:
{
"bank_name": "Qonto",
"currency": "EUR",
"account_type": "current",
"usage_type": "business",
"account_name": null,
"client_names": ["Starflight Dynamics GmbH"],
"account_number": "DE15100101232339317943",
"advisor_name": null,
"branch_name": null,
"start_balance": 3071.69,
"end_balance": 3030.39,
"start_date": "2025-05-01",
"end_date": "2025-05-31",
"validation_status": "OK",
"validation_codes": [],
"checks": [
{ "type": "extraction", "code": "BALANCE_EQUATION", "label": "Balance equation",
"description": null, "status": "passed", "severity": "error",
"message": null, "reason": null }
],
"pages": [1, 2, 3],
"annotations": [ // optional, omitted when none detected
{"page": 1, "content": "Checked OK"},
{"page": 2, "content": "See invoice #4521"}
],
"flagged_deferred_card_payments": [ // optional, omitted when no deferred-card tables are detected
{
"card_type": "Visa Business",
"card_number": "**** **** **** 1234",
"card_holder": "Jane Doe",
"debit_date": "2025-06-02",
"total_amount": -842.31,
"page": 3,
"transactions": [
{
"transaction_date": "2025-05-12",
"label": "AMAZON EU SARL",
"amount": -42.18,
"page": 3,
"row": 1
}
]
}
],
"ocr_confidence": { // opt-in, omitted unless enabled for your organization
"bank_name": {"min": 0.71, "mean": 0.85, "engine": "engine_a"},
"end_balance": {"min": 0.98, "mean": 0.99, "engine": "engine_a"}
},
"transactions": [
{
"transaction_date": "2025-05-02",
"value_date": "2025-05-02",
"amount": -963.9,
"description": "Schmittlein Kloster Arbeitsrecht",
"credit": null,
"debit": 963.9,
"page": 1,
"row": 1
},
{
"transaction_date": "2025-05-15",
"value_date": "2025-05-15",
"amount": 922.6,
"description": "Virement Client SARL Dupont",
"credit": 922.6,
"debit": null,
"page": 1,
"row": 2,
"field_annotations": { // optional, omitted when none detected
"description": {
"content": ["bank"]
},
"credit": {
"is_highlighted": true
}
},
"ocr_confidence": { // opt-in, omitted unless enabled for your organization
"description": {"min": 0.62, "mean": 0.8, "engine": "engine_a"}
}
}
]
}Response Payload
| Name | Type | Description |
|---|---|---|
| bank_name | string | null | Bank or financial institution name |
| currency | string | null | Currency code (e.g., EUR, USD) |
| account_type | string | null | Account type (current, savings, securities (compte titres / PEA / CTO / brokerage), or loans) |
| usage_type | string | null | Usage type (business or personal) |
| account_name | string | null | Account name from the statement |
| client_names | array of strings | Client/account holder names |
| account_number | string | null | Account number from the statement |
| advisor_name | string | null | Personal banker / relationship manager name (FR: conseiller). null when the statement does not surface it. |
| branch_name | string | null | Branch label or code (FR: agence). null when the statement does not surface it. |
| start_balance | number | null | Starting balance of the statement period |
| end_balance | number | null | Ending balance of the statement period |
| start_date | string | null | Start date of the statement period (YYYY-MM-DD) |
| end_date | string | null | End date of the statement period (YYYY-MM-DD) |
| validation_status | string | null | Result of data validation. Possible values: OK (all checks passed), WARNING (soft issues detected), or ERROR (validation errors detected, such as balance mismatches) |
| validation_codes | array of strings |
Stable tokens explaining the decisions taken during validation. Always present, may be empty. Branch on these for behavior; validation_status remains the rolled-up verdict. See Validation codes.
|
| checks | object | Per-category breakdown of validation_status (extraction quality vs your own business rules). See the Document Parts page for the full contract. Bank-statement balance checks are extraction checks. |
| pages | array of integers | Page numbers where the bank statement appears in the original document (null for bank statements in v1.1) |
| annotations | array of objects | optional Handwritten annotations detected on the document pages (e.g., margin notes, stamps, reviewer comments). Each object contains page (integer, page number) and content (string, annotation text). This field is omitted entirely when no annotations are detected. |
| flagged_deferred_card_payments | array of objects | optional Deferred-debit card payment tables detected on the statement (FR: cartes à débit différé). Each entry represents one card and contains its own list of transactions billed on a future debit date. Field is omitted entirely when no deferred-card tables are detected. See Deferred Card Fields. |
| ocr_confidence | object | opt-in Per-property OCR confidence scores, keyed by property name (e.g. bank_name, end_balance). Only included when OCR confidence is enabled for your organization; properties without an OCR reading are omitted. See OCR Confidence Scores. |
| transactions | array | List of transaction records |
Transaction Fields
| Field | Type | Description |
|---|---|---|
| transaction_date | string | null | Date when transaction occurred (YYYY-MM-DD format) |
| value_date | string | null | Date when transaction value was applied |
| description | string | null | Transaction description or label |
| amount | number | null | Transaction amount (positive for credits, negative for debits) |
| debit | number | null | Debit amount (null if credit transaction) |
| credit | number | null | Credit amount (null if debit transaction) |
| page | integer | PDF page number where transaction appears |
| row | integer | Row number within the page |
| transaction_id | string | opt-in Stable transaction identifier (txn_…), assigned at extraction time and preserved across reviewer edits. Only included when transaction ids are enabled for your organization. |
| field_annotations | object | optional Per-field annotation metadata indicating handwritten marks or highlighting on specific transaction fields. Keys are field names (transaction_date, value_date, description, debit, credit). Each value may contain content (array of annotation labels, e.g. ["bank"]) and/or is_highlighted (boolean). This field is omitted entirely when no annotations are detected on the transaction. |
| ocr_confidence | object | opt-in Per-field OCR confidence scores. Keys are field names (transaction_date, value_date, description, debit, credit). Only included when OCR confidence is enabled for your organization; fields without an OCR reading are omitted. See OCR Confidence Scores. |
OCR Confidence Scores
opt-in When enabled for your organization, extraction responses and webhook payloads include OCR confidence scores for document properties (in the part-level ocr_confidence object) and for each transaction field (in the transaction-level ocr_confidence object). Contact us to enable it for your account.
Each entry has the same shape:
| Field | Type | Description |
|---|---|---|
| min | number | Lowest OCR confidence among the text regions that produced the value, between 0 and 1 (rounded to 4 decimals). Use this as the pessimistic signal: a low min means at least part of the value was hard to read. |
| mean | number | null | Average OCR confidence across those text regions, between 0 and 1 (rounded to 4 decimals). |
| engine | string | null | Opaque identifier of the OCR engine that produced the scores. Confidence scales are not comparable across engines. Interpret min and mean relative to the engine, and calibrate any thresholds per engine. |
A field or property is omitted from ocr_confidence when it has no OCR reading, typically for digitally-born (native) PDFs where the text is read directly without OCR, or for values corrected by a human reviewer. The ocr_confidence object itself is omitted when no field carries a score, so treat a missing entry as "no signal", not as low confidence.
Deferred Card Fields
Each entry in flagged_deferred_card_payments represents a deferred-debit card and its pending transactions, billed together on the card's debit date.
| Field | Type | Description |
|---|---|---|
| card_type | string | null | Card brand or product name (e.g., Visa Business) |
| card_number | string | null | Masked card number as shown on the statement |
| card_holder | string | optional Cardholder name when present on the statement |
| debit_date | string | optional Future date on which the aggregated total will be debited (YYYY-MM-DD) |
| total_amount | number | optional Aggregated amount that will be debited on debit_date (negative for debits) |
| page | integer | optional PDF page number where the card table appears |
| transactions | array | Card transactions covered by this deferred debit. Each item contains transaction_date, label, amount, page, and row. |
Validation codes
Each part reports its codes in validation_codes, grouped here by what to do about them. The status column is the code's effect on validation_status: null means the part has no verdict, and "unchanged" means the status still follows the balance check.
Needs attention
The reading may be wrong or incomplete. Review the part before relying on it.
| Code | Status | Meaning |
|---|---|---|
| BALANCE_ | ERROR | Opening balance plus transactions differs from the closing balance by more than €0.02. |
| SECTION_ | ERROR | The transactions of one part use several currencies, so the part holds more than one account and its totals add them together. |
| MISSING_ | null | The statement declares no opening balance, and the product is not one that omits it by design. |
| MISSING_ | null | The statement declares no closing balance. |
| INVALID_ | null | A declared balance could not be parsed as a number. |
| TRANSACTION_ | unchanged | A block of rows is dated weeks away from the rows around it, and swapping day and month would restore the order. The date is kept and the message gives the one that fits. |
| CLOSING_ | unchanged | One statement's closing balance is the exact negative of the next one's opening balance, so one read lost its debit sign. Neither is changed. |
| INVALID_ | unchanged | The IBAN failed its MOD-97 check and could not be corrected. The value is kept as read. |
| STATEMENT_ | unchanged | A current account declared no opening balance, so a page is probably absent. Always alongside MISSING_START_BALANCE. |
Expected, no action
Normal for this kind of product or transaction.
| Code | Status | Meaning |
|---|---|---|
| SAVING_ | OK | A savings product shows a closing balance and no opening balance. |
| SECURITIES_ | OK | A securities product (compte titres, PEA, CTO) shows a closing valuation and no opening balance. |
| LOAN_ | OK | A loan statement is missing a balance. Loan statements carry no balance equation. |
| CARD_ | OK | A card statement is missing a balance. Card statements often omit the opening one. |
| TRANSACTION_ | unchanged | A transaction is dated more than a few days outside the statement period, usually a card operation carried over. |
Not scored
The part is not a statement to reconcile, so it has no verdict. Leave it out of your own totals.
| Code | Status | Meaning |
|---|---|---|
| DUPLICATE_ | null | Another part of the document carries this statement in full, usually a rescan. This copy's transactions are excluded. |
| ACCOUNT_ | null | The part recaps a period covering other statements of the account and has no transactions. |
| BALANCE_ | null | The part declares one balance and no transactions, usually a line of an account summary table. |
| ACCOUNT_ | null | The part names an account but has no balance and no transactions. |
Corrected for you
The reading was fixed during validation. The code is there for your audit trail.
| Code | Status | Meaning |
|---|---|---|
| TRANSACTION_ | unchanged | A misread transaction date was corrected. |
| DUPLICATE_ | unchanged | A page repeats an earlier page row for row and the balance only reconciles without it. Its transactions are excluded. |
| ACCOUNT_ | unchanged | An IBAN that failed its MOD-97 check was corrected. |
| ACCOUNT_ | unchanged | An IBAN that failed its MOD-97 check was corrected. |
| ACCOUNT_ | unchanged | An IBAN that failed its MOD-97 check was corrected. |
| ACCOUNT_ | unchanged | The part reported a domestic account number while other statements of the account reported the IBAN containing it. The part takes the IBAN. |
Utility Bill JSON Schema
This page documents the JSON returned for a utility bill (electricity, gas, water). Each meter or delivery point produces a separate document part with consumption periods and optional totals.
part_type:utility_bill
Schema Overview
The utility bill extraction result contains the following main components:
- Document Properties: Delivery point reference, invoice ID, invoice date, fluid type, supplier
- Consumptions: Individual consumption periods with dates, units, and kWh or liter conversion
- Total: Aggregate consumption for the meter (when available on the document)
- Consistency Checks: Unit conversion validation, reasonableness checks, total consistency
Complete JSON Response
The API returns extraction results in a simplified format:
{
"dp_ref": "PDL-30001234567890",
"invoice_id": "EDF-2024-00341",
"invoice_date": "2024-03-15",
"fluid": "ELECTRICITY",
"supplier": "EDF",
"consumptions": [
{
"consumption_type": "hc",
"start_date": "2024-01-01",
"end_date": "2024-03-15",
"consumption_kwh": "4820",
"consumption_l": null,
"original_unit": "kWh",
"original_consumption": "4820",
"description": "Heures Creuses"
},
{
"consumption_type": "hp",
"start_date": "2024-01-01",
"end_date": "2024-03-15",
"consumption_kwh": "6340",
"consumption_l": null,
"original_unit": "kWh",
"original_consumption": "6340",
"description": "Heures Pleines"
}
],
"total": {
"consumption_type": null,
"start_date": "2024-01-01",
"end_date": "2024-03-15",
"consumption_kwh": "11160",
"consumption_l": null,
"original_unit": "kWh",
"original_consumption": "11160",
"description": "Total"
}
}Response Payload
| Name | Type | Description |
|---|---|---|
| dp_ref | string | null | Delivery point reference (e.g., PDL, PRM, PCE for France; MPAN, MPRN for UK; meter/account number for US) |
| invoice_id | string | null | Invoice or bill reference number |
| invoice_date | string | null | Invoice date (YYYY-MM-DD) |
| fluid | string | null | Fluid type: ELECTRICITY, GAS, or WATER |
| supplier | string | null | Utility supplier or provider name |
| consumptions | array | List of consumption period records |
| total | object | optional Aggregate consumption total for the meter. Uses the same fields as individual consumption records. Omitted entirely when the document does not print a total. |
Consumption Fields
| Field | Type | Description |
|---|---|---|
| consumption_type | string | null | Tariff tier code: base, peak, off_peak, hp, hc, hph, hpe, hch, hce, f1, f2, f3, ops, mps, ofps, opw, mpw, ofpw, total, other |
| start_date | string | null | Consumption period start date (YYYY-MM-DD) |
| end_date | string | null | Consumption period end date (YYYY-MM-DD) |
| consumption_kwh | string | null | Consumption converted to kWh. Automatically computed from original_consumption and original_unit when possible. null for water meters or unknown units. |
| consumption_l | string | null | Water consumption converted to liters. Automatically computed from original_consumption and original_unit for water meters using m3, ccf, L, or Gal. null for electricity and gas meters. |
| original_unit | string | null | Canonical unit. One of kWh, MWh, GWh, Wh, therms, ccf, m3, L, or Gal. |
| original_consumption | string | null | Consumption value in the original unit as printed on the document |
| description | string | null | Description or label for this consumption line (e.g., "Heures Creuses", "Off-Peak") |
Consistency Checks
The API runs these consistency checks on every extracted utility bill:
- Unit Conversion: Verifies that
original_unitis a recognized unit and records the kWh conversion for electricity/gas or liter conversion for water - Reasonableness: Flags negative or zero consumption values
- Total Consistency: Verifies that the sum of individual consumption lines matches the total (when present and using the same unit)
FR Bilan Actif - Generic Balance Sheet (Assets)
The FR Bilan Actif is a generic French balance sheet assets template that can extract from various balance sheet formats. This form presents all assets owned or controlled by the company, organized by liquidity and type.
part_type:bilan-actif
Document Structure
The FR Bilan Actif is organized into the following major sections:
- Actif Immobilisé: Fixed assets (long-term investments)
- Immobilisations incorporelles (intangible assets)
- Immobilisations corporelles (tangible assets)
- Immobilisations financières (financial assets)
- Actif Circulant: Current assets (short-term, liquid assets)
- Stocks et en-cours (inventory and work in progress)
- Créances (receivables)
- Valeurs mobilières de placement (marketable securities)
- Disponibilités (cash and cash equivalents)
- Comptes de Régularisation: Accruals and deferrals
FR Bilan Actif Data Structure
Within the document_parts array, the fr_bilan_actif data object contains the following structure:
{
"AI13": {
"value": 150000,
"label": "Fonds commercial - Brut",
"column": "value_brut"
},
"AI14": {
"value": 0,
"label": "Fonds commercial - Amort/Prov",
"column": "value_amort_prov"
},
"AI15": {
"value": 150000,
"label": "Fonds commercial - Net N",
"column": "net_n"
},
"AI16": {
"value": 150000,
"label": "Fonds commercial - Net N-1",
"column": "net_n_1"
},
"AC01": {
"value": 250000,
"label": "Terrains - Brut",
"column": "value_brut"
},
"AC02": {
"value": 0,
"label": "Terrains - Amort/Prov",
"column": "value_amort_prov"
},
"AC03": {
"value": 250000,
"label": "Terrains - Net N",
"column": "net_n"
},
"AC05": {
"value": 500000,
"label": "Constructions - Brut",
"column": "value_brut"
},
"AC06": {
"value": 120000,
"label": "Constructions - Amort/Prov",
"column": "value_amort_prov"
},
"AC07": {
"value": 380000,
"label": "Constructions - Net N",
"column": "net_n"
},
"AS09": {
"value": 85000,
"label": "Marchandises - Brut",
"column": "value_brut"
},
"AS11": {
"value": 85000,
"label": "Marchandises - Net N",
"column": "net_n"
},
"ACR05": {
"value": 125000,
"label": "Créances clients et comptes rattachés - Brut",
"column": "value_brut"
},
"ACR06": {
"value": 5000,
"label": "Créances clients et comptes rattachés - Amort/Prov",
"column": "value_amort_prov"
},
"ACR07": {
"value": 120000,
"label": "Créances clients et comptes rattachés - Net N",
"column": "net_n"
},
"AD01": {
"value": 45000,
"label": "Disponibilités - Brut",
"column": "value_brut"
},
"AD03": {
"value": 45000,
"label": "Disponibilités - Net N",
"column": "net_n"
},
"AI30": [
{
"label": {
"value": "Logiciels informatiques",
"markdown_ids": ["mk_123"]
},
"value_brut": {
"value": 50000,
"markdown_ids": ["mk_124"]
},
"value_amort_prov": {
"value": 30000,
"markdown_ids": ["mk_125"]
},
"net_n": {
"value": 20000,
"markdown_ids": ["mk_126"]
},
"net_n_1": {
"value": 25000,
"markdown_ids": ["mk_127"]
}
},
{
"label": {
"value": "Licences",
"markdown_ids": ["mk_128"]
},
"value_brut": {
"value": 15000,
"markdown_ids": ["mk_129"]
},
"value_amort_prov": {
"value": 10000,
"markdown_ids": ["mk_130"]
},
"net_n": {
"value": 5000,
"markdown_ids": ["mk_131"]
},
"net_n_1": {
"value": 7000,
"markdown_ids": ["mk_132"]
}
}
],
"ATOT01": {
"value": 1250000,
"label": "TOTAL GENERAL ACTIF - Brut",
"column": "value_brut"
},
"ATOT02": {
"value": 125000,
"label": "TOTAL GENERAL ACTIF - Amort/Prov",
"column": "value_amort_prov"
},
"ATOT03": {
"value": 1125000,
"label": "TOTAL GENERAL ACTIF - Net N",
"column": "net_n"
},
"ATOT04": {
"value": 1050000,
"label": "TOTAL GENERAL ACTIF - Net N-1",
"column": "net_n_1"
},
"company_name": "SAS EXEMPLE COMMERCE",
"siret": "12345678901234",
"current_year_end": "31/12/2023",
"previous_year_end": "31/12/2022"
}Field ID Naming Convention
Field IDs follow a systematic pattern based on asset category and column type:
| Prefix | Category | Example Fields |
|---|---|---|
| AI | Immobilisations Incorporelles | AI01-AI24, AI30 (Intangible assets) |
| AC | Immobilisations Corporelles | AC01-AC24, AC30 (Tangible assets) |
| AF | Immobilisations Financières | AF01-AF16, AF30 (Financial assets) |
| AS | Stocks et En-cours | AS01-AS16, AS30 (Inventory) |
| ACR | Créances | ACR01-ACR16, ACR30 (Receivables) |
| AV | Valeurs Mobilières | AV01-AV04, AV30 (Securities) |
| AD | Disponibilités | AD01-AD04, AD30 (Cash) |
| AR | Comptes de Régularisation | AR01-AR16, AR30 (Accruals) |
| ATOT | Total Général Actif | ATOT01-ATOT04 (Grand total) |
Column Structure
Each asset line item has up to 4 columns representing different valuations. Every scalar field carries a machine-readable column property naming the form column it belongs to (use it instead of parsing the label):
value_brut(Brut): Gross value (original cost or acquisition value), current fiscal yearvalue_amort_prov(Amort/Prov): Depreciation and provisions (accumulated over time), current fiscal yearnet_n(Net N): Net value for current fiscal year (Brut - Amort/Prov)net_n_1(Net N-1): Net value for previous fiscal year (for comparison)
Dynamic "Autres" arrays (e.g. AI30) encode the same columns as object keys (value_brut, value_amort_prov, net_n, net_n_1) on each item, so the vocabulary is identical across both shapes. Metadata fields (company_name, dates, ...) have no column property.
Key Asset Categories Extracted
| Section | Key Fields | Item Label |
|---|---|---|
| Immobilisations Incorporelles | AI01-AI04 | Frais d'établissement (Start-up costs) |
| AI05-AI08 | Frais de développement (R&D costs) | |
| AI09-AI12 | Concessions, brevets (Patents, licenses) | |
| AI13-AI16 | Fonds commercial (Goodwill) | |
| AI17-AI20 | Autres immobilisations incorporelles | |
| AI21-AI24 | Avances et acomptes | |
| Immobilisations Corporelles | AC01-AC04 | Terrains (Land) |
| AC05-AC08 | Constructions (Buildings) | |
| AC09-AC12 | Installations techniques, matériel (Equipment) | |
| AC13-AC16 | Immobilisations en cours (Assets under construction) | |
| AC17-AC20 | Autres immobilisations corporelles | |
| AC21-AC24 | Avances et acomptes | |
| Immobilisations Financières | AF01-AF04 | Participations (Equity investments) |
| AF05-AF08 | Autres participations | |
| AF09-AF12 | Créances rattachées à des participations | |
| AF13-AF16 | Autres titres immobilisés | |
| Stocks et En-cours | AS01-AS04 | Matières premières (Raw materials) |
| AS05-AS08 | En-cours de production (Work in progress) | |
| AS09-AS12 | Marchandises (Goods for resale) | |
| AS13-AS16 | Produits finis (Finished goods) | |
| Créances | ACR01-ACR04 | Avances et acomptes versés |
| ACR05-ACR08 | Créances clients (Customer receivables) | |
| ACR09-ACR12 | Autres créances (Other receivables) | |
| ACR13-ACR16 | Capital souscrit appelé, non versé | |
| Valeurs Mobilières de Placement | AV01-AV04 | Valeurs mobilières de placement (Marketable securities) |
| Disponibilités | AD01-AD04 | Disponibilités (Cash and cash equivalents) |
| Comptes de Régularisation | AR01-AR04 | Charges constatées d'avance (Prepaid expenses) |
| AR05-AR08 | Frais d'émission d'emprunt à étaler (Bond issue costs) | |
| AR09-AR12 | Primes de remboursement des obligations (Bond redemption premiums) | |
| AR13-AR16 | Écart de conversion actif (Foreign exchange gains) |
Dynamic "Autres" Fields
The schema includes dynamic "Autres" (Other) fields that can contain multiple line items. These fields are identified by their "items": [] property in the schema and are returned as arrays of objects.
Array items are form rows, not cells: each item carries one value per column, so the column tokens appear as the object keys (value_brut, value_amort_prov, net_n, net_n_1) instead of a column property. The tokens are the same ones scalar fields expose in column.
Each array item contains the following properties with the standard {value, markdown_ids} structure:
- label: Text description of the line item (object with value and markdown_ids)
- value_brut: Gross value (object with value and markdown_ids)
- value_amort_prov: Amortization/Provisions (object with value and markdown_ids)
- net_n: Net value for current fiscal year (object with value and markdown_ids)
- net_n_1: Net value for previous fiscal year (object with value and markdown_ids)
Example array structure:
"AI30": [
{
"label": {
"value": "Logiciels informatiques",
"markdown_ids": ["mk_123"]
},
"value_brut": {
"value": 50000,
"markdown_ids": ["mk_124"]
},
"value_amort_prov": {
"value": 30000,
"markdown_ids": ["mk_125"]
},
"net_n": {
"value": 20000,
"markdown_ids": ["mk_126"]
},
"net_n_1": {
"value": 25000,
"markdown_ids": ["mk_127"]
}
},
{
"label": {
"value": "Licences",
"markdown_ids": ["mk_128"]
},
"value_brut": {
"value": 15000,
"markdown_ids": ["mk_129"]
},
"value_amort_prov": {
"value": 10000,
"markdown_ids": ["mk_130"]
},
"net_n": {
"value": 5000,
"markdown_ids": ["mk_131"]
},
"net_n_1": {
"value": 7000,
"markdown_ids": ["mk_132"]
}
}
]Array fields in the Bilan Actif schema include:
AI30- Autres immobilisations incorporellesAC30- Autres immobilisations corporellesAF30- Autres immobilisations financièresAS30- Autres stocksACR30- Autres créancesAV30- Autres valeurs mobilièresAD30- Autres disponibilitésAR30- Autres comptes de régularisation
Understanding Asset Classification
French accounting organizes assets by liquidity and intended use:
- Actif Immobilisé: Long-term assets intended to be held for more than one year (e.g., buildings, equipment, long-term investments)
- Actif Circulant: Short-term assets that are expected to be converted to cash or consumed within one year (e.g., inventory, receivables, cash)
- Comptes de Régularisation: Timing differences between accounting periods (e.g., prepaid expenses, deferred charges)
Metadata Fields
The following metadata fields are also extracted:
- company_name: Legal name of the company
- company_siret: French business identification number (14 digits)
- company_address: Registered address of the company
- fiscal_year_end_n: End date of current fiscal year (DD/MM/YYYY)
- fiscal_year_end_n1: End date of previous fiscal year (DD/MM/YYYY)
FR Bilan Passif - Generic Balance Sheet (Liabilities & Equity)
The FR Bilan Passif is a generic French balance sheet liabilities and equity template that can extract from various balance sheet formats. This form presents all liabilities and equity (sources of financing), organized by permanence and type.
part_type:bilan-passif
Document Structure
The FR Bilan Passif is organized into the following major sections:
- Capitaux Propres: Shareholders' equity (permanent capital)
- Capital social (share capital)
- Réserves (reserves)
- Report à nouveau (retained earnings)
- Résultat de l'exercice (current year profit/loss)
- Subventions d'investissement (investment grants)
- Autres Fonds Propres: Other equity instruments
- Produits des émissions de titres participatifs (participatory securities)
- Avances conditionnées (conditional advances)
- Provisions pour Risques et Charges: Provisions for risks and charges
- Dettes: Liabilities (debts and payables)
- Dettes financières (financial debts)
- Dettes d'exploitation (operating liabilities)
- Dettes diverses (other liabilities)
- Comptes de régularisation (accruals and deferrals)
FR Bilan Passif Data Structure
Within the document_parts array, the fr_bilan_passif data object contains the following structure:
{
"C01": {
"value": 500000,
"label": "Capital social - Net N",
"column": "net_n"
},
"C02": {
"value": 500000,
"label": "Capital social - Net N-1",
"column": "net_n_1"
},
"C03": {
"value": 100000,
"label": "Primes d'émission, de fusion, d'apport - Net N",
"column": "net_n"
},
"C04": {
"value": 95000,
"label": "Primes d'émission, de fusion, d'apport - Net N-1",
"column": "net_n_1"
},
"R07": {
"value": 50000,
"label": "Réserve légale - Net N",
"column": "net_n"
},
"R08": {
"value": 45000,
"label": "Réserve légale - Net N-1",
"column": "net_n_1"
},
"R11": {
"value": 150000,
"label": "Autres réserves - Net N",
"column": "net_n"
},
"R12": {
"value": 140000,
"label": "Autres réserves - Net N-1",
"column": "net_n_1"
},
"N11": {
"value": 75000,
"label": "Report à nouveau - Net N",
"column": "net_n"
},
"N12": {
"value": 65000,
"label": "Report à nouveau - Net N-1",
"column": "net_n_1"
},
"R13": {
"value": 125000,
"label": "Résultat de l'exercice - Net N",
"column": "net_n"
},
"R14": {
"value": 105000,
"label": "Résultat de l'exercice - Net N-1",
"column": "net_n_1"
},
"P05": {
"value": 35000,
"label": "Provisions pour risques - Net N",
"column": "net_n"
},
"P06": {
"value": 30000,
"label": "Provisions pour risques - Net N-1",
"column": "net_n_1"
},
"D01": {
"value": 200000,
"label": "Emprunts obligataires convertibles - Net N",
"column": "net_n"
},
"D02": {
"value": 220000,
"label": "Emprunts obligataires convertibles - Net N-1",
"column": "net_n_1"
},
"E01": {
"value": 85000,
"label": "Dettes fournisseurs et comptes rattachés - Net N",
"column": "net_n"
},
"E02": {
"value": 80000,
"label": "Dettes fournisseurs et comptes rattachés - Net N-1",
"column": "net_n_1"
},
"E30": {
"value": [
{
"label": "Dettes sociales",
"net_n": 25000,
"net_n_1": 22000
},
{
"label": "Dettes fiscales",
"net_n": 18000,
"net_n_1": 15000
}
],
"label": "Autres dettes d'exploitation"
},
"PTOT01": {
"value": 1390000,
"label": "TOTAL GENERAL PASSIF - Net N",
"column": "net_n"
},
"PTOT02": {
"value": 1300000,
"label": "TOTAL GENERAL PASSIF - Net N-1",
"column": "net_n_1"
},
"company_name": "SAS EXEMPLE COMMERCE",
"siret": "12345678901234",
"fiscal_year_end_n": "31/12/2023",
"fiscal_year_end_n1": "31/12/2022"
}Field ID Naming Convention
Field IDs follow a systematic pattern based on liability/equity category:
| Prefix | Category | Example Fields |
|---|---|---|
| C | Capital Social | C01-C06, C30 (Share capital) |
| R | Réserves et Résultat | R07-R14, R30 (Reserves & result) |
| N | Report à Nouveau | N11-N12 (Retained earnings) |
| A | Autres Capitaux Propres | A15-A18, A30 (Other equity) |
| P | Provisions pour Risques et Charges | P05-P08, P30 (Provisions) |
| F | Autres Fonds Propres | F21-F24, F30 (Other equity instruments) |
| D | Dettes Financières | D01-D14, D30 (Financial debts) |
| E | Dettes d'Exploitation | E01-E04, E30 (Operating liabilities) |
| Z | Dettes Diverses | Z01-Z04, Z30 (Other liabilities) |
| Y | Comptes de Régularisation | Y01-Y04, Y30 (Accruals) |
| PTOT | Total Général Passif | PTOT01-PTOT02 (Grand total) |
Column Structure
Each liability/equity line item has 2 columns representing different periods. Every scalar field carries a machine-readable column property naming the form column it belongs to (use it instead of parsing the label):
net_n(Net N): Net value for current fiscal yearnet_n_1(Net N-1): Net value for previous fiscal year (for comparison)
Dynamic "Autres" arrays encode the same columns as object keys (net_n, net_n_1) on each item. Metadata fields (company_name, dates, ...) have no column property.
Unlike the Actif (assets), the Passif reports only net amounts, with no gross or depreciation values.
Dynamic "Autres" Fields
The schema includes dynamic "Autres" (Other) fields that can contain multiple line items. These fields are identified by their "items": [] property in the schema and are returned as arrays with the following structure:
Array items are form rows, not cells: each item carries one value per column, so the column tokens appear as the object keys (net_n, net_n_1) instead of a column property. The tokens are the same ones scalar fields expose in column.
| Field Key | Category | Array Structure |
|---|---|---|
| C30 | Autres Capital | Array of objects:{item_label, net_n, net_n_1} |
| R30 | Autres Réserves | |
| A30 | Autres Capitaux Propres | |
| F30 | Autres Fonds Propres | |
| P30 | Autres Provisions | |
| D30 | Autres Dettes Financières | |
| E30 | Autres Dettes d'Exploitation | |
| Z30 | Autres Dettes Diverses | |
| Y30 | Autres Comptes de Régularisation |
Each array item contains three properties:
- label: Text description of the line item (string)
- net_n: Value for current fiscal year (numeric or null)
- net_n_1: Value for previous fiscal year (numeric or null)
Example array structure:
"E30": {
"value": [
{
"label": "Dettes sociales",
"net_n": 25000,
"net_n_1": 22000
},
{
"label": "Dettes fiscales",
"net_n": 18000,
"net_n_1": 15000
}
],
"label": "Autres dettes d'exploitation"
}Key Liability & Equity Categories Extracted
| Section | Key Fields | Item Label |
|---|---|---|
| Capital Social | C01-C02 | Capital social ou individuel |
| C03-C04 | Primes d'émission, de fusion, d'apport | |
| C05-C06 | Écarts de réévaluation | |
| C30 | Autres capital (array) | |
| Réserves | R07-R08 | Réserve légale |
| R09-R10 | Réserve statutaires ou contractuelles | |
| R11-R12 | Autres réserves | |
| R30 | Autres réserves (array) | |
| Report à Nouveau | N11-N12 | Report à nouveau |
| Résultat de l'exercice | R13-R14 | Résultat de l'exercice |
| Autres Capitaux Propres | A15-A16 | Subventions d'investissement |
| A17-A18 | Provisions réglementées | |
| A30 | Autres capitaux propres (array) | |
| Autres Fonds Propres | F21-F22 | Produits des émissions de titres participatifs |
| F23-F24 | Avances conditionnées | |
| F30 | Autres fonds propres (array) | |
| Provisions | P05-P06 | Provisions pour risques |
| P07-P08 | Provisions pour charges | |
| P30 | Autres provisions (array) | |
| Dettes Financières | D01-D02 | Emprunts obligataires convertibles |
| D03-D04 | Autres emprunts obligataires | |
| D05-D06 | Emprunts auprès d'établissements de crédit | |
| D07-D08 | Concours bancaires courants | |
| D09-D10 | Emprunts et dettes financières diverses | |
| D11-D12 | Avances et acomptes reçus sur commandes en cours | |
| D13-D14 | Autres dettes financières | |
| D30 | Autres dettes financières (array) | |
| Dettes d'Exploitation | E01-E02 | Dettes fournisseurs et comptes rattachés |
| E03-E04 | Dettes fiscales et sociales | |
| E30 | Autres dettes d'exploitation (array) | |
| Dettes Diverses | Z01-Z02 | Dettes sur immobilisations et comptes rattachés |
| Z03-Z04 | Autres dettes | |
| Z30 | Autres dettes diverses (array) | |
| Comptes de Régularisation | Y01-Y02 | Produits constatés d'avance |
| Y03-Y04 | Écarts de conversion passif | |
| Y30 | Autres comptes de régularisation (array) |
Understanding Liability & Equity Classification
French accounting organizes the Passif by permanence and nature:
- Capitaux Propres: Shareholders' equity - permanent capital contributed by owners and retained profits. This represents the company's net worth.
- Autres Fonds Propres: Hybrid instruments between equity and debt (e.g., participatory securities, conditional advances).
- Provisions: Reserves set aside for known or anticipated future liabilities and charges.
- Dettes: Debts and payables - obligations to third parties that must be settled. Organized by type (financial, operating, other) and maturity.
Metadata Fields
The following metadata fields are also extracted:
- company_name: Legal name of the company
- company_siret: French business identification number (14 digits)
- company_address: Registered address of the company
- fiscal_year_end_n: End date of current fiscal year (DD/MM/YYYY)
- fiscal_year_end_n1: End date of previous fiscal year (DD/MM/YYYY)
FR Compte de Résultat - Generic Income Statement
The FR Compte de Résultat is a generic French income statement template that extracts profit and loss data from various income statement formats. This form presents all revenues and expenses, organized by type (operating, financial, exceptional) to arrive at the net result.
part_type:compte-resultat
Document Structure
The FR Compte de Résultat is organized into the following major sections:
- Produits d'Exploitation: Operating revenue
- Ventes de marchandises (merchandise sales)
- Production vendue de biens (goods production sold)
- Production vendue de services (services production sold)
- Chiffre d'affaires net (net revenue)
- Other operating income (subsidies, reversals, etc.)
- Charges d'Exploitation: Operating expenses
- Achats et variation de stocks (purchases and inventory changes)
- Charges externes (external charges)
- Impôts et taxes (taxes)
- Salaires et charges sociales (wages and social charges)
- Dotations aux amortissements et provisions
- Résultat d'Exploitation: Operating result (I - II)
- Produits Financiers: Financial income
- Charges Financières: Financial expenses
- Résultat Financier: Financial result (V - VI)
- Résultat Courant avant Impôts: Current result before taxes
- Produits Exceptionnels: Exceptional income
- Charges Exceptionnelles: Exceptional expenses
- Résultat Exceptionnel: Exceptional result (VII - VIII)
- Participation et Impôts: Employee profit-sharing and taxes
- Résultat Net: Net result (profit or loss)
FR Compte de Résultat Data Structure
Within the document_parts array, the fr_compte_resultat data object contains the following structure:
{
"PE01": {
"value": 150000,
"label": "Ventes de marchandises - France",
"column": "france"
},
"PE02": {
"value": 50000,
"label": "Ventes de marchandises - Exportation",
"column": "export"
},
"PE03": {
"value": 200000,
"label": "Ventes de marchandises - Total N",
"column": "total_n"
},
"PE04": {
"value": 180000,
"label": "Ventes de marchandises - N-1",
"column": "n_1"
},
"PE15": {
"value": 500000,
"label": "Chiffre d'affaires NET - Total N",
"column": "total_n"
},
"PE16": {
"value": 450000,
"label": "Chiffre d'affaires NET - N-1",
"column": "n_1"
},
"S01": {
"value": 120000,
"label": "Achats de marchandises - Total N",
"column": "total_n"
},
"S02": {
"value": 110000,
"label": "Achats de marchandises - N-1",
"column": "n_1"
},
"CE13": {
"value": 80000,
"label": "Salaires et traitements - Total N",
"column": "total_n"
},
"CE14": {
"value": 75000,
"label": "Salaires et traitements - N-1",
"column": "n_1"
},
"RE01": {
"value": 45000,
"label": "Résultat d'exploitation (I-II) - Total N",
"column": "total_n"
},
"RE02": {
"value": 40000,
"label": "Résultat d'exploitation (I-II) - N-1",
"column": "n_1"
},
"TR05": {
"value": 35000,
"label": "Bénéfice ou perte - Total N",
"column": "total_n"
},
"TR06": {
"value": 30000,
"label": "Bénéfice ou perte - N-1",
"column": "n_1"
},
"company_name": "SAS EXEMPLE COMMERCE",
"company_siret": "12345678901234",
"fiscal_year_end_n": "31/12/2023",
"fiscal_year_end_n1": "31/12/2022"
}Repeatable "Autres" fields (e.g. CE30, PE30, S30, CX30) are returned as arrays of line items:
"CE30": [
{ "label": "Loyer", "total_n": 80000, "n_1": null },
{ "label": "Publicité", "total_n": 10000, "n_1": null }
]Array items are form rows, not cells: each item carries one value per column, so the column tokens appear as the object keys (total_n, n_1) instead of a column property. The tokens are the same ones scalar fields expose in column.
Field ID Naming Convention
Field IDs follow a systematic pattern based on income/expense category:
| Prefix | Category | Example Fields |
|---|---|---|
| PE | Produits d'Exploitation | PE01-PE28 (Operating revenue) |
| S | Achats et Stocks | S01-S08 (Purchases and inventory) |
| CE | Charges Externes et Personnel | CE09-CE16 (External charges, wages) |
| D | Dotations | D17-D22 (Depreciation/provisions) |
| AU | Autres Charges | AU23-AU24 (Other charges) |
| T | Total Charges d'Exploitation | T25-T26 (Total operating expenses) |
| RE | Résultat d'Exploitation | RE01-RE02 (Operating result) |
| QP | Quotes-Parts de Résultat | QP01-QP04 (Profit/loss transfers) |
| PF | Produits Financiers | PF01-PF14 (Financial income) |
| CF | Charges Financières | CF01-CF10 (Financial expenses) |
| RF | Résultat Financier | RF01-RF02 (Financial result) |
| RC | Résultat Courant | RC01-RC02 (Current result) |
| PX | Produits Exceptionnels | PX01-PX08 (Exceptional income) |
| CX | Charges Exceptionnelles | CX01-CX08 (Exceptional expenses) |
| RX | Résultat Exceptionnel | RX01-RX02 (Exceptional result) |
| PI | Participation et Impôts | PI01-PI04 (Profit-sharing, taxes) |
| TR | Totaux et Résultats | TR01-TR06 (Totals, net result) |
Column Structure
Unlike the balance sheet which has 4 columns (Brut, Amort, Net N, Net N-1), the income statement has a simpler 2-column structure. Every scalar field carries a machine-readable column property naming the form column it belongs to (use it instead of parsing the label):
total_n: Value for the current fiscal year (Total N column)n_1: Value for the previous fiscal year (N-1 column, for comparison)france/export: France / Exportation breakdown of the revenue lines; both belong to the current fiscal year and sum to the matchingtotal_nfield
Repeatable "Autres" rows (e.g. CE30, PE30) encode the same columns as object keys (total_n, n_1) on each item, so the vocabulary is identical across both shapes. Metadata fields (company_name, fiscal_year_end_n, ...) have no column property. The actual dates of exercice N and N-1 are given by fiscal_year_end_n and fiscal_year_end_n1.
column: "france"), Exportation (column: "export"), Total for the current year (column: "total_n"), and the previous-year comparison (column: "n_1"). For example: PE13 (France) + PE14 (Export) = PE15 (Total N), and PE16 is the N-1 value of the same line.
Key Field Categories Extracted
| Section | Key Fields | Item Label |
|---|---|---|
| Produits d'Exploitation (I) | PE01-PE04 | Ventes de marchandises (Merchandise sales) |
| PE05-PE08 | Production vendue de biens (Goods production) | |
| PE09-PE12 | Production vendue de services (Services) | |
| PE13-PE16 | Chiffre d'affaires NET (Net revenue) | |
| PE17-PE18 | Production stockée (Inventory production) | |
| PE19-PE22 | Production immobilisée, Subventions (Capitalized production, subsidies) | |
| PE23-PE26 | Reprises, Autres produits (Reversals, other income) | |
| PE27-PE28 | Total des produits d'exploitation (Total I) | |
| Charges d'Exploitation (II) | S01-S04 | Achats de marchandises et variation de stock |
| S05-S08 | Achats matières premières et variation de stock | |
| CE09-CE12 | Autres achats, charges externes, impôts et taxes | |
| CE13-CE16 | Salaires, traitements, charges sociales | |
| D17-D22 | Dotations aux amortissements et provisions | |
| AU23-AU24 | Autres charges | |
| T25-T26 | Total des charges d'exploitation (Total II) | |
| Résultat d'Exploitation | RE01-RE02 | 1. Résultat d'exploitation (I - II) |
| Quotes-Parts | QP01-QP04 | Bénéfice/perte attribué ou transféré (III, IV) |
| Produits Financiers (V) | PF01-PF04 | Produits de participations et valeurs mobilières |
| PF05-PF08 | Autres intérêts, reprises sur provisions | |
| PF09-PF12 | Différences de change, cessions VMP | |
| PF13-PF14 | Total V | |
| Charges Financières (VI) | CF01-CF04 | Dotations, intérêts et charges assimilées |
| CF05-CF08 | Différences de change, charges cessions VMP | |
| CF09-CF10 | Total VI | |
| Résultat Financier | RF01-RF02 | 2. Résultat financier (V - VI) |
| Résultat Courant | RC01-RC02 | 3. Résultat courant avant impôts (I-II+III-IV+V-VI) |
| Produits Exceptionnels (VII) | PX01-PX06 | Produits sur opérations de gestion, capital, reprises |
| PX07-PX08 | Total VII | |
| Charges Exceptionnelles (VIII) | CX01-CX06 | Charges sur opérations de gestion, capital, dotations |
| CX07-CX08 | Total VIII | |
| Résultat Exceptionnel | RX01-RX02 | 4. Résultat exceptionnel (VII - VIII) |
| Participation et Impôts | PI01-PI04 | Participation des salariés (IX), Impôts sur bénéfices (X) |
| Totaux et Résultats | TR01-TR02 | Total des produits (I+III+V+VII) |
| TR03-TR04 | Total des charges (II+IV+VI+VIII+IX+X) | |
| TR05-TR06 | 5. Bénéfice ou perte (Total produits - Total charges) |
Metadata Fields
The following metadata fields are also extracted:
- company_name: Legal name of the company (Raison sociale)
- company_address: Registered address of the company (Adresse)
- company_siret: French business identification number (SIRET - 14 digits)
- fiscal_year_end_n: End date of current fiscal year (Exercice N clos le)
- fiscal_year_end_n1: End date of previous fiscal year (Exercice N-1 clos le)
CERFA 2033 A - Simplified Balance Sheet
The CERFA 2033 A is a simplified balance sheet used by companies under the simplified tax regime (Régime Simplifié d'Imposition). This form presents the financial position of a company at the end of the fiscal year.
part_type:CERFA-2033-A
Document Structure
The CERFA 2033 A balance sheet is divided into two main sections:
- Actif (Assets): Resources owned or controlled by the company
- Passif (Liabilities & Equity): Sources of financing for the assets
CERFA 2033 A Data Structure
Within the document_parts array, the CERFA-2033-A data object contains the following fields with their official CERFA field IDs:
{
"028": {
"value": 60571,
"label": "Immobilisations corporelles (Brut)",
"column": "value_brut"
},
"030": {
"value": 34551,
"label": "Immobilisations corporelles (Amortissements)",
"column": "value_amort_prov"
},
"028_net_n": {
"value": 26024,
"label": "Immobilisations corporelles (Net N)",
"column": "net_n"
},
"028_net_n1": {
"value": 36551,
"label": "Immobilisations corporelles (Net N-1)",
"column": "net_n_1"
},
"040": {
"value": 1850,
"label": "Immobilisations financières (Brut)",
"column": "value_brut"
},
"040_net_n": {
"value": 1850,
"label": "Immobilisations financières (Net N)",
"column": "net_n"
},
"044": {
"value": 62425,
"label": "Total I (Brut)",
"column": "value_brut"
},
"048": {
"value": 34551,
"label": "Total I (Amortissements)",
"column": "value_amort_prov"
},
"044_net_n": {
"value": 27874,
"label": "Total I (Net N)",
"column": "net_n"
},
"072": {
"value": 1008,
"label": "Autres créances (Brut)",
"column": "value_brut"
},
"072_net_n": {
"value": 1008,
"label": "Autres créances (Net N)",
"column": "net_n"
},
"092": {
"value": 230,
"label": "Charges constatées d'avance (Brut)",
"column": "value_brut"
},
"096": {
"value": 1238,
"label": "Total II (Brut)",
"column": "value_brut"
},
"110": {
"value": 63663,
"label": "Total général actif (Brut)",
"column": "value_brut"
},
"110_net_n": {
"value": 29112,
"label": "Total général actif (Net N)",
"column": "net_n"
},
"120": {
"value": 5000,
"label": "Capital social (Net)"
},
"120_n1": {
"value": 5000,
"label": "Capital social (Net N-1)",
"column": "net_n_1"
},
"126": {
"value": 500,
"label": "Réserve légale (Net)"
},
"136": {
"value": -4930,
"label": "Résultat de l'exercice (Net)"
},
"142": {
"value": -345,
"label": "Total I capitaux propres (Net)"
},
"156": {
"value": 8015,
"label": "Emprunts (Net)"
},
"166": {
"value": 3084,
"label": "Fournisseurs (Net)"
},
"169": {
"value": 3250,
"label": "TVA"
},
"172": {
"value": 6014,
"label": "Dettes fiscales et sociales (Net)"
},
"176": {
"value": 29456,
"label": "Total III dettes (Net)"
},
"180": {
"value": 29112,
"label": "Total général passif (Net)"
},
"company_name": "EURL ATOUS PORT FITNESS",
"company_siret": "87924425900013",
"fiscal_year_end_n": "31/12/2023",
"fiscal_year_end_n1": "31/12/2022"
}Data Structure Notes
Key points about the response structure:
- Wrapper Format: Each CERFA form is wrapped in the
document_partsarray with document-level metadata (extraction_id, document_name, extraction_date) - Multiple Forms: A single liasse fiscale can contain multiple CERFA forms (e.g., 2033-A, 2033-B, 2033-C), each appearing as a separate item in the
document_partsarray - Validation Status: Each sub-document has its own
validation_statusindicating whether validation passed (OK), has soft issues (WARNING), or detected errors (ERROR) - Page Information: The
pagesarray shows which pages of the original PDF contain this CERFA form
The CERFA 2033 A data structure includes:
- Flat Field IDs: Each field uses the official CERFA field ID (e.g., "028", "120", "169")
- Value/Label/Column Objects: Each field contains
value(numeric amount),label(human-readable description), andcolumn, a machine-readable token naming the form column the value belongs to (value_brut,value_amort_prov,net_n,net_n_1). Usecolumnto tell exercice N from N-1 instead of parsing labels or key suffixes. - Column Suffixes (key naming only; prefer the
columnproperty):- No suffix = Brut (gross) for ACTIF fields, Net N for PASSIF fields
_net_n= Net value for current year (ACTIF fields)_net_n1= Net value for previous year (ACTIF fields)_n1= Previous year value (PASSIF fields)- Special field IDs for amortissements (e.g., "030" for field "028")
- Metadata Fields: Company information stored as flat strings (company_name, company_siret, fiscal_year_end_n, etc.)
- Version: The CERFA form version (e.g., "2024" for SD2024)
- Pages: Array of page numbers where this form was found in the document
Key Fields Extracted
| Section | Field ID | Description | Columns Available |
|---|---|---|---|
| Actif - Immobilisations | 010 | Fonds commercial | brut, amortissements (012), net_n, net_n1 |
| 014 | Autres immobilisations incorporelles | brut, amortissements (016), net_n, net_n1 | |
| 028 | Immobilisations corporelles | brut, amortissements (030), net_n, net_n1 | |
| 040 | Immobilisations financières | brut, amortissements (042), net_n, net_n1 | |
| Actif - Actif Circulant | 050 | Matières premières | brut, amortissements (052), net_n, net_n1 |
| 060 | Marchandises | brut, amortissements (062), net_n, net_n1 | |
| 064 | Avances et acomptes versés sur commandes | brut, amortissements (066), net_n, net_n1 | |
| 068 | Clients et comptes rattachés | brut, amortissements (070), net_n, net_n1 | |
| 072 | Autres créances | brut, amortissements (074), net_n, net_n1 | |
| 080 | Valeurs mobilières | brut, amortissements (082), net_n, net_n1 | |
| 084 | Disponibilités | brut, amortissements (086), net_n, net_n1 | |
| Actif - Totaux | 044 | Total I (Immobilisations) | brut, amortissements (048), net_n, net_n1 |
| 096 | Total II (Actif Circulant) | brut, amortissements (098), net_n, net_n1 | |
| 110 | Total général actif | brut, amortissements (112), net_n, net_n1 | |
| Passif - Capitaux Propres | 120 | Capital social | net, n1 |
| 124 | Écarts de réévaluation | net, n1 | |
| 126 | Réserve légale | net, n1 | |
| 130 | Réserves réglementées | net, n1 | |
| 132 | Autres réserves | net, n1 | |
| 134 | Report à nouveau | net, n1 | |
| 136 | Résultat de l'exercice | net, n1 | |
| Passif - Dettes | 156 | Emprunts | net, n1 |
| 164 | Avances et acomptes | net, n1 | |
| 166 | Fournisseurs | net, n1 | |
| 169 | TVA | amount | |
| 172 | Dettes fiscales et sociales | net, n1 | |
| 173 |
Compte courant d'associés
Version SD2023 only: This field was removed in SD2024 and later versions.
| net, n1 | |
| Passif - Totaux | 142 | Total I capitaux propres | net, n1 |
| 176 | Total III dettes | net, n1 | |
| 180 | Total général passif | net, n1 | |
| Metadata | company_name | Raison sociale | string |
| company_siret | SIRET | string | |
| fiscal_year_end_n | Exercice N clos le | string (DD/MM/YYYY) | |
| fiscal_year_end_n1 | Exercice N-1 clos le | string (DD/MM/YYYY) |
Validation Rules
The extraction applies the following validation rules to CERFA 2033 A data:
- Balance Verification: Field
110_net_n(Total général actif) must equal field180(Total général passif) - Net Values for ACTIF: For each asset field,
field_net_n = field (brut) - amortissements_field. Example:028_net_n = 028 - 030 - Field ID Validation: All field IDs must match the official CERFA 2033-A field definitions
- Column Type Validation: Each field can only have specific column types (e.g., ACTIF fields have brut/amortissements/net_n/net_n1, PASSIF fields have net/n1)
- Value/Label Structure: Each field (except metadata) must contain both
value(number) andlabel(string)
Field Naming Convention
The flat structure uses specific naming patterns based on the field type:
| Field Type | Key Format | Example |
|---|---|---|
| ACTIF - Brut | {field_id} | "028" |
| ACTIF - Amortissements | {field_id + 2} | "030" (for field 028) |
| ACTIF - Net N | {field_id}_net_n | "028_net_n" |
| ACTIF - Net N-1 | {field_id}_net_n1 | "028_net_n1" |
| PASSIF - Net N | {field_id} | "120" |
| PASSIF - Net N-1 | {field_id}_n1 | "120_n1" |
| Special amounts (e.g., TVA) | {field_id} | "169" |
| Metadata | {field_name} | "company_name" |
CERFA 2033 B - Simplified Income Statement
The CERFA 2033 B is a simplified income statement (Compte de Résultat Simplifié) used by companies under the simplified tax regime (Régime Simplifié d'Imposition). This form presents the operating results and fiscal profit/loss for the fiscal year.
part_type:CERFA-2033-B
Document Structure
The CERFA 2033 B income statement is divided into main sections:
- Produits d'exploitation: Operating income (sales, production, subsidies)
- Charges d'exploitation: Operating expenses (purchases, salaries, depreciation)
- Résultat d'exploitation: Operating result (profit/loss from operations)
- Produits et charges financiers: Financial income and expenses
- Produits et charges exceptionnels: Exceptional income and expenses
- Résultat fiscal: Tax result with adjustments, add-backs, and deductions
CERFA 2033 B Data Structure
{
"218": {
"value": 74072,
"label": "Production vendue - Services",
"column": "amount"
},
"226": {
"value": 5167,
"label": "Subventions d'exploitation reçues",
"column": "amount"
},
"230": {
"value": 1,
"label": "Autres produits",
"column": "amount"
},
"232": {
"value": 79240,
"label": "Total des produits d'exploitation (I)",
"column": "amount"
},
"242": {
"value": 64599,
"label": "Autres charges externes",
"column": "amount"
},
"244": {
"value": 517,
"label": "Impôts, taxes et versements assimilés",
"column": "amount"
},
"250": {
"value": 6324,
"label": "Rémunérations du personnel",
"column": "amount"
},
"252": {
"value": 1267,
"label": "Charges sociales",
"column": "amount"
},
"254": {
"value": 10527,
"label": "Dotations aux amortissements",
"column": "amount"
},
"264": {
"value": 83285,
"label": "Total des charges d'exploitation (II)",
"column": "amount"
},
"270": {
"value": -4045,
"label": "Résultat d'exploitation (I-II)",
"column": "amount"
},
"310": {
"value": -4930,
"label": "Bénéfice ou perte",
"column": "amount"
},
"314": {
"value": 4930,
"label": "Résultat fiscal - Déficit",
"column": "amount"
},
"DCM": {
"value": 123,
"label": "dont crédit-bail mobilier",
"column": "amount"
},
"DCI": {
"value": 0,
"label": "dont crédit-bail immobilier",
"column": "amount"
},
"218_n1": {
"value": 55681,
"label": "Production vendue - Services (Net N-1)",
"column": "n_1"
},
"232_n1": {
"value": 63112,
"label": "Total des produits d'exploitation (I) (Net N-1)",
"column": "n_1"
},
"company_name": "EURL ATOUSPORT FITNESS",
"fiscal_year_end_n": "31122023",
"fiscal_year_end_n1": "31122022"
}Data Structure Notes
The CERFA 2033 B response format includes:
- Flat Field IDs: Each field uses the official CERFA field ID (e.g., "210", "242", "310")
- Letter-Code Fields: Some fields use 3-letter codes (e.g., "DCM" for crédit-bail mobilier, "DCI" for crédit-bail immobilier)
- Value/Label/Column Objects: Each field contains
value(numeric amount),label(human-readable description), andcolumn, a machine-readable token naming the form column the value belongs to (amount= current exercice,n_1= previous exercice). Usecolumnto tell exercice N from N-1 instead of parsing labels. - Column Suffixes:
- No suffix = Current year (N) value
_n1= Previous year (N-1) value
- Metadata Fields: Company information stored as flat values (company_name, fiscal_year_end_n, fiscal_year_end_n1)
- Version: The CERFA form version (e.g., "2024" for SD2024)
- Pages: Array of page numbers where this form was found
Key Fields Extracted
| Section | Field ID | Description | Columns Available |
|---|---|---|---|
| Produits d'exploitation | 210 | Ventes de marchandises | amount, n1 |
| 209 | dont export et livraisons intracommunautaires | amount, n1 | |
| 214 | Production vendue - Biens | amount, n1 | |
| 218 | Production vendue - Services | amount, n1 | |
| 222 | Production stockée | amount, n1 | |
| 226 | Subventions d'exploitation reçues | amount, n1 | |
| 230 | Autres produits | amount, n1 | |
| 232 | Total des produits d'exploitation (I) | amount, n1 | |
| Charges d'exploitation | 234 | Achats de marchandises | amount, n1 |
| 240 | Variation de stock (matières premières) | amount, n1 | |
| 242 | Autres charges externes | amount, n1 | |
| DCM | dont crédit-bail mobilier | amount | |
| DCI | dont crédit-bail immobilier | amount | |
| 244 | Impôts, taxes et versements assimilés | amount, n1 | |
| 243 | dont taxe professionnelle CFE et CVAE | amount, n1 | |
| 250 | Rémunérations du personnel | amount, n1 | |
| 252 | Charges sociales | amount, n1 | |
| 254 | Dotations aux amortissements | amount, n1 | |
| 255 |
Dont amortissement du fonds de commerce
Version SD2023 only: This field was removed in SD2024 and later versions.
| amount | |
| 256 | Dotations aux provisions | amount, n1 | |
| 262 | Autres charges | amount, n1 | |
| 264 | Total des charges d'exploitation (II) | amount, n1 | |
| Résultats | 270 | Résultat d'exploitation (I-II) | amount, n1 |
| 280 | Produits financiers (III) | amount, n1 | |
| 290 | Produits exceptionnels (IV) | amount, n1 | |
| 294 | Charges financières (V) | amount, n1 | |
| 300 | Charges exceptionnelles (VI) | amount, n1 | |
| 306 | Impôts sur les bénéfices (VII) | amount, n1 | |
| 310 | Bénéfice ou perte | amount, n1 | |
| Résultat fiscal | 312 | Résultat fiscal - Bénéfice | amount |
| 314 | Résultat fiscal - Déficit | amount | |
| 352 | Résultat avant déficits - Bénéfice | amount | |
| 370 | Résultat après déficits - Bénéfice | amount | |
| Metadata | company_name | Raison sociale | string |
| fiscal_year_end_n | Exercice N clos le | string (DDMMYYYY) | |
| fiscal_year_end_n1 | Exercice N-1 clos le | string (DDMMYYYY) |
Validation Rules
The extraction applies the following validation rules to CERFA 2033 B data:
- PRODUITS D'EXPLOITATION Total: Field
232should equal the sum of fields 210, 214, 218, 222, 224, 226, 230 - CHARGES D'EXPLOITATION Total: Field
264should equal the sum of fields 234, 236, 238, 240, 242, 244, 250, 252, 254, 256, 262 - Résultat d'exploitation: Field
270should equal232 - 264 - Bénéfice ou perte: Field
310should equal270 + 280 + 290 - 294 - 300 - 306 - Letter-Code Fields: Fields DCM, DCI use 3-letter uppercase codes instead of numeric IDs
- Tolerance: Calculations allow ±2 euro tolerance for rounding differences
Field Naming Convention
The flat structure uses specific naming patterns:
| Field Type | Key Format | Example |
|---|---|---|
| Numeric Field - Current Year (N) | {field_id} | "210", "242", "310" |
| Numeric Field - Previous Year (N-1) | {field_id}_n1 | "210_n1", "242_n1" |
| Letter-Code Field | {3-letter code} | "DCM", "DCI", "DER" |
| Metadata | {field_name} | "company_name" |
CERFA 2033 C - Fixed Assets and Depreciation
The CERFA 2033 C (Tableau des immobilisations et des amortissements) tracks the evolution of fixed assets (immobilisations) and their depreciation (amortissements) throughout the fiscal year. This form is used by companies under the simplified tax regime to detail asset acquisitions, disposals, and depreciation calculations.
part_type:CERFA-2033-C
Document Structure
The CERFA 2033 C has three main sections:
- Immobilisations: Tracking of fixed assets with 4 columns (Beginning, Increases, Decreases, End of period)
- Amortissements: Tracking of accumulated depreciation with 4 columns (Beginning, Increases, Decreases, End of period)
- Plus-values et Moins-values: Capital gains/losses on asset disposals with detailed calculations
CERFA 2033 C Data Structure
Within the document_parts array, the CERFA-2033-C data object contains the following fields:
{
"400": {
"value": 15000,
"label": "Immobilisation incorporelles - Fonds commercial (Début exercice)",
"column": "amount"
},
"410": {
"value": 25000,
"label": "Immobilisation incorporelles - Autres (Début exercice)",
"column": "amount"
},
"430": {
"value": 120000,
"label": "Constructions (Début exercice)",
"column": "amount"
},
"432": {
"value": 50000,
"label": "Constructions (Augmentations)",
"column": "amount"
},
"436": {
"value": 170000,
"label": "Constructions (Fin exercice)",
"column": "amount"
},
"440": {
"value": 85000,
"label": "Installations techniques, matériel et outillage industriels (Début exercice)",
"column": "amount"
},
"442": {
"value": 12000,
"label": "Installations techniques, matériel et outillage industriels (Augmentations)",
"column": "amount"
},
"446": {
"value": 97000,
"label": "Installations techniques, matériel et outillage industriels (Fin exercice)",
"column": "amount"
},
"495": {
"value": 5000,
"label": "Fonds commercial (Amortissements - Début exercice)",
"column": "amount"
},
"497": {
"value": 1500,
"label": "Fonds commercial (Amortissements - Augmentations)",
"column": "amount"
},
"499": {
"value": 6500,
"label": "Fonds commercial (Amortissements - Fin exercice)",
"column": "amount"
},
"520": {
"value": 45000,
"label": "Constructions (Amortissements - Début exercice)",
"column": "amount"
},
"522": {
"value": 8500,
"label": "Constructions (Amortissements - Augmentations)",
"column": "amount"
},
"526": {
"value": 53500,
"label": "Constructions (Amortissements - Fin exercice)",
"column": "amount"
},
"company_name": "SARL EXEMPLE",
"siret": "12345678900012",
"current_year_end": "31/12/2023",
"previous_year_end": "31/12/2022"
}Key Field Categories
The form tracks various asset categories with their movements:
| Asset Category | Field ID Range | Columns |
|---|---|---|
| Fonds commercial | 400, 402, 404, 406 | Début, Augmentations, Diminutions, Fin |
| Autres immobilisations incorporelles | 410, 412, 414, 416 | Début, Augmentations, Diminutions, Fin |
| Terrains | 420, 422, 424, 426 | Début, Augmentations, Diminutions, Fin |
| Constructions | 430, 432, 434, 436 | Début, Augmentations, Diminutions, Fin |
| Installations techniques | 440, 442, 444, 446 | Début, Augmentations, Diminutions, Fin |
| Matériel de transport | 460, 462, 464, 466 | Début, Augmentations, Diminutions, Fin |
Column Structure
Each asset category has 4 movement columns:
- Début exercice (col 1): Asset value at beginning of fiscal year
- Augmentations (col 2): Acquisitions during the year
- Diminutions (col 3): Disposals during the year
- Fin exercice (col 4): Asset value at end of fiscal year (Beginning + Increases - Decreases)
The same structure applies to accumulated depreciation (amortissements) tracked separately.
Every scalar numeric field carries a machine-readable column property naming the form column it belongs to (amount: this form reports a single exercice, so every value belongs to the current fiscal year). Use it instead of parsing labels. Metadata fields (company info, dates) have no column property.
CERFA 2033 D - Provisions and Loss Carryforwards
The CERFA 2033 D (Relevé des provisions, amortissements dérogatoires, déficits reportables) details the movement of provisions and accelerated depreciation over the fiscal year, together with tax loss carryforwards and miscellaneous disclosures. It is filed by companies under the simplified tax regime.
part_type:CERFA-2033-D
Document Structure
The CERFA 2033 D has four main sections:
- I.A - Nature des provisions: Provisions tracked across 4 columns (Début, Augmentations : dotations, Diminutions : reprises, Fin)
- I.B - Mouvements sur amortissements dérogatoires: Accelerated depreciation movements across 2 columns (Dotations, Reprises)
- I.C / II - Ventilation et déficits reportables: Provision breakdown and tax loss carryforwards
- III / IV - Divers et travailleurs indépendants: Miscellaneous disclosures, and (SD2026 onward) the self-employed gross social income section
CERFA 2033 D Data Structure
Within the document_parts array, the CERFA-2033-D data object contains the following fields:
{
"600": {
"value": 12000,
"label": "Amortissements dérogatoires - début",
"column": "amount"
},
"602": {
"value": 3500,
"label": "Amortissements dérogatoires - dotations",
"column": "amount"
},
"604": {
"value": 1200,
"label": "Amortissements dérogatoires - reprises",
"column": "amount"
},
"606": {
"value": 14300,
"label": "Amortissements dérogatoires - fin",
"column": "amount"
},
"620": {
"value": 8000,
"label": "Provisions pour risques et charges - début",
"column": "amount"
},
"650": {
"value": 4500,
"label": "Dépréciation sur comptes clients - début",
"column": "amount"
},
"680": {
"value": 24500,
"label": "TOTAL provisions - début",
"column": "amount"
},
"760": {
"value": 2000,
"label": "Amortissements dérogatoires - dotations (mouvements)",
"column": "amount"
},
"982": {
"value": 18000,
"label": "Déficits restant à reporter au titre de l'exercice précédent",
"column": "amount"
},
"company_name": "SARL EXEMPLE"
}Key Field Categories
Each provision line carries a distinct field code per column, so the code alone identifies both the row and the column:
| Provision Category | Field IDs | Columns |
|---|---|---|
| Amortissements dérogatoires | 600, 602, 604, 606 | Début, Dotations, Reprises, Fin |
| Autres provisions réglementées | 610, 612, 614, 616 | Début, Dotations, Reprises, Fin |
| Provisions pour risques et charges | 620, 622, 624, 626 | Début, Dotations, Reprises, Fin |
| Dépréciation sur comptes clients | 650, 652, 654, 656 | Début, Dotations, Reprises, Fin |
| TOTAL provisions | 680, 682, 684, 686 | Début, Dotations, Reprises, Fin |
| Déficits reportables | 982, 982_bis, 982_ter | Single value |
| Travailleurs indépendants* | 690, 691, 692, 693 | Single value |
* The travailleurs indépendants section (revenu brut social) was introduced on the SD2026 edition and is absent from earlier years.
Consistency Checks
The extraction validates each column total of section I.A (fields 680, 682, 684, 686), the roll-forward identity (fin = début + dotations − reprises), and both column totals of section I.B. The "Dont majorations exceptionnelles de 30 %" lines (601, 603, 605, 607) are sub-lines of the amortissements dérogatoires rows and are deliberately excluded from the totals.
Field 982_ter is a count (Nombre d'opérations), not a monetary amount.
Every scalar numeric field carries a machine-readable column property naming the form column it belongs to (amount: each field code is unique per row and column, so a single value column suffices). Use it instead of parsing labels. Metadata fields (company info) have no column property.
CERFA 2033 E - Added Value Determination (CVAE)
The CERFA 2033 E (Détermination de la valeur ajoutée produite) computes the added value produced by the company for CVAE purposes. This form is used by companies under the simplified tax regime and reconciles revenue, other operating income and deductible charges into the taxable added value, along with a workforce declaration and a mono-établissement section.
part_type:CERFA-2033-E
Document Structure
The CERFA 2033 E has five main sections plus a workforce declaration:
- Déclaration des effectifs: Average workforce headcount (apprentices, disabled workers, artisanal activity)
- I - Chiffre d'affaires de référence CVAE: Reference revenue (TOTAL 1, field 106)
- II - Autres produits: Other income to include (TOTAL 2, field 144)
- III - Charges: Deductible charges (TOTAL 3, field 152)
- IV / V - Valeur ajoutée: Added value produced (field 137 = TOTAL 1 + TOTAL 2 - TOTAL 3) and the amount subject to CVAE (field 117)
- Mono-établissement: CVAE single-establishment declaration (checkbox 020, reference revenue 022, headcount 023)
CERFA 2033 E Data Structure
Within the document_parts array, the CERFA-2033-E data object contains the following fields:
{
"376": {
"value": 25,
"label": "Effectif moyen du personnel",
"column": "amount"
},
"108": {
"value": 850000,
"label": "Ventes de produits fabriqués, prestations de services et marchandises",
"column": "amount"
},
"106": {
"value": 850000,
"label": "TOTAL 1 - Chiffre d'affaires de référence CVAE",
"column": "amount"
},
"115": {
"value": 17000,
"label": "Autres produits de gestion courante",
"column": "amount"
},
"144": {
"value": 17000,
"label": "TOTAL 2 - Autres produits",
"column": "amount"
},
"121": {
"value": 250000,
"label": "Achats",
"column": "amount"
},
"125": {
"value": 110000,
"label": "Services extérieurs, à l'exception des loyers et des redevances",
"column": "amount"
},
"152": {
"value": 437500,
"label": "TOTAL 3 - Charges",
"column": "amount"
},
"137": {
"value": 429500,
"label": "Valeur ajoutée produite (Total 1 + Total 2 - Total 3)",
"column": "amount"
},
"117": {
"value": 429500,
"label": "Valeur ajoutée assujettie à la CVAE",
"column": "amount"
},
"020": {
"value": "1",
"label": "Mono-établissement au sens de la CVAE (case à cocher)",
"column": "amount"
},
"company_name": "SARL EXEMPLE",
"exercice_ouvert": "01/01/2026",
"exercice_clos": "31/12/2026",
"nombre_mois": 12
}Key Field Categories
The form aggregates income and charges into the added value calculation:
| Section | Field IDs | Total |
|---|---|---|
| Déclaration des effectifs | 376, 657, 651, 861 | — |
| I - Chiffre d'affaires de référence CVAE | 108, 118, 112 | 106 (TOTAL 1) |
| II - Autres produits | 115, 143, 113, 111, 153, 116* | 144 (TOTAL 2) |
| III - Charges | 121, 145, 125, 310, 133, 148, 128, 135, 150 | 152 (TOTAL 3) |
| IV/V - Valeur ajoutée | 137, 117 | 137 = 106 + 144 - 152 |
| Mono-établissement (CVAE) | 020, 022, 023, 026, 024, 016 | — |
* Field 116 (Transferts de charges déductibles) exists on the SD2023-SD2025 editions only; the SD2026 form removed it.
Consistency Checks
The extraction validates the arithmetic of each section: TOTAL 1 (106), TOTAL 2 (144), TOTAL 3 (152), and the added value produced (137 = 106 + 144 - 152). The added value can legitimately be negative.
Every scalar numeric field carries a machine-readable column property naming the form column it belongs to (amount: this form has a single value column, so every value belongs to the declared exercice). Use it instead of parsing labels. Metadata fields (company info, dates) have no column property.
CERFA 2050 - Balance Sheet Assets (Normal Regime)
The CERFA 2050 (Actif du Bilan) is the detailed balance sheet assets form used by companies under the normal tax regime (Régime Réel Normal). It reports every asset line with its gross value, accumulated depreciation/provisions and net book value.
part_type:CERFA-2050
Document Structure
The CERFA 2050 balance sheet assets section includes:
- Immobilisations incorporelles: Intangible fixed assets (goodwill, patents, software, etc.)
- Immobilisations corporelles: Tangible fixed assets (land, buildings, equipment, etc.)
- Immobilisations financières: Financial fixed assets (investments, loans, securities)
- Stocks: Inventory (raw materials, work in progress, finished goods, merchandise)
- Créances: Receivables (customer accounts, other receivables)
- Disponibilités: Cash and marketable securities
CERFA 2050 Data Structure
Within the document_parts array, the fr_cerfa_2050_2024 data object contains the following fields:
{
"AH": {
"value": 50000,
"label": "Fonds commercial (Brut)",
"column": "value_brut"
},
"AI": {
"value": 5000,
"label": "Fonds commercial (Amortissements)",
"column": "value_amort_prov"
},
"AH_n": {
"value": 45000,
"label": "Fonds commercial (Net)",
"column": "net_n"
},
"AN": {
"value": 200000,
"label": "Terrains (Brut)",
"column": "value_brut"
},
"AO": {
"value": 0,
"label": "Terrains (Amortissements)",
"column": "value_amort_prov"
},
"AN_n": {
"value": 200000,
"label": "Terrains (Net)",
"column": "net_n"
},
"AP": {
"value": 450000,
"label": "Constructions (Brut)",
"column": "value_brut"
},
"AQ": {
"value": 125000,
"label": "Constructions (Amortissements)",
"column": "value_amort_prov"
},
"AP_n": {
"value": 325000,
"label": "Constructions (Net)",
"column": "net_n"
},
"AR": {
"value": 180000,
"label": "Installations techniques, matériel et outillage industriels (Brut)",
"column": "value_brut"
},
"AS": {
"value": 85000,
"label": "Installations techniques, matériel et outillage industriels (Amortissements)",
"column": "value_amort_prov"
},
"AR_n": {
"value": 95000,
"label": "Installations techniques, matériel et outillage industriels (Net)",
"column": "net_n"
},
"BX": {
"value": 125000,
"label": "Clients et comptes rattachés (Brut)",
"column": "value_brut"
},
"BY": {
"value": 5000,
"label": "Clients et comptes rattachés (Provisions)"
},
"BX_n": {
"value": 120000,
"label": "Clients et comptes rattachés (Net)",
"column": "net_n"
},
"CF": {
"value": 45000,
"label": "Disponibilités (Brut)",
"column": "value_brut"
},
"CG": {
"value": 0,
"label": "Disponibilités (Amortissements)",
"column": "value_amort_prov"
},
"CF_n": {
"value": 45000,
"label": "Disponibilités (Net)",
"column": "net_n"
},
"CO": {
"value": 1250000,
"label": "TOTAL GÉNÉRAL (Brut)",
"column": "value_brut"
},
"1A": {
"value": 220000,
"label": "TOTAL GÉNÉRAL (Amortissements, provisions)"
},
"CO_n": {
"value": 1030000,
"label": "TOTAL GÉNÉRAL (Net)",
"column": "net_n"
},
"company_name": "SAS EXEMPLE INDUSTRIE",
"siret": "98765432100015",
"exercise_end_date": "31/12/2023"
}Column Structure
Each asset line item has three columns:
- Brut (col1): Gross book value of the asset
- Amortissements, provisions (col2): Accumulated depreciation or provisions
- Net (col3): Net book value = Brut - Amortissements/provisions
Every scalar numeric field carries a machine-readable column property naming the form column it belongs to (value_brut, value_amort_prov, net_n; all columns of this form belong to the current exercice; no N-1 values are extracted). Use it instead of parsing labels. Metadata fields (company info, dates) have no column property.
Key Fields Extracted
| Section | Field ID | Description | Columns |
|---|---|---|---|
| Immobilisations incorporelles | AH | Fonds commercial | Brut, Amort (AI), Net |
| AF | Concessions, brevets et droits similaires | Brut, Amort (AG), Net | |
| AJ | Autres immobilisations incorporelles | Brut, Amort (AK), Net | |
| Immobilisations corporelles | AN | Terrains | Brut, Amort (AO), Net |
| AP | Constructions | Brut, Amort (AQ), Net | |
| AR | Installations techniques, matériel et outillage industriels | Brut, Amort (AS), Net | |
| Actif circulant | BX | Clients et comptes rattachés | Brut, Prov (BY), Net |
| CD | Valeurs mobilières de placement | Brut, Prov (CE), Net | |
| CF | Disponibilités | Brut, Prov (CG), Net | |
| Total général | CO | TOTAL GÉNÉRAL (I à VI) | Brut, Amort/Prov (1A), Net |
Field Naming Convention
Net values (column 3, current exercice) are stored with _n suffix:
- Brut: Field ID (e.g., "AN", "AP", "BX")
- Amort/Prov: Field ID + 1 letter (e.g., "AO", "AQ", "BY")
- Net: Field ID + "_n" (e.g., "AN_n", "AP_n", "BX_n")
CERFA 2051 - Balance Sheet Liabilities (Normal Regime)
The CERFA 2051 (Passif du Bilan) is the detailed balance sheet liabilities form used by companies under the normal tax regime. This form presents the company's equity, provisions, and debts, showing how assets are financed.
part_type:CERFA-2051
Document Structure
The CERFA 2051 balance sheet liabilities section includes:
- Capitaux propres (I): Shareholders' equity (capital, reserves, retained earnings, current year result)
- Autres fonds propres (II): Other equity (participatory securities, conditional advances)
- Provisions pour risques et charges (III): Provisions for risks and contingencies
- Dettes (IV): Liabilities (bonds, bank loans, supplier debts, tax & social debts)
- Écarts de conversion passif (V): Foreign exchange translation differences
CERFA 2051 Data Structure
Within the document_parts array, the fr_cerfa_2051_2024 data object contains the following fields:
{
"DA": {
"value": 100000,
"label": "Capital social ou individuel",
"column": "amount"
},
"DA_verse": {
"value": 100000,
"label": "Capital social ou individuel (Dont versé)",
"column": "amount"
},
"DD": {
"value": 10000,
"label": "Réserve légale",
"column": "amount"
},
"DE": {
"value": 15000,
"label": "Réserves statutaires ou contractuelles",
"column": "amount"
},
"DF": {
"value": 8000,
"label": "Réserves réglementées",
"column": "amount"
},
"DG": {
"value": 25000,
"label": "Autres réserves",
"column": "amount"
},
"DH": {
"value": 12000,
"label": "Report à nouveau",
"column": "amount"
},
"DI": {
"value": 45000,
"label": "RÉSULTAT DE L'EXERCICE (bénéfice ou perte)",
"column": "amount"
},
"DJ": {
"value": 5000,
"label": "Subventions d'investissement",
"column": "amount"
},
"DK": {
"value": 3000,
"label": "Provisions réglementées",
"column": "amount"
},
"DL": {
"value": 223000,
"label": "TOTAL (I) - Capitaux propres",
"column": "amount"
},
"DP": {
"value": 8000,
"label": "Provisions pour risques",
"column": "amount"
},
"DQ": {
"value": 12000,
"label": "Provisions pour charges",
"column": "amount"
},
"DR": {
"value": 20000,
"label": "TOTAL (III) - Provisions pour risques et charges",
"column": "amount"
},
"DU": {
"value": 450000,
"label": "Emprunts et dettes auprès des établissements de crédit",
"column": "amount"
},
"DX": {
"value": 85000,
"label": "Dettes fournisseurs et comptes rattachés",
"column": "amount"
},
"DY": {
"value": 42000,
"label": "Dettes fiscales et sociales",
"column": "amount"
},
"EC": {
"value": 620000,
"label": "TOTAL (IV) - Dettes",
"column": "amount"
},
"EE": {
"value": 863000,
"label": "TOTAL GÉNÉRAL (I à V)",
"column": "amount"
},
"company_name": "SAS EXEMPLE INDUSTRIE"
}Every scalar numeric field carries a machine-readable column property naming the form column it belongs to (amount: this form reports a single exercice, so every value belongs to the current fiscal year). Use it instead of parsing labels. Metadata fields (company info, dates) have no column property.
Column Structure
The liabilities side has one main column showing the values for fiscal year N (Exercice N). Some fields include sub-details shown within the field description (like "Dont versé" for capital).
Key Fields Extracted
| Section | Field ID | Description |
|---|---|---|
| Capitaux propres (I) | DA | Capital social ou individuel |
| DB | Primes d'émission, de fusion, d'apport | |
| DD | Réserve légale | |
| DE | Réserves statutaires ou contractuelles | |
| DF | Réserves réglementées | |
| DG | Autres réserves | |
| DH | Report à nouveau | |
| DI | Résultat de l'exercice | |
| DL | TOTAL (I) - Capitaux propres | |
| Provisions (III) | DP | Provisions pour risques |
| DQ | Provisions pour charges | |
| DR | TOTAL (III) | |
| Dettes (IV) | DS | Emprunts obligataires convertibles |
| DU | Emprunts et dettes auprès des établissements de crédit | |
| DX | Dettes fournisseurs et comptes rattachés | |
| DY | Dettes fiscales et sociales | |
| EC | TOTAL (IV) - Dettes | |
| Total général | EE | TOTAL GÉNÉRAL (I à V) |
Validation Rules
The extraction applies the following validation rule:
- Balance Verification: Field
EE(Total général passif) must equal the total général actif from CERFA 2050 for a complete balance sheet
CERFA 2052 - Income Statement (Normal Regime)
The CERFA 2052 (Compte de Résultat) is the detailed income statement used by companies under the normal tax regime. This form presents operating, financial, and exceptional results with a breakdown of domestic sales and exports.
part_type:CERFA-2052
Document Structure
The CERFA 2052 income statement includes the following sections:
- Produits d'exploitation: Operating income (sales of goods and services, production, subsidies)
- Charges d'exploitation: Operating expenses (purchases, external costs, salaries, depreciation)
- Résultat d'exploitation: Operating result
- Produits financiers: Financial income (dividends, interest income, forex gains)
- Charges financières: Financial expenses (interest expense, forex losses)
- Résultat financier: Financial result
- Résultat courant avant impôts: Current result before tax
CERFA 2052 Data Structure
Within the document_parts array, the fr_cerfa_2052_2024 data object contains the following fields:
{
"FA": {
"value": 450000,
"label": "Ventes de marchandises (France)",
"column": "amount"
},
"FB": {
"value": 150000,
"label": "Ventes de marchandises (Exportations)",
"column": "amount"
},
"FC": {
"value": 600000,
"label": "Ventes de marchandises (Total)",
"column": "amount"
},
"FG": {
"value": 280000,
"label": "Production vendue - services (France)",
"column": "amount"
},
"FH": {
"value": 70000,
"label": "Production vendue - services (Exportations)",
"column": "amount"
},
"FI": {
"value": 350000,
"label": "Production vendue - services (Total)",
"column": "amount"
},
"FJ": {
"value": 730000,
"label": "Chiffres d'affaires nets (France)",
"column": "amount"
},
"FK": {
"value": 220000,
"label": "Chiffres d'affaires nets (Exportations)",
"column": "amount"
},
"FL": {
"value": 950000,
"label": "Chiffres d'affaires nets (Total)",
"column": "amount"
},
"FO": {
"value": 15000,
"label": "Subventions d'exploitation",
"column": "amount"
},
"FR": {
"value": 965000,
"label": "Total des produits d'exploitation (I)",
"column": "amount"
},
"FS": {
"value": 420000,
"label": "Achats de marchandises (y compris droits de douane)",
"column": "amount"
},
"FW": {
"value": 185000,
"label": "Autres achats et charges externes",
"column": "amount"
},
"FX": {
"value": 28000,
"label": "Impôts, taxes et versements assimilés",
"column": "amount"
},
"FY": {
"value": 142000,
"label": "Salaires et traitements",
"column": "amount"
},
"FZ": {
"value": 78000,
"label": "Charges sociales",
"column": "amount"
},
"GA": {
"value": 45000,
"label": "Sur immobilisations - dotations aux amortissements",
"column": "amount"
},
"HS": {
"value": 2500,
"label": "dont amortissement du fonds de commerce",
"column": "amount"
},
"GF": {
"value": 920000,
"label": "Total des charges d'exploitation (II)",
"column": "amount"
},
"GG": {
"value": 45000,
"label": "RÉSULTAT D'EXPLOITATION (I - II)",
"column": "amount"
},
"GL": {
"value": 3500,
"label": "Autres intérêts et produits assimilés",
"column": "amount"
},
"GP": {
"value": 3500,
"label": "Total des produits financiers (V)",
"column": "amount"
},
"GR": {
"value": 12000,
"label": "Intérêts et charges assimilées",
"column": "amount"
},
"GU": {
"value": 12000,
"label": "Total des charges financières (VI)",
"column": "amount"
},
"GV": {
"value": -8500,
"label": "RÉSULTAT FINANCIER (V - VI)",
"column": "amount"
},
"GW": {
"value": 36500,
"label": "RÉSULTAT COURANT AVANT IMPÔTS (I - II + III - IV + V - VI)",
"column": "amount"
},
"company_name": "SAS EXEMPLE INDUSTRIE"
}Every scalar numeric field carries a machine-readable column property naming the form column it belongs to (amount: this form reports a single exercice, so every value belongs to the current fiscal year). Use it instead of parsing labels. Metadata fields (company info, dates) have no column property.
Column Structure
Sales-related fields are split into three columns to track export activity:
- France (col1): Domestic sales (France only)
- Exportations et livraisons intracommunautaires (col2): Exports and intra-EU deliveries
- Total (col3): Total amount for fiscal year N
Other income and expense items only show the Total column (col3).
Key Fields Extracted
| Section | Field ID | Description | Columns |
|---|---|---|---|
| Produits d'exploitation | FA, FB, FC | Ventes de marchandises | France, Exportations, Total |
| FG, FH, FI | Production vendue - services | France, Exportations, Total | |
| FJ, FK, FL | Chiffres d'affaires nets | France, Exportations, Total | |
| FO | Subventions d'exploitation | Total only | |
| FR | Total des produits d'exploitation (I) | Total only | |
| Charges d'exploitation | FS | Achats de marchandises | Total only |
| FW | Autres achats et charges externes | Total only | |
| FX | Impôts, taxes et versements assimilés | Total only | |
| FY | Salaires et traitements | Total only | |
| FZ | Charges sociales | Total only | |
| GA |
Sur immobilisations - dotations aux amortissements
Version 2025 only: Field HD no longer included within GA. Label is "dotations aux amortissements" only (without "sur immobilisations").
| Total only | |
| HS |
Dont amortissement du fonds de commerce
Version 2025 only: This field is new in 2025 and not present in 2023-2024 versions. In 2023-2024, this information was included within field GA.
| Total only | |
| GF | Total des charges d'exploitation (II) | Total only | |
| Résultat d'exploitation | GG | RÉSULTAT D'EXPLOITATION (I - II) | Total only |
| Produits financiers | GP | Total des produits financiers (V) | Total only |
| Charges financières | GU | Total des charges financières (VI) | Total only |
| Résultat financier | GV | RÉSULTAT FINANCIER (V - VI) | Total only |
| Résultat courant | GW | RÉSULTAT COURANT AVANT IMPÔTS | Total only |
Field Naming Convention
Sales fields use a 3-column pattern:
- France (col1): Field ID ending in A, D, G, J (e.g., FA, FD, FG, FJ)
- Exportations (col2): Field ID ending in B, E, H, K (e.g., FB, FE, FH, FK)
- Total (col3): Field ID ending in C, F, I, L (e.g., FC, FF, FI, FL)
The pattern follows: merchandise (A-B-C), goods (D-E-F), services (G-H-I), turnover (J-K-L).
CERFA 2053 - Income Statement (Continued)
The CERFA 2053 (Compte de Résultat - suite) is the continuation of the income statement (CERFA 2052) for companies under the normal tax regime. This form captures exceptional items, taxes, and calculates the final profit or loss for the fiscal year.
part_type:CERFA-2053
Document Structure
The CERFA 2053 continues the income statement from CERFA 2052 and includes:
- Produits exceptionnels: Exceptional income (non-recurring transactions)
- Charges exceptionnelles: Exceptional expenses (non-recurring costs)
- Résultat exceptionnel: Exceptional result
- Participation et impôts: Employee profit-sharing and corporate income tax
- Résultat final: Final profit or loss for the fiscal year
- Renvois (footnotes): Additional details and breakdowns required by tax authorities
CERFA 2053 Data Structure
Within the document_parts array, the fr_cerfa_2053_2024 data object contains the following fields:
{
"HA": {
"value": 5000,
"label": "Produits exceptionnels sur opérations de gestion",
"column": "amount"
},
"HB": {
"value": 12000,
"label": "Produits exceptionnels sur opérations en capital",
"column": "amount"
},
"HC": {
"value": 3000,
"label": "Reprises sur provisions et transferts de charges",
"column": "amount"
},
"HD": {
"value": 20000,
"label": "Total des produits exceptionnels (VII)",
"column": "amount"
},
"HE": {
"value": 2000,
"label": "Charges exceptionnelles sur opérations de gestion",
"column": "amount"
},
"HF": {
"value": 8000,
"label": "Charges exceptionnelles sur opérations en capital",
"column": "amount"
},
"HG": {
"value": 1000,
"label": "Dotations exceptionnelles aux amortissements et provisions",
"column": "amount"
},
"HH": {
"value": 11000,
"label": "Total des charges exceptionnelles (VIII)",
"column": "amount"
},
"HI": {
"value": 9000,
"label": "Résultat exceptionnel (VII - VIII)",
"column": "amount"
},
"HJ": {
"value": 2500,
"label": "Participation des salariés aux résultats de l'entreprise",
"column": "amount"
},
"HK": {
"value": 12000,
"label": "Impôts sur les bénéfices",
"column": "amount"
},
"HL": {
"value": 988500,
"label": "Total des produits (I + III + V + VII)",
"column": "amount"
},
"HM": {
"value": 945500,
"label": "Total des charges (II + IV + VI + VIII + IX + X)",
"column": "amount"
},
"HN": {
"value": 43000,
"label": "Bénéfice ou perte",
"column": "amount"
},
"HX": {
"value": 1500,
"label": "Dont dons faits aux organismes d'intérêt général",
"column": "amount"
},
"company_name": "SAS EXEMPLE INDUSTRIE"
}Every scalar numeric field carries a machine-readable column property naming the form column it belongs to (amount: this form reports a single exercice, so every value belongs to the current fiscal year). Use it instead of parsing labels. Metadata fields (company info, dates) have no column property.
Key Fields Extracted
| Section | Field ID | Description |
|---|---|---|
| Produits exceptionnels | HA | Produits exceptionnels sur opérations de gestion |
| HB | Produits exceptionnels sur opérations en capital | |
| HC | Reprises sur provisions et transferts de charges | |
| HD | Total des produits exceptionnels (VII) | |
| Charges exceptionnelles | HE | Charges exceptionnelles sur opérations de gestion |
| HF | Charges exceptionnelles sur opérations en capital | |
| HG | Dotations exceptionnelles aux amortissements et provisions | |
| HH | Total des charges exceptionnelles (VIII) | |
| Résultat exceptionnel | HI | Résultat exceptionnel (VII - VIII) |
| Participation et impôts | HJ | Participation des salariés aux résultats |
| HK | Impôts sur les bénéfices | |
| Totaux et résultat final | HL | Total des produits (I + III + V + VII) |
| HM | Total des charges (II + IV + VI + VIII + IX + X) | |
| HN | Bénéfice ou perte | |
| Renvois (footnotes) | HS |
(14) Dont montant de l'amortissement du fonds de commerce
Version 2025 only: This field is new in 2025 and not present in earlier versions. Added after A6 and A9 to capture goodwill amortization amount.
|
| HO | Produits nets partiels sur opérations à long terme | |
| HY | Produits de locations immobilières | |
| HP | Crédit-bail mobilier | |
| HQ | Crédit-bail immobilier | |
| HX | Dons faits aux organismes d'intérêt général | |
| 1G | Produits d'exploitation afférents à des exercices antérieurs | |
| 1H | Charges d'exploitation afférentes à des exercices antérieurs | |
| A2 | Cotisations personnelles de l'exploitant | |
| A5 | Montant des cotisations sociales obligatoires hors CSG-CRDS | |
| RC, RD | Amortissements spéciaux (PME innovantes, constructions nouvelles) |
Understanding Exceptional Items
Exceptional items (produits et charges exceptionnels) are non-recurring transactions that are:
- Not part of regular operations: One-time events, asset disposals, restructuring costs
- Material in amount: Significant enough to impact the understanding of the company's performance
- Separated for analysis: Allows investors and tax authorities to assess normal operating performance
CERFA 2059-G - Filiales et Participations
The CERFA 2059-G (Filiales et Participations) lists all subsidiaries and equity holdings where the declaring company holds at least 10% ownership. This form captures subsidiary details including legal form, SIREN number, ownership percentage, and address.
part_type:CERFA-2059-G
Document Structure
The CERFA 2059-G contains:
- Company metadata: Declaring company name, SIRET, address, fiscal year end
- Filiales: Up to 8 subsidiary blocks per page, each with legal form, name, SIREN, ownership %, and address
- Multi-page: When more than 8 subsidiaries exist, the form spans multiple pages
CERFA 2059-G Data Structure
Within the document_parts array, the data object contains the following structure:
{
"company_name": "SARL LELEU",
"exercice_clos_le": "2024-06-30",
"siret": "44808159600026",
"adresse_voie": null,
"lieu_dit": "LIEU DIT CANTO PERLIC",
"code_postal": "31570",
"ville": "LANTA",
"nombre_total_filiales": 1,
"filiales": [
{
"legal_form": "SAS",
"name": "SCI IMMO 24",
"siren": "889260329",
"ownership_pct": 5.00,
"street_number": "24",
"street": "AVENUE DE TOULOUSE",
"postal_code": "31570",
"city": "LANTA",
"country": "FRANCE"
}
]
}Field Descriptions
Document Metadata
| Field | Type | Description |
|---|---|---|
| company_name | string | Declaring company name |
| exercice_clos_le | string | Fiscal year end date (ISO 8601) |
| siret | string | 14-digit SIRET identifier |
| adresse_voie | string | null | Street address |
| lieu_dit | string | null | Locality or place name |
| code_postal | string | Postal code |
| ville | string | City |
| nombre_total_filiales | integer | null | Total number of subsidiaries declared |
| filiales | array | Array of subsidiary objects (see below) |
Subsidiary Object Structure
Each object in the filiales array contains the following fields:
| Field | Type | French Original | Description |
|---|---|---|---|
| legal_form | string | fj (Forme juridique) | Legal form (e.g., SAS, SARL, SCI) |
| name | string | den (Dénomination) | Subsidiary name |
| siren | string | null | siren (N° SIREN) | 9-digit SIREN number (if established in France) |
| ownership_pct | number | pct (% de détention) | Ownership percentage |
| street_number | string | null | num (N°) | Street number |
| street | string | null | voie (Voie) | Street name |
| postal_code | string | null | cp (Code postal) | Postal code |
| city | string | null | commune (Commune) | City or municipality |
| country | string | null | pays (Pays) | Country |
API Response Format
The complete API response for a CERFA 2059-G document looks like this:
{
"extraction_id": "12345",
"document_name": "2059-G.pdf",
"category": "LIASSE_FISCALE",
"extraction_date": "2024-11-25T10:30:00Z",
"review_status": "NOT_REVIEWED",
"reviewed_by_user": null,
"reviewed_at": null,
"document_parts": [
{
"part_type": "CERFA-2059-G",
"label": "CERFA 2059-G",
"validation_status": "OK",
"validation_codes": [],
"pages": [1],
"data": {
"company_name": "SARL LELEU",
"exercice_clos_le": "2024-06-30",
"siret": "44808159600026",
"adresse_voie": null,
"lieu_dit": "LIEU DIT CANTO PERLIC",
"code_postal": "31570",
"ville": "LANTA",
"nombre_total_filiales": 1,
"filiales": [
{
"legal_form": "SAS",
"name": "SCI IMMO 24",
"siren": "889260329",
"ownership_pct": 5.00,
"street_number": "24",
"street": "AVENUE DE TOULOUSE",
"postal_code": "31570",
"city": "LANTA",
"country": "FRANCE"
}
]
}
}
]
}DE SUSA - German Trial Balance (Summen- und Saldenliste)
The DE SUSA (Summen- und Saldenliste) is a German accounting trial balance that lists every account with its opening balance, transactions and closing balance for a specific period.
part_type:de_susa_summen_und_saldenliste
Document Structure
The DE SUSA contains:
- Company Information: Company name, reference number, and reporting period
- Accounts Array: A list of all accounts with their balances and transactions
DE SUSA Data Structure
Within the document_parts array, the de_susa_summen_und_saldenliste data object contains the following structure:
{
"company": "Thorberg UG (haftungsbeschränkt), Eichfeldstraße 36, 94496 Ortenburg",
"ref": "2024-001",
"period": "2024-01-01 to 2024-12-31",
"doc_date": "2024-12-31",
"accounts": [
{
"account_number": "480",
"description": "Low-value assets (GWG)",
"account_class": null,
"opening_balance": -796.64,
"closing_balance": -4217.04,
"debit": 3420.4,
"credit": null,
"cumulative_debit": 3420.4,
"cumulative_credit": null
},
{
"account_number": "800",
"description": "Share capital",
"account_class": null,
"opening_balance": 3001,
"closing_balance": 3001,
"debit": null,
"credit": null,
"cumulative_debit": null,
"cumulative_credit": null
},
{
"account_number": "1000",
"description": "Cash (1)",
"account_class": null,
"opening_balance": 924.1,
"closing_balance": 834.16,
"debit": 284.93,
"credit": 194.99,
"cumulative_debit": 284.93,
"cumulative_credit": 194.99
}
]
}Field Descriptions
| Field | Type | Description |
|---|---|---|
| company | string | Company name and address |
| ref | string | Reference number for this document |
| period | string | Reporting period (date range) |
| doc_date | string | Document date (typically end of period) |
| accounts | array | Array of account objects (see below) |
Account Object Structure
Each account object in the accounts array contains the following fields:
| Field | Type | German Original | Description |
|---|---|---|---|
| account_number | string | kt (Konto) | Account number in the chart of accounts |
| description | string | ds (Designation) | Account description or name |
| account_class | string | null | klass (Klasse) | Account classification combining class number and balance type (e.g., 1_debit, 1_credit, 2_debit, 2_credit) |
| opening_balance | number | ib (Anfangsbilanz) | Opening balance at start of period |
| closing_balance | number | fb (Final Balance) | Closing balance at end of period |
| debit | number | null | de (Debit) | Debit transactions for the period |
| credit | number | null | cr (Credit) | Credit transactions for the period |
| cumulative_debit | number | null | cumde (Kumulativ Debit) | Cumulative debit for the period |
| cumulative_credit | number | null | cumcr (Kumulativ Credit) | Cumulative credit for the period |
Understanding the Trial Balance
The SUSA (Summen- und Saldenliste) covers every account in the company's chart of accounts. For each account it shows:
- Opening Balance (IB): The balance at the start of the reporting period
- Period Movements: Debit and credit transactions during the period
- Cumulative Movements: Total debit and credit amounts (may include prior periods)
- Closing Balance (FB): The balance at the end of the reporting period
closing_balance = opening_balance + debit - creditNegative balances indicate credit balances (liabilities, equity, income), while positive balances indicate debit balances (assets, expenses).
Common Account Types
The SUSA typically includes accounts from all sections of the German chart of accounts (SKR):
| Account Range | Category | Examples |
|---|---|---|
| 0xxx | Fixed Assets | Land, buildings, equipment, intangible assets |
| 1xxx | Current Assets | Cash (1000), bank accounts, receivables, inventory |
| 2xxx-3xxx | Equity & Liabilities | Share capital (800), reserves, loans, payables |
| 4xxx | Operating Expenses | Low-value assets (480), materials, wages, rent |
| 5xxx-7xxx | Revenue & Other Income | Sales, service revenue, interest income |
| 8xxx-9xxx | Opening/Closing Accounts | Opening balance sheet, closing entries |
API Response Format
The complete API response for a SUSA document looks like this:
{
"extraction_id": "12345",
"document_name": "susa_2024.pdf",
"category": "FINANCIAL_STATEMENT",
"extraction_date": "2024-11-25T10:30:00Z",
"review_status": "NOT_REVIEWED",
"reviewed_by_user": null,
"reviewed_at": null,
"document_parts": [
{
"part_type": "de_susa_summen_und_saldenliste",
"validation_status": null,
"validation_codes": [],
"pages": [1, 2, 3],
"version": null,
"data": {
"company": "Thorberg UG (haftungsbeschränkt), Eichfeldstraße 36, 94496 Ortenburg",
"ref": "2024-001",
"period": "2024-01-01 to 2024-12-31",
"doc_date": "2024-12-31",
"accounts": [
{
"account_number": "480",
"description": "Low-value assets (GWG)",
"account_class": null,
"opening_balance": -796.64,
"closing_balance": -4217.04,
"debit": 3420.4,
"credit": null,
"cumulative_debit": 3420.4,
"cumulative_credit": null
}
]
}
}
]
}BE Interne Jaarrekening - Bilan Actif (Activa)
The BE Interne Jaarrekening - Bilan Actif covers the asset side of the Belgian internal annual accounts balance sheet (interne jaarrekening - balans activa). Field labels are bilingual (French / Dutch) and anchored on NBB rubric codes (e.g. 20/58, 21/28, 29/58) which are stable across the micro, abrégé, and complet schéma variants.
part_type:be-interne-jaarrekening-bilan-actif
Document Structure
- Vaste activa (21/28): Actif immobilisé (
BA01total, detailed byBA02–BA04) - Vlottende activa (29/58): Actif circulant (
BA05total, detailed byBA06–BA11) - Totaal activa (20/58): Total actif (
BA12)
Data Structure
Within the document_parts array, the data object contains fields keyed by a stable BA## identifier for the current exercise (Boekjaar). Every field has a _n1 sibling (e.g. BA01_n1) carrying the prior exercise (Vorig boekjaar). There is no N-2 column.
{
"BA01": { "value": 450000, "label": "Actif immobilisé net total (Vaste activa — 21/28)", "column": "net_n" },
"BA02": { "value": 15000, "label": "Immobilisations incorporelles (Immateriële vaste activa — 21)", "column": "net_n" },
"BA03": { "value": 380000, "label": "Immobilisations corporelles (Materiële vaste activa — 22/27)", "column": "net_n" },
"BA05": { "value": 280000, "label": "Actif circulant net total (Vlottende activa — 29/58)", "column": "net_n" },
"BA07": { "value": 120000, "label": "Stocks nets (Voorraden en bestellingen in uitvoering — 3)", "column": "net_n" },
"BA10": { "value": 60000, "label": "Disponibilités (Liquide middelen — 54/58)", "column": "net_n" },
"BA12": { "value": 730000, "label": "Total actif net (Totaal activa — 20/58)", "column": "net_n" },
"BA12_n1": { "value": 695000, "label": "Total actif net (Totaal activa — 20/58) (Net N-1)", "column": "net_n_1" },
"company_name": "BV VOORBEELD",
"company_vat": "BE0123.456.789",
"fiscal_year_end_n": "2024-12-31",
"fiscal_year_end_n1": "2023-12-31",
"schema_type": "abrege"
}Each numeric field is an object with value, a human-readable label, and a machine-readable column: net_n for exercice N, net_n_1 for the *_n1 fields. Use column instead of parsing labels. Metadata fields (company info, dates) are plain scalars with no column.
Values are taken as printed on the document, anchored on the NBB rubric code; subtotals are never recomputed from their detail lines. A rubric that does not appear on the document (common in micro / abrege layouts, or for the N-1 column of a first exercise) is absent from data or null, never an invented 0.
Field Reference
Each field below also exists with a _n1 suffix for the prior exercise.
Vaste activa (Actif immobilisé)
| Field | NBB Rubric | Description (FR / NL) |
|---|---|---|
| BA01 | 21/28 | Actif immobilisé net total (Vaste activa) |
| BA02 | 21 | Immobilisations incorporelles (Immateriële vaste activa) |
| BA03 | 22/27 | Immobilisations corporelles (Materiële vaste activa) |
| BA04 | 28 | Immobilisations financières (Financiële vaste activa) |
Vlottende activa (Actif circulant)
| Field | NBB Rubric | Description (FR / NL) |
|---|---|---|
| BA05 | 29/58 | Actif circulant net total (Vlottende activa) |
| BA06 | 29 | Créances clients nettes à plus d'un an (Vorderingen op meer dan één jaar) |
| BA07 | 3 | Stocks nets (Voorraden en bestellingen in uitvoering) |
| BA08 | 40/41 | Créances clients nettes à moins d'un an (Vorderingen op ten hoogste één jaar) |
| BA09 | 50/53 | Placements de trésorerie (Geldbeleggingen) |
| BA10 | 54/58 | Disponibilités (Liquide middelen) |
| BA11 | 490/1 | Comptes de régularisation (Overlopende rekeningen) |
Totaal (Total)
| Field | NBB Rubric | Description (FR / NL) |
|---|---|---|
| BA12 | 20/58 | Total actif net (Totaal activa) |
Consistency Checks
Each exercise is validated with BA12 = BA02 + BA03 + BA04 + BA06 + BA07 + BA08 + BA09 + BA10 + BA11. The result is reported in the part's validation status.
Metadata Fields
- company_name: Raison sociale (Naam)
- company_vat: Numéro TVA (BTW-nummer), Belgian VAT number, format
BE0xxx.xxx.xxx - fiscal_year_end_n: Exercice N clos le (Boekjaar N afgesloten op), ISO 8601
YYYY-MM-DD - fiscal_year_end_n1: Exercice N-1 clos le (Boekjaar N-1 afgesloten op), ISO 8601
YYYY-MM-DD - schema_type: Type de schéma, one of
micro,abrege,complet
BE Interne Jaarrekening - Bilan Passif (Passiva)
The BE Interne Jaarrekening - Bilan Passif covers the liability side of the Belgian internal annual accounts balance sheet (interne jaarrekening - balans passiva). Field labels are bilingual (French / Dutch) and anchored on NBB rubric codes (e.g. 10/15, 17/49, 42/48, 10/49) which are stable across the micro, abrégé, and complet schéma variants.
part_type:be-interne-jaarrekening-bilan-passif
BP15 dettes à un an au plus and its components BP16–BP20). When summing, pick one level to avoid double-counting.
Document Structure
- Eigen vermogen (10/15): Capitaux propres (
BP01total, detailed byBP02–BP08) - Voorzieningen en uitgestelde belastingen (16): Provisions et impôts différés (
BP09, detailed byBP10–BP11) - Schulden (17/49): Dettes (
BP12total;BP13–BP14long term,BP15–BP20short term,BP21comptes de régularisation) - Totaal passiva (10/49): Total passif (
BP22)
Data Structure
Within the document_parts array, the data object contains fields keyed by a stable BP## identifier for the current exercise (Boekjaar). Every field has a _n1 sibling (e.g. BP01_n1) carrying the prior exercise (Vorig boekjaar). There is no N-2 column.
{
"BP01": { "value": 310000, "label": "Total capitaux propres (Eigen vermogen — 10/15)", "column": "net_n" },
"BP13": { "value": 150000, "label": "Dettes à plus d'un an (Schulden op meer dan één jaar — 17)", "column": "net_n" },
"BP14": { "value": 150000, "label": "Emprunts et dettes financières (Financiële schulden — 170/4)", "column": "net_n" },
"BP15": { "value": 262000, "label": "Dettes à un an au plus (Schulden op ten hoogste één jaar — 42/48)", "column": "net_n" },
"BP18": { "value": 95000, "label": "Dettes commerciales (Handelsschulden — 44)", "column": "net_n" },
"BP19": { "value": 40000, "label": "Dettes fiscales, salariales et sociales (Schulden belastingen, bezoldigingen en sociale lasten — 45)", "column": "net_n" },
"BP22": { "value": 730000, "label": "Total passif (Totaal passiva — 10/49)", "column": "net_n" },
"BP22_n1": { "value": 695000, "label": "Total passif (Totaal passiva — 10/49) (Net N-1)", "column": "net_n_1" },
"company_name": "BV VOORBEELD",
"company_vat": "BE0123.456.789",
"fiscal_year_end_n": "2024-12-31",
"fiscal_year_end_n1": "2023-12-31",
"schema_type": "abrege"
}Each numeric field is an object with value, a human-readable label, and a machine-readable column: net_n for exercice N, net_n_1 for the *_n1 fields. Use column instead of parsing labels. Metadata fields (company info, dates) are plain scalars with no column.
Values are taken as printed on the document, anchored on the NBB rubric code; subtotals are never recomputed from their detail lines. A rubric that does not appear on the document (common in micro / abrege layouts, or for the N-1 column of a first exercise) is absent from data or null, never an invented 0.
Field Reference
Each field below also exists with a _n1 suffix for the prior exercise.
Eigen vermogen (Capitaux propres)
| Field | NBB Rubric | Description (FR / NL) |
|---|---|---|
| BP01 | 10/15 | Total capitaux propres (Eigen vermogen) |
| BP02 | 10 | Capital (Kapitaal) |
| BP03 | 11 | Prime d'emission (Uitgiftepremies) |
| BP04 | 12 | Plus-values de réevaluation (Herwaarderingsmeerwaarden) |
| BP05 | 13 | Réserves (Reserves) |
| BP06 | 14 | Résultat reporté (Overgedragen winst) |
| BP07 | 15 | Subsides en capital (Kapitaalsubsidies) |
| BP08 | 19 | Avance aux associés sur la répartition de l'actif net (Voorschot aan de vennoten op de verdeling van het netto-actief) |
Voorzieningen (Provisions)
| Field | NBB Rubric | Description (FR / NL) |
|---|---|---|
| BP09 | 16 | Provisions et impôts différés (Voorzieningen en uitgestelde belastingen) |
| BP10 | 160/5 | Provisions pour risques et charges (Voorzieningen voor risico's en kosten) |
| BP11 | 168 | Impôts différés (Uitgestelde belastingen) |
Schulden (Dettes)
| Field | NBB Rubric | Description (FR / NL) |
|---|---|---|
| BP12 | 17/49 | Total Dettes (Schulden) |
| BP13 | 17 | Dettes à plus d'un an (Schulden op meer dan één jaar) |
| BP14 | 170/4 | Emprunts et dettes financières (Financiële schulden) |
| BP15 | 42/48 | Dettes à un an au plus (Schulden op ten hoogste één jaar) |
| BP16 | 43 | Dettes financières (Financiële schulden) |
| BP17 | 430/8 | Concours bancaires courant (Kredietinstellingen) |
| BP18 | 44 | Dettes commerciales (Handelsschulden) |
| BP19 | 45 | Dettes fiscales, salariales et sociales (Schulden met betrekking tot belastingen, bezoldigingen en sociale lasten) |
| BP20 | 47/48 | Autres dettes (Overige schulden) |
| BP21 | 492/3 | Comptes de régularisation (Overlopende rekeningen) |
Totaal (Total)
| Field | NBB Rubric | Description (FR / NL) |
|---|---|---|
| BP22 | 10/49 | Total passif (Totaal passiva) |
Consistency Checks
Each exercise is validated with BP22 = BP02 + BP03 + BP04 + BP05 + BP06 + BP07 + BP08 + BP10 + BP11 + BP13 + BP15 + BP21. The result is reported in the part's validation status.
Metadata Fields
- company_name: Raison sociale (Naam)
- company_vat: Numéro TVA (BTW-nummer), Belgian VAT number, format
BE0xxx.xxx.xxx - fiscal_year_end_n: Exercice N clos le (Boekjaar N afgesloten op), ISO 8601
YYYY-MM-DD - fiscal_year_end_n1: Exercice N-1 clos le (Boekjaar N-1 afgesloten op), ISO 8601
YYYY-MM-DD - schema_type: Type de schéma, one of
micro,abrege,complet
BE Interne Jaarrekening - Compte de Résultat (Resultatenrekening)
The BE Interne Jaarrekening - Compte de Résultat is a Belgian internal annual accounts income statement (interne jaarrekening - resultatenrekening). Field labels are bilingual (French / Dutch) and anchored on NBB rubric codes (e.g. 9900, 70, 62, 9901, 9905) which are stable across the internal micro, abrégé, and complet layouts.
part_type:be-interne-jaarrekening-compte-resultat
micro, abrege, complet) via the schema_type metadata field. micro and abrege layouts print the gross margin (BR00, rubric 9900) instead of revenue and purchases; complet layouts print BR02 / BR03 instead.
Document Structure
- Brutomarge (9900): Marge brute d'exploitation (
BR00) - Bedrijfsopbrengsten (70, 76A): Chiffre d'affaires
BR02, produits non récurrentsBR01 - Bedrijfskosten (60/61 … 66A): Charges d'exploitation
BR03–BR10;BR11/BR12detail personnel costsBR04, andBR13(630/1) combinesBR05+BR06 - Bedrijfswinst / -verlies (9901): Résultat d'exploitation (
BR14) - Financiële opbrengsten en kosten (75/76B, 65/66B):
BR15,BR16 - Resultaat (9903 … 9905): Résultat avant impôts
BR17, impôtsBR18–BR20, résultat de l'exerciceBR21(9904), résultat à affecterBR24(9905)
Data Structure
Within the document_parts array, the data object contains fields keyed by a stable BR## identifier for the current exercise (Boekjaar). Every field has a _n1 sibling (e.g. BR01_n1) carrying the prior exercise (Vorig boekjaar). There is no N-2 column.
{
"BR00": { "value": 1200000, "label": "Marge d'exploitation (Brutomarge — 9900)", "column": "net_n" },
"BR04": { "value": 650000, "label": "Rémunérations, charges sociales et pensions (Bezoldigingen, sociale lasten en pensioenen — 62)", "column": "net_n" },
"BR05": { "value": 80000, "label": "Amortissements et réductions de valeur sur frais d'établissement, immobilisations incorporelles et corporelles (Afschrijvingen en waardeverminderingen op oprichtingskosten, op immateriële en materiële vaste activa — 630)", "column": "net_n" },
"BR11": { "value": 500000, "label": "Salaires et traitements (Bezoldigingen — 620)", "column": "net_n" },
"BR14": { "value": 450000, "label": "Bénéfice (Perte) d'exploitation (Bedrijfswinst / Bedrijfsverlies — 9901)", "column": "net_n" },
"BR15": { "value": 12000, "label": "Produits financiers (Financiële opbrengsten — 75/76B)", "column": "net_n" },
"BR16": { "value": 22000, "label": "Charges financières (Financiële kosten — 65/66B)", "column": "net_n" },
"BR21": { "value": 330000, "label": "Bénéfice (Perte) de l'exercice après impôts (Winst (Verlies) van het boekjaar — 9904)", "column": "net_n" },
"BR24": { "value": 330000, "label": "Bénéfice (Perte) de l'exercice à affecter (Te bestemmen winst (verlies) van het boekjaar — 9905)", "column": "net_n" },
"BR05_n1": { "value": 76000, "label": "Amortissements et réductions de valeur sur frais d'établissement, immobilisations incorporelles et corporelles (Afschrijvingen en waardeverminderingen op oprichtingskosten, op immateriële en materiële vaste activa — 630) (Net N-1)", "column": "net_n_1" },
"company_name": "BV VOORBEELD",
"company_vat": "BE0123.456.789",
"fiscal_year_end_n": "2024-12-31",
"fiscal_year_end_n1": "2023-12-31",
"schema_type": "abrege"
}Each numeric field is an object with value, a human-readable label, and a machine-readable column: net_n for exercice N, net_n_1 for the *_n1 fields. Use column instead of parsing labels. Metadata fields (company info, dates) are plain scalars with no column.
Values are taken as printed on the document, anchored on the NBB rubric code; subtotals are never recomputed from their detail lines. A rubric that does not appear on the document (common in micro / abrege layouts, or for the N-1 column of a first exercise) is absent from data or null, never an invented 0.
Field Reference
Each field below also exists with a _n1 suffix for the prior exercise.
Bedrijfsopbrengsten (Produits d'exploitation)
| Field | NBB Rubric | Description (FR / NL) |
|---|---|---|
| BR00 | 9900 | Marge d'exploitation (Brutomarge) |
| BR01 | 76A | Produits d'exploitation non récurrents (Niet-recurrente bedrijfsopbrengsten) |
| BR02 | 70 | Chiffre d'affaires (Omzet) |
Bedrijfskosten (Charges d'exploitation)
| Field | NBB Rubric | Description (FR / NL) |
|---|---|---|
| BR03 | 60/61 | Achats de Marchandises, matières premières, services (Handelsgoederen, grond- en hulpstoffen, diensten en diverse goederen) |
| BR04 | 62 | Rémunérations, charges sociales et pensions (Bezoldigingen, sociale lasten en pensioenen) |
| BR05 | 630 | Amortissements et réductions de valeur sur frais d'établissement, immobilisations incorporelles et corporelles (Afschrijvingen en waardeverminderingen op oprichtingskosten, op immateriële en materiële vaste activa) |
| BR06 | 631/4 | Variation de stocks marchandises et créances (Waardeverminderingen op voorraden, bestellingen in uitvoering en op handelsvorderingen) |
| BR07 | 635/8 | Provisions pour risques et charges (Voorzieningen voor risico's en kosten: toevoegingen, bestedingen en terugnemingen) |
| BR08 | 640/8 | Autres charges d'exploitation (Andere bedrijfskosten) |
| BR09 | 649 | Charges d'exploitation portées à l'actif au titre de frais de restructuration (Als herstructureringskosten geactiveerde bedrijfskosten) |
| BR10 | 66A | Charges d'exploitation non récurrentes (Niet-recurrente bedrijfskosten) |
| BR11 | 620 | Salaires et traitements (Bezoldigingen) |
| BR12 | 621 | Charges sociales patronales (Sociale lasten) |
| BR13 | 630/1 | Dotations amort./prov. nettes (Afschrijvingen en waardeverminderingen) |
Bedrijfsresultaat (Résultat d'exploitation)
| Field | NBB Rubric | Description (FR / NL) |
|---|---|---|
| BR14 | 9901 | Bénéfice (Perte) d'exploitation (Bedrijfswinst Bedrijfsverlies) |
Financieel resultaat (Résultat financier)
| Field | NBB Rubric | Description (FR / NL) |
|---|---|---|
| BR15 | 75/76B | Produits financiers (Financiële opbrengsten) |
| BR16 | 65/66B | Charges financières (Financiële kosten) |
Resultaat (Résultat)
| Field | NBB Rubric | Description (FR / NL) |
|---|---|---|
| BR17 | 9903 | Bénéfice (Perte) de l'exercice avant impôts (Winst (Verlies) van het boekjaar vóór belasting) |
| BR18 | 780 | Prélèvement sur les impôts différés (Onttrekking aan de uitgestelde belastingen) |
| BR19 | 680 | Transfert aux impôts différés (Overboeking naar de uitgestelde belastingen) |
| BR20 | 67/77 | Impôts sur le résultat (Belastingen op het resultaat) |
| BR21 | 9904 | Bénéfice (Perte) de l'exercice après impôts (Winst (Verlies) van het boekjaar) |
| BR22 | 789 | Prélèvement sur les réserves immunisées (Onttrekking aan de belastingvrije reserve) |
| BR23 | 689 | Transfert aux réserves immunisées (Overboeking naar de belastingvrije reserves) |
| BR24 | 9905 | Bénéfice (Perte) de l'exercice à affecter (Te bestemmen winst (verlies) van het boekjaar) |
Consistency Checks
Each exercise is validated with BR24 = BR00 - BR04 - BR05 - BR06 - BR07 - BR08 - BR09 - BR10 + BR15 - BR16 - BR18 - BR19 - BR20 - BR22 - BR23. Detail lines BR11, BR12 and BR13 are excluded to avoid double-counting. The check is skipped when the rolled-up subtotals are not printed on the document.
Metadata Fields
- company_name: Raison sociale (Naam)
- company_vat: Numéro TVA (BTW-nummer), Belgian VAT number, format
BE0xxx.xxx.xxx - fiscal_year_end_n: Exercice N clos le (Boekjaar N afgesloten op), ISO 8601
YYYY-MM-DD - fiscal_year_end_n1: Exercice N-1 clos le (Boekjaar N-1 afgesloten op), ISO 8601
YYYY-MM-DD - schema_type: Type de schéma, one of
micro,abrege,complet