#Tendencias y estacionalidad

Estos endpoints derivan tendencias de los CFDIs de una Fiscal Entity: la evolución de tus ingresos con su estacionalidad, y el seguimiento de tu margen efectivo contra el coeficiente de utilidad que declaraste. Cuelgan de https://api.clarisfy.com/v1/cfdi/ y son tenant-gated: tu organización debe tener una conexión activa al RFC (fiscalEntityId), o el endpoint responde 404.

Los montos son NUMERIC serializados como string.

#Estacionalidad de ingresos

GET/cfdi/seasonality

Serie mensual de ingresos con variación mes contra mes (mom_pct) y año contra año (yoy_pct), un índice de estacionalidad por mes calendario y una proyección del próximo mes.

La proyección usa un método seasonal-naive (repite el patrón estacional observado). Es una estimación estadística, no una garantía. El seasonal_index viene vacío si tienes menos de 12 meses de datos, y projection_next_month es null si no hay suficiente historia.

Parámetro (query)TipoDescripción
fiscalEntityIdstringRequerido. Identificador de la FiscalEntity (fe_…).
monthsintegerOpcional. Meses hacia atrás a considerar (1–36, por defecto 24).
cURL
curl "https://api.clarisfy.com/v1/cfdi/seasonality?fiscalEntityId=fe_9a1c2b3d4e5f6071&months=24" \
  -H "Authorization: Bearer clf_live_secret_9K3mZ1pQ7rTx8vB4nH6dLwYe"
JSON
{
  "series": [
    { "period": "2026-05", "revenue": "512300.00", "mom_pct": "-2.10", "yoy_pct": "14.80" },
    { "period": "2026-06", "revenue": "580000.00", "mom_pct": "13.21", "yoy_pct": "18.30" }
  ],
  "seasonal_index": [
    { "month": 1, "index": "0.82" },
    { "month": 6, "index": "1.14" }
  ],
  "projection_next_month": {
    "period": "2026-07",
    "revenue_estimate": "605000.00",
    "method": "seasonal_naive"
  },
  "disclaimer": "Proyección estadística derivada de tus CFDIs; es una estimación, no una garantía."
}
CampoTipoDescripción
series[].periodstringMes YYYY-MM.
series[].revenuestringIngreso del mes. NUMERIC como string.
series[].mom_pctstring | nullVariación % contra el mes anterior. null si no hay mes previo.
series[].yoy_pctstring | nullVariación % contra el mismo mes del año anterior. null si no aplica.
seasonal_index[].monthintegerMes calendario (1–12).
seasonal_index[].indexstringÍndice de estacionalidad (1.00 = mes promedio). Vacío si hay <12 meses.
projection_next_monthobject | nullProyección del próximo mes, o null si no hay suficiente historia.
projection_next_month.methodstringMétodo usado (seasonal_naive).
disclaimerstringRecordatorio de que es una estimación estadística.

#Errores

Código HTTPCausa
202El reporte aún se está calculando. Cuerpo: {"status":"computing","report_kind":"…","fiscal_entity_id":"fe_…","retry_after_seconds":15}, más el header Retry-After. Reintenta después de los segundos indicados (retry_after_seconds).
400fiscalEntityId malformado.
404Tu organización no tiene conexión activa al RFC.

#Seguimiento del coeficiente de utilidad

GET/cfdi/coefficient-tracking

Compara tu margen efectivo del año en curso (utilidad estimada ÷ ingresos, ambos derivados de tus CFDIs a la fecha) contra el coeficiente de utilidad que declaraste en tu Declaración Anual. Sirve como alerta temprana: un delta grande sugiere que el año en curso se está comportando distinto a lo declarado.

Parámetro (query)TipoDescripción
fiscalEntityIdstringRequerido. Identificador de la FiscalEntity (fe_…).
yearintegerOpcional. Ejercicio a seguir; por defecto, el año calendario actual.
cURL
curl "https://api.clarisfy.com/v1/cfdi/coefficient-tracking?fiscalEntityId=fe_9a1c2b3d4e5f6071&year=2026" \
  -H "Authorization: Bearer clf_live_secret_9K3mZ1pQ7rTx8vB4nH6dLwYe"
JSON
{
  "year": 2026,
  "as_of_month": 6,
  "ingresos_ytd": "3100000.00",
  "utilidad_estimada_ytd": "760000.00",
  "margen_efectivo_ytd": "0.2452",
  "coeficiente_declarado": "0.2155",
  "coeficiente_source_year": 2025,
  "delta": "0.0297",
  "disclaimer": "Comparativo derivado de tus CFDIs contra tu coeficiente declarado; es una estimación, no consejo fiscal."
}
CampoTipoDescripción
yearintegerEjercicio seguido.
as_of_monthintegerÚltimo mes (1–12) con CFDIs considerado.
ingresos_ytdstringIngresos acumulados del año a la fecha.
utilidad_estimada_ytdstringUtilidad estimada acumulada (proxy de CFDIs).
margen_efectivo_ytdstring | nullMargen efectivo = utilidad estimada ÷ ingresos. null si no hay ingresos.
coeficiente_declaradostring | nullCoeficiente de utilidad de tu Declaración Anual. null si no hay declaración.
coeficiente_source_yearinteger | nullEjercicio del que se tomó el coeficiente declarado.
deltastring | nullmargen_efectivo_ytd − coeficiente_declarado. null si falta algún operando.
disclaimerstringRecordatorio de que es un comparativo estimado.

#Errores

Código HTTPCausa
202El reporte aún se está calculando. Cuerpo: {"status":"computing","report_kind":"…","fiscal_entity_id":"fe_…","retry_after_seconds":15}, más el header Retry-After. Reintenta después de los segundos indicados (retry_after_seconds).
400fiscalEntityId malformado.
404Tu organización no tiene conexión activa al RFC.