#Resúmenes y analítica

Estos endpoints devuelven resúmenes y analítica de los CFDIs de una Fiscal Entity: resumen mensual, trazabilidad histórica, performance financiero mensual, análisis de conceptos y rankings de proveedores/clientes.

Todos cuelgan de https://api.clarisfy.com/api/v1/cfdi/ y son tenant-gated: tu organización debe tener una conexión activa al RFC (fiscalEntityId), o el endpoint responde 404.


#Resumen mensual del RFC

GET/cfdi/summary

Conteos y totales agregados de un periodo específico.

Parámetro (query)TipoDescripción
fiscalEntityIdstringRequerido. Identificador de la Fiscal Entity (fe_…).
yearintegerRequerido. Año del periodo (2010–2100).
monthintegerRequerido. Mes del periodo (1–12).
cURL
curl "https://api.clarisfy.com/api/v1/cfdi/summary?fiscalEntityId=fe_9a1c2b3d4e5f6071&year=2026&month=6" \
  -H "Authorization: Bearer clf_live_secret_9K3mZ1pQ7rTx8vB4nH6dLwYe"
JSON
{
  "period_year": 2026,
  "period_month": 6,
  "issued_count": 42,
  "issued_total": "580000.00",
  "issued_cancelled_count": 3,
  "issued_cancelled_total": "12500.00",
  "received_count": 61,
  "received_total": "310450.75",
  "payment_count": 18,
  "payroll_count": 8,
  "distinct_suppliers": 22,
  "distinct_clients": 15,
  "efos_supplier_count": 1,
  "last_refreshed_at": "2026-07-24T04:05:11+00:00"
}
CampoTipoDescripción
issued_count / issued_totalinteger / stringCFDIs emitidos vigentes (tipo I/E) y su suma.
issued_cancelled_count / issued_cancelled_totalinteger / stringEmitidos cancelados en el periodo.
received_count / received_totalinteger / stringCFDIs recibidos vigentes.
payment_countintegerComplementos de pago (tipo P) del periodo.
payroll_countintegerCFDIs de nómina (tipo N) del periodo.
distinct_suppliersintegerEmisores distintos entre los recibidos.
distinct_clientsintegerReceptores distintos entre los emitidos.
efos_supplier_countintegerProveedores del periodo marcados en la lista 69-B (EFOS).
last_refreshed_atstringÚltima vez que se refrescó este rollup (ISO 8601).

Montos (*_total) son NUMERIC serializados como string.

#Errores

Código HTTPCausa
400fiscalEntityId malformado.
404No hay resumen para ese periodo (sincroniza primero), o tu organización no tiene conexión activa al RFC.

#Trazabilidad mensual

GET/cfdi/summary/monthly

Serie mensual de conteos, del mes más reciente al más antiguo: emitidas y recibidas, vigentes vs. canceladas, con sus totales. Pensado para la trazabilidad histórica en reportes.

Parámetro (query)TipoDescripción
fiscalEntityIdstringRequerido. Identificador de la Fiscal Entity (fe_…).
monthsintegerCuántos meses regresar (1–36, por defecto 6).
cURL
curl "https://api.clarisfy.com/api/v1/cfdi/summary/monthly?fiscalEntityId=fe_9a1c2b3d4e5f6071&months=3" \
  -H "Authorization: Bearer clf_live_secret_9K3mZ1pQ7rTx8vB4nH6dLwYe"
JSON
[
  {
    "period_year": 2026,
    "period_month": 6,
    "issued_count": 42,
    "issued_total": "580000.00",
    "issued_cancelled_count": 3,
    "issued_cancelled_total": "12500.00",
    "received_count": 61,
    "received_total": "310450.75",
    "received_cancelled_count": 2
  },
  {
    "period_year": 2026,
    "period_month": 5,
    "issued_count": 38,
    "issued_total": "512300.00",
    "issued_cancelled_count": 1,
    "issued_cancelled_total": "4100.00",
    "received_count": 55,
    "received_total": "289900.00",
    "received_cancelled_count": 0
  }
]

Arreglo de filas MonthlySummaryRow, ordenado de más reciente a más antiguo. Montos (*_total) son NUMERIC serializados como string.

#Errores

