Menú: secciones y guías

Cierre del ejercicio en Odoo 19 con el PGC español: la cuenta 129 y el nuevo resultado dinámico

Qué cambió en Odoo 19 con el resultado del ejercicio, cómo hacer el asiento de aplicación con la 129, las verificaciones del cierre y las fechas de bloqueo.

Odoo 19 Tutorial · Nivel avanzado

Pasos verificados y actualizados el · por David Crespo Muñoz

Respuesta corta

Odoo 19 no tiene un botón de «cerrar ejercicio» que genere los asientos de regularización, cierre y apertura. Las cuentas de balance arrastran su saldo solas y las de ingresos y gastos empiezan el año a cero; el resultado del año anterior aparece como una línea dinámica, «Resultado reportado», hasta que lo aplicas con un asiento manual contra una cuenta de tipo «Ganancias del año actual», que en el plan español de Odoo es la 129 Resultado del ejercicio. El resto del cierre se hace en Contabilidad , Contabilidad , Declaraciones de impuestos (cierre anual con verificaciones) y en Fechas de bloqueo.

Edición
Solo Enterprise (app Contabilidad); el plan de cuentas PGC es de Community
Módulos
l10n_es
Dónde se hace
Contabilidad, Configuración, Plan contableContabilidad, Configuración, AjustesContabilidad, Contabilidad, Declaraciones de impuestosContabilidad, Contabilidad, Asientos contablesContabilidad, Contabilidad, Fechas de bloqueo
Otras versiones
Antes de Odoo 19 el resultado se trasladaba solo a una cuenta de «ganancias del año actual»; si vienes de la 18 o anteriores, lee la sección de migración. La documentación de Odoo 20 describe el mismo proceso de cierre que la 19.
En esta página
  1. Lo que Odoo hace solo (y lo que no)
  2. El cambio de Odoo 19 en una tabla
  3. La 129 es tu cuenta de «ganancias del año actual»
  4. 1.Revisa el ejercicio fiscal
  5. 2.Deja el año cuadrado antes de cerrarlo
  6. 3.El cierre anual guiado
  7. 4.El asiento de aplicación del resultado
  8. 5.Bloquea el ejercicio
  9. Qué pasa en contabilidad
  10. Resultado
  11. Errores frecuentes
  12. Preguntas frecuentes
  13. Fuentes

Antes de empezar

  • Odoo 19 con la app Contabilidad (Enterprise, Odoo Online de pago u Odoo.sh). El cierre anual guiado y las fechas de bloqueo forman parte de esa app.
  • Plan de cuentas de la localización española (PGC 2008, módulo l10n_es).
  • Permisos de administrador de Contabilidad.
  • El acuerdo de aplicación del resultado de la junta, o al menos la propuesta, si vas a hacer ya el asiento de distribución.

En un programa de contabilidad español de toda la vida, cerrar el año es pulsar un botón: el programa hace el asiento de regularización, el de cierre y el de apertura. Odoo 19 no funciona así, y la pregunta «¿cómo realizo el cierre de ejercicio en Odoo 19 siguiendo el PGC?» se repite en el foro de Odoo sin una respuesta clara.

Esta guía la da. Primero, qué hace Odoo solo. Después, el único asiento que tienes que hacer tú y cómo encaja con las cuentas del PGC. Al final, el cierre anual guiado y el bloqueo del ejercicio.

Cuidado

Antes de empezar. Explicamos qué hace Odoo y cómo se traduce a la práctica habitual del PGC. Qué reservas dotar, si hay dividendo o cómo tratar el Impuesto sobre Sociedades lo decide la junta con tu asesor, no el programa.

Lo que Odoo hace solo (y lo que no)

Según la documentación de Odoo 19:

  • Las cuentas de balance (activo, pasivo y patrimonio neto) trasladan su saldo al ejercicio siguiente. No hay asiento de apertura.
  • Las cuentas de pérdidas y ganancias (ingresos, gastos y cuentas de aplicación) se reinician a cero al empezar el nuevo ejercicio. No hay asiento de regularización.
  • El resultado del año N aparece en el balance de comprobación y en el libro mayor del año N+1 como una línea dinámica llamada Resultado reportado (en inglés, Result Brought Forward). Es un cálculo, no un apunte: equilibra el balance de comprobación mientras no hayas aplicado el resultado.
  • Para que esa línea desaparezca, registras un asiento manual en el año N contra una cuenta de tipo «ganancias del año actual». Eso es lo que la documentación llama cuentas de apropiación.

