Document schemas · Business & Financial
Business & Financial
Prebuilt extractors for the French and Monegasque business and financial documents submitted in an application file: registry extracts, beneficial-ownership declarations, general meeting minutes, audited reports, business plans and accountants' certificates. Each one returns a structured document_part with the legal identity, registration and governance you need to reconcile the entity against an applicant. Any of these can also be handled with a custom extractor.
The part_type values and field layouts on this page describe Holofin's upcoming prebuilt extractors for these document types. They are not yet emitted by workflow runs.
If your workflow processes one of these document types with a custom extractor, each extracted part carries that extractor's own part_type and schema, which may differ from this page.
The authoritative schema is the one defined on the extractor in your workflow configuration.
KBIS Extract (Extrait KBIS)
fr_extrait_kbisPreviewBusiness & FinancialThe Extrait KBIS is the official registration certificate issued by the French commercial court registry (greffe du tribunal de commerce). It is the reference identity document for a registered company. The extraction returns the legal identity, registered office, activity and current executives so the record can be reconciled against an application file.
Document structure
- Legal identity: Company name, legal form, siren, and RCS registration number
- Capital and office: Share capital and the registered office address
- Activity: APE/NAF code and the free-text description of the main activity
- Governance: Current executives and, when appointed, the statutory auditor
- Issuance: Registry court and the date the extract was drawn
Data structure
Within the document_parts array, the fr_extrait_kbis data object contains:
{
"company_name": "MARTIN CONSEIL",
"legal_form": "SAS",
"siren": "812345678",
"rcs_number": "812 345 678 R.C.S. Paris",
"share_capital": 50000,
"registered_office": {
"street": "24 rue de la Republique",
"postal_code": "75011",
"city": "Paris"
},
"registration_date": "2019-04-15",
"ape_code": "7022Z",
"main_activity": "Conseil pour les affaires et autres conseils de gestion",
"executives": [
{
"role": "President",
"last_name": "MARTIN",
"first_names": "Camille"
},
{
"role": "Directeur general",
"last_name": "DUBOIS",
"first_names": "Jean Paul"
}
],
"auditor": null,
"registry_court": "Paris",
"extract_date": "2026-07-20"
}Field reference
| Field | Type | Description |
|---|---|---|
| company_name | string | Registered company name (denomination sociale) |
| legal_form | string | Legal form (e.g. SAS, SARL, SA) |
| siren | string | Nine-digit siren identifier |
| rcs_number | string | RCS registration number as printed, including the registry city |
| share_capital | number | Share capital amount in euros |
| registered_office | object | Registered office address: street, postal_code, city |
| registration_date | date | Date of registration with the RCS (YYYY-MM-DD) |
| ape_code | string | APE/NAF activity code (e.g. 7022Z) |
| main_activity | string | Free-text description of the principal activity |
| executives | array | Current executives, each with role, last_name, first_names |
| auditor | object | null | Statutory auditor (commissaire aux comptes) when appointed, otherwise null |
| registry_court | string | Commercial court registry that issued the extract |
| extract_date | date | Date the extract was drawn (YYYY-MM-DD) |
Validation
Extraction results include validation_status and validation_codes reflecting coherence, completeness and authenticity controls. Anomalies are surfaced as graded alerts for human review.
RCS Extract (Extrait d'immatriculation RCS)
fr_extrait_rcsPreviewBusiness & FinancialThe Extrait d'immatriculation RCS reports a company's entry in the Registre du commerce et des sociétés. It carries the same legal identity as a KBIS extract and is used to confirm the entity name, registration and governance against an application file.
Document structure
- Legal identity: Company name, legal form, siren, and RCS number
- Registry: The commercial court holding the registration
- Capital and office: Share capital and the registered office address
- Activity and governance: APE/NAF code and current executives
- Issuance: Date the extract was drawn
Data structure
Within the document_parts array, the fr_extrait_rcs data object contains:
{
"company_name": "MARTIN CONSEIL",
"legal_form": "SAS",
"siren": "812345678",
"rcs_number": "812 345 678 R.C.S. Paris",
"registry_court": "Paris",
"share_capital": 50000,
"registered_office": {
"street": "24 rue de la Republique",
"postal_code": "75011",
"city": "Paris"
},
"registration_date": "2019-04-15",
"ape_code": "7022Z",
"executives": [
{
"role": "President",
"last_name": "MARTIN",
"first_names": "Camille"
}
],
"extract_date": "2026-07-20"
}Field reference
| Field | Type | Description |
|---|---|---|
| company_name | string | Registered company name (denomination sociale) |
| legal_form | string | Legal form (e.g. SAS, SARL, SA) |
| siren | string | Nine-digit siren identifier |
| rcs_number | string | RCS registration number as printed, including the registry city |
| registry_court | string | Commercial court registry holding the registration |
| share_capital | number | Share capital amount in euros |
| registered_office | object | Registered office address: street, postal_code, city |
| registration_date | date | Date of registration with the RCS (YYYY-MM-DD) |
| ape_code | string | APE/NAF activity code (e.g. 7022Z) |
| executives | array | Current executives, each with role, last_name, first_names |
| extract_date | date | Date the extract was drawn (YYYY-MM-DD) |
Validation
Extraction results include validation_status and validation_codes reflecting coherence, completeness and authenticity controls. Anomalies are surfaced as graded alerts for human review.
SIRENE Situation Notice (Avis de situation SIRENE)
fr_avis_situation_sirenePreviewBusiness & FinancialThe Avis de situation SIRENE is the INSEE notice confirming an entity's entry in the SIRENE directory. It pairs the siren and the establishment siret with the declared address and activity, and is used to confirm that an establishment is active and correctly identified.
Document structure
- Identifiers: siren (legal unit) and siret (establishment)
- Address: Establishment address as recorded in the directory
- Activity: APE/NAF code and its description
- Classification: Legal category and, when published, the workforce bracket
- Dates: Establishment creation date and the notice edition date
Data structure
Within the document_parts array, the fr_avis_situation_sirene data object contains:
{
"entity_name": "MARTIN CONSEIL",
"siren": "812345678",
"siret": "81234567800021",
"address": {
"street": "24 rue de la Republique",
"postal_code": "75011",
"city": "Paris"
},
"ape_code": "7022Z",
"activity": "Conseil pour les affaires et autres conseils de gestion",
"legal_category": "5710 - SAS, societe par actions simplifiee",
"creation_date": "2019-04-15",
"workforce_bracket": "6 a 9 salaries",
"edition_date": "2026-07-20"
}Field reference
| Field | Type | Description |
|---|---|---|
| entity_name | string | Legal unit name (denomination or name of the entrepreneur) |
| siren | string | Nine-digit siren identifier of the legal unit |
| siret | string | Fourteen-digit siret identifier of the establishment |
| address | object | Establishment address: street, postal_code, city |
| ape_code | string | APE/NAF activity code (e.g. 7022Z) |
| activity | string | Description of the declared activity |
| legal_category | string | INSEE legal category (categorie juridique), code and label |
| creation_date | date | Establishment creation date (YYYY-MM-DD) |
| workforce_bracket | string | null | Published workforce range (tranche d'effectif), or null when not disclosed |
| edition_date | date | Date the notice was edited (YYYY-MM-DD) |
Validation
Extraction results include validation_status and validation_codes reflecting coherence, completeness and authenticity controls. Anomalies are surfaced as graded alerts for human review.
Beneficial Owners Declaration (CERFA 16062)
fr_declaration_beneficiaires_effectifsPreviewBusiness & FinancialThe CERFA 16062 is the declaration of beneficial owners (bénéficiaires effectifs) filed with the commercial court registry. The extraction returns the declaring company and each declared beneficial owner with their ownership and control attributes for beneficial-ownership review.
Document structure
- Declaring company: Name and siren of the entity making the declaration
- Beneficial owners: One record per declared beneficial owner
- Ownership: Capital share and voting rights held by each owner
- Control: The nature of control declared for each owner
- Filing: Declaration date and the registry court
Data structure
Within the document_parts array, the fr_declaration_beneficiaires_effectifs data object contains:
{
"company": {
"name": "MARTIN CONSEIL",
"siren": "812345678"
},
"beneficial_owners": [
{
"last_name": "MARTIN",
"first_names": "Camille",
"birth_date": "1982-06-14",
"nationality": "Francaise",
"capital_share_pct": 60.0,
"voting_rights_pct": 60.0,
"control_type": "Detention directe du capital"
},
{
"last_name": "DUBOIS",
"first_names": "Jean Paul",
"birth_date": "1975-11-02",
"nationality": "Francaise",
"capital_share_pct": 40.0,
"voting_rights_pct": 40.0,
"control_type": "Detention directe du capital"
}
],
"declaration_date": "2019-04-20",
"registry_court": "Paris"
}Field reference
| Field | Type | Description |
|---|---|---|
| company | object | Declaring company: name, siren |
| beneficial_owners | array | Declared beneficial owners (see per-owner fields below) |
| beneficial_owners[].last_name | string | Owner surname |
| beneficial_owners[].first_names | string | Owner given names |
| beneficial_owners[].birth_date | date | Owner date of birth (YYYY-MM-DD) |
| beneficial_owners[].nationality | string | Owner nationality |
| beneficial_owners[].capital_share_pct | number | Share of capital held, as a percentage (e.g. 60.0) |
| beneficial_owners[].voting_rights_pct | number | Share of voting rights held, as a percentage (e.g. 60.0) |
| beneficial_owners[].control_type | string | Declared nature of control (e.g. direct holding of capital, control by other means) |
| declaration_date | date | Date of the declaration (YYYY-MM-DD) |
| registry_court | string | Commercial court registry where the declaration was filed |
Validation
Extraction results include validation_status and validation_codes reflecting coherence, completeness and authenticity controls. Anomalies are surfaced as graded alerts for human review.
Monaco RBE Extract (Extrait du Registre des Bénéficiaires Effectifs)
mc_extrait_rbePreviewBusiness & FinancialThe Extrait du Registre des Bénéficiaires Effectifs is the Monaco beneficial-ownership register extract. It links a company identified by its RCI number to its declared beneficial owners and is used for beneficial-ownership review of Monegasque entities.
Document structure
- Company: Name and RCI number of the Monegasque entity
- Beneficial owners: One record per declared beneficial owner
- Ownership: Ownership percentage held by each owner
- Control: The declared nature of control
- Issuance: Extract date and the issuing registry
Data structure
Within the document_parts array, the mc_extrait_rbe data object contains:
{
"company": {
"name": "MARTIN MONACO SAM",
"rci_number": "19S12345"
},
"beneficial_owners": [
{
"last_name": "MARTIN",
"first_names": "Camille",
"birth_date": "1982-06-14",
"nationality": "Francaise",
"ownership_pct": 55.0,
"control_nature": "Detention directe du capital"
},
{
"last_name": "ROSSI",
"first_names": "Marco",
"birth_date": "1978-03-09",
"nationality": "Italienne",
"ownership_pct": 45.0,
"control_nature": "Detention directe du capital"
}
],
"extract_date": "2026-07-20",
"registry": "Registre des Beneficiaires Effectifs de Monaco"
}Field reference
| Field | Type | Description |
|---|---|---|
| company | object | Company: name, rci_number (Répertoire du Commerce et de l'Industrie) |
| beneficial_owners | array | Declared beneficial owners (see per-owner fields below) |
| beneficial_owners[].last_name | string | Owner surname |
| beneficial_owners[].first_names | string | Owner given names |
| beneficial_owners[].birth_date | date | Owner date of birth (YYYY-MM-DD) |
| beneficial_owners[].nationality | string | Owner nationality |
| beneficial_owners[].ownership_pct | number | Ownership held, as a percentage (e.g. 55.0) |
| beneficial_owners[].control_nature | string | Declared nature of control |
| extract_date | date | Date the extract was drawn (YYYY-MM-DD) |
| registry | string | Name of the issuing register |
Validation
Extraction results include validation_status and validation_codes reflecting coherence, completeness and authenticity controls. Anomalies are surfaced as graded alerts for human review.
General Meeting Minutes (Procès-verbal d'assemblée générale)
fr_pv_assemblee_generalePreviewBusiness & FinancialThe Procès-verbal d'assemblée générale records the deliberations of a company's shareholder meeting. The extraction returns the meeting identity, attendance and quorum, and the resolutions with their vote tallies and outcomes for corporate-governance review.
Document structure
- Company and meeting: Company identity, meeting type, date and location
- Chair: The person chairing the meeting
- Attendance: Present and represented shares and whether quorum was reached
- Resolutions: Each resolution with its subject, vote tally and outcome
- Signatures: Signatories of the minutes
Data structure
Within the document_parts array, the fr_pv_assemblee_generale data object contains:
{
"company": {
"name": "MARTIN CONSEIL",
"siren": "812345678"
},
"meeting_type": "ago",
"meeting_date": "2025-06-18",
"location": "24 rue de la Republique, 75011 Paris",
"chairman": "MARTIN Camille",
"attendance": {
"present_shares": 3200,
"represented_shares": 800,
"quorum_reached": true
},
"resolutions": [
{
"number": 1,
"subject": "Approbation des comptes de l'exercice clos le 31 decembre 2024",
"votes_for": 4000,
"votes_against": 0,
"abstentions": 0,
"outcome": "adoptee"
},
{
"number": 2,
"subject": "Affectation du resultat",
"votes_for": 3600,
"votes_against": 400,
"abstentions": 0,
"outcome": "adoptee"
}
],
"signatories": [
"MARTIN Camille",
"DUBOIS Jean Paul"
]
}Field reference
| Field | Type | Description |
|---|---|---|
| company | object | Company holding the meeting: name, siren |
| meeting_type | string | Meeting type: ago (ordinaire) or age (extraordinaire) |
| meeting_date | date | Date the meeting was held (YYYY-MM-DD) |
| location | string | Meeting location |
| chairman | string | Person chairing the meeting (président de séance) |
| attendance | object | Attendance summary: present_shares, represented_shares, quorum_reached |
| attendance.present_shares | number | Shares present in person |
| attendance.represented_shares | number | Shares represented by proxy |
| attendance.quorum_reached | boolean | Whether the required quorum was reached |
| resolutions | array | Resolutions put to the vote (see per-resolution fields below) |
| resolutions[].number | number | Resolution number |
| resolutions[].subject | string | Subject of the resolution |
| resolutions[].votes_for | number | Votes in favour |
| resolutions[].votes_against | number | Votes against |
| resolutions[].abstentions | number | Abstentions |
| resolutions[].outcome | string | Outcome (e.g. adoptee, rejetee) |
| signatories | array | Names of the signatories of the minutes |
Validation
Extraction results include validation_status and validation_codes reflecting coherence, completeness and authenticity controls. Anomalies are surfaced as graded alerts for human review.
Audited Annual Report (Rapport annuel audité)
fr_rapport_annuelPreviewBusiness & FinancialThe Rapport annuel audité presents a company's annual results together with the statutory auditor's opinion. The extraction returns the headline figures, the auditor and the audit opinion for financial review.
Document structure
- Company and period: Company name and the fiscal year covered
- Key figures: Revenue, net income, equity and total assets
- Auditor: The statutory auditor and their firm
- Opinion: The audit opinion issued on the accounts
- Narrative: Report date and optional highlights
Data structure
Within the document_parts array, the fr_rapport_annuel data object contains:
{
"company": "MARTIN CONSEIL",
"fiscal_year": "2024",
"revenue": 1250000,
"net_income": 148000,
"equity": 620000,
"total_assets": 1980000,
"auditor": {
"name": "DURAND Sophie",
"firm": "Cabinet Durand Audit"
},
"audit_opinion": "unqualified",
"report_date": "2025-05-30",
"highlights": [
"Croissance du chiffre d'affaires de 12% sur l'exercice",
"Renforcement des fonds propres"
]
}Field reference
| Field | Type | Description |
|---|---|---|
| company | string | Company name |
| fiscal_year | string | Fiscal year covered by the report |
| revenue | number | Revenue (chiffre d'affaires) in euros |
| net_income | number | Net income (résultat net) in euros |
| equity | number | Shareholders' equity (capitaux propres) in euros |
| total_assets | number | Total assets (total du bilan) in euros |
| auditor | object | Statutory auditor: name, firm |
| audit_opinion | string | Audit opinion: unqualified, qualified, adverse, or disclaimer |
| report_date | date | Date of the report (YYYY-MM-DD) |
| highlights | array | null | Optional narrative highlights, or null when none are extracted |
Validation
Extraction results include validation_status and validation_codes reflecting coherence, completeness and authenticity controls. Anomalies are surfaced as graded alerts for human review.
Business Plan (Business plan prévisionnel)
fr_business_planPreviewBusiness & FinancialThe Business plan prévisionnel sets out a project's forecast financials and financing structure. The extraction returns the project owner, the multi-year forecast, the financing need and its financing plan for underwriting review.
Document structure
- Project: The project owner and the planned activity
- Forecast: Revenue, expenses and result projected per year
- Financing need: The total funding required
- Financing plan: The sources and uses of funds
- Assumptions: Break-even point and key assumptions, when stated
Data structure
Within the document_parts array, the fr_business_plan data object contains:
{
"project_owner": "MARTIN Camille",
"activity": "Ouverture d'un cabinet de conseil en gestion",
"forecast_years": [
{
"year": "2026",
"revenue": 180000,
"expenses": 150000,
"result": 30000
},
{
"year": "2027",
"revenue": 240000,
"expenses": 185000,
"result": 55000
},
{
"year": "2028",
"revenue": 300000,
"expenses": 210000,
"result": 90000
}
],
"financing_need": 120000,
"financing_plan": {
"sources": [
{"label": "Apport personnel", "amount": 40000},
{"label": "Pret bancaire", "amount": 80000}
],
"uses": [
{"label": "Amenagement des locaux", "amount": 50000},
{"label": "Materiel et informatique", "amount": 30000},
{"label": "Fonds de roulement", "amount": 40000}
]
},
"break_even_point": "Atteint au cours de la deuxieme annee",
"assumptions": [
"Taux de marge brute de 55%",
"Recrutement d'un collaborateur en annee 2"
]
}Field reference
| Field | Type | Description |
|---|---|---|
| project_owner | string | Person or entity carrying the project (porteur de projet) |
| activity | string | Planned activity described in the plan |
| forecast_years | array | Yearly forecast records (see per-year fields below) |
| forecast_years[].year | string | Forecast year |
| forecast_years[].revenue | number | Projected revenue for the year, in euros |
| forecast_years[].expenses | number | Projected expenses for the year, in euros |
| forecast_years[].result | number | Projected result for the year, in euros |
| financing_need | number | Total financing required, in euros |
| financing_plan | object | Financing plan with sources and uses, each an array of { label, amount } |
| break_even_point | string | null | Stated break-even point (seuil de rentabilité), or null |
| assumptions | array | null | Key assumptions underpinning the forecast, or null |
Validation
Extraction results include validation_status and validation_codes reflecting coherence, completeness and authenticity controls. Anomalies are surfaced as graded alerts for human review.
Accountant's Certificate on Director Income (Attestation comptable)
fr_attestation_comptable_dirigeantPreviewBusiness & FinancialThe Attestation comptable on director income is a certificate issued by a chartered accountant confirming a director's remuneration and dividends over a period. The extraction returns the accountant, the director, the company and the certified income for income-verification review.
Document structure
- Accountant: The chartered accountant and their registration
- Director: The director whose income is certified, and their role
- Company: The company paying the income
- Income: Remuneration, dividends and their total over the period
- Issuance: The certified period, issue date and whether a signature is present
Data structure
Within the document_parts array, the fr_attestation_comptable_dirigeant data object contains:
{
"accountant": {
"firm": "Cabinet Durand Expertise",
"name": "DURAND Sophie",
"register_number": "14-75-0001234"
},
"director": {
"last_name": "MARTIN",
"first_names": "Camille"
},
"company": {
"name": "MARTIN CONSEIL",
"siren": "812345678"
},
"role": "President",
"annual_income": {
"remuneration": 72000,
"dividends": 18000,
"total": 90000
},
"period": {
"start_date": "2024-01-01",
"end_date": "2024-12-31"
},
"issue_date": "2025-03-12",
"signature_present": true
}Field reference
| Field | Type | Description |
|---|---|---|
| accountant | object | Certifying accountant: firm, name, register_number (numéro d'inscription à l'ordre) |
| director | object | Director whose income is certified: last_name, first_names |
| company | object | Paying company: name, siren |
| role | string | Director's role in the company (e.g. Président, Gérant) |
| annual_income | object | Certified income: remuneration, dividends, total (euros) |
| annual_income.remuneration | number | Remuneration over the period, in euros |
| annual_income.dividends | number | Dividends over the period, in euros |
| annual_income.total | number | Total certified income, in euros |
| period | object | Certified period: start_date, end_date (YYYY-MM-DD) |
| issue_date | date | Date the certificate was issued (YYYY-MM-DD) |
| signature_present | boolean | Whether a signature is present on the certificate |
Validation
Extraction results include validation_status and validation_codes reflecting coherence, completeness and authenticity controls. Anomalies are surfaced as graded alerts for human review.
Accountant's Certificate on Company Activity (Attestation comptable)
fr_attestation_comptable_activitePreviewBusiness & FinancialThe Attestation comptable on company activity is a certificate issued by a chartered accountant confirming a company's activity figures over a period. The extraction returns the accountant, the company, the certified revenue and result, and the observed trend for financial-review purposes.
Document structure
- Accountant: The chartered accountant and their registration
- Company: The company whose activity is certified
- Results: Certified revenue and net result
- Analysis: Profitability and the observed trend, when stated
- Issuance: The certified period, issue date and whether a signature is present
Data structure
Within the document_parts array, the fr_attestation_comptable_activite data object contains:
{
"accountant": {
"firm": "Cabinet Durand Expertise",
"name": "DURAND Sophie",
"register_number": "14-75-0001234"
},
"company": {
"name": "MARTIN CONSEIL",
"siren": "812345678"
},
"revenue": 1250000,
"net_result": 148000,
"profitability_pct": 11.8,
"trend": "En progression par rapport a l'exercice precedent",
"period": {
"start_date": "2024-01-01",
"end_date": "2024-12-31"
},
"issue_date": "2025-03-12",
"signature_present": true
}Field reference
| Field | Type | Description |
|---|---|---|
| accountant | object | Certifying accountant: firm, name, register_number (numéro d'inscription à l'ordre) |
| company | object | Company whose activity is certified: name, siren |
| revenue | number | Certified revenue (chiffre d'affaires) over the period, in euros |
| net_result | number | Certified net result (résultat net) over the period, in euros |
| profitability_pct | number | null | Profitability as a percentage (e.g. 11.8), or null when not stated |
| trend | string | null | Observed trend versus the prior period, or null |
| period | object | Certified period: start_date, end_date (YYYY-MM-DD) |
| issue_date | date | Date the certificate was issued (YYYY-MM-DD) |
| signature_present | boolean | Whether a signature is present on the certificate |
Validation
Extraction results include validation_status and validation_codes reflecting coherence, completeness and authenticity controls. Anomalies are surfaced as graded alerts for human review.