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
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
- Lo que Odoo hace solo (y lo que no)
- El cambio de Odoo 19 en una tabla
- La 129 es tu cuenta de «ganancias del año actual»
- 1.Revisa el ejercicio fiscal
- 2.Deja el año cuadrado antes de cerrarlo
- 3.El cierre anual guiado
- 4.El asiento de aplicación del resultado
- 5.Bloquea el ejercicio
- Qué pasa en contabilidad
- Resultado
- Errores frecuentes
- Preguntas frecuentes
- 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 anteriores | Odoo 19 | |
|---|---|---|
| Dónde va el resultado | Se 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 tipo | Solo una | Varias posibles (cuentas de apropiación) |
| Qué haces tú | Nada; el sistema mezclaba el traslado automático con tus asientos manuales en la misma cuenta | Un 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:
- Bancos conciliados hasta el 31 de diciembre, con el saldo de Odoo igual al del extracto.
- Todas las facturas de venta y de compra registradas, y ningún asiento en borrador del ejercicio.
- Gastos y cobros registrados y confirmados.
- Cuentas transitorias a cero (la cuenta de suspense de los diarios de banco).
- Préstamos bien registrados, con su cuadro de amortización.
- 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.
- Amortizaciones del inmovilizado contabilizadas (681 Amortización del inmovilizado material contra las 281x).
- Periodificaciones de gastos e ingresos (480 Gastos anticipados y 485 Ingresos anticipados).
- El último modelo 303 del año revisado y validado. Tienes el proceso en Modelo 303 en Odoo 19.
- 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ón | Qué revisas |
|---|---|
Pagos vencidos por contacto | Cuentas a pagar sin contacto |
Cobros vencidos por contacto | Cuentas a cobrar sin contacto |
Conciliación bancaria | Bancos conciliados hasta fin de año |
Asientos diferidos | Fechas de inicio y fin en facturas con periodificación |
Asignación de ganancias | Llevar el resultado reportado a patrimonio neto (el asiento del paso 4) |
Activos fijos | Activos registrados para la amortización automática |
Préstamos | Préstamos registrados para su amortización |
Ajustes manuales | Ajustes y comprobaciones internas |
Sin asientos en borrador | Nada en borrador en el periodo |
Cuentas por pagar vencidas | Deudas de más de 60 días |
Cuentas por cobrar vencidas | Cobros de más de 60 días y posible deterioro |
Total de cuentas por cobrar | Que el saldo vencido cuadre con la cuenta de clientes |
Total de cuentas por pagar | Que 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:
- Ve a Contabilidad, Contabilidad, Asientos contables y pulsa
Nuevo. - En
Referencia, algo comoCierre anual 2026. - En
Fecha contable, el último día del ejercicio en el que se generó el resultado. - En
Apuntes contables, las líneas de la 129 y de las cuentas de destino (ejemplos abajo). - 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:
| Cuenta | Debe | Haber |
|---|---|---|
| 129 Resultado del ejercicio | 50.000,00 | |
| 112 Reserva legal | 5.000,00 | |
| 113 Reservas voluntarias | 25.000,00 | |
| 526 Dividendo activo a pagar | 20.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:
| Cuenta | Debe | Haber |
|---|---|---|
| 121 Resultados negativos de ejercicios anteriores | 12.000,00 | |
| 129 Resultado del ejercicio | 12.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:
- 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).
- Registrarlo al cierre con la propuesta de aplicación y corregirlo si la junta decide otra cosa.
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.
- Ve a Contabilidad, Contabilidad, Fechas de bloqueo.
- En la ventana
Bloquear asientos, pon la fecha enBloqueo totaly 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 reportadocon 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 impuestosrevisado y marcado como enviado. - El asiento de aplicación del resultado contra la 129 y, con él, sin línea
Resultado reportadoen el año nuevo. - El ejercicio bloqueado con
Bloqueo total, y conbloqueo durocuando 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 reportadosigue apareciendo después del asiento. El importe no coincide con la línea del año siguiente, o la cuenta usada no es de tipoGanancias 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 unbloqueo 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 impuestosniFechas 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
- Documentación de Odoo 19 — Cierre del ejercicioodoo.com
- Odoo — How to manage current year's earnings in Odoo 19 compared to previous versions (blog, 20 de abril de 2026)odoo.com
- Plan de cuentas de la localización española, cuentas comunes peninsulares (rama 19.0)github.com
- Plan de cuentas de la localización española, cuentas comunes (rama 19.0)github.com
- Notas de versión de Odoo 19 (Libro Diario y localización española)odoo.com
- Ley de Sociedades de Capital, artículo 274 (reserva legal) — BOEboe.es