El modelo 303 es la declaración trimestral del Impuesto sobre el Valor Añadido (IVA). En este tutorial vamos a ver cómo preparar esta declaración con Odoo 19 Community Edition, utilizando el módulo correspondiente de la localización española de OCA.
A lo largo del proceso veremos cómo calcular los importes de IVA a partir de las facturas registradas en contabilidad, generar el fichero para presentarlo ante la Agencia Tributaria, comprobar los datos y realizar el asiento de regularización. También veremos cómo consultar los libros de IVA y bloquear el periodo para evitar modificaciones posteriores.
1. Preparar Odoo 19 para generar el modelo 303
Para comenzar, necesitamos tener instalado el módulo de la localización española de OCA que permite generar el modelo 303.
En el ejemplo del vídeo utilizamos una base de datos de Odoo 19 Community Edition con facturas de clientes y proveedores registradas en contabilidad.
Entre las operaciones que aparecen en nuestra empresa de prueba encontramos:
- Facturas nacionales: operaciones con IVA español.
- Entregas intracomunitarias: facturas emitidas a clientes de otros países de la Unión Europea.
- Adquisiciones intracomunitarias de bienes: compras de mercancías a proveedores comunitarios.
- Adquisiciones intracomunitarias de servicios: servicios recibidos de proveedores de otros países de la Unión Europea.
Es importante que las facturas estén correctamente registradas y que los impuestos y las cuentas contables estén bien configurados, ya que de esta información se obtendrán los importes de la declaración.