Lo que Odoo no hace: generar los asientos de regularización, cierre y apertura del modelo clásico español. Si tu asesor necesita verlos en el Libro Diario para legalizar libros, coméntalo con él antes de inventar asientos. Las notas de versión de Odoo 19 indican que el Libro Diario se exporta desde el libro mayor, a través del informe de auditoría de diarios.

Cuidado

No repliques la regularización. Si saldas los grupos 6 y 7 contra la 129 a 31 de diciembre, el informe de Pérdidas y ganancias de ese año saldrá a cero, porque suma esas cuentas dentro del periodo. En Odoo 19 la regularización ya la hace la línea dinámica.

El cambio de Odoo 19 en una tabla

Odoo 18 y anterioresOdoo 19
Dónde va el resultadoSe trasladaba solo a la única cuenta de tipo «ganancias del año actual»Se muestra como línea dinámica Resultado reportado
Cuentas de ese tipoSolo unaVarias posibles (cuentas de apropiación)
Qué haces túNada; el sistema mezclaba el traslado automático con tus asientos manuales en la misma cuentaUn asiento manual que aplica el resultado

El blog de Odoo explica el motivo: antes se mezclaban los traslados automáticos con los asientos manuales en la misma cuenta, y ahora se separan. Si vienes de una versión anterior, la documentación recomienda revisar los ejercicios pasados y registrar asientos manuales, en orden cronológico, que contabilicen de forma explícita esos resultados.

La 129 es tu cuenta de «ganancias del año actual»

En el plan de cuentas español de Odoo 19 (fichero de cuentas comunes peninsulares de la rama 19.0), la cuenta 129 Resultado del ejercicio tiene el tipo Ganancias del año actual (en inglés, Current Year Earnings). Es la única cuenta de ese tipo en el plan español. En tu base de datos puede aparecer con ceros a la derecha, según cómo se creara el plan.

Compruébalo en Contabilidad, Configuración, Plan contable (en inglés, Chart of Accounts; la documentación en español lo llama «Plan de cuentas»): busca la 129 y mira su Tipo de cuenta. Si alguien la cambió a Capital neto o creó otra cuenta de resultado con ese tipo, arréglalo antes de cerrar.

Lo que dice la documentación sobre estas cuentas, traducido al PGC:

  • Se reinician cada año, como los ingresos y los gastos.
  • Aparecen al final de Pérdidas y ganancias, pero no cambian el beneficio neto.
  • Solo sus contrapartidas llegan al balance: la reserva legal, las voluntarias, el dividendo a pagar.

Paso 1. Revisa el ejercicio fiscal

Ve a Contabilidad, Configuración, Ajustes, sección Periodos fiscales, y comprueba el Último día. Por defecto el ejercicio dura 12 meses y termina el 31 de diciembre.

Si un ejercicio dura más o menos de 12 meses (el primero de una sociedad nueva, o un cambio de fecha de cierre), activa Años fiscales, guarda, vuelve a la sección y pulsa Años fiscales. Crea uno con Nuevo, dale un Nombre, una Fecha de inicio y una Fecha de finalización. Cuando termina ese periodo especial, Odoo vuelve solo a la duración normal según el Último día.

Paso 2. Deja el año cuadrado antes de cerrarlo

La lista de la documentación de Odoo, con los ajustes que en España suelen tocar a final de año:

  1. Bancos conciliados hasta el 31 de diciembre, con el saldo de Odoo igual al del extracto.
  2. Todas las facturas de venta y de compra registradas, y ningún asiento en borrador del ejercicio.
  3. Gastos y cobros registrados y confirmados.
  4. Cuentas transitorias a cero (la cuenta de suspense de los diarios de banco).
  5. Préstamos bien registrados, con su cuadro de amortización.
  6. Cobros y pagos vencidos de más de 60 días revisados. En PGC, si procede, el deterioro de créditos comerciales: en el plan de Odoo existen la 694 Pérdidas por deterioro de créditos por operaciones comerciales y la 490 Deterioro de valor de créditos por operaciones comerciales.
  7. Amortizaciones del inmovilizado contabilizadas (681 Amortización del inmovilizado material contra las 281x).
  8. Periodificaciones de gastos e ingresos (480 Gastos anticipados y 485 Ingresos anticipados).
  9. El último modelo 303 del año revisado y validado. Tienes el proceso en Modelo 303 en Odoo 19.
  10. El Impuesto sobre Sociedades, cuando tu asesor lo tenga calculado. En el plan de Odoo existen la 6300 Impuesto corriente, la 4752 Hacienda Pública, acreedora por impuesto sobre sociedades, y la 473 Hacienda Pública, retenciones y pagos a cuenta. El asiento habitual carga la 6300 y abona la 473 por los pagos a cuenta y la 4752 por la diferencia. Hazlo antes de aplicar el resultado, porque el gasto por impuesto cambia el beneficio. Los tipos de 2026 para pymes y microempresas, con el asiento de ejemplo, están en Impuesto sobre Sociedades de 2026 en Odoo.

