AEAT14 de abril de 2026

Modelos AEAT (303, 390, 347, 349, 111, 130…) en Odoo Community: qué trae de serie y qué aporta OCA

Odoo Community te da el plan contable y los impuestos españoles, pero las declaraciones AEAT listas para presentar (con exportación a formato BOE) no vienen en el core: o pagas Enterprise o instalas los módulos de OCA/l10n-spain. Repasamos, módulo a módulo y verificando en GitHub, qué modelos están cubiertos, en qué ramas y qué necesitas realmente.

Fiscalidad EspañaOdoo CommunityContabilidadOCA

El punto de partida: Community te da la contabilidad, no las declaraciones

Si instalas la localización española en Odoo, el módulo l10n_es ("Spain - Accounting (PGCE 2008)") te aporta el plan contable, los impuestos y las posiciones fiscales. Eso es la base contable, no las declaraciones a Hacienda. La pregunta que se hace todo el que gestiona una pyme o una asesoría con Odoo Community es: ¿puedo sacar el modelo 303, el 347 o el 390 tal cual, listos para presentar? Y la respuesta honesta es: no con el core de Community a secas.

Hay dos caminos para conseguir las declaraciones AEAT en Odoo, y conviene tenerlos claros desde el principio porque implican coste y arquitectura distintos: la vía Enterprise (módulos oficiales de Odoo S.A.) y la vía Community (módulos de la comunidad OCA). Vamos a verificar cada una.

Vía Enterprise: los modelos nativos viven en l10n_es_reports (y son de pago)

En Odoo Enterprise, las declaraciones AEAT aparecen como informes fiscales dinámicos. La documentación oficial de Odoo 19 lo describe así: para acceder a los modelos vas a Contabilidad ‣ Informes ‣ Informe de impuestos y eliges entre Mod 111, 115, 130, 303, 347, 349 y 390 en su versión española (ES).

Esos informes los aporta el módulo l10n_es_reports (más sus actualizaciones anuales l10n_es_reports_2024 y l10n_es_reports_2025). Y aquí está la clave del Community vs Enterprise: la propia guía de desarrollo de Odoo dice que los informes de contabilidad se implementan en un módulo l10n_XX_reports que debe ir al "repositorio enterprise" y que depende de account_reports.

Accounting reports should be added via a separate module l10n_XX_reports that should go to the enterprise repository. (Documentación de desarrollo de Odoo, howto de localización contable)

account_reports (el motor de informes contables dinámicos) es un módulo Enterprise. Por tanto, l10n_es_reports —y con él los modelos 303/347/349/390 "nativos" de Odoo— sólo está disponible con licencia Enterprise. En Community ese módulo no es instalable porque le falta su dependencia. No es un bug ni una limitación configurable: es la línea de separación entre las dos ediciones.

Vía Community: OCA/l10n-spain y la familia l10n_es_aeat

La alternativa real y madura para Community es el proyecto l10n-spain de la OCA (Odoo Community Association) en GitHub. Ahí vive una familia de módulos, todos con licencia AGPL-3, que implementan las declaraciones AEAT sin depender de Enterprise. La pieza central es el módulo base l10n_es_aeat.

El módulo base: l10n_es_aeat

l10n_es_aeat se describe como "Modulo base para declaraciones de la AEAT". No genera ningún modelo por sí solo: aporta la infraestructura común (modelo de datos y vistas de declaración, secuencias por tipo de modelo, motor de exportación a formato BOE, gestión de certificados, mapeo de impuestos). Cada modelo concreto es un módulo aparte que se apoya en esta base.

Los módulos por modelo (rama 19.0)

Verificado contra la rama 19.0 del repositorio OCA/l10n-spain, estos son los módulos AEAT disponibles, con su nombre técnico exacto:

  • l10n_es_aeat_mod111 — "AEAT modelo 111" (retenciones IRPF de rendimientos del trabajo y actividades profesionales)
  • l10n_es_aeat_mod115 — "AEAT modelo 115" (retenciones por arrendamiento de inmuebles)
  • l10n_es_aeat_mod123 — "AEAT modelo 123" (retenciones sobre rendimientos del capital mobiliario)
  • l10n_es_aeat_mod130 — "AEAT modelo 130" (pago fraccionado IRPF de autónomos en estimación directa)
  • l10n_es_aeat_mod190 — "AEAT modelo 190" (resumen anual de retenciones del 111)
  • l10n_es_aeat_mod216 — "AEAT modelo 216" (rentas de no residentes)
  • l10n_es_aeat_mod296 — "AEAT modelo 296" (resumen anual retenciones no residentes)
  • l10n_es_aeat_mod303 — "AEAT modelo 303" (autoliquidación trimestral de IVA)
  • l10n_es_aeat_mod347 — "AEAT modelo 347" (operaciones con terceros >3.005,06 €)
  • l10n_es_aeat_mod349 — "AEAT modelo 349" (operaciones intracomunitarias)
  • l10n_es_aeat_mod390 — "AEAT modelo 390" (resumen anual de IVA)
  • l10n_es_aeat_partner_check — "AEAT - Comprobación de Calidad de datos identificativos"
  • l10n_es_aeat_sii_oca — "Suministro Inmediato de Información en el IVA" (SII)