2. Crear y calcular la declaración del modelo 303
Una vez registradas las operaciones, accedemos al apartado de declaraciones y seleccionamos el modelo 303.
Creamos una nueva declaración, seleccionamos la empresa y el periodo correspondiente y guardamos el registro. En el ejemplo práctico trabajamos con el tercer trimestre del ejercicio.
A continuación, pulsamos el botón para calcular la declaración.
Odoo obtiene los importes a partir de las operaciones contabilizadas y presenta un resumen de los resultados. Podemos consultar el IVA devengado, el IVA deducible y el resultado de la liquidación, que puede ser a ingresar, a compensar o a devolver, según las circunstancias de la empresa.
De esta forma, no tenemos que introducir manualmente todos los importes de las facturas en el formulario: el módulo utiliza la información contable para preparar las casillas del modelo.
3. Revisar las casillas y los importes del modelo 303
Después de calcular la declaración, podemos revisar las líneas que componen el modelo 303.
Odoo muestra las casillas correspondientes y los importes calculados. Las líneas que no contienen operaciones aparecen a cero, mientras que las que tienen movimientos muestran sus respectivas bases imponibles y cuotas.
En el vídeo utilizamos varios ejemplos para entender cómo se distribuye la información.
IVA nacional al 21 %
En una de las facturas de ejemplo tenemos una base imponible de 600 € al 21 % de IVA. La cuota correspondiente es de 126 €.
Estos importes se reflejan en las casillas correspondientes a las operaciones nacionales.
Adquisiciones intracomunitarias
Las adquisiciones intracomunitarias tienen su propio tratamiento en la declaración. En el ejemplo podemos consultar tanto la parte correspondiente al IVA devengado como la parte deducible, cuando proceda.
El módulo distribuye estos importes en las casillas correspondientes del modelo 303.
Consultar el resumen de la declaración
Además de revisar las líneas individualmente, podemos consultar el resumen de los importes declarados y comprobar el resultado de la liquidación.
Esta revisión es importante antes de confirmar la declaración y generar el asiento contable.
4. Confirmar la declaración y crear el asiento de regularización
Cuando hemos revisado los importes, confirmamos la declaración y utilizamos la opción para crear el asiento de regularización del IVA.
Odoo genera automáticamente el asiento con los importes necesarios para regularizar las cuentas de IVA. En el ejemplo del vídeo aparecen las cuentas contables 472 y 477, correspondientes al IVA soportado y al IVA repercutido, respectivamente.
Como el resultado de la liquidación del ejemplo es un IVA a compensar, también aparece la cuenta 470, correspondiente a Hacienda Pública deudora por IVA.
Una vez generado el asiento, lo revisamos y lo publicamos.
De esta manera, la regularización queda registrada en la contabilidad sin necesidad de elaborar manualmente el asiento a partir de los importes de la declaración.
5. Exportar el fichero del modelo 303 para Hacienda
Una vez preparada la declaración, el siguiente paso consiste en generar el fichero que utilizaremos para presentar el modelo ante la Agencia Tributaria.
Desde la declaración accedemos a la opción de exportación al formato BOE y descargamos el fichero generado por Odoo.
Este archivo contiene los datos identificativos de la empresa y los importes en las posiciones previstas para que el sistema de la Agencia Tributaria pueda interpretarlos.
A continuación, accedemos a la página de presentación del modelo 303 de la Agencia Tributaria, nos identificamos con el certificado digital de la empresa e importamos el fichero descargado.
Después de aceptar la importación, podemos comprobar que los datos se han cargado correctamente y que los importes aparecen en las casillas correspondientes.
En el ejemplo del vídeo, el sistema indica que el fichero no contiene errores de importación. Revisamos los datos y comprobamos que las operaciones nacionales e intracomunitarias aparecen en sus apartados correspondientes.
Importante: generar e importar el fichero no equivale por sí solo a presentar la declaración. Antes de finalizar el trámite, hay que revisar la información en la sede electrónica y completar la presentación correspondiente.
6. ¿Qué ocurre si cambia el formato del modelo 303?
Los formatos de intercambio utilizados por la Agencia Tributaria pueden cambiar con el tiempo. Por eso es importante mantener actualizados los módulos de la localización española que utilizamos para generar las declaraciones.
Si el formato del fichero cambia y nuestra instalación todavía no incorpora la actualización necesaria, puede que tengamos que introducir manualmente los importes en el formulario de la Agencia Tributaria.
En el vídeo mostramos esta alternativa con el ejemplo de una operación nacional al 21 %:
- Base imponible: 600 €.
- Cuota de IVA: 126 €.
En ese caso, habría que localizar las casillas correspondientes e introducir los importes manualmente.
Esta posibilidad sirve como alternativa cuando no podemos utilizar la importación automática, aunque requiere prestar especial atención a la correspondencia entre los datos contables y las casillas del modelo.
7. Consultar el libro de IVA para justificar la declaración
Otra herramienta útil es el libro de IVA, que permite consultar las operaciones que han generado los importes declarados.
En Odoo podemos generar un nuevo libro de IVA, seleccionar el periodo que queremos revisar y calcular el informe.
El resultado permite consultar las facturas emitidas y las operaciones relacionadas con el IVA. En el ejemplo del vídeo también se muestran las categorías de impuestos, las bases imponibles, las cuotas y los importes netos.
Si necesitamos comprobar de dónde procede una cantidad concreta del modelo 303, podemos consultar el detalle de las operaciones que la componen.
Por ejemplo, al abrir el detalle de las adquisiciones intracomunitarias podemos ver las facturas y las líneas que han contribuido a generar el importe declarado.
También podemos exportar el informe a PDF o Excel para conservar una copia de la información utilizada en la liquidación.
Esta documentación resulta útil para justificar los importes declarados y facilitar las comprobaciones posteriores.
8. Comprobar el asiento de regularización con un balance de sumas y saldos
Después de publicar el asiento de regularización, conviene verificar que las cuentas contables presentan los saldos esperados.
Para ello, podemos generar un balance de sumas y saldos del periodo correspondiente y revisar las cuentas de IVA.
En el ejemplo del vídeo comprobamos lo siguiente:
- Cuenta 472: debe quedar regularizada, sin saldo pendiente correspondiente al IVA soportado del periodo liquidado.
- Cuenta 477: debe quedar regularizada, sin saldo pendiente correspondiente al IVA repercutido del periodo liquidado.
- Cuenta 470: recoge el importe a compensar o devolver que resulta de la liquidación del ejemplo.
La comprobación permite verificar que el asiento se ha contabilizado correctamente y que el resultado coincide con el obtenido en la declaración.
Estas comprobaciones deben realizarse teniendo en cuenta el periodo y los movimientos contables concretos de cada empresa.
9. Bloquear el periodo de IVA para evitar modificaciones
Una vez terminada la liquidación, es recomendable impedir que se introduzcan accidentalmente nuevas operaciones en un periodo que ya hemos cerrado.
En el vídeo utilizamos la funcionalidad de fechas de bloqueo de Odoo, disponible mediante el módulo correspondiente de contabilidad.
Desde el apartado de contabilidad accedemos a las fechas de bloqueo y establecemos una fecha global de cierre. En el ejemplo fijamos el 30 de septiembre de 2026, fecha de finalización del tercer trimestre.
Esta configuración permite evitar que se registren operaciones con fechas anteriores o iguales al periodo cerrado, según las reglas de bloqueo aplicables.
Por ejemplo, si posteriormente recibimos una factura correspondiente a mayo, no podremos incorporarla normalmente con esa fecha una vez aplicado el bloqueo correspondiente. Habrá que gestionar la incidencia respetando el cierre contable y fiscal establecido.
Antes de aplicar cualquier bloqueo, conviene comprobar qué tipos de operaciones afecta y elegir la configuración adecuada para la empresa.
Conclusión: gestionar el modelo 303 desde Odoo 19 Community Edition
Como hemos visto, Odoo 19 Community Edition permite organizar el proceso de preparación del modelo 303 mediante el módulo correspondiente de la localización española de OCA.
El procedimiento que hemos seguido en el vídeo comprende las siguientes operaciones:
- Registrar correctamente las facturas de clientes y proveedores.
- Crear y calcular la declaración trimestral del modelo 303.
- Revisar las casillas y los importes calculados.
- Confirmar la declaración y generar el asiento de regularización.
- Exportar el fichero para importarlo en la sede electrónica de la Agencia Tributaria.
- Consultar el libro de IVA y conservar la documentación justificativa.
- Comprobar los saldos contables y bloquear el periodo una vez finalizado el proceso.
El objetivo es aprovechar la información que ya tenemos registrada en Odoo para preparar la declaración, facilitar las comprobaciones contables y reducir la introducción manual de datos.
Recuerda que la disponibilidad de estas funciones depende de los módulos instalados y de su configuración. Antes de presentar una declaración, verifica siempre los importes, el formato de exportación y los requisitos vigentes de la Agencia Tributaria.
Humanoide Odoo — Contabilidad, software y formación
En nuestros tutoriales mostramos cómo utilizar Odoo Community Edition en situaciones reales de gestión empresarial y contabilidad, con explicaciones prácticas paso a paso.