Paso 3. El cierre anual guiado

Odoo 19 trae un cierre anual con verificaciones dentro de la misma pantalla que las declaraciones de IVA. Ve a Contabilidad, Contabilidad, Declaraciones de impuestos (o pulsa el diario Declaraciones de impuestos en el tablero). Verás una línea de cierre anual con su año, su fecha límite y dos pasos: revisar y enviar.

Pulsa la línea. Según la documentación de Odoo 19, aparecen estas verificaciones (dependen de la localización):

VerificaciónQué revisas
Pagos vencidos por contactoCuentas a pagar sin contacto
Cobros vencidos por contactoCuentas a cobrar sin contacto
Conciliación bancariaBancos conciliados hasta fin de año
Asientos diferidosFechas de inicio y fin en facturas con periodificación
Asignación de gananciasLlevar el resultado reportado a patrimonio neto (el asiento del paso 4)
Activos fijosActivos registrados para la amortización automática
PréstamosPréstamos registrados para su amortización
Ajustes manualesAjustes y comprobaciones internas
Sin asientos en borradorNada en borrador en el periodo
Cuentas por pagar vencidasDeudas de más de 60 días
Cuentas por cobrar vencidasCobros de más de 60 días y posible deterioro
Total de cuentas por cobrarQue el saldo vencido cuadre con la cuenta de clientes
Total de cuentas por pagarQue el saldo vencido cuadre con la cuenta de proveedores

Algunas se comprueban solas y otras son recordatorios. Cada tarjeta queda como Revisado (verde), Por revisar (gris) o Anomalía (rojo). Una anomalía se arregla pulsando la tarjeta o se pasa marcándola como Revisada o Supervisada. Cuando todas estén en verde, pulsa Validar. Luego pulsa Enviar y, si aparece la ventana Instrucciones de envío, Marcar como enviado.

Esto no presenta nada ante ningún organismo: marca el cierre como hecho en Odoo. Si necesitas volver a las verificaciones, en el menú de los tres puntos de la línea tienes Restablecer.

Paso 4. El asiento de aplicación del resultado

Es el único asiento que tienes que hacer tú. Siguiendo la documentación de Odoo 19:

  1. Ve a Contabilidad, Contabilidad, Asientos contables y pulsa Nuevo.
  2. En Referencia, algo como Cierre anual 2026.
  3. En Fecha contable, el último día del ejercicio en el que se generó el resultado.
  4. En Apuntes contables, las líneas de la 129 y de las cuentas de destino (ejemplos abajo).
  5. Pulsa Publicar.

El importe que cargas o abonas en la 129 tiene que coincidir con la línea Resultado reportado del balance de comprobación del año siguiente. Si no coincide, la línea dinámica no desaparece del todo.

Con beneficio

La documentación indica: con ganancia, cargas la cuenta de apropiación y abonas las cuentas de destino. En términos de PGC, es la aplicación del resultado. Un ejemplo con 50.000 € de beneficio y un reparto hipotético:

CuentaDebeHaber
129 Resultado del ejercicio50.000,00
112 Reserva legal5.000,00
113 Reservas voluntarias25.000,00
526 Dividendo activo a pagar20.000,00

Las cuentas 112, 113, 120 Remanente y 526 existen en el plan español de Odoo 19. La reserva legal se dota con el 10 % del beneficio hasta llegar al 20 % del capital social, según el artículo 274 de la Ley de Sociedades de Capital. El reparto concreto lo aprueba la junta.

Con pérdida

Con pérdida, abonas la cuenta de apropiación y cargas el destino. En PGC, la pérdida suele llevarse a la 121 Resultados negativos de ejercicios anteriores:

CuentaDebeHaber
121 Resultados negativos de ejercicios anteriores12.000,00
129 Resultado del ejercicio12.000,00

Cuándo hacerlo: la junta aprueba meses después

