Saltar al contenido principal

Reportes Financieros VEN-NIIF

Cómo generar Estados Financieros conforme a VEN-NIIF para PYMES desde el plan de cuentas ACE.

Marco normativo aplicable

ACE prepara EEFF según VEN-NIIF para PYMES (Federación de Colegios de Contadores Públicos de Venezuela). Los pronunciamientos clave:

  • Sección 4 — Estado de Situación Financiera
  • Sección 5 — Estado de Resultados Integrales (Resultado del periodo + ORI)
  • Sección 6 — Estado de Cambios en el Patrimonio
  • Sección 7 — Estado de Flujos de Efectivo
  • Sección 29 — Impuesto a las ganancias (impuestos diferidos)
  • Sección 31 — Hiperinflación (BA VEN-NIF 2 v4 vigente desde 01-ene-2025)

Cómo se mapean cuentas → buckets de EEFF

Cada cuenta tiene un accountSubtype que la asigna a un bucket específico. Los reportes agrupan por subtype, no por code.

Estado de Situación Financiera (Sec 4)

ACTIVO
├── Activo Corriente .......................... subtype = CURRENT_ASSET
├── Propiedad, Planta y Equipo ................ subtype = FIXED_ASSET
├── Activo Intangible ......................... subtype = INTANGIBLE_ASSET
├── Activo No Corriente ....................... subtype = NON_CURRENT_ASSET
└── Impuesto Diferido Activo (Sec 29) ......... subtype = DEFERRED_TAX_ASSET

PASIVO
├── Pasivo Corriente .......................... subtype = CURRENT_LIABILITY
├── Pasivo a Largo Plazo ...................... subtype = LONG_TERM_LIABILITY
└── Impuesto Diferido Pasivo (Sec 29) ......... subtype = DEFERRED_TAX_LIABILITY

PATRIMONIO
├── Capital Social ............................ subtype = CAPITAL
├── Utilidades Retenidas ...................... subtype = RETAINED_EARNINGS
├── Reservas .................................. subtype = RESERVES
├── ORI (Sec 5) ............................... subtype = OCI
├── REI (Sec 31) .............................. subtype = REI
├── Otro Patrimonio ........................... subtype = OTHER_EQUITY
└── Dividendos ................................ subtype = DIVIDENDS

Estado de Resultados Integrales (Sec 5)

INGRESOS
├── Ingresos Operativos ....................... subtype = OPERATING_REVENUE
├── Otros Ingresos ............................ subtype = OTHER_REVENUE
└── Ingresos Financieros ...................... subtype = FINANCIAL_REVENUE

(menos)
COSTO DE VENTAS .............................. subtype = COST_OF_SALES
= UTILIDAD BRUTA

(menos)
GASTOS OPERATIVOS ............................. subtype = OPERATING_EXPENSE
GASTOS ADMINISTRATIVOS ........................ subtype = ADMINISTRATIVE_EXPENSE
= UTILIDAD OPERATIVA

(menos)
GASTOS FINANCIEROS ............................ subtype = FINANCIAL_EXPENSE
GASTOS NO OPERATIVOS (incluye REI Sec 31) ..... subtype = NON_OPERATING_EXPENSE
= UTILIDAD ANTES DE IMPUESTOS

(menos)
IMPUESTO A LAS GANANCIAS ...................... (cuentas específicas)
= RESULTADO NETO

OTROS RESULTADOS INTEGRALES (ORI) ............. subtype = OCI
= RESULTADO INTEGRAL TOTAL

Hiperinflación — REI granular (Sec 31 + BA VEN-NIF 2 v4)

Venezuela es economía hiperinflacionaria desde 2018. El Boletín de Aplicación VEN-NIF 2 (versión 4 vigente desde 01-ene-2025) obliga la reexpresión de EEFF mediante INPC publicado por el BCV.

ACE registra el Resultado por Exposición a la Inflación (REI) en 3 sub-cuentas granulares bajo 5.11:

CuentaConcepto
5.11.01REI sobre activos no monetarios (PPE, inventarios, intangibles)
5.11.02REI sobre patrimonio (capital, reservas, utilidades)
5.11.03REI sobre partidas monetarias (efectivo, CxC, CxP, préstamos)

El servicio inflationAdjustmentService calcula y registra estas líneas mensualmente cuando se cierra periodo.

Query típico para generar EEFF

Activo Corriente (Sec 4 — Balance General)

SELECT a.code, a.name, a.balance
FROM accounting_accounts a
WHERE a.account_subtype = 'CURRENT_ASSET'
AND a.is_active = true
AND a.accepts_transactions = true
ORDER BY a.code_sort_key;

Importante: ORDER BY code_sort_key (no code) para evitar bug 5.1 < 5.10 < 5.11 < 5.2.

Resultado Integral del periodo

SELECT
a.account_subtype,
SUM(jel.debit_amount - jel.credit_amount) AS movimiento_neto
FROM accounting_accounts a
JOIN journal_entry_lines jel ON jel.accounting_account_id = a.id
JOIN journal_entries je ON jel.journal_entry_id = je.id
WHERE je.fiscal_period_id = :periodId
AND a.account_type IN ('REVENUE', 'EXPENSE')
GROUP BY a.account_subtype
ORDER BY a.account_subtype;

Servicios disponibles

ServicioPropósito
inflationAdjustmentServiceCalcula y registra REI mensual con INPC del BCV
accountingDashboardServiceKPIs por subtype para el dashboard ejecutivo
seniatXmlServiceGenera XML para SENIAT
ivaBookServiceLibros de IVA Compras/Ventas según Providencia 071
dualCurrencyAccountingServiceEEFF en USD y VES dual

Tests de cumplimiento

backend_erp/src/modules/accounting/tests/venniifReports.sub2.test.js verifica que el catálogo permita generar todos los buckets requeridos por VEN-NIIF Sec 4-5-29-31. 12 tests, todos pasando al cierre de sub2.

Referencias