Código HTTPCausa
400fiscalEntityId malformado.
404Tu organización no tiene conexión activa al RFC.

#Reporte de performance mensual

GET/cfdi/performance

Estado de resultados del periodo derivado de CFDIs: revenue (emitidos tipo I vigentes), cogs (recibidos tipo E vigentes), ebitda = revenue - cogs - opex.

Parámetro (query)TipoDescripción
fiscalEntityIdstringRequerido. Identificador de la Fiscal Entity (fe_…).
yearintegerRequerido. Año del periodo (2010–2100).
monthintegerRequerido. Mes del periodo (1–12).
cURL
curl "https://api.clarisfy.com/api/v1/cfdi/performance?fiscalEntityId=fe_9a1c2b3d4e5f6071&year=2026&month=6" \
  -H "Authorization: Bearer clf_live_secret_9K3mZ1pQ7rTx8vB4nH6dLwYe"
JSON
{
  "period_year": 2026,
  "period_month": 6,
  "revenue": "580000.00",
  "cogs": "310450.75",
  "opex": "45000.00",
  "ebitda": "224549.25",
  "net_income": "224549.25",
  "issued_count": 42,
  "received_count": 61,
  "report_status": "preliminar",
  "last_refreshed_at": "2026-07-24T04:05:11+00:00"
}
CampoTipoDescripción
revenuestringSuma de emitidos tipo I vigentes. NUMERIC como string.
cogsstringSuma de recibidos tipo E vigentes. NUMERIC como string.
opexstringGasto operativo estimado. NUMERIC como string.
ebitdastringrevenue - cogs - opex. NUMERIC como string.
net_incomestringResultado neto estimado. NUMERIC como string.
report_statusstringpreliminar (dentro de 30 días del cierre) o final.

#Errores

Código HTTPCausa
400fiscalEntityId malformado.
404No hay performance para ese periodo, o tu organización no tiene conexión activa al RFC.

#Análisis de conceptos

GET/cfdi/concepts/analytics

Agrega las líneas ("conceptos") de los CFDIs del RFC en el rango from/to, agrupadas por (product_service_code, description, counterparty_rfc), ordenadas por total_amount descendente y limitadas a limit grupos. Solo cuenta CFDIs vigente (los cancelados se excluyen) y excluye nómina (tipo N).

Parámetro (query)TipoDescripción
fiscalEntityIdstringRequerido. Identificador de la Fiscal Entity (fe_…).
fromstring (datetime)Requerido. Inicio del rango sobre issued_at.
tostring (datetime)Requerido. Fin del rango sobre issued_at.
directionstringOpcional. emitida o recibida.
limitintegerMáximo de grupos a devolver (1–100, por defecto 20).
cURL
curl "https://api.clarisfy.com/api/v1/cfdi/concepts/analytics?fiscalEntityId=fe_9a1c2b3d4e5f6071&from=2026-01-01T00:00:00Z&to=2026-07-01T00:00:00Z&direction=recibida&limit=20" \
  -H "Authorization: Bearer clf_live_secret_9K3mZ1pQ7rTx8vB4nH6dLwYe"
JSON
{
  "items": [
    {
      "product_service_code": "01010101",
      "description": "Servicio profesional",
      "counterparty_rfc": "XAXX010101000",
      "total_amount": "50000.00000000",
      "total_quantity": "50.00000000",
      "invoice_count": 12,
      "line_count": 15
    }
  ],
  "totals": {
    "total_amount": "120000.00000000",
    "line_count": 80,
    "group_count": 34
  }
}
CampoTipoDescripción
items[].product_service_codestring | nullClaveProdServ SAT del grupo.
items[].descriptionstringDescripción del concepto.
items[].counterparty_rfcstringRFC de la contraparte (receptor en emitidas, emisor en recibidas).
items[].total_amountstringSuma del grupo. NUMERIC como string.
items[].total_quantitystringCantidad acumulada. NUMERIC como string.
items[].invoice_countintegerCFDIs distintos que incluyen el grupo.
items[].line_countintegerLíneas ("conceptos") agregadas al grupo.
totalsobjectTotales sobre todos los grupos que hacen match, no solo la página devuelta en items.

#Errores