Esta es la duda que casi nadie resuelve. En España, la junta aprueba la aplicación del resultado en el ejercicio siguiente, y el balance a 31 de diciembre presenta el resultado sin repartir.

La documentación de Odoo 19 dice dos cosas a la vez: que el asiento lleva fecha del último día del ejercicio del resultado, y que no hace falta hacerlo justo al acabar el año, sino cuando el resultado esté listo para aplicarse. Mientras no lo hagas, la línea dinámica mantiene el balance de comprobación cuadrado.

En la práctica, eso te deja dos opciones que tienes que decidir con tu asesor:

  1. Esperar al acuerdo de la junta y registrar entonces el asiento con fecha 31 de diciembre del año cerrado. Si ya bloqueaste ese año, necesitarás una excepción de bloqueo (paso 5).
  2. Registrarlo al cierre con la propuesta de aplicación y corregirlo si la junta decide otra cosa.
La junta aprueba el resultado de 2026 ya en 2027, pero el asiento de aplicación lleva fecha 31/12/2026; hasta que se registra, el balance de 2027 muestra la línea Resultado reportado Línea de tiempo. Ejercicio 2026 hasta el 31/12/2026; durante la revisión, Bloqueo total a esa fecha. Ejercicio 2027: desde el 1 de enero, el balance de comprobación muestra la línea dinámica Resultado reportado. Cuando la junta aprueba la aplicación, registras el asiento con fecha contable 31/12/2026 (si hay Bloqueo total, con una excepción) y la línea desaparece. Con las cuentas aprobadas, bloqueo duro. Asiento de aplicación con fecha contable 31/12/2026 (si hay Bloqueo total, con una excepción) Bloqueo total mientras se revisa el año La junta aprueba y registras el asiento 31/12/2026 Ejercicio 2026 Resultado reportado Línea dinámica del balance de comprobación de 2027 Ejercicio 2027 bloqueo duro con las cuentas aprobadas La junta aprueba el resultado de 2026 ya en 2027, pero el asiento de aplicación lleva fecha 31/12/2026; hasta que se registra, el balance de 2027 muestra la línea Resultado reportado Línea de tiempo. Ejercicio 2026 hasta el 31/12/2026; durante la revisión, Bloqueo total a esa fecha. Ejercicio 2027: desde el 1 de enero, el balance de comprobación muestra la línea dinámica Resultado reportado. Cuando la junta aprueba la aplicación, registras el asiento con fecha contable 31/12/2026 (si hay Bloqueo total, con una excepción) y la línea desaparece. Con las cuentas aprobadas, bloqueo duro. Ejercicio 2026 31/12/2026 Bloqueo total mientras se revisa Ejercicio 2027 Resultado reportado Línea dinámica del balance de comprobación de 2027 La junta aprueba Registras el asiento con fecha contable 31/12/2026 (si hay Bloqueo total, con una excepción) bloqueo duro con las cuentas aprobadas
La opción 1, con un ejercicio que termina el 31 de diciembre de 2026: la junta aprueba en 2027 y el asiento lleva fecha de 2026. Según la documentación de Odoo 19 sobre el cierre del ejercicio; la posición de cada hito dentro de 2027 es orientativa.

No hemos podido comprobar en el código cómo presenta el balance oficial español de Odoo (parte Enterprise de la localización) la partida «Resultado del ejercicio» antes y después de este asiento. Antes de cerrar las cuentas anuales, saca el balance antes y después del asiento en una copia de la base de datos y revísalo con tu asesor.

Paso 5. Bloquea el ejercicio

La documentación recomienda poner una fecha de Bloqueo total en el último día del ejercicio cerrado mientras dura la revisión.

  1. Ve a Contabilidad, Contabilidad, Fechas de bloqueo.
  2. En la ventana Bloquear asientos, pon la fecha en Bloqueo total y guarda.

Con el bloqueo, no se pueden crear ni modificar asientos con fecha igual o anterior. Si alguien publica uno con fecha bloqueada, Odoo le pone la fecha del día siguiente al bloqueo.

Excepciones. Si hace falta tocar algo, un administrador de Contabilidad vuelve a Fechas de bloqueo, quita la fecha y, en el aviso de excepción, elige para mí o para todos y la duración. Puede añadir un Motivo. Todo queda en el historial de la empresa.

El bloqueo duro es para siempre. A diferencia del bloqueo total, es irreversible: no admite excepciones. Úsalo solo cuando el ejercicio esté definitivamente cerrado y las cuentas aprobadas.

