Saltar al contenido principal

Renglones Presupuestarios y Centros de Costo - Guía ACE

Cambio importante (mayo 2026): Tras el Sub-proyecto 1, el concepto único de "centro de costo" se separó en tres dimensiones contables independientes:

  • Renglones Presupuestarios (budget_positions) — partidas presupuestarias con código ACE-{Cat}-{Sub}-{Área} (149 en producción).
  • Áreas Funcionales (functional_areas) — clasificador PDVSA con 26 códigos normalizados.
  • Centros de Costo (cost_centers nuevo) — 22 unidades organizacionales con responsable y departamento.

Las páginas más actualizadas son Renglones Presupuestarios, Áreas Funcionales, Centros de Costo y Dimensiones Contables. Esta guía resume las tres.

Guía detallada para la configuración y uso de las dimensiones contables en el ERP ACE.

Las 3 dimensiones (más cuenta y proyecto = 5 dimensiones por línea)

DimensiónPreguntaTablaCardinalidad
Renglón Presupuestario¿Qué partida del presupuesto consume?budget_positions149
Área Funcional¿Cómo se reporta a PDVSA?functional_areas26
Centro de Costo¿Quién es responsable?cost_centers22
Cuenta¿Qué naturaleza tiene?accounting_accounts~401
Proyecto¿Para qué iniciativa?projectsabierto

Nomenclatura ACE de Renglones Presupuestarios

Estructura del Código

ACE - {Área} - {Subcategoría}{Código} - {Tipo / Área Funcional}
CampoValoresDescripción
EmpresaACESiempre ACE
Área1 a 6Categoría histórica del Excel
Subcategoría1AL, 2MC, etc.Identificador de subcategoría
Tipo / ÁreaLEV, EQPS, INPR, ATIN, TTT, …Código del área funcional PDVSA

Áreas (legacy del Excel original)

#NombreEjemplos
1LogísticaAlimentación, transporte, combustibles
2MantenimientoCompresores, motores, PIAS, líneas
3ProducciónBombas mecánicas, análisis crudo, químicos
4SG&ANómina, seguros, gastos admin
5InfraestructuraLíneas de crudo/agua/gas, transformadores
6YacimientosTaladros, procura eléctrica/mecánica, flush-by

Estas "Áreas" del Excel no son las functional_areas de la base de datos. La tabla functional_areas (26 códigos PDVSA normalizados) reemplazó la columna pdvsa_code y se referencia por FK desde cada renglón.

Códigos de Área Funcional típicos

CódigoSignificadoCosto
LEVLevantamiento (gasto operativo recurrente)OPEX
EQPSEquipos (mantenimiento general)OPEX
INPRInversión en Producción (CAPEX)CAPEX
ATINAsistencia Técnica especializadaOPEX/CAPEX según uso
TTTTratamiento (operación específica)OPEX

Nota: El cost_type (OPEX/CAPEX) vive en el renglón presupuestario, no en el área funcional. Un mismo INPR puede usarse en renglones OPEX o CAPEX diferentes.

Ejemplos completos

CódigoNombreTipoCategoríaÁrea Funcional
ACE-1-1AL-LEVLevantamiento AlimentaciónOPEXLogísticaLEV
ACE-2-2MC-LEVLevantamiento Mtto CompresoresOPEXMantenimientoLEV
ACE-2-2MC-EQPSEquipos Compresores de GasCAPEXMantenimientoEQPS
ACE-3-3BM-EQPSBombas MecánicasCAPEXProducciónEQPS
ACE-3-3AC-ATINAsistencia Técnica Análisis CrudoCAPEXProducciónATIN

Tipos de Renglón Presupuestario

TipoDescripciónCuentas típicas
OPEXGastos operativos recurrentes5.x (gastos), 6.x (costos directos)
CAPEXInversiones de capital1.2.x (activos fijos)

Tipos de Centro de Costo (modelo nuevo)

