Módulo para la presentación del Modelo AEAT 349 (Declaración Recapitulativa de Operaciones Intracomunitarias)
Basado en la Orden EHA/769/2010 por el que se aprueban los diseños físicos y lógicos del 349.
De acuerdo con la normativa de la Hacienda Española, están obligados a presentar el modelo 349:
> - Todos aquellos sujetos pasivos del Impuesto sobre el Valor Añadido > que hayan realizado las operaciones previstas en el artículo 79 del > Reglamento del Impuesto sobre el Valor Añadido, es decir, quienes > adquieran o vendan bienes a empresas situadas en países miembros de > la UE, sino también aquellos que presten servicios a miembros de la > UE y cumplan con las siguientes condiciones: > > > - Que conforme a las reglas de la localización aplicables a las > > mismas, no se entiendan prestadas en el territorio de aplicación > > del impuesto. > > > > - Que estén sometidas efectivamente a gravamen de otro Estado > > miembro. > > > > - Que su destinatario sea un empresario o profesional actuando como > > tal y radique en dicho Estado miembro la sede de su actividad > > económica, o tenga en el mismo un establecimiento permanente o, en > > su defecto, el lugar de su domicilio o residencia habitual, o que > > dicho destinatario sea una persona jurídica que no actúe como > > empresario o profesional pero tenga asignado un número de > > identificación a efectos del Impuesto suministrado por ese Estado > > miembro. > > > > - Que el sujeto pasivo sea dicho destinatario. > > > > El período de declaración comprenderá, con carácter general las > > operaciones realizadas en cada mes natural, y se presentará > > durante los veinte primeros días naturales del mes inmediato > > siguiente al correspondiente período mensual. No obstante, la > > presentación podrá ser bimestral, trimestral o anual en los > > siguientes supuestos: > > - Bimestral: Si al final del segundo mes de un trimestre natural el > importe total de las entregas de bienes y prestaciones de servicios > que deban consignarse en la declaración recapitulativa supera > 100.000 euros (a partir de 2012, el umbral se fija en 50.000 euros). > - Trimestral: Cuando ni durante el trimestre de referencia ni en cada > uno de los cuatro trimestres naturales anteriores el importe total > de las entregas de bienes y prestaciones de servicios que deban > consignarse en la declaración recapitulativa sea superior a 100.000 > euros. > - Anual: En los treinta primeros días de enero del año siguiente ( la > primera sería en enero de 2011) si el importe total de las entregas > de bienes o prestaciones de servicios del año ( excluido IVA), no > supera los 35.000 € y el importe total de las entregas de bienes a > otro Estado Miembro (salvo medios de transporte nuevos) exentas de > IVA no sea superior a 15.000 €.
Traducción automática al español (DeepSeek) de la descripción original de OCA, que está en inglés.
auto_awesome Qué hace este módulo
Generado por IA a partir del código · Odoo 19.0Prepara y presenta el informe Modelo 349 de la AEAT española (operaciones intracomunitarias). Odoo agrupa las facturas y rectificativas de la UE por cliente, clave de operación y periodo, comprueba los datos de IVA y país, y genera el informe oficial y el PDF.
Este módulo añade el informe fiscal español Modelo 349 para operaciones intracomunitarias. Los usuarios crean un informe desde el menú AEAT 349 Model, eligen el periodo (mensual, trimestral o anual) y pulsan el botón de calcular. Odoo entonces busca todos los apuntes contables publicados en ese periodo cuyos impuestos están mapeados a una clave de operación 349 y construye dos conjuntos de registros: registros de socios para operaciones normales y reembolsos de socios para facturas rectificativas que corrigen facturas de periodos anteriores.
Cada registro de socio muestra el cliente, el número de IVA, el país, la clave de operación (A, E, I, S o T) y el importe total sin impuestos. El informe comprueba automáticamente que el IVA y el país estén presentes, que el IVA empiece por un código de país europeo válido y que el importe no sea negativo; los problemas se muestran en rojo con un mensaje explicativo y bloquean la confirmación.
En las facturas, una nueva casilla 'EU Triangular deal' marca las operaciones triangulares, y cada línea de factura muestra una clave de operación calculada a partir de sus impuestos. Los propios impuestos pueden mapearse a una clave de operación en el formulario del impuesto, y una pantalla de configuración 'Aeat 349 Map' vincula las plantillas de impuestos con las claves de operación e indica si la operación implica productos físicos.
El formulario del informe tiene pestañas para los totales generales, los registros de socios y los reembolsos de otros periodos, con líneas de resumen y de detalle. Hay disponible un informe PDF. La confirmación también requiere que el nombre del contacto contenga al menos un nombre y un apellido.
Depende de
Menús que añade
Modelos y campos (9)
- account.tax · amplía un modelo existentel10n_es_aeat_349_operation_key (AEAT 349 Operation key)
- account.move · amplía un modelo existenteeu_triangular_deal (EU Triangular deal)
- account.move.line · amplía un modelo existentel10n_es_aeat_349_operation_key (AEAT 349 Operation key)
- aeat.349.map.line · modelo nuevooperation_key, tax_xmlid_ids (Taxes templates), physical_product (Involves physical product)
- l10n.es.aeat.mod349.report · modelo nuevonumber, frequency_change, partner_record_ids (Partner records), partner_refund_ids (Partner refund IDS), total_partner_records (Partners records), total_partner_refunds (Partners refunds), partner_record_detail_ids (Partner record details), partner_refund_detail_ids (Partner refund details), total_partner_records_amount (Partners records amount), total_partner_refunds_amount (Partners refunds amount)
- l10n.es.aeat.mod349.partner_record · modelo nuevoreport_id (AEAT 349 Report ID), country_id (Country), error_text, partner_id (Partner), partner_vat (VAT), operation_key, partner_record_ok (Partner Record OK), record_detail_ids (Partner record detail IDS), total_operation_amount
- l10n.es.aeat.mod349.partner_refund · modelo nuevoyear, report_id (AEAT 349 Report ID), country_id (Country), partner_id (Partner), partner_vat (VAT), period_type, operation_key, partner_refund_ok (Partner refund OK), refund_detail_ids (Partner refund detail IDS), total_origin_amount (Original amount), total_operation_amount (Total rectified amount)
- l10n.es.aeat.mod349.partner_record_detail · modelo nuevodate, move_id (Invoice), report_id (AEAT 349 Report ID), partner_id (Partner), report_type, move_line_id (Journal Item), amount_untaxed, partner_record_id (Partner record)
- l10n.es.aeat.mod349.partner_refund_detail · modelo nuevodate, move_id (Invoice), refund_id (Partner refund ID), report_id (AEAT 349 Report ID), partner_id (Partner), report_type, amount_untaxed, refund_line_id (Journal Item)
Texto generado por IA (DeepSeek) al leer el código de la versión 19.0 en GitHub; puede contener errores, así que verifícalo en el código antes de decidir. El módulo es muy grande y solo se ha leído una parte del código. Ver el código en GitHub
Disponibilidad por versión
Revisado: 2026-11-03Estado de confirmación: 8 confirmadas, 1 sin información de 9 versiones.
Fuentes · Odoo 17.0
Confirmado el 2026-11-03 en la rama 17.0 de OCA/l10n-spain.
terminal Instalación y uso
Documentación de OCA · Odoo 19.0Ir a:
- Contabilidad / Informes AEAT / Modelo 349
- Crear un nuevo registro e informar los datos básicos de la declaración.
- Pulsar 'Calcular' y revisar el resultado. Pulsar el botón 'Imprimir' para obtener el resultado en PDF.
- Para excluir ciertas operaciones de la declaración, ir a las pestañas 'Registros de empresas' o 'Rectificaciones', y eliminar, en la seccion 'Detalles', las operaciones que se desee excluir de la declaración.
Consideraciones importantes:
- En caso de indicar el tipo de declaración 'Suplementaria' o 'Normal' se propondrán todas las operaciones que apliquen para el periodo.
- En caso de indicar 'Complementaria', se propondrán únicamente aquellas operaciones que no hubieran sido aún presentadas en otra declaración.
Traducción automática al español (DeepSeek) de la documentación original de OCA; los comandos y el código no se traducen. Sin información verificada en OCA: Instalación, Configuración.
Las instrucciones de instalación, el paquete de distribución, las dependencias y los pasos de configuración no se muestran porque todavía no se han verificado en la documentación del módulo para ninguna versión.
Datos importados de GitHub: esta ficha refleja la última revisión del catálogo, no una consulta en directo. Verifica siempre en la documentación del módulo y en staging antes de instalar en producción.