Skip to main content
Son permisos explícitos: deben marcarse uno por uno en Integraciones externas; las integraciones existentes no los reciben automáticamente.
Los centros de costo son jerárquicos (un centro puede tener subcentros). Sus id se envían como cost_center_id en partidas, ventas, compras, cobros, pagos, transferencias y planillas, y sirven de filtro en los estados financieros.
En los documentos y partidas solo se aceptan centros hoja (is_leaf: true) y activos. Los centros padre agrupan a sus subcentros en los reportes.
Para el uso funcional (política por cuenta, cómo llegan a la partida, reasignación), ver Centros de costo en el manual.

Objeto centro de costo

Listar centros de costo

Permiso requerido: accounting.cost_centers Devuelve la lista plana (ordenada por código) y el mismo conjunto como árbol.

Consultar centro de costo

Permiso requerido: accounting.cost_centers Responde 200 con el objeto centro de costo dentro de data, o 404 Cost center not found.

Crear centro de costo

Permiso requerido: accounting.cost_centers.write
Comportamiento
  • El nivel (level) se calcula a partir del padre.
  • Al crear un subcentro, su padre deja de ser hoja: ya no se puede asignar a documentos nuevos, pero sigue agrupando a sus hijos en los reportes.
Respuesta 201: el objeto centro de costo creado.

Editar centro de costo

Permiso requerido: accounting.cost_centers.write Acepta los mismos campos que la creación, todos opcionales: solo cambian los que envías.
Comportamiento
  • Si cambias parent_id, se recalcula el nivel del centro y de todos sus subcentros.
  • Un centro no puede depender de sí mismo ni de uno de sus subcentros.
  • Desactivar un centro (is_active: false) impide asignarlo a documentos y partidas nuevos; lo ya registrado se conserva.
Respuesta 200: el objeto centro de costo actualizado.

Eliminar centro de costo

Permiso requerido: accounting.cost_centers.write Comportamiento
  • Si el centro no se ha usado en partidas ni documentos, se elimina: {"deleted": true, "deactivated": false}.
  • Si ya tiene movimientos o documentos, no se borra: se desactiva para conservar el historial: {"deleted": false, "deactivated": true}.
  • Si tiene subcentros, responde 422: elimínalos o muévelos a otro padre primero.

Errores