ClasificaciónUso
PRODUCTIVECC de actividades productivas directas
ADMINISTRATIVECC de gestión y administración
SUPPORTCC de soporte a operaciones
PROJECTCC vinculado a un proyecto específico

Jerarquía

Tanto renglones presupuestarios como centros de costo se organizan en árbol:

  • Un nodo puede tener un padre y múltiples hijos.
  • level se calcula automáticamente (0 = raíz).
  • No se permiten ciclos (CHECK constraint en BD).
  • No se puede desactivar un nodo con hijos activos.
  • Al cambiar el padre, los level de descendientes se recalculan.

Mapeo Cuenta ↔ Renglón

Hasta el Sub-proyecto 1, las cuentas contables se almacenaban en un campo JSONB dentro del CC. Eso ya no existe. Ahora hay una tabla relacional:

account_budget_position_links (account_id, budget_position_id, role, is_active)

Roles soportados

RolSignificado
DEBIT_DEFAULTCuenta por defecto al cargar al débito (única por cuenta)
CREDIT_DEFAULTCuenta por defecto al cargar al crédito (única por cuenta)
ALLOWEDCuenta permitida sin ser default (whitelist amplia)

Categorías típicas de cuentas (referencia)

GrupoCuentasAplica típicamente a
Labor5.1.x — Sueldos, SSO, INCES, FAOVTodos los renglones
Beneficios5.2.x — HCM, prestaciones, viáticosRenglones con personal
Servicios y Contratos6.1.x — Servicios contratadosRenglones operacionales
Materiales6.3.x — Materiales y repuestosRenglones de mantenimiento/producción
Estudios6.2.x — Estudios y calibracionesRenglones de producción/yacimientos
Oficina5.5.x — Oficina y adminRenglones administrativos

Consultar vía API

GET /api/accounting/positions/:id/accounts   # cuentas vinculadas a un renglón
GET /api/accounting/accounts/:id/positions # renglones vinculados a una cuenta
POST /api/accounting/account-position-links # crear vínculo
DELETE /api/accounting/account-position-links/:id

Ver en el Frontend

  1. Detalle del Renglón > pestaña Cuentas Contables.
  2. Las cuentas aparecen con: código contable, nombre, tipo (ASSET/LIABILITY/EXPENSE/REVENUE), naturaleza (Débito/Crédito), rol del vínculo.

Presupuesto por Período

Cambio importante (Sub-proyecto 1): Los campos mensuales (budget_jan, budget_feb, …, budget_q4, total_annual_budget) fueron eliminados de budget_positions. Se archivaron en la tabla budget_positions_legacy_excel para preservar el histórico.

El presupuesto productivo vive ahora en budget_lines.amount_* ligado a un BudgetPlan con período fiscal y monedas duales (USD/VES).

Resumen Presupuestario

El endpoint GET /api/budget/positions/:id/summary devuelve:

  • Presupuesto asignado — total del renglón en el período fiscal actual.
  • Comprometido — OCs y contratos aprobados pendientes (budget_commitments).
  • Ejecutado — gastos realmente incurridos (budget_executions).
  • Disponible — Asignado − Ejecutado − Comprometido.
  • % Ejecutado — indicador de avance.
  • Líneas presupuestarias — detalle por budget_line.
  • Ejecuciones recientes — últimos 10 movimientos.

Permisos

Renglones Presupuestarios

AcciónPermiso
Verbudget:positions:read
Crear / Editarbudget:positions:write

Centros de Costo

AcciónPermiso
Veraccounting:cost-centers:read
Crear / Editar / Desactivaraccounting:cost-centers:write

Áreas Funcionales

AcciónPermiso
Veraccounting:functional-areas:read
Crear / Editaraccounting:functional-areas:write

Mapeos cuenta↔renglón

AcciónPermiso
Veraccounting:mappings:read
Crear / Editaraccounting:mappings:write

Permisos legacy cost-centers:* redirigen a budget:positions:* durante 1 release.