Son permisos explícitos: deben marcarse uno por uno en Integraciones externas; las integraciones existentes no los reciben automáticamente.
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.
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
accounting.cost_centers
Devuelve la lista plana (ordenada por código) y el mismo conjunto como árbol.
Consultar centro de costo
accounting.cost_centers
Responde 200 con el objeto centro de costo dentro de data, o 404 Cost center not found.
Crear centro de costo
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.
201: el objeto centro de costo creado.
Editar centro de costo
accounting.cost_centers.write
Acepta los mismos campos que la creación, todos opcionales: solo cambian los que envías.
- 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.
200: el objeto centro de costo actualizado.
Eliminar centro de costo
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.