Individual Data
Reference for all fields returned by the Buró de Ingresos API when verifying an individual (persona física). Individuals are identified by an 18-character CURP.
Consent
Consent is identical for individuals and businesses. The individual identifier is an 18-char CURP. For the full payload, response shape, and data dictionary, see the Consents page.
Verification
The Verification object is shared between Individual and Business. See the Verifications page for the lifecycle, the full object reference, and the entities available for Individual identifiers (profile, invoices, employment, employment_files, earnings).
Profile
Personal identity data returned from GET /profile/{identifier}.
| Field Name | Type | Description | Example | Notes |
|---|---|---|---|---|
identifier | string | 18-char CURP of the individual. | "CUAI911021MOCRQS09" | Same as the verification identifier. |
updated_at | string (ISO 8601) | Timestamp of the last data update. | "2025-09-10T13:05:12.201273Z" | UTC. |
personal_info | object | Personal identity data. See below. | — | |
address | object | Address data. See below. | — | |
employment_status | string | Current employment status. | "employed" | One of employed, retired, unemployed, unknown. |
estimated_monthly_income | number or null | Estimated monthly income from invoices and employment data. | 11139.00 | See Estimated Monthly Income below. |
personal_info
personal_info| Field Name | Type | Description | Example | Notes |
|---|---|---|---|---|
personal_info.first_name | string | First name. | "María Jose" | |
personal_info.last_name | string | Last name. | "Pérez Estrada" | |
personal_info.curp | string | Individual's CURP. | "MAPE850312HDFRRR02" | |
personal_info.nss | string | Social Security Number. | "65189234567" | May be null. |
personal_info.rfc | string | Tax ID number. | "MAPE850312F23" | May be null. |
personal_info.phone | string | Contact phone. | "525540235678" | May be null. |
personal_info.email | string | Contact email. | "[email protected]" | May be null. |
address
address| Field Name | Type | Description | Example | Notes |
|---|---|---|---|---|
address.street | string | Street address. | "Valle del Olmo 28" | May be null. |
address.neighborhood | string | Neighborhood. | "Nueva Santa María" | May be null. |
address.municipality | string | Municipality. | "Azcapotzalco" | May be null. |
address.state | string | State. | "CDMX" | May be null. |
address.zip_code | string | Postal code. | "52340" | May be null. |
Employment Status
employment_status is a top-level string derived from the individual's employment and invoice records. Possible values: employed, retired, unemployed, unknown.
Estimated Monthly Income
estimated_monthly_income is our best estimate of the individual's monthly income in MXN, or null when no income data is available.
It's calculated from the last 90 days of invoices (CFDI) plus employment records, normalized to a monthly figure:
estimated_monthly_income = salary + income invoices − expense invoices
- Only the individual's own invoices count: payroll (
nomina) they received, and income (ingreso) / expense (egreso) they issued. Payment receipts (pago) are ignored to avoid double-counting. - Salary comes from recent payroll when available, otherwise from a current active employment record. This means the estimate now uses employment data, not just invoices — giving much broader coverage than before.
Invoice
Invoices for an individual are retrieved from GET /invoices/{identifier} using the individual's 18-char CURP.
To improve invoice coverage, clients that already hold the user's RFC can pass it as the optional rfc field when creating a verification (POST /verifications). When provided, the API uses the client-supplied RFC directly to retrieve invoice data, bypassing the internal CURP → RFC conversion.
| Field Name | Type | Description | Example | Notes |
|---|---|---|---|---|
type | string | Invoice type. | "nomina" | See Invoice Types below. |
amount | number | Total amount. | 42487.53 | |
currency | string | Currency code. | "MXN" | Usually MXN. |
folio_fiscal | string | Fiscal identifier of invoice. | "7A9F33E4-892C-4B8D-A9E1-2F6F0001" | May be null. |
issue_date | string (date) | Official issue date. | "2025-04-01" | YYYY-MM-DD. |
rfc_issuer | string | Issuer's RFC. | "CYA010101AAA" | Who issued the invoice. |
issuer_name | string | Issuer's name. | "Construcciones Yamile S.A. de C.V." | Name of individual or company issuing the invoice. |
rfc_receiver | string | Receiver's RFC. | "OICE940722GHW" | Who received the invoice. |
receiver_name | string | Receiver's name. | "José Carlos Aguilar Rincón" | Name of individual or company receiving the invoice. |
payment_method | string | SAT payment method code. | "PPD" | Populated for ingreso and egreso. |
payment_type | string | SAT payment form code. | "99" | Populated for ingreso and egreso. |
line_items | array[object] | Product or service lines. | See below | Populated for ingreso and egreso. |
invoice_relations | array[object] | Related invoice references. | See below | Populated for ingreso and egreso. |
invoice_status | string | Invoice status. | "" | May be an empty string. |
zip_code_receiver | string | Receiver postal code. | "" | May be an empty string. |
payment_info | array[object] or null | Payment details associated with the invoice. | See Invoice Types and Payment Info below | Only present when include_payment_info=true. |
Incomes and Deductions
For nomina invoices, the response includes incomes and deductions arrays with the line-item breakdown. For other types, both arrays are empty.
| Field Name | Type | Description | Notes |
|---|---|---|---|
incomes | array[object] | Income breakdown. | Populated for nomina. |
deductions | array[object] | Deduction breakdown. | Populated for nomina. |
Each item has amount, currency, and a free-form detail label (e.g., Sueldo, Aguinaldo, ISR, IMSS). For nomina invoices, items can also include key and type SAT codes that identify and group the income or deduction concept. For the full list of common labels and how to interpret them, see the Invoices page.
Line Items
For ingreso and egreso invoices, the response can include a line_items array with the products or services included in the invoice.
| Field Name | Type | Description | Notes |
|---|---|---|---|
detail | string | Product or service description. | |
quantity | number | Number of units included. | |
unit | string | Unit of measure. | |
unit_price | number | Per-unit cost. | |
amount | number | Total amount for the line item. | |
product_service_key | string | SAT product/service identifier. | ClaveProdServ. |
Invoice Relations
For ingreso and egreso invoices, the response can include an invoice_relations array with references to related fiscal documents.
| Field Name | Type | Description |
|---|---|---|
relation_type | string | SAT relationship code (TipoRelacion). |
related_fiscal_code | string | Folio fiscal of the related invoice. |
Invoice Types and Payment Info
The SAT defines four invoice types: nomina, ingreso, egreso, pago. Passing include_payment_info=true to GET /invoices/{identifier} enriches each invoice with a payment_info field linking payments to the original invoices they pay.
For the full type reference, payment info structure, and edge cases, see the Invoices page.
Updated 19 days ago
