Saltar al contenido principal

Áreas Funcionales

Acceso al Módulo

Menú principal: Contabilidad > Áreas Funcionales

Permisos requeridos: accounting:functional-areas:read (lectura), accounting:functional-areas:write (escritura)

Ruta API: /api/accounting/functional-areas


¿Qué son las Áreas Funcionales?

Las Áreas Funcionales son un clasificador normalizado que responde a la pregunta:

"¿Cómo se reporta este flujo a PDVSA?"

Cada área funcional representa una actividad operativa del upstream petrolero (levantamiento, mantenimiento, recolección, etc.) según el catálogo PDVSA. Son una de las 5 dimensiones contables que cualquier línea de un asiento puede llevar — ver Dimensiones Contables.

Hasta el Sub-proyecto 1 (mayo 2026) este clasificador estaba mezclado dentro de cost_centers como columnas pdvsa_code / pdvsa_description. Se extrajo a una tabla independiente para:

  • Eliminar duplicados mayúsculas/minúsculas (atin vs ATIN, inpr vs INPR, …).
  • Normalizar descripciones y categorías.
  • Permitir filtros independientes en reportes (un mismo CC puede consumir varias áreas funcionales).

Estructura del Modelo

CampoTipoDescripción
idUUIDPK
codeVARCHAR(10) UNIQUECódigo corto PDVSA (LEV, MEP, INPR, …)
nameVARCHAR(100)Nombre corto
descriptionTEXTDescripción normalizada
categoryENUMUPSTREAM_OPERATIONS, MAINTENANCE, ADMINISTRATIVE, SUPPORT
pdvsa_external_refVARCHAR(20)Referencia opcional al catálogo PDVSA externo
statusENUMACTIVE / INACTIVE

Catálogo Inicial — 26 Áreas Funcionales

El sistema arranca con 26 áreas distribuidas en 4 categorías:

UPSTREAM_OPERATIONS (10)

CódigoNombreDescripción
LEVLevantamientoLevantamiento artificial de hidrocarburos
LRTRLev/ReacondicionamientoLevantamiento y reacondicionamiento de pozos
SGLSistema Gas LiftSistema de levantamiento por gas
SCTServicio Pozo CTServicios a pozo con coiled tubing
SSTServicio Pozo STServicios a pozo con slick tubing
RCTRARC CTReacondicionamiento con coiled tubing
RSTRARC STReacondicionamiento con slick tubing
INPRInversión en ProducciónInversiones de capital en producción
RECRecolecciónRecolección de crudo en campo
TTTTratamientoTratamiento de crudo en estación

MAINTENANCE (6)

CódigoNombreDescripción
MEPMantenimiento EstacionesMantenimiento de estaciones de flujo
MCTMantenimiento CalentadoresMantenimiento de calentadores
MTQMantenimiento TanquesMantenimiento de tanques de almacenamiento
OLTOleoductos y LíneasMantenimiento de líneas de proceso/oleoductos
EQPSEquiposMantenimiento general de equipos
VEHVehículosMantenimiento de flota vehicular

SUPPORT (6)

CódigoNombreDescripción
SHASIHA-OSeguridad, Higiene y Ambiente Operativo
PTINProtección IntegralProtección integral / seguridad física
CCTCCTVSistemas de circuito cerrado de TV
SSGSistemas de SeguridadSistemas de seguridad operacional
SIFSistemas InformáticosSistemas de información
ATINAsistencia TécnicaAsistencia técnica especializada

ADMINISTRATIVE (4)

CódigoNombreDescripción
ADMAdministrativoGastos administrativos generales
PERPersonalGastos de personal
POLPatrimonialesGastos patrimoniales
CUGSCostos y GastosCostos y gastos generales

Dónde se usa el functional_area_id

TablaUso
journal_entry_linesDimensión contable por línea de asiento
budget_positionsCada renglón presupuestario pertenece a un área funcional (FK NOT NULL)
budget_linesPara reportes de ejecución por área
budget_commitmentsPara control presupuestario por área
afe_expensesImputación AFE a área funcional

Inferencia automática

Al crear una línea de asiento, si se proporciona budget_position_id pero no functional_area_id, el servicio journalEntryService.create() copia bp.functional_area_id automáticamente. Ver Dimensiones Contables.


Operaciones disponibles

OperaciónEndpointPermiso
Listar todasGET /api/accounting/functional-areas:read
DetalleGET /api/accounting/functional-areas/:id:read
CrearPOST /api/accounting/functional-areas:write
EditarPUT /api/accounting/functional-areas/:id:write
Eliminar / DesactivarDELETE /api/accounting/functional-areas/:id:write
Filtrar por categoríaGET /api/accounting/functional-areas/by-category/:category:read

Crear un área funcional

  1. Navegar a Contabilidad > Áreas Funcionales.
  2. Hacer clic en + Nueva Área Funcional.
  3. Capturar code (UNIQUE, máx 10 caracteres), name, description, category.
  4. Opcional: pdvsa_external_ref para referencia al catálogo PDVSA externo.
  5. Guardar.

Validaciones de negocio

  • code es UNIQUE y se almacena en mayúsculas — el sistema convierte automáticamente en upsert.
  • No se puede eliminar un área que tenga asientos contables, líneas presupuestarias o renglones asociados.
  • Desactivar un área (status=INACTIVE) la oculta de selectores pero preserva el histórico.

  • PDVSA no impone públicamente un Plan Único de Cuentas a contratistas o empresas mixtas; los códigos PDVSA son convención contractual.
  • ACE adopta este catálogo para conciliar reportes operacionales con contratistas/clientes que sí lo exigen.
  • El catálogo es abierto: puede agregarse, editarse o desactivar áreas conforme cambien los contratos o la operación.

Ver: Dimensiones Contables y Renglones Presupuestarios.