Ir al contenido

FISCALISTO / API

Centros de costo

Separe los ingresos y gastos de un emisor por obra, proyecto, sucursal o área: ponga cada factura en un centro de costo y filtre por él.

Un centro de costo es una parte del negocio que el emisor quiere ver por separado: una obra, un proyecto, una sucursal, un área o un vehículo. Cada factura, la que timbra con la API o la que llega del SAT, puede ir en uno, y en la app Reportes muestra cuánto entró, cuánto salió y lo que dejó cada uno. Es una etiqueta de Fiscalisto: no cambia el CFDI, sus impuestos ni lo que ve el SAT. Son los mismos de Ajustes › Centros de costo en la app, incluidas las reglas por cliente o proveedor que se crean ahí.

Crear un centro de costo

curl https://api.fiscalisto.com/v1/cost_centers \
  -H "Authorization: Bearer $FISCALISTO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "name": "Obra Norte", "code": "CC-01" }'

Contesta el centro de costo (ccn_…) con invoices, cuántas facturas tiene. El nombre no se repite en el emisor, sin importar mayúsculas (otro igual contesta cost_center_exists); code es opcional, para la clave que use su contabilidad. Hasta 500 por emisor.

Ponerlo al facturar

Mande cost_center en la factura:

curl https://api.fiscalisto.com/v1/invoices \
  -H "Authorization: Bearer $FISCALISTO_API_KEY" \
  -H "Idempotency-Key: avance-obra-norte-3" \
  -H "Content-Type: application/json" \
  -d '{
    "cost_center": "ccn_OufpKqnrvx9p1",
    "customer": { "tax_id": "ICV060329BY0", "legal_name": "INMOBILIARIA CVA", "tax_system": "601", "zip": "33826" },
    "payment_form": "03",
    "items": [{ "description": "Avance de obra 3", "product_key": "72141000", "unit_price": 250000 }]
  }'

La factura trae cost_center desde que se crea. Sus notas de crédito (POST /v1/credit_notes) toman el mismo centro de costo solas, para que resten donde contó la venta. Un centro de costo archivado no se puede usar: restáurelo o use otro.

Ponerlo, cambiarlo o quitarlo después

Una factura timbrada cambia de centro de costo con POST /v1/invoices/{id}; una factura del SAT (por ejemplo, un gasto que recibió el emisor) con POST /v1/sat_invoices/{id}. null se lo quita:

curl https://api.fiscalisto.com/v1/sat_invoices/sat_OufpKqnrvx9p7Bq \
  -H "Authorization: Bearer $FISCALISTO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "cost_center": "ccn_OufpKqnrvx9p1" }'

Los complementos de pago y los traslados no llevan centro de costo (contestan parameter_invalid). Solo cambia la etiqueta: el CFDI sigue igual.

Filtrar por centro de costo

GET /v1/invoices y GET /v1/sat_invoices aceptan cost_center: un ccn_…, o none para las que todavía no tienen.

curl -G https://api.fiscalisto.com/v1/sat_invoices \
  -H "Authorization: Bearer $FISCALISTO_API_KEY" \
  -d cost_center=ccn_OufpKqnrvx9p1 \
  -d date_gte=2026-10-01

Archivar, juntar o borrar

POST /v1/cost_centers/{id} cambia name y code; "archived": true lo archiva (ya no se ponen facturas en él, pero las suyas lo conservan) y false lo restaura. GET /v1/cost_centers lista los activos; con include_archived=true, también los archivados.

DELETE /v1/cost_centers/{id} lo borra. Con move_to (otro ccn_…) sus facturas y reglas pasan a ese, y así junta dos en uno; sin él, sus facturas se quedan sin centro de costo. Borrar no se puede deshacer.

En la app y con agentes

Lo que haga por la API se ve en la app: Facturas filtra por centro de costo y Reportes tiene Resultado por centro de costo y Gastos por centro de costo. Con el MCP, centros_de_costo los lista, poner_centro_costo pone facturas en uno, buscar_facturas filtra con centro_costo y correr_reporte agrupa con por: centro.