Detalles verificados en los manifiestos de la rama 19.0 que conviene conocer por su valor práctico: l10n_es_aeat_mod303 depende de l10n_es y l10n_es_aeat; l10n_es_aeat_mod390 depende directamente de l10n_es_aeat_mod303 (el resumen anual se apoya en los 303 del ejercicio); l10n_es_aeat_mod347 arrastra además account_tax_balance, base_vat y portal; y l10n_es_aeat_mod130 (autónomos) depende de l10n_es_aeat. Todos son AGPL-3 y mantenidos por la comunidad (autores como Tecnativa, Guadaltech, AvanzOSC, ForgeFlow y la propia OCA).

Ojo con las ramas: no todo está portado a cada versión

El proyecto OCA se organiza por ramas que corresponden a cada versión de Odoo (16.0, 17.0, 18.0, 19.0…). Un mismo módulo puede existir en una rama y aún no estar portado a otra. Por ejemplo, en la rama 17.0 figuran módulos adicionales que amplían la cobertura:

  • l10n_es_aeat_mod303_oss — "AEAT modelo 303 - OSS" (ventanilla única / One-Stop Shop)
  • l10n_es_aeat_mod390_oss — "AEAT modelo 390 - OSS"
  • l10n_es_aeat_mod369 — "AEAT modelo 369" (régimen OSS/IOSS de comercio electrónico)
  • l10n_es_aeat_mod592 — "AEAT modelo 592" (impuesto sobre envases de plástico no reutilizables)
  • l10n_es_aeat_sii_oss / l10n_es_aeat_sii_match / l10n_es_aeat_sii_invoice_summary — complementos de SII

La regla honesta antes de comprometer una implantación: no des por hecho que el modelo que necesitas está en tu versión de Odoo. Entra en github.com/OCA/l10n-spain, selecciona la rama de tu versión y comprueba que existe la carpeta del módulo y que su README no lo marca como beta o sin mantenedor. Los modelos de IVA y retenciones más comunes (303, 390, 347, 349, 111, 115, 130) están cubiertos en las ramas modernas; los más especializados o los OSS pueden ir por detrás.

SII, Veri*Factu y TicketBAI: capítulo aparte

Además de los modelos periódicos, hay obligaciones de suministro de información en tiempo casi real. Aquí conviven de nuevo las dos vías. Para el SII (Suministro Inmediato de Información del IVA), Community cuenta con l10n_es_aeat_sii_oca de OCA, mientras que Enterprise lo resuelve con su propio módulo l10n_es_edi_sii. Para la facturación electrónica/verificable, la documentación de Odoo menciona Veri*Factu y TicketBAI (este último, e-invoicing de las Diputaciones Forales del País Vasco) como módulos de instalación manual dentro de la localización.

El mensaje práctico: si tu obligación incluye SII o Veri*Factu, evalúalo por separado del bloque de "modelos" clásicos, porque el reparto Community/Enterprise y la madurez de cada pieza no es el mismo.

Cómo decidir: checklist honesto

  1. Lista tus obligaciones reales: ¿303 y 390? ¿347/349? ¿retenciones 111/115/130/190? ¿SII? Cada una es un módulo distinto.
  2. Mira tu versión de Odoo y ve a la rama correspondiente en OCA/l10n-spain. Confirma que existe la carpeta del módulo por modelo y su estado.
  3. Si vas con Community, cuenta con instalar l10n_es_aeat (base) + un módulo por cada modelo que necesites. Son AGPL-3, gratuitos, pero requieren instalación, actualización y pruebas.
  4. Si vas con Enterprise, los modelos nativos (l10n_es_reports + actualizaciones anuales) te los da la suscripción, integrados en Informes de impuestos, pero es una licencia de pago.
  5. No mezcles a ciegas: los módulos OCA (l10n_es_aeat_*) y los nativos Enterprise (l10n_es_reports) resuelven lo mismo por caminos distintos; conviene elegir uno y ser coherente.
  6. Valida siempre el fichero de salida contra el portal de la AEAT antes de dar por bueno cualquier modelo, sea Community o Enterprise. La exportación a BOE es una ayuda, no una garantía de que tus datos cuadren.

¿Quieres ayuda para montar (y validar) tus modelos AEAT en Odoo?

En skanndar trabajamos Odoo con criterio: sin humo sobre lo que trae de serie y lo que no. Si estás en Community y quieres presentar tus modelos con los módulos de OCA bien instalados y probados, o estás decidiendo entre Community + OCA y Enterprise para tu caso concreto, podemos hacerte una auditoría corta y honesta de tu configuración fiscal en Odoo España y acompañarte en el soporte. Escríbenos y lo vemos con tus obligaciones reales sobre la mesa.

¿Tienes un proyecto Odoo o una implantación que no termina de funcionar?

Cuéntamelo directamente — hago una auditoría gratuita para proyectos cualificados.