---
title: "Get Business Invoices"
method: GET
path: "/invoices/{rfc}"
tags: ["Business"]
---

# Get Business Invoices

`GET /invoices/{rfc}`

## Request

- Base URL: `https://api.burodeingresos.com`
- URL: `https://api.burodeingresos.com/invoices/{rfc}`
- Auth: API key in header `X-API-Key`
- TypeScript: <https://skmtc.dev/burodeingresos/apis/bur-de-ingresos-api/docs/invoices/:rfc/get.ts> (a function with typed inputs; its response is checked against the schema)

Retrieves the invoices for a business identified by a 12-char RFC. Requires a prior successful verification that yielded invoice data. Results can be paginated and filtered by invoice type and issue date range. Pass `include_payment_info=true` to enrich each invoice with its associated payment details from `pago` (type P) records. Invoices are returned ordered by `issue_date`, newest first.

## Path parameters

- `rfc` string, required

## Query parameters

- `type` 'nomina' | 'ingreso' | 'egreso' | 'pago'
- `page` integer
- `items_per_page` integer
- `start_date` string, date
- `end_date` string, date
- `include_payment_info` boolean

## Response `200`

Invoices for the business (RFC).

- InvoicesResponse
  - `identifier` string: The identifier (CURP or RFC) associated with the invoices.
  - `updated_at` string, date-time: Timestamp of the last data update for the invoices.
  - `invoices` Invoice[]
    - `type` 'nomina' | 'ingreso' | 'egreso' | 'pago'
    - `amount` number
    - `currency` string
    - `issue_date` string, date
    - `rfc_issuer` string, nullable: Issuer's RFC. Returned only when the issuer is the consulted individual or business; `null` when the issuer is the counterparty (e.g. the employer on a `nomina` invoice).
    - `issuer_name` string, nullable: Issuer's name. Same rule as `rfc_issuer`.
    - `rfc_receiver` string, nullable: Receiver's RFC. Returned only when the receiver is the consulted individual or business; `null` when the receiver is the counterparty (e.g. the client on an `ingreso` the subject issued).
    - `receiver_name` string, nullable: Receiver's name. Same rule as `rfc_receiver`.
    - `payment_method` string: SAT payment method code, e.g. `PPD` (Pago en Parcialidades o Diferido — installment or deferred payment) or `PUE` (Pago en una sola Exhibición — single payment). Populated for invoices of type 'ingreso' and 'egreso'.
    - `payment_type` string: SAT payment form code, e.g. `99` (to be defined) or `04` (credit card). Populated for invoices of type 'ingreso' and 'egreso'.
    - `payroll_type` string, nullable: Payroll type, SAT TipoNomina. Populated for invoices of type 'nomina'.
    - `payment_periodicity` string, nullable: Payment periodicity, SAT PeriodicidadPago. Populated for invoices of type 'nomina'.
    - `job_risk` string, nullable: Job risk class, SAT RiesgoPuesto. Populated for invoices of type 'nomina'.
    - `job_role` string, nullable: Job role (puesto) reported in the payroll receipt. Populated for invoices of type 'nomina'.
    - `job_department` string, nullable: Job department (departamento) reported in the payroll receipt. Populated for invoices of type 'nomina'.
    - `job_tenure` string, nullable: Job tenure (antiguedad) with the employer, as declared by the employer in the CFDI. ISO-8601 duration: P[n]Y[n]M[n]D or P[n]W. Reported, not verified by us. Populated for invoices of type 'nomina'. Not the same as the profile-level `tenure`, which is a bucket we compute.
    - `bank` string, nullable: Bank of the account the payroll was deposited to, as the SAT c_Banco code. Only sent when the account is not a CLABE - a CLABE already encodes the bank in its first three digits. Populated for invoices of type 'nomina'.
    - `bank_account` string, nullable: Account or CLABE the payroll was deposited to, as reported by the employer. 10 to 18 digits. Populated for invoices of type 'nomina'.
    - `incomes` InvoiceDetail[]: Line items for income concepts. Always present in the response but only populated for invoices of type 'nomina'. Empty array for all other types.
      - `amount` number
      - `currency` string
      - `detail` string
      - `key` string: SAT key identifying the specific income or deduction concept (e.g. `052` for IMSS, `045` for ISR). Populated for invoices of type 'nomina'.
      - `type` string: SAT income/deduction type code that groups the concept (e.g. `001`, `002`). Populated for invoices of type 'nomina'.
    - `deductions` InvoiceDetail[]: Line items for deduction concepts. Always present in the response but only populated for invoices of type 'nomina'. Empty array for all other types.
      - `amount` number
      - `currency` string
      - `detail` string
      - `key` string: SAT key identifying the specific income or deduction concept (e.g. `052` for IMSS, `045` for ISR). Populated for invoices of type 'nomina'.
      - `type` string: SAT income/deduction type code that groups the concept (e.g. `001`, `002`). Populated for invoices of type 'nomina'.
    - `line_items` LineItem[]: List of the products or services included in the invoice. Populated for invoices of type 'ingreso' and 'egreso'.
      - `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` InvoiceRelation[]: References to related invoices (e.g. CFDI relations for payment complements). Populated for invoices of type 'ingreso' and 'egreso'.
      - `relation_type` string: SAT relationship code (TipoRelacion) describing how the documents are related.
      - `related_fiscal_code` string: The folio fiscal (UUID) of the linked fiscal document.
    - `folio_fiscal` string
    - `invoice_status` 'valid' | 'cancelled': Whether the invoice is still valid or was cancelled before the SAT. Same two values for every data source; sources that do not report cancellations always send `valid`.
    - `zip_code_receiver` string
    - `payment_info` PaymentInfo[], nullable: Payment details associated with this invoice. Only present in the response when `include_payment_info=true` is passed. When the param is omitted, this field is absent entirely. When the param is true, this is `null` for invoices with no associated payment records, or an array of payment objects for `pago` invoices.
      - `total_amount_paid` number: Total amount paid in this payment record.
      - `currency` string: Currency of the payment. Defaults to MXN.
      - `exchange_rate` number: Exchange rate applied at time of payment. Defaults to 1.0 for MXN payments.
      - `payment_form` string: SAT payment form code. Common values: 01 = cash, 02 = check, 03 = electronic transfer.
      - `payment_date` string, date: Date of the payment (YYYY-MM-DD).
      - `payer_issuer_rfc` string, nullable: RFC of the bank the payment was issued from (CFDI Pago.RfcEmisorCtaOrd). Populated for invoices of type 'pago'.
      - `payer_account_number` string, nullable: Account the payment was issued from (CFDI Pago.CtaOrdenante). Populated for invoices of type 'pago'.
      - `beneficiary_issuer_rfc` string, nullable: RFC of the bank that received the payment (CFDI Pago.RfcEmisorCtaBen). Populated for invoices of type 'pago'.
      - `beneficiary_account_number` string, nullable: Account that received the payment (CFDI Pago.CtaBeneficiario). Populated for invoices of type 'pago'.
      - `payment_relations` PaymentRelation[]: List of invoices this payment was applied to, including the partial or full amount paid against each.
        - `related_fiscal_code` string: The folio fiscal (UUID) of the related invoice that received the payment.
        - `paid_amount` number: The partial or full amount applied to this related invoice.
    - `updated_at` string, date-time: Timestamp (ISO-8601 instant) of the last update for this individual invoice record. Reflects per-row freshness and is the field filtered by the `updated_at_from`/`updated_at_to` query parameters.
  - `pagination` Pagination
    - `page` integer: The current page number.
    - `items_per_page` integer: The number of items returned per page.
    - `total_items` integer: The total number of items available.
    - `total_pages` integer: The total number of pages available.

## Other responses

- `401`: Unauthorized - Invalid or missing API key.

## Changes

- **2026-11-03** `98eb3984cffb`: 4 breaking, 2 warning, 7 info
  - the response property `invoices/items/issuer_name` became nullable for the status `200`
  - the response property `invoices/items/receiver_name` became nullable for the status `200`
  - the response property `invoices/items/rfc_issuer` became nullable for the status `200`
  - the response property `invoices/items/rfc_receiver` became nullable for the status `200`
  - …9 more

[Operation history](https://skmtc.dev/burodeingresos/apis/bur-de-ingresos-api/changes/invoices/:rfc/get.md)

---

[API](https://skmtc.dev/burodeingresos/apis/bur-de-ingresos-api.md) - [All operations](https://skmtc.dev/burodeingresos/apis/bur-de-ingresos-api/llms.txt) - [OpenAPI document](https://skmtc.dev/burodeingresos/apis/bur-de-ingresos-api/revisions/98eb3984cffb?raw)
