Document schemas · Proof of address
Proof of Address
Prebuilt extractors for the French documents people submit to prove where they live. Each one returns a structured document_part with the holder's identity, the address, and the references you need to verify the document and match it to 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.
Telecom Bill (Facture télécom)
fr_facture_telecomPreviewProof of addressA French telecom bill (facture télécom) issued by a mobile or internet operator for a subscription or usage period. The extraction captures the subscriber identity, billing address, invoice references, billing period and the tax breakdown so the document can be used as a proof of address and cross-referenced against a declared identity.
Document structure
A telecom bill typically contains:
- Operator header: The provider name and branding, plus the subscriber account reference
- Account holder block: The subscriber name and the billing address
- Invoice references: Invoice number, invoice date and the billing period covered
- Line details: The phone or line number attached to the subscription
- Amounts: The pre-tax amount, the VAT amount and the total amount due
Data structure
Within the document_parts array, the fr_facture_telecom data object contains:
{
"operator": "Orange",
"account_holder": "MARTIN Camille",
"billing_address": {
"street": "12 rue des Lilas",
"postal_code": "69003",
"city": "Lyon"
},
"customer_number": "0123456789",
"invoice_number": "FR-2026-0004215",
"invoice_date": "2026-03-05",
"period": {
"start_date": "2026-02-01",
"end_date": "2026-02-28"
},
"line_number": "06 12 34 56 78",
"amount_excl_tax": 24.99,
"vat_amount": 5.0,
"amount_incl_tax": 29.99
}Field reference
| Field | Type | Description |
|---|---|---|
| operator | string | null | Telecom operator or provider name (e.g., Orange, SFR, Bouygues, Free) |
| account_holder | string | null | Name of the subscriber the bill is addressed to |
| billing_address | object | null | Postal address the bill is issued to |
| billing_address.street | string | null | Street line of the billing address |
| billing_address.postal_code | string | null | Postal code of the billing address |
| billing_address.city | string | null | City of the billing address |
| customer_number | string | null | Customer or account reference assigned by the operator |
| invoice_number | string | null | Invoice reference number printed on the bill |
| invoice_date | date (ISO 8601 string) | null | Issue date of the invoice (YYYY-MM-DD) |
| period | object | null | Billing period covered by the invoice |
| period.start_date | date (ISO 8601 string) | null | First day of the billing period (YYYY-MM-DD) |
| period.end_date | date (ISO 8601 string) | null | Last day of the billing period (YYYY-MM-DD) |
| line_number | string | null | Phone or line number attached to the subscription |
| amount_excl_tax | number | null | Total amount before tax, in euros |
| vat_amount | number | null | VAT amount applied to the invoice, in euros |
| amount_incl_tax | number | null | Total amount due including tax, in euros |
Validation
Extraction results include validation_status and validation_codes reflecting coherence, completeness and authenticity controls. Anomalies are surfaced as graded alerts for human review.
Accommodation Certificate (Attestation d'hébergement)
fr_attestation_hebergementPreviewProof of addressA French accommodation certificate (attestation d'hébergement) is a signed statement in which a host declares that they house a third party at their address. It is commonly used as a proof of address when the resident does not hold a utility bill in their own name. The extraction captures the host and guest identities, the accommodation address, the statement metadata and structural signals such as whether the document is handwritten and signed.
Document structure
An accommodation certificate typically contains:
- Host declaration: The identity of the person providing accommodation (the host)
- Guest identity: The identity of the person being housed (the guest)
- Accommodation address: The address at which the guest is housed
- Statement metadata: The date and place the statement was written, and how long the guest has been hosted
- Signature block: A handwritten mention and a signature attesting the declaration
Data structure
Within the document_parts array, the fr_attestation_hebergement data object contains:
{
"host": {
"last_name": "MARTIN",
"first_names": "Camille"
},
"guest": {
"last_name": "DUBOIS",
"first_names": "Alex Sacha"
},
"accommodation_address": {
"street": "12 rue des Lilas",
"postal_code": "69003",
"city": "Lyon"
},
"hosted_since": "2025-09-01",
"statement_date": "2026-03-10",
"statement_place": "Lyon",
"handwritten": true,
"signature_present": true
}Field reference
| Field | Type | Description |
|---|---|---|
| host | object | null | Identity of the person providing accommodation |
| host.last_name | string | null | Family name of the host |
| host.first_names | string | null | Given name(s) of the host |
| guest | object | null | Identity of the person being housed |
| guest.last_name | string | null | Family name of the guest |
| guest.first_names | string | null | Given name(s) of the guest |
| accommodation_address | object | null | Address at which the guest is housed |
| accommodation_address.street | string | null | Street line of the accommodation address |
| accommodation_address.postal_code | string | null | Postal code of the accommodation address |
| accommodation_address.city | string | null | City of the accommodation address |
| hosted_since | date (ISO 8601 string) | null | Date since which the guest has been housed, when stated (YYYY-MM-DD) |
| statement_date | date (ISO 8601 string) | null | Date the statement was written (YYYY-MM-DD) |
| statement_place | string | null | Place (city) where the statement was written, when stated |
| handwritten | boolean | Whether the statement body appears to be handwritten |
| signature_present | boolean | Whether a signature is present on the document |
Validation
Extraction results include validation_status and validation_codes reflecting coherence, completeness and authenticity controls. Anomalies are surfaced as graded alerts for human review.
Property Tax Notice (Taxe foncière)
fr_taxe_foncierePreviewProof of addressA French property tax notice (taxe foncière) is issued annually by the tax administration to the owner of a built or unbuilt property. The extraction captures the taxpayer identity, the taxed property address and cadastral references, the tax year, the assessment base and amount, and the payment deadline so the notice can be used as a proof of property and of address.
Document structure
A property tax notice typically contains:
- Taxpayer block: The owner named on the notice and their fiscal number
- Property identification: The taxed property address, municipality and cadastral references
- Assessment: The tax year, the assessment base and the amount due
- Payment section: The payment deadline for the notice
Data structure
Within the document_parts array, the fr_taxe_fonciere data object contains:
{
"taxpayer": "MARTIN Camille",
"property_address": {
"street": "12 rue des Lilas",
"postal_code": "69003",
"city": "Lyon"
},
"tax_year": 2025,
"fiscal_number": "12 34 567 890 123",
"cadastral_references": [
{
"section": "AB",
"parcel": "0142"
}
],
"tax_base": 4820,
"tax_amount": 1364,
"payment_deadline": "2025-10-15",
"municipality": "Lyon"
}Field reference
| Field | Type | Description |
|---|---|---|
| taxpayer | string | null | Name of the taxpayer (property owner) named on the notice |
| property_address | object | null | Address of the taxed property |
| property_address.street | string | null | Street line of the property address |
| property_address.postal_code | string | null | Postal code of the property address |
| property_address.city | string | null | City of the property address |
| tax_year | number | null | Fiscal year the notice applies to |
| fiscal_number | string | null | Fiscal reference number (numéro fiscal) of the taxpayer |
| cadastral_references | array | List of cadastral references identifying the taxed parcels |
| cadastral_references[].section | string | null | Cadastral section code of the parcel |
| cadastral_references[].parcel | string | null | Cadastral parcel number within the section |
| tax_base | number | null | Assessment base used to compute the tax, in euros |
| tax_amount | number | null | Total tax amount due, in euros |
| payment_deadline | date (ISO 8601 string) | null | Payment deadline printed on the notice (YYYY-MM-DD) |
| municipality | string | null | Municipality (commune) levying the tax |
Validation
Extraction results include validation_status and validation_codes reflecting coherence, completeness and authenticity controls. Anomalies are surfaced as graded alerts for human review.
Residence Tax Notice (Taxe d'habitation)
fr_taxe_habitationPreviewProof of addressA French residence tax notice (taxe d'habitation) is issued to the occupant of a dwelling for a given fiscal year. The extraction captures the occupant identity, the dwelling address, whether it is a main or secondary residence, the tax year, the assessment base and amount, and the payment deadline so the notice can be used as a proof of address.
Document structure
A residence tax notice typically contains:
- Occupant block: The occupant named on the notice and their fiscal number
- Dwelling identification: The dwelling address, municipality and residence type
- Assessment: The tax year, the assessment base and the amount due
- Payment section: The payment deadline for the notice
Data structure
Within the document_parts array, the fr_taxe_habitation data object contains:
{
"occupant": "MARTIN Camille",
"dwelling_address": {
"street": "12 rue des Lilas",
"postal_code": "69003",
"city": "Lyon"
},
"tax_year": 2025,
"fiscal_number": "12 34 567 890 123",
"residence_type": "main",
"tax_base": 3120,
"tax_amount": 742,
"payment_deadline": "2025-11-15",
"municipality": "Lyon"
}Field reference
| Field | Type | Description |
|---|---|---|
| occupant | string | null | Name of the occupant named on the notice |
| dwelling_address | object | null | Address of the taxed dwelling |
| dwelling_address.street | string | null | Street line of the dwelling address |
| dwelling_address.postal_code | string | null | Postal code of the dwelling address |
| dwelling_address.city | string | null | City of the dwelling address |
| tax_year | number | null | Fiscal year the notice applies to |
| fiscal_number | string | null | Fiscal reference number (numéro fiscal) of the occupant |
| residence_type | string | null | Residence classification: main or secondary |
| tax_base | number | null | Assessment base used to compute the tax, in euros |
| tax_amount | number | null | Total tax amount due, in euros |
| payment_deadline | date (ISO 8601 string) | null | Payment deadline printed on the notice (YYYY-MM-DD) |
| municipality | string | null | Municipality (commune) levying the tax |
Validation
Extraction results include validation_status and validation_codes reflecting coherence, completeness and authenticity controls. Anomalies are surfaced as graded alerts for human review.
Notarial Deed (Acte notarié)
fr_acte_notariePreviewProof of addressA French notarial deed (acte notarié) is an authenticated instrument drawn up by a notary, such as a deed of sale, a gift or an inheritance settlement. The extraction captures the notary, the deed type and date, the parties involved, the property concerned with its cadastral references, the price where applicable and the publication reference, so the deed can be used as a proof of ownership and of address.
Document structure
A notarial deed typically contains:
- Notary block: The name of the notary, their office and its city
- Deed heading: The type of deed and the date it was signed
- Parties: The persons taking part in the deed, each with a role (seller, buyer, donor, heir)
- Property: The property concerned by the deed, with its address and cadastral references
- Terms: The price, where the deed involves a transfer, and the publication reference
Data structure
Within the document_parts array, the fr_acte_notarie data object contains:
{
"notary": {
"name": "Maître MARTIN Camille",
"office": "Office notarial des Terreaux",
"city": "Lyon"
},
"deed_type": "Vente",
"deed_date": "2025-06-18",
"parties": [
{
"role": "Vendeur",
"name": "DUBOIS Alex"
},
{
"role": "Acquéreur",
"name": "PETIT Sacha"
}
],
"property": {
"address": "12 rue des Lilas, 69003 Lyon",
"cadastral_references": [
{
"section": "AB",
"parcel": "0142"
}
]
},
"price": 285000,
"publication_reference": "SPF Lyon 3 - 2025P04217"
}Field reference
| Field | Type | Description |
|---|---|---|
| notary | object | null | The notary who drew up the deed |
| notary.name | string | null | Name of the notary |
| notary.office | string | null | Name of the notarial office (étude) |
| notary.city | string | null | City where the notarial office is located |
| deed_type | string | null | Type of deed (e.g., vente, donation, succession) |
| deed_date | date (ISO 8601 string) | null | Date the deed was signed (YYYY-MM-DD) |
| parties | array | List of parties taking part in the deed |
| parties[].role | string | null | Role of the party in the deed (e.g., vendeur, acquéreur, donateur, héritier) |
| parties[].name | string | null | Name of the party |
| property | object | null | Property concerned by the deed |
| property.address | string | null | Address of the property as stated in the deed |
| property.cadastral_references | array | List of cadastral references identifying the property parcels |
| property.cadastral_references[].section | string | null | Cadastral section code of the parcel |
| property.cadastral_references[].parcel | string | null | Cadastral parcel number within the section |
| price | number | null | Transaction price stated in the deed, in euros. null when the deed involves no price (e.g., certain gifts or inheritance settlements) |
| publication_reference | string | null | Land registry publication reference of the deed, when present |
Validation
Extraction results include validation_status and validation_codes reflecting coherence, completeness and authenticity controls. Anomalies are surfaced as graded alerts for human review.