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.

PreviewThese schemas are preview contracts

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)

part_typefr_facture_telecomPreviewProof of address

A 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:

dataJSON
{
  "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

FieldTypeDescription
operatorstring | nullTelecom operator or provider name (e.g., Orange, SFR, Bouygues, Free)
account_holderstring | nullName of the subscriber the bill is addressed to
billing_addressobject | nullPostal address the bill is issued to
billing_address.streetstring | nullStreet line of the billing address
billing_address.postal_codestring | nullPostal code of the billing address
billing_address.citystring | nullCity of the billing address
customer_numberstring | nullCustomer or account reference assigned by the operator
invoice_numberstring | nullInvoice reference number printed on the bill
invoice_datedate (ISO 8601 string) | nullIssue date of the invoice (YYYY-MM-DD)
periodobject | nullBilling period covered by the invoice
period.start_datedate (ISO 8601 string) | nullFirst day of the billing period (YYYY-MM-DD)
period.end_datedate (ISO 8601 string) | nullLast day of the billing period (YYYY-MM-DD)
line_numberstring | nullPhone or line number attached to the subscription
amount_excl_taxnumber | nullTotal amount before tax, in euros
vat_amountnumber | nullVAT amount applied to the invoice, in euros
amount_incl_taxnumber | nullTotal 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)

part_typefr_attestation_hebergementPreviewProof of address

A 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:

dataJSON
{
  "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

FieldTypeDescription
hostobject | nullIdentity of the person providing accommodation
host.last_namestring | nullFamily name of the host
host.first_namesstring | nullGiven name(s) of the host
guestobject | nullIdentity of the person being housed
guest.last_namestring | nullFamily name of the guest
guest.first_namesstring | nullGiven name(s) of the guest
accommodation_addressobject | nullAddress at which the guest is housed
accommodation_address.streetstring | nullStreet line of the accommodation address
accommodation_address.postal_codestring | nullPostal code of the accommodation address
accommodation_address.citystring | nullCity of the accommodation address
hosted_sincedate (ISO 8601 string) | nullDate since which the guest has been housed, when stated (YYYY-MM-DD)
statement_datedate (ISO 8601 string) | nullDate the statement was written (YYYY-MM-DD)
statement_placestring | nullPlace (city) where the statement was written, when stated
handwrittenbooleanWhether the statement body appears to be handwritten
signature_presentbooleanWhether 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)

part_typefr_taxe_foncierePreviewProof of address

A 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:

dataJSON
{
  "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

FieldTypeDescription
taxpayerstring | nullName of the taxpayer (property owner) named on the notice
property_addressobject | nullAddress of the taxed property
property_address.streetstring | nullStreet line of the property address
property_address.postal_codestring | nullPostal code of the property address
property_address.citystring | nullCity of the property address
tax_yearnumber | nullFiscal year the notice applies to
fiscal_numberstring | nullFiscal reference number (numéro fiscal) of the taxpayer
cadastral_referencesarrayList of cadastral references identifying the taxed parcels
cadastral_references[].sectionstring | nullCadastral section code of the parcel
cadastral_references[].parcelstring | nullCadastral parcel number within the section
tax_basenumber | nullAssessment base used to compute the tax, in euros
tax_amountnumber | nullTotal tax amount due, in euros
payment_deadlinedate (ISO 8601 string) | nullPayment deadline printed on the notice (YYYY-MM-DD)
municipalitystring | nullMunicipality (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)

part_typefr_taxe_habitationPreviewProof of address

A 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:

dataJSON
{
  "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

FieldTypeDescription
occupantstring | nullName of the occupant named on the notice
dwelling_addressobject | nullAddress of the taxed dwelling
dwelling_address.streetstring | nullStreet line of the dwelling address
dwelling_address.postal_codestring | nullPostal code of the dwelling address
dwelling_address.citystring | nullCity of the dwelling address
tax_yearnumber | nullFiscal year the notice applies to
fiscal_numberstring | nullFiscal reference number (numéro fiscal) of the occupant
residence_typestring | nullResidence classification: main or secondary
tax_basenumber | nullAssessment base used to compute the tax, in euros
tax_amountnumber | nullTotal tax amount due, in euros
payment_deadlinedate (ISO 8601 string) | nullPayment deadline printed on the notice (YYYY-MM-DD)
municipalitystring | nullMunicipality (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é)

part_typefr_acte_notariePreviewProof of address

A 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:

dataJSON
{
  "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

FieldTypeDescription
notaryobject | nullThe notary who drew up the deed
notary.namestring | nullName of the notary
notary.officestring | nullName of the notarial office (étude)
notary.citystring | nullCity where the notarial office is located
deed_typestring | nullType of deed (e.g., vente, donation, succession)
deed_datedate (ISO 8601 string) | nullDate the deed was signed (YYYY-MM-DD)
partiesarrayList of parties taking part in the deed
parties[].rolestring | nullRole of the party in the deed (e.g., vendeur, acquéreur, donateur, héritier)
parties[].namestring | nullName of the party
propertyobject | nullProperty concerned by the deed
property.addressstring | nullAddress of the property as stated in the deed
property.cadastral_referencesarrayList of cadastral references identifying the property parcels
property.cadastral_references[].sectionstring | nullCadastral section code of the parcel
property.cadastral_references[].parcelstring | nullCadastral parcel number within the section
pricenumber | nullTransaction price stated in the deed, in euros. null when the deed involves no price (e.g., certain gifts or inheritance settlements)
publication_referencestring | nullLand 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.