Código HTTPCausa
400fiscalEntityId malformado, o rango from/to mayor a 24 meses.
404Tu organización no tiene conexión activa al RFC.

#Top proveedores del periodo

GET/cfdi/suppliers

Proveedores agregados por RFC emisor, ordenados por total_amount descendente. Cada fila incluye is_efos / efos_status: el flag de la lista 69-B (EFOS) publicada por el SAT.

Parámetro (query)TipoDescripción
fiscalEntityIdstringRequerido. Identificador de la Fiscal Entity (fe_…).
yearintegerRequerido. Año del periodo (2010–2100).
monthintegerRequerido. Mes del periodo (1–12).
limitintegerMáximo de filas (1–500, por defecto 50).
cURL
curl "https://api.clarisfy.com/api/v1/cfdi/suppliers?fiscalEntityId=fe_9a1c2b3d4e5f6071&year=2026&month=6&limit=50" \
  -H "Authorization: Bearer clf_live_secret_9K3mZ1pQ7rTx8vB4nH6dLwYe"
JSON
[
  {
    "emisor_rfc": "PRVA850505CC3",
    "emisor_name_last": "Proveedor A SA de CV",
    "invoice_count": 14,
    "total_amount": "185000.50",
    "cancelled_count": 1,
    "last_invoice_at": "2026-06-28T09:15:00+00:00",
    "is_efos": false,
    "efos_status": null
  },
  {
    "emisor_rfc": "AAA080808HL8",
    "emisor_name_last": "Asesores en Avalúos SA de CV",
    "invoice_count": 3,
    "total_amount": "42000.00",
    "cancelled_count": 0,
    "last_invoice_at": "2026-06-10T11:00:00+00:00",
    "is_efos": true,
    "efos_status": "Definitivo"
  }
]
CampoTipoDescripción
emisor_rfcstringRFC del proveedor (emisor).
emisor_name_laststring | nullÚltima razón social vista en sus CFDIs.
invoice_countintegerCFDIs recibidos de este proveedor en el periodo.
total_amountstringSuma de total. NUMERIC como string.
cancelled_countintegerDe esos, cuántos están cancelados.
last_invoice_atstring | nullFecha del CFDI más reciente (ISO 8601).
is_efosbooleantrue si el RFC aparece en la lista 69-B (EFOS) del SAT.
efos_statusstring | nullSituación en la lista 69-B (p. ej. Definitivo, Presunto). null si is_efos es false.

#Errores

Código HTTPCausa
400fiscalEntityId malformado.
404Tu organización no tiene conexión activa al RFC.

#Top clientes del periodo

GET/cfdi/clients

Espejo de /cfdi/suppliers pero agregando por RFC receptor. Útil para identificar concentración de ingresos.

Parámetro (query)TipoDescripción
fiscalEntityIdstringRequerido. Identificador de la Fiscal Entity (fe_…).
yearintegerRequerido. Año del periodo (2010–2100).
monthintegerRequerido. Mes del periodo (1–12).
limitintegerMáximo de filas (1–500, por defecto 50).
cURL
curl "https://api.clarisfy.com/api/v1/cfdi/clients?fiscalEntityId=fe_9a1c2b3d4e5f6071&year=2026&month=6&limit=50" \
  -H "Authorization: Bearer clf_live_secret_9K3mZ1pQ7rTx8vB4nH6dLwYe"
JSON
[
  {
    "receptor_rfc": "CLI900101XY2",
    "receptor_name_last": "Mi Cliente SA de CV",
    "invoice_count": 9,
    "total_amount": "220000.00",
    "cancelled_count": 0,
    "last_invoice_at": "2026-06-29T16:40:00+00:00"
  }
]
CampoTipoDescripción
receptor_rfcstringRFC del cliente (receptor).
receptor_name_laststring | nullÚltima razón social vista en sus CFDIs.
invoice_countintegerCFDIs emitidos a este cliente en el periodo.
total_amountstringSuma de total. NUMERIC como string.
cancelled_countintegerDe esos, cuántos están cancelados.
last_invoice_atstring | nullFecha del CFDI más reciente (ISO 8601).

#Errores

Código HTTPCausa
400fiscalEntityId malformado.
404Tu organización no tiene conexión activa al RFC.