OdooWiki OCA HUB

AEAT modelo 296

l10n_es_aeat_mod296 folder_open OCA/l10n-spain open_in_new
Localisation/Accounting License: AGPL-3

Modelo 296 de la AEAT. Declaración Informativa. Retenciones e ingresos a cuenta del Impuesto sobre la Renta de no Residentes (sin establecimiento permanente). Resumen anual.

auto_awesome What this module does

AI-generated from the code · Odoo 19.0

Adds the Spanish AEAT Modelo 296 annual informative declaration for withholdings on non-resident income tax, letting users create the report, auto-fill recipient lines from accounting entries, and export the official AEAT file.

This module adds a new report type for the Spanish tax authority (AEAT) called Modelo 296, an annual informative declaration of withholdings and payments on account of Non-Resident Income Tax. Users find it under the AEAT menu as "AEAT 296 model".

On the report form, once the report is calculated, a "Result" section shows four summary boxes: number of recipients, base of withholdings, withholdings, and withholdings entered. A "Detail by company" section lists one line per recipient.

When the user runs the calculation, the module reads the accounting entries linked to the taxes mapped for this model, groups them by recipient, and creates one detail line per recipient with the base and the withholding amount. It then fills the summary boxes automatically: the count of recipients and the totals of bases and withholdings.

Each detail line lets the user complete AEAT-specific data: whether the recipient is a physical or legal person, the nature of the income (money or in kind), the accrual date, the income key and subkey, mediator, issuer code, payment type, code type, securities account, pending flag, and the recipient's address, country of residence, tax residence country, birth date and birth place. Choosing a recipient automatically copies its address details from the contact record.

Finally, the module provides the official AEAT export configuration so the report can be exported in the required file format, and access is restricted by company.

Menus it adds

AEAT 296 model
Models and fields (2)
  • l10n.es.aeat.mod296.report · new modellines296 (Lines), casilla_01 ([01] # Recipients), casilla_02 ([02] Base retentions), casilla_03 ([03] Retentions), casilla_04 ([04] Retentions entered)
  • l10n.es.aeat.mod296.report.line · new modelzip (Postal Code), pago (Payment), pais (Country), clave (Key), codigo (Code), mediador (Mediator), subclave (Subkey), domicilio (Domicile), mod296_id (Mod 296), pendiente (Pending), poblacion (Population/City), provincia (Province/Region/State), naturaleza (Nature), partner_id (Partner), tipo_codigo (Code type), codigo_emisor (Emisor code), fecha_devengo (Devengo date), move_line_ids (Move Lines), cuenta_valores (Code Account Values), fisica_juridica (F/J), pais_nacimiento (Country of birth), fecha_nacimiento (Date of birth), ciudad_nacimiento (Birth city), nif_pais_residencia (Nif in the country of residence), fecha_devengo_export (Devengo date export), porcentaje_retencion (% retention), retenciones_ingresos (Retention and income on account), complemento_domicilio (Domicile Complement), pais_residencia_fiscal (Country territory of fiscal residence), fecha_nacimiento_export (Date of birth export)

Text generated by AI (DeepSeek) from reading the Odoo 19.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 7 confirmed, 2 with no information of 9 versions.

Sources · Odoo 13.0

Confirmed on 2026-11-03 in branch 13.0 of OCA/l10n-spain.

terminal Installation and usage

OCA documentation · Odoo 19.0

Debemos indicar los proveedores que son no residentes, en la ficha de la empresa:

  • Vaya a Contactos.
  • Entrando al correspondiente, en la pestaña "Ventas y compras", seleccione en la posición fiscal la "Retención IRPF No residentes" que le corresponda.
  • Al crear facturas para dicho contacto, se mapearán los impuestos necesarios siempre que la línea de la factura tenga el producto informado con el impuesto nacional adecuado.

Para crear un modelo, por ejemplo de un trimestre del año:

  • Ir a Contabilidad \> Informe \> Informes legales \> Declaraciones AEAT \> Modelo 296
  • Pulsar en el botón "Crear"
  • Seleccionar el ejercicio fiscal y el tipo de período, los periodos incluidos se calculan automáticamente
  • Seleccionar el tipo de declaración
  • Rellenar el teléfono, necesario para la exportacion BOE
  • Guardar y pulsar en el botón "Calcular"
  • Rellenar (si es necesario) aquellos campos que Odoo no calcula automáticamente:
  • Retenciones ingresadas: Casilla [04]
  • Cuando los valores sean los correctos, pulsar en el botón "Confirmar"
  • Podemos exportar en formato BOE para presentarlo telemáticamente en el portal de la AEAT

No verified information in OCA: Installation.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.