Qué pasa en contabilidad

  • Sin asiento de aplicación: el balance de comprobación del año nuevo muestra la línea Resultado reportado con el resultado del año anterior. Cuadra, pero con un cálculo, no con apuntes.
  • Con el asiento de aplicación: la 129 recoge el cargo o el abono en el año cerrado y, como se reinicia cada año, no arrastra saldo al siguiente. Las contrapartidas (112, 113, 121, 526…) sí pasan al balance del año nuevo como cualquier cuenta de patrimonio o de pasivo. La línea dinámica desaparece.
  • Pérdidas y ganancias del año cerrado mantiene el beneficio real. La 129, como cuenta de apropiación, aparece al final del informe pero no cambia el beneficio neto.

Resultado

Al terminar tienes:

  • El ejercicio con bancos, facturas, amortizaciones, periodificaciones e impuestos al día.
  • El cierre anual de Declaraciones de impuestos revisado y marcado como enviado.
  • El asiento de aplicación del resultado contra la 129 y, con él, sin línea Resultado reportado en el año nuevo.
  • El ejercicio bloqueado con Bloqueo total, y con bloqueo duro cuando todo esté aprobado.

Errores frecuentes

  • Hacer la regularización clásica contra la 129. Deja a cero Pérdidas y ganancias del año. Anula ese asiento y registra solo la aplicación del resultado.
  • La línea Resultado reportado sigue apareciendo después del asiento. El importe no coincide con la línea del año siguiente, o la cuenta usada no es de tipo Ganancias del año actual. Revisa el tipo de la 129.
  • No puedo publicar el asiento con fecha 31 de diciembre. El ejercicio ya está bloqueado. Crea una excepción en Fechas de bloqueo. Si pusiste un bloqueo duro, no hay vuelta atrás.
  • Busco «cerrar ejercicio» y no lo encuentro. No existe en Odoo 19. El cierre son los pasos 3, 4 y 5 de esta guía.
  • He migrado desde Odoo 18 y los balances antiguos no me cuadran como antes. Aplica la recomendación de la documentación: asientos manuales de los resultados de años anteriores, en orden cronológico.
  • No veo Declaraciones de impuestos ni Fechas de bloqueo. Estás en Community o sin la app Contabilidad. Mira qué trae cada edición.

Preguntas frecuentes

¿Dónde está el botón de cerrar ejercicio en Odoo 19?

No existe como tal. Odoo 19 cierra el ejercicio con tres piezas separadas. El resultado se muestra como una línea dinámica hasta que lo aplicas con un asiento manual. Las verificaciones de cierre están en el cierre anual de Declaraciones de impuestos. Y el periodo se bloquea en Fechas de bloqueo.

¿Tengo que hacer el asiento de apertura del año nuevo?

No. Según la documentación de Odoo 19, las cuentas de balance (activo, pasivo y patrimonio neto) trasladan su saldo de un ejercicio a otro y las de ingresos y gastos se reinician a cero al empezar el nuevo ejercicio. No hay que generar un asiento de apertura.

¿Hago el asiento de regularización de los grupos 6 y 7 contra la 129 como en otros programas?

No en Odoo 19. Si saldas los gastos y los ingresos contra la 129 con fecha 31 de diciembre, el informe de Pérdidas y ganancias de ese año mostrará cero, porque suma esas cuentas en el periodo. En Odoo la regularización la hace la línea dinámica «Resultado reportado»; tú solo registras la aplicación del resultado.

He migrado de Odoo 18 y el balance de años anteriores muestra una línea de resultado que antes no veía. ¿Es un error?

Es el cambio de Odoo 19. La documentación recomienda revisar los ejercicios pasados y registrar, en orden cronológico, asientos manuales que contabilicen de forma explícita los resultados que antes el sistema gestionaba de forma implícita.

Fuentes

  1. Documentación de Odoo 19 — Cierre del ejercicioodoo.com
  2. Odoo — How to manage current year's earnings in Odoo 19 compared to previous versions (blog, 20 de abril de 2026)odoo.com
  3. Plan de cuentas de la localización española, cuentas comunes peninsulares (rama 19.0)github.com
  4. Plan de cuentas de la localización española, cuentas comunes (rama 19.0)github.com
  5. Notas de versión de Odoo 19 (Libro Diario y localización española)odoo.com
  6. Ley de Sociedades de Capital, artículo 274 (reserva legal) — BOEboe.es

Odoo es una marca de Odoo S.A. Este sitio es independiente y no está afiliado a Odoo S.A. Más información.