Los CFDIs (facturas electrónicas) de una Fiscal Entity. Casi todos los endpoints CFDI requieren fiscalEntityId (fe_…) y están tenant-gated: si tu organización no tiene una conexión activa a ese RFC, la respuesta es 404, sin revelar si el RFC existe.
I = Ingreso, E = Egreso, N = Nómina, P = Pago, T = Traslado.
cfdi_status
string
vigente, cancelado o en_proceso_cancelacion.
cfdi_version
string
Versión del comprobante (3.3, 4.0).
issued_at
string
Fecha de emisión, ISO 8601.
series
string | null
Serie del comprobante.
folio
string | null
Folio del comprobante.
emisor_rfc
string
RFC del emisor.
emisor_name
string | null
Nombre o razón social del emisor.
receptor_rfc
string
RFC del receptor.
receptor_name
string | null
Nombre o razón social del receptor.
subtotal
string
Subtotal (NUMERIC serializado como string).
total
string
Total (NUMERIC serializado como string).
currency
string
Moneda (MXN, USD, etc.).
xml_available
boolean
true si el XML crudo está disponible para descargar vía /cfdi/invoices/{cfdi_uuid}/xml. Si es false, la descarga responde 404.
payment_method
string | null
MetodoPago del CFDI: PUE (pago en una sola exhibición) o PPD (parcialidades/diferido). null si el CFDI no lo declara.
payment_status
string
Estado de cobro: no_aplica (PUE / no ingreso / no PPD), sin_pagar, parcial o pagada. Solo los ingresos tipo I con payment_method=PPD se reconcilian contra sus complementos de pago (REP).
outstanding_balance
string | null
Saldo insoluto (ImpSaldoInsoluto de la última parcialidad, o el total mientras siga sin pagar). null cuando payment_status es no_aplica.
Tabla principal de facturas. Devuelve los CFDIs de tu organización (vía conexión activa) que cumplen los filtros, de la más reciente a la más antigua, con paginación por cursor.
{"items":[{"cfdi_uuid":"12345678-1234-1234-1234-123456789abc","cfdi_type":"I","cfdi_status":"vigente","cfdi_version":"4.0","issued_at":"2026-04-15T10:30:00+00:00","series":"A","folio":"00001","emisor_rfc":"ACME920101AA1","emisor_name":"ACME Corporativo SA","receptor_rfc":"VECJ880326XYZ","receptor_name":"Mi Empresa SA","subtotal":"1000.00","total":"1160.00","currency":"MXN","xml_available":true,"payment_method":"PPD","payment_status":"sin_pagar","outstanding_balance":"160.00"}],"next_cursor":"eyJpc3N1ZWRfYXQiOiIyMDI2LTA0LTE1VDEwOjMwOjAwKzAwOjAwIiwiaWQiOjEyM30.abc123"}
Devuelve un CFDI específico por su folio fiscal, con relations (las relaciones del CFDI en ambos sentidos) y concepts (las líneas del comprobante, ordenadas por line_number), además de todos los campos del objeto Invoice.
TipoRelacion del SAT (p. ej. 04 = sustitución de CFDIs previos).
related_uuid
string
Folio fiscal del CFDI relacionado.
direction
string
outgoing: este CFDI declara la relación hacia related_uuid (ej. una sustituta apunta al CFDI viejo). incoming: otro CFDI de la entidad declara la relación hacia este (related_uuid es ese otro CFDI, ej. la sustituta).
Tu organización no tiene conexión activa al RFC; el CFDI no existe para esa entidad; o no hay XML disponible (filas sintéticas/legacy sin documento real — revisa xml_available en el objeto Invoice).
Devuelve las asignaciones de pago (complementos tipo P / REP) que liquidan el CFDI PPD identificado por cfdi_uuid. Ordenadas por número de parcialidad y fecha de pago. Un CFDI sin pagos (o inexistente para la entidad) devuelve [].
Crea un vínculo manual entre un CFDI tipo P (REP) y un CFDI de ingreso PPD, para los casos en que el complemento de pago del SAT aún no reconcilia la factura (o nunca lo hará). El vínculo queda marcado is_manual = true (sobrevive a la re-ingesta del REP) y recalcula payment_status / outstanding_balance del PPD desde todas sus asignaciones, igual que un REP timbrado.
El saldo previo es el outstanding_balance actual del PPD (o su total si aún no tenía pagos); el saldo insoluto resultante es max(0, previo - amount).
Elimina un vínculo de pago manual (is_manual = true) entre un REP (payment_uuid) y un CFDI PPD (invoice_uuid), y recalcula payment_status/outstanding_balance del PPD desde las asignaciones restantes. Nunca borra un pago proveniente de un complemento REP timbrado en el SAT.