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-01Archivar, 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.
Sucursales
Facture desde otros lugares además del domicilio fiscal del emisor: cada sucursal con su código postal, su dirección en el PDF, sus series y, si quiere, su propia marca.
Listas de precios
Precios distintos por cliente: listas de mayoreo, distribuidor o promociones, con escalones por cantidad y por caja, y grupos de clientes con su lista, descuento, crédito y pedido mínimo.