| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/l10n-spain |
| GIT | |
| GIT | https://github.com/OCA/l10n-spain.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/l10n-spain/tree/19.0/l10n_es_aeat_mod296 |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | Localisation/Accounting |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), AvanzOSC, Qubiq |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), AvanzOSC, Qubiq |
| COMMITTERS | |
| COMMITTERS | Weblate, OCA-git-bot, oca-ci, Emilio Pascual |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/l10n-spain |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:40:46 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/account-financial-reporting: - account_tax_balance OCA/l10n-spain: - l10n_es_aeat - l10n_es_aeat_mod216 OCA/server-ux: - date_range odoo/odoo: - l10n_es - account - base_setup - base - web - onboarding - product - bus - web_tour - html_editor - uom - analytic - portal - http_routing - auth_signup - digest - resource - base_iban - base_vat - account_edi_ubl_cii |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
unidecode |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | 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. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
view_l10n_es_aeat_mod296_report_form |
l10n_es.aeat.mod296.report.form | l10n.es.aeat.mod296.report | group | Inherits l10n_es_aeat.view_l10n_es_aeat_report_form |
view_l10n_es_aeat_mod296_report_line_form |
l10n_es.aeat.mod296.report.line.form | l10n.es.aeat.mod296.report.line | form | New |
view_l10n_es_aeat_mod296_report_line_tree |
l10n_es.aeat.mod296.report.line.tree | l10n.es.aeat.mod296.report.line | list | New |
view_l10n_es_aeat_mod296_report_tree |
l10n_es.aeat.mod296.report.tree | l10n.es.aeat.mod296.report | list | Inherits l10n_es_aeat.view_l10n_es_aeat_report_tree |
casilla_01
Integer
help='[01] Summary of the data included in the statement - Total number of perceivers'
readonly=False
string='[01] # Recipients'
casilla_02
Float
help='[02] Summary of the data included in the statement - Base retention and income on account'
readonly=False
string='[02] Base retentions'
casilla_03
Float
help='[03] Summary of the data included in the statement - Retention and income on account'
readonly=False
string='[03] Retentions'
casilla_04
Float
help='[04] Summary of the data included in the statement - Retentions and income on account entered'
readonly=False
string='[04] Retentions entered'
lines296
One2many → l10n.es.aeat.mod296.report.line
comodel_name='l10n.es.aeat.mod296.report.line'
inverse_name='mod296_id'
string='Lines'
calculate(self)
partner_group(self, move_lines_base_ids, move_lines_cuota_ids)
base_retenciones_ingresos
Float
string='Base retention and income on account'
ciudad_nacimiento
Char
size=35
string='Birth city'
clave
Selection
selection=[('1', '1 - Dividends and other income derived from the participation in own funds of entities.'), ('2', '2 - Interest and other income derived from the transfer to parties of own capital.'), ('3', '3 - Canons derived from patents, trademarks, drawings or models, plans, formulas or secret procedures.'), ('4', '4 - Fees derived from rights on literary and artistic works.'), ('5', '5 - Canons derived from rights on scientific works.'), ('6', '6 - Fees derived from rights on cinematographic films and recorded sound or visual works.'), ('7', '7 - Canons derived from information related to industrial, commercial or scientific experiences (know-how).'), ('8', '8 - Fees derived from rights on computer programs.'), ('9', '9 - Fees derived from personal rights susceptible to transfer, such as image rights.'), ('10', '10 - Canons derived from industrial, commercial or scientific equipment.'), ('11', '11 - Other canons not previously mentioned.'), ('12', '12 - Capital income from capitalization operations and life or disability insurance contracts.'), ('13', '13 - Other income from movable capital not mentioned above.'), ('14', '14 - Real estate performance.'), ('15', '15 - Performance of business activities.'), ('16', '16 - Rents derived from technical assistance benefits.'), ('17', '17 - Rents of artistic activities.'), ('18', '18 - Rents of sports activities.'), ('19', '19 - Rents of professional activities.'), ('20', '20 - Rents of work.'), ('21', '21 - Pensions and passive assets.'), ('22', '22 - Remuneration of administrators and members of boards of directors.'), ('23', '23 - Performance derived from reinsurance operations.'), ('24', '24 - Maritime or air navigation entities.'), ('25', '25 - Other rents')]
string='Key'
codigo
Selection
selection=[('1', '1. Emisor code corresponds to an N.I.F.'), ('2', '2. Emisor code corresponds to an code I.S.I.N.'), ('3', '3. Emisor code corresponds to values foreign that have not been assigned I.S.I.N., whose emisor does not have a NIF')]
string='Code'
codigo_emisor
Char
size=12
string='Emisor code'
complemento_domicilio
Char
size=40
string='Domicile Complement'
cuenta_valores
Many2one → res.partner.bank
comodel_name='res.partner.bank'
string='Code Account Values'
domicilio
Char
size=50
string='Domicile'
fecha_devengo
Date
string='Devengo date'
fecha_devengo_export
Char
compute='_compute_get_fecha_devengo_export'
string='Devengo date export'
fecha_nacimiento
Date
string='Date of birth'
fecha_nacimiento_export
Char
compute='_compute_get_fecha_nacimiento_export'
string='Date of birth export'
fisica_juridica
Selection
selection=[('F', 'Physical person'), ('J', 'Legal person or entity')]
string='F/J'
mediador
Boolean
string='Mediator'
mod296_id
Many2one → l10n.es.aeat.mod296.report
comodel_name='l10n.es.aeat.mod296.report'
string='Mod 296'
move_line_ids
Many2many → account.move.line
comodel_name='account.move.line'
string='Move Lines'
naturaleza
Selection
selection=[('D', 'Money income'), ('E', 'Income in kind')]
string='Nature'
nif_pais_residencia
Char
size=20
string='Nif in the country of residence'
pago
Selection
selection=[('1', 'As transmitter'), ('2', 'As mediator')]
string='Payment'
pais
Many2one → res.country
comodel_name='res.country'
string='Country'
pais_nacimiento
Many2one → res.country
comodel_name='res.country'
string='Country of birth'
pais_residencia_fiscal
Many2one → res.country
comodel_name='res.country'
string='Country territory of fiscal residence'
partner_id
Many2one → res.partner
comodel_name='res.partner'
string='Partner'
pendiente
Boolean
string='Pending'
poblacion
Char
size=30
string='Population/City'
porcentaje_retencion
Float
string='% retention'
provincia
Many2one → res.country.state
comodel_name='res.country.state'
string='Province/Region/State'
retenciones_ingresos
Float
string='Retention and income on account'
subclave
Selection
selection=[('1', '1 - Retention practiced at the general rates or scales of taxation of article 25 of the rewritten text of the Non-Resident Income Tax Law.'), ('2', '2 - Retention practiced applying limits of imposition of Agreements.'), ('3', '3 - Internal exemption (mainly: article 14 of the revised text of the Law on Non-Resident Income Tax)'), ('4', '4 - Exemption by application of a Convention.'), ('5', '5 - No Retention for previous payment of the Tax by the taxpayer or his representative..'), ('6', '6 - The declared recipient is a foreign entity for the collective management of intellectual property rights, with a retention having applied the limit of taxation, or the exemption, of a Convention.'), ('7', '7 - The recipient is a taxpayer of the Personal Income Tax of the special regime applicable to workers displaced to Spanish territory.'), ('8', '8 - The declared recipient is an entity resident abroad that sells shares or units of Spanish collective investment institutions, with a withholding tax applying a limit of taxation established in the lower Agreement.'), ('9', '9 - The declared recipient is an entity residing abroad selling shares or participations of Spanish collective investment institutions, with a retention having applied the type of lien.')]
string='Subkey'
tipo_codigo
Selection
selection=[('C', 'Identification with the Account Code Values (C.C.V.)'), ('O', 'Other identification')]
string='Code type'
zip
Char
size=10
string='Postal Code'
onchange_partner(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/l10n-spain |
| GIT | |
| GIT | https://github.com/OCA/l10n-spain.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/l10n-spain/tree/18.0/l10n_es_aeat_mod296 |
| VERSION | |
| VERSION | 1.0.1 |
| CATEGORY | |
| CATEGORY | Localisation/Accounting |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), AvanzOSC, Qubiq |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), AvanzOSC, Qubiq |
| COMMITTERS | |
| COMMITTERS | Weblate, OCA-git-bot, oca-ci, Emilio Pascual |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/l10n-spain |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:30:05 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/account-financial-reporting: - account_tax_balance OCA/l10n-spain: - l10n_es_aeat - l10n_es_aeat_mod216 OCA/server-ux: - date_range odoo/odoo: - l10n_es - account - base_setup - base - web - onboarding - product - bus - web_tour - html_editor - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - base_iban - base_vat |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
unidecode |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | 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. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
view_l10n_es_aeat_mod296_report_form |
l10n_es.aeat.mod296.report.form | l10n.es.aeat.mod296.report | group | Inherits l10n_es_aeat.view_l10n_es_aeat_report_form |
view_l10n_es_aeat_mod296_report_line_form |
l10n_es.aeat.mod296.report.line.form | l10n.es.aeat.mod296.report.line | form | New |
view_l10n_es_aeat_mod296_report_line_tree |
l10n_es.aeat.mod296.report.line.tree | l10n.es.aeat.mod296.report.line | list | New |
view_l10n_es_aeat_mod296_report_tree |
l10n_es.aeat.mod296.report.tree | l10n.es.aeat.mod296.report | list | Inherits l10n_es_aeat.view_l10n_es_aeat_report_tree |
casilla_01
Integer
help='[01] Summary of the data included in the statement - Total number of perceivers'
readonly=False
string='[01] # Recipients'
casilla_02
Float
help='[02] Summary of the data included in the statement - Base retention and income on account'
readonly=False
string='[02] Base retentions'
casilla_03
Float
help='[03] Summary of the data included in the statement - Retention and income on account'
readonly=False
string='[03] Retentions'
casilla_04
Float
help='[04] Summary of the data included in the statement - Retentions and income on account entered'
readonly=False
string='[04] Retentions entered'
lines296
One2many → l10n.es.aeat.mod296.report.line
comodel_name='l10n.es.aeat.mod296.report.line'
inverse_name='mod296_id'
string='Lines'
calculate(self)
partner_group(self, move_lines_base_ids, move_lines_cuota_ids)
base_retenciones_ingresos
Float
string='Base retention and income on account'
ciudad_nacimiento
Char
size=35
string='Birth city'
clave
Selection
selection=[('1', '1 - Dividends and other income derived from the participation in own funds of entities.'), ('2', '2 - Interest and other income derived from the transfer to parties of own capital.'), ('3', '3 - Canons derived from patents, trademarks, drawings or models, plans, formulas or secret procedures.'), ('4', '4 - Fees derived from rights on literary and artistic works.'), ('5', '5 - Canons derived from rights on scientific works.'), ('6', '6 - Fees derived from rights on cinematographic films and recorded sound or visual works.'), ('7', '7 - Canons derived from information related to industrial, commercial or scientific experiences (know-how).'), ('8', '8 - Fees derived from rights on computer programs.'), ('9', '9 - Fees derived from personal rights susceptible to transfer, such as image rights.'), ('10', '10 - Canons derived from industrial, commercial or scientific equipment.'), ('11', '11 - Other canons not previously mentioned.'), ('12', '12 - Capital income from capitalization operations and life or disability insurance contracts.'), ('13', '13 - Other income from movable capital not mentioned above.'), ('14', '14 - Real estate performance.'), ('15', '15 - Performance of business activities.'), ('16', '16 - Rents derived from technical assistance benefits.'), ('17', '17 - Rents of artistic activities.'), ('18', '18 - Rents of sports activities.'), ('19', '19 - Rents of professional activities.'), ('20', '20 - Rents of work.'), ('21', '21 - Pensions and passive assets.'), ('22', '22 - Remuneration of administrators and members of boards of directors.'), ('23', '23 - Performance derived from reinsurance operations.'), ('24', '24 - Maritime or air navigation entities.'), ('25', '25 - Other rents')]
string='Key'
codigo
Selection
selection=[('1', '1. Emisor code corresponds to an N.I.F.'), ('2', '2. Emisor code corresponds to an code I.S.I.N.'), ('3', '3. Emisor code corresponds to values foreign that have not been assigned I.S.I.N., whose emisor does not have a NIF')]
string='Code'
codigo_emisor
Char
size=12
string='Emisor code'
complemento_domicilio
Char
size=40
string='Domicile Complement'
cuenta_valores
Many2one → res.partner.bank
comodel_name='res.partner.bank'
string='Code Account Values'
domicilio
Char
size=50
string='Domicile'
fecha_devengo
Date
string='Devengo date'
fecha_devengo_export
Char
compute='_compute_get_fecha_devengo_export'
string='Devengo date export'
fecha_nacimiento
Date
string='Date of birth'
fecha_nacimiento_export
Char
compute='_compute_get_fecha_nacimiento_export'
string='Date of birth export'
fisica_juridica
Selection
selection=[('F', 'Physical person'), ('J', 'Legal person or entity')]
string='F/J'
mediador
Boolean
string='Mediator'
mod296_id
Many2one → l10n.es.aeat.mod296.report
comodel_name='l10n.es.aeat.mod296.report'
string='Mod 296'
move_line_ids
Many2many → account.move.line
comodel_name='account.move.line'
string='Move Lines'
naturaleza
Selection
selection=[('D', 'Money income'), ('E', 'Income in kind')]
string='Nature'
nif_pais_residencia
Char
size=20
string='Nif in the country of residence'
pago
Selection
selection=[('1', 'As transmitter'), ('2', 'As mediator')]
string='Payment'
pais
Many2one → res.country
comodel_name='res.country'
string='Country'
pais_nacimiento
Many2one → res.country
comodel_name='res.country'
string='Country of birth'
pais_residencia_fiscal
Many2one → res.country
comodel_name='res.country'
string='Country territory of fiscal residence'
partner_id
Many2one → res.partner
comodel_name='res.partner'
string='Partner'
pendiente
Boolean
string='Pending'
poblacion
Char
size=30
string='Population/City'
porcentaje_retencion
Float
string='% retention'
provincia
Many2one → res.country.state
comodel_name='res.country.state'
string='Province/Region/State'
retenciones_ingresos
Float
string='Retention and income on account'
subclave
Selection
selection=[('1', '1 - Retention practiced at the general rates or scales of taxation of article 25 of the rewritten text of the Non-Resident Income Tax Law.'), ('2', '2 - Retention practiced applying limits of imposition of Agreements.'), ('3', '3 - Internal exemption (mainly: article 14 of the revised text of the Law on Non-Resident Income Tax)'), ('4', '4 - Exemption by application of a Convention.'), ('5', '5 - No Retention for previous payment of the Tax by the taxpayer or his representative..'), ('6', '6 - The declared recipient is a foreign entity for the collective management of intellectual property rights, with a retention having applied the limit of taxation, or the exemption, of a Convention.'), ('7', '7 - The recipient is a taxpayer of the Personal Income Tax of the special regime applicable to workers displaced to Spanish territory.'), ('8', '8 - The declared recipient is an entity resident abroad that sells shares or units of Spanish collective investment institutions, with a withholding tax applying a limit of taxation established in the lower Agreement.'), ('9', '9 - The declared recipient is an entity residing abroad selling shares or participations of Spanish collective investment institutions, with a retention having applied the type of lien.')]
string='Subkey'
tipo_codigo
Selection
selection=[('C', 'Identification with the Account Code Values (C.C.V.)'), ('O', 'Other identification')]
string='Code type'
zip
Char
size=10
string='Postal Code'
onchange_partner(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/l10n-spain |
| GIT | |
| GIT | https://github.com/OCA/l10n-spain.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/l10n-spain/tree/17.0/l10n_es_aeat_mod296 |
| VERSION | |
| VERSION | 1.0.2 |
| CATEGORY | |
| CATEGORY | Localisation/Accounting |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), AvanzOSC, Qubiq |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), AvanzOSC, Qubiq |
| COMMITTERS | |
| COMMITTERS | OCA-git-bot, oca-ci, Emilio Pascual, Ignacio, david-banon-tecnativa |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/l10n-spain |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:19:59 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/account-financial-reporting: - account_tax_balance OCA/l10n-spain: - l10n_es_aeat - l10n_es_aeat_mod216 OCA/server-ux: - date_range odoo/odoo: - l10n_es - account - base_setup - base - web - onboarding - product - bus - web_tour - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - base_iban - base_vat |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
unidecode |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | 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. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
view_l10n_es_aeat_mod296_report_form |
l10n_es.aeat.mod296.report.form | l10n.es.aeat.mod296.report | group | Inherits l10n_es_aeat.view_l10n_es_aeat_report_form |
view_l10n_es_aeat_mod296_report_line_form |
l10n_es.aeat.mod296.report.line.form | l10n.es.aeat.mod296.report.line | form | New |
view_l10n_es_aeat_mod296_report_line_tree |
l10n_es.aeat.mod296.report.line.tree | l10n.es.aeat.mod296.report.line | tree | New |
view_l10n_es_aeat_mod296_report_tree |
l10n_es.aeat.mod296.report.tree | l10n.es.aeat.mod296.report | tree | Inherits l10n_es_aeat.view_l10n_es_aeat_report_tree |
casilla_01
Integer
help='[01] Summary of the data included in the statement - Total number of perceivers'
readonly=False
string='[01] # Recipients'
casilla_02
Float
help='[02] Summary of the data included in the statement - Base retention and income on account'
readonly=False
string='[02] Base retentions'
casilla_03
Float
help='[03] Summary of the data included in the statement - Retention and income on account'
readonly=False
string='[03] Retentions'
casilla_04
Float
help='[04] Summary of the data included in the statement - Retentions and income on account entered'
readonly=False
string='[04] Retentions entered'
lines296
One2many → l10n.es.aeat.mod296.report.line
comodel_name='l10n.es.aeat.mod296.report.line'
inverse_name='mod296_id'
string='Lines'
calculate(self)
partner_group(self, move_lines_base_ids, move_lines_cuota_ids)
base_retenciones_ingresos
Float
string='Base retention and income on account'
ciudad_nacimiento
Char
size=35
string='Birth city'
clave
Selection
selection=[('1', '1 - Dividends and other income derived from the participation in own funds of entities.'), ('2', '2 - Interest and other income derived from the transfer to parties of own capital.'), ('3', '3 - Canons derived from patents, trademarks, drawings or models, plans, formulas or secret procedures.'), ('4', '4 - Fees derived from rights on literary and artistic works.'), ('5', '5 - Canons derived from rights on scientific works.'), ('6', '6 - Fees derived from rights on cinematographic films and recorded sound or visual works.'), ('7', '7 - Canons derived from information related to industrial, commercial or scientific experiences (know-how).'), ('8', '8 - Fees derived from rights on computer programs.'), ('9', '9 - Fees derived from personal rights susceptible to transfer, such as image rights.'), ('10', '10 - Canons derived from industrial, commercial or scientific equipment.'), ('11', '11 - Other canons not previously mentioned.'), ('12', '12 - Capital income from capitalization operations and life or disability insurance contracts.'), ('13', '13 - Other income from movable capital not mentioned above.'), ('14', '14 - Real estate performance.'), ('15', '15 - Performance of business activities.'), ('16', '16 - Rents derived from technical assistance benefits.'), ('17', '17 - Rents of artistic activities.'), ('18', '18 - Rents of sports activities.'), ('19', '19 - Rents of professional activities.'), ('20', '20 - Rents of work.'), ('21', '21 - Pensions and passive assets.'), ('22', '22 - Remuneration of administrators and members of boards of directors.'), ('23', '23 - Performance derived from reinsurance operations.'), ('24', '24 - Maritime or air navigation entities.'), ('25', '25 - Other rents')]
string='Key'
codigo
Selection
selection=[('1', '1. Emisor code corresponds to an N.I.F.'), ('2', '2. Emisor code corresponds to an code I.S.I.N.'), ('3', '3. Emisor code corresponds to values foreign that have not been assigned I.S.I.N., whose emisor does not have a NIF')]
string='Code'
codigo_emisor
Char
size=12
string='Emisor code'
complemento_domicilio
Char
size=40
string='Domicile Complement'
cuenta_valores
Many2one → res.partner.bank
comodel_name='res.partner.bank'
string='Code Account Values'
domicilio
Char
size=50
string='Domicile'
fecha_devengo
Date
string='Devengo date'
fecha_devengo_export
Char
compute='_compute_get_fecha_devengo_export'
string='Devengo date export'
fecha_nacimiento
Date
string='Date of birth'
fecha_nacimiento_export
Char
compute='_compute_get_fecha_nacimiento_export'
string='Date of birth export'
fisica_juridica
Selection
selection=[('F', 'Physical person'), ('J', 'Legal person or entity')]
string='F/J'
mediador
Boolean
string='Mediator'
mod296_id
Many2one → l10n.es.aeat.mod296.report
comodel_name='l10n.es.aeat.mod296.report'
string='Mod 296'
move_line_ids
Many2many → account.move.line
comodel_name='account.move.line'
string='Move Lines'
naturaleza
Selection
selection=[('D', 'Money income'), ('E', 'Income in kind')]
string='Nature'
nif_pais_residencia
Char
size=20
string='Nif in the country of residence'
pago
Selection
selection=[('1', 'As transmitter'), ('2', 'As mediator')]
string='Payment'
pais
Many2one → res.country
comodel_name='res.country'
string='Country'
pais_nacimiento
Many2one → res.country
comodel_name='res.country'
string='Country of birth'
pais_residencia_fiscal
Many2one → res.country
comodel_name='res.country'
string='Country territory of fiscal residence'
partner_id
Many2one → res.partner
comodel_name='res.partner'
string='Partner'
pendiente
Boolean
string='Pending'
poblacion
Char
size=30
string='Population/City'
porcentaje_retencion
Float
string='% retention'
provincia
Many2one → res.country.state
comodel_name='res.country.state'
string='Province/Region/State'
retenciones_ingresos
Float
string='Retention and income on account'
subclave
Selection
selection=[('1', '1 - Retention practiced at the general rates or scales of taxation of article 25 of the rewritten text of the Non-Resident Income Tax Law.'), ('2', '2 - Retention practiced applying limits of imposition of Agreements.'), ('3', '3 - Internal exemption (mainly: article 14 of the revised text of the Law on Non-Resident Income Tax)'), ('4', '4 - Exemption by application of a Convention.'), ('5', '5 - No Retention for previous payment of the Tax by the taxpayer or his representative..'), ('6', '6 - The declared recipient is a foreign entity for the collective management of intellectual property rights, with a retention having applied the limit of taxation, or the exemption, of a Convention.'), ('7', '7 - The recipient is a taxpayer of the Personal Income Tax of the special regime applicable to workers displaced to Spanish territory.'), ('8', '8 - The declared recipient is an entity resident abroad that sells shares or units of Spanish collective investment institutions, with a withholding tax applying a limit of taxation established in the lower Agreement.'), ('9', '9 - The declared recipient is an entity residing abroad selling shares or participations of Spanish collective investment institutions, with a retention having applied the type of lien.')]
string='Subkey'
tipo_codigo
Selection
selection=[('C', 'Identification with the Account Code Values (C.C.V.)'), ('O', 'Other identification')]
string='Code type'
zip
Char
size=10
string='Postal Code'
onchange_partner(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/l10n-spain |
| GIT | |
| GIT | https://github.com/OCA/l10n-spain.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/l10n-spain/tree/16.0/l10n_es_aeat_mod296 |
| VERSION | |
| VERSION | 1.1.1 |
| CATEGORY | |
| CATEGORY | Localisation/Accounting |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), AvanzOSC, Qubiq |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), AvanzOSC, Qubiq |
| COMMITTERS | |
| COMMITTERS | Weblate, OCA-git-bot, oca-ci, Emilio Pascual, pol, Eduardo López Peñalver |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/l10n-spain |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:53:39 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/account-financial-reporting: - account_tax_balance OCA/l10n-spain: - l10n_es_aeat - l10n_es_aeat_mod216 OCA/server-ux: - date_range odoo/odoo: - l10n_es - account - base_setup - base - web - product - bus - web_tour - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - base_iban - base_vat |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
unidecode |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
view_l10n_es_aeat_mod296_report_form |
l10n_es.aeat.mod296.report.form | l10n.es.aeat.mod296.report | group | Inherits l10n_es_aeat.view_l10n_es_aeat_report_form |
view_l10n_es_aeat_mod296_report_line_form |
l10n_es.aeat.mod296.report.line.form | l10n.es.aeat.mod296.report.line | form | New |
view_l10n_es_aeat_mod296_report_line_tree |
l10n_es.aeat.mod296.report.line.tree | l10n.es.aeat.mod296.report.line | tree | New |
view_l10n_es_aeat_mod296_report_tree |
l10n_es.aeat.mod296.report.tree | l10n.es.aeat.mod296.report | tree | Inherits l10n_es_aeat.view_l10n_es_aeat_report_tree |
casilla_01
Integer
help='[01] Summary of the data included in the statement - Total number of perceivers'
readonly=True
states={'calculated': [('readonly', False)]}
string='[01] # Recipients'
casilla_02
Float
help='[02] Summary of the data included in the statement - Base retention and income on account'
readonly=True
states={'calculated': [('readonly', False)]}
string='[02] Base retentions'
casilla_03
Float
help='[03] Summary of the data included in the statement - Retention and income on account'
readonly=True
states={'calculated': [('readonly', False)]}
string='[03] Retentions'
casilla_04
Float
help='[04] Summary of the data included in the statement - Retentions and income on account entered'
readonly=True
states={'calculated': [('readonly', False)]}
string='[04] Retentions entered'
lines296
One2many → l10n.es.aeat.mod296.report.line
comodel_name='l10n.es.aeat.mod296.report.line'
inverse_name='mod296_id'
string='Lines'
calculate(self)
partner_group(self, move_lines_base_ids, move_lines_cuota_ids)
base_retenciones_ingresos
Float
string='Base retention and income on account'
ciudad_nacimiento
Char
size=35
string='Birth city'
clave
Selection
selection=[('1', '1 - Dividends and other income derived from the participation in own funds of entities.'), ('2', '2 - Interest and other income derived from the transfer to parties of own capital.'), ('3', '3 - Canons derived from patents, trademarks, drawings or models, plans, formulas or secret procedures.'), ('4', '4 - Fees derived from rights on literary and artistic works.'), ('5', '5 - Canons derived from rights on scientific works.'), ('6', '6 - Fees derived from rights on cinematographic films and recorded sound or visual works.'), ('7', '7 - Canons derived from information related to industrial, commercial or scientific experiences (know-how).'), ('8', '8 - Fees derived from rights on computer programs.'), ('9', '9 - Fees derived from personal rights susceptible to transfer, such as image rights.'), ('10', '10 - Canons derived from industrial, commercial or scientific equipment.'), ('11', '11 - Other canons not previously mentioned.'), ('12', '12 - Capital income from capitalization operations and life or disability insurance contracts.'), ('13', '13 - Other income from movable capital not mentioned above.'), ('14', '14 - Real estate performance.'), ('15', '15 - Performance of business activities.'), ('16', '16 - Rents derived from technical assistance benefits.'), ('17', '17 - Rents of artistic activities.'), ('18', '18 - Rents of sports activities.'), ('19', '19 - Rents of professional activities.'), ('20', '20 - Rents of work.'), ('21', '21 - Pensions and passive assets.'), ('22', '22 - Remuneration of administrators and members of boards of directors.'), ('23', '23 - Performance derived from reinsurance operations.'), ('24', '24 - Maritime or air navigation entities.'), ('25', '25 - Other rents')]
string='Key'
codigo
Selection
selection=[('1', '1. Emisor code corresponds to an N.I.F.'), ('2', '2. Emisor code corresponds to an code I.S.I.N.'), ('3', '3. Emisor code corresponds to values foreign that have not been assigned I.S.I.N., whose emisor does not have a NIF')]
string='Code'
codigo_emisor
Char
size=12
string='Emisor code'
complemento_domicilio
Char
size=40
string='Domicile Complement'
cuenta_valores
Many2one → res.partner.bank
comodel_name='res.partner.bank'
string='Code Account Values'
domicilio
Char
size=50
string='Domicile'
fecha_devengo
Date
string='Devengo date'
fecha_devengo_export
Char
compute='_compute_get_fecha_devengo_export'
string='Devengo date export'
fecha_nacimiento
Date
string='Date of birth'
fecha_nacimiento_export
Char
compute='_compute_get_fecha_nacimiento_export'
string='Date of birth export'
fisica_juridica
Selection
selection=[('F', 'Physical person'), ('J', 'Legal person or entity')]
string='F/J'
mediador
Boolean
string='Mediator'
mod296_id
Many2one → l10n.es.aeat.mod296.report
comodel_name='l10n.es.aeat.mod296.report'
string='Mod 296'
move_line_ids
Many2many → account.move.line
comodel_name='account.move.line'
string='Move Lines'
naturaleza
Selection
selection=[('D', 'Money income'), ('E', 'Income in kind')]
string='Nature'
nif_pais_residencia
Char
size=20
string='Nif in the country of residence'
pago
Selection
selection=[('1', 'As transmitter'), ('2', 'As mediator')]
string='Payment'
pais
Many2one → res.country
comodel_name='res.country'
string='Country'
pais_nacimiento
Many2one → res.country
comodel_name='res.country'
string='Country of birth'
pais_residencia_fiscal
Many2one → res.country
comodel_name='res.country'
string='Country territory of fiscal residence'
partner_id
Many2one → res.partner
comodel_name='res.partner'
string='Partner'
pendiente
Boolean
string='Pending'
poblacion
Char
size=30
string='Population/City'
porcentaje_retencion
Float
string='% retention'
provincia
Many2one → res.country.state
comodel_name='res.country.state'
string='Province/Region/State'
retenciones_ingresos
Float
string='Retention and income on account'
subclave
Selection
selection=[('1', '1 - Retention practiced at the general rates or scales of taxation of article 25 of the rewritten text of the Non-Resident Income Tax Law.'), ('2', '2 - Retention practiced applying limits of imposition of Agreements.'), ('3', '3 - Internal exemption (mainly: article 14 of the revised text of the Law on Non-Resident Income Tax)'), ('4', '4 - Exemption by application of a Convention.'), ('5', '5 - No Retention for previous payment of the Tax by the taxpayer or his representative..'), ('6', '6 - The declared recipient is a foreign entity for the collective management of intellectual property rights, with a retention having applied the limit of taxation, or the exemption, of a Convention.'), ('7', '7 - The recipient is a taxpayer of the Personal Income Tax of the special regime applicable to workers displaced to Spanish territory.'), ('8', '8 - The declared recipient is an entity resident abroad that sells shares or units of Spanish collective investment institutions, with a withholding tax applying a limit of taxation established in the lower Agreement.'), ('9', '9 - The declared recipient is an entity residing abroad selling shares or participations of Spanish collective investment institutions, with a retention having applied the type of lien.')]
string='Subkey'
tipo_codigo
Selection
selection=[('C', 'Identification with the Account Code Values (C.C.V.)'), ('O', 'Other identification')]
string='Code type'
zip
Char
size=10
string='Postal Code'
onchange_partner(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/l10n-spain |
| GIT | |
| GIT | https://github.com/OCA/l10n-spain.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/l10n-spain/tree/15.0/l10n_es_aeat_mod296 |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | Localisation/Accounting |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), AvanzOSC, Qubiq |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), AvanzOSC, Qubiq |
| COMMITTERS | |
| COMMITTERS | Víctor Martínez, Weblate, OCA-git-bot, oca-ci |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/l10n-spain |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:46:29 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/account-financial-reporting: - account_tax_balance OCA/l10n-spain: - l10n_es_aeat - l10n_es_aeat_mod216 - l10n_es_irnr OCA/server-ux: - date_range odoo/odoo: - l10n_es - account - base_setup - base - web - product - bus - web_tour - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - base_iban - base_vat |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
cryptography unidecode |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
view_l10n_es_aeat_mod296_report_form |
l10n_es.aeat.mod296.report.form | l10n.es.aeat.mod296.report | group | Inherits l10n_es_aeat.view_l10n_es_aeat_report_form |
view_l10n_es_aeat_mod296_report_line_form |
l10n_es.aeat.mod296.report.line.form | l10n.es.aeat.mod296.report.line | form | New |
view_l10n_es_aeat_mod296_report_line_tree |
l10n_es.aeat.mod296.report.line.tree | l10n.es.aeat.mod296.report.line | tree | New |
view_l10n_es_aeat_mod296_report_tree |
l10n_es.aeat.mod296.report.tree | l10n.es.aeat.mod296.report | tree | Inherits l10n_es_aeat.view_l10n_es_aeat_report_tree |
casilla_01
Integer
help='[01] Summary of the data included in the statement - Total number of perceivers'
readonly=True
states={'calculated': [('readonly', False)]}
string='[01] # Recipients'
casilla_02
Float
help='[02] Summary of the data included in the statement - Base retention and income on account'
readonly=True
states={'calculated': [('readonly', False)]}
string='[02] Base retentions'
casilla_03
Float
help='[03] Summary of the data included in the statement - Retention and income on account'
readonly=True
states={'calculated': [('readonly', False)]}
string='[03] Retentions'
casilla_04
Float
help='[04] Summary of the data included in the statement - Retentions and income on account entered'
readonly=True
states={'calculated': [('readonly', False)]}
string='[04] Retentions entered'
lines296
One2many → l10n.es.aeat.mod296.report.line
comodel_name='l10n.es.aeat.mod296.report.line'
inverse_name='mod296_id'
string='Lines'
calculate(self)
partner_group(self, move_lines_base_ids, move_lines_cuota_ids)
base_retenciones_ingresos
Float
string='Base retention and income on account'
ciudad_nacimiento
Char
size=35
string='Birth city'
clave
Selection
selection=[('1', '1 - Dividends and other income derived from the participation in own funds of entities.'), ('2', '2 - Interest and other income derived from the transfer to parties of own capital.'), ('3', '3 - Canons derived from patents, trademarks, drawings or models, plans, formulas or secret procedures.'), ('4', '4 - Fees derived from rights on literary and artistic works.'), ('5', '5 - Canons derived from rights on scientific works.'), ('6', '6 - Fees derived from rights on cinematographic films and recorded sound or visual works.'), ('7', '7 - Canons derived from information related to industrial, commercial or scientific experiences (know-how).'), ('8', '8 - Fees derived from rights on computer programs.'), ('9', '9 - Fees derived from personal rights susceptible to transfer, such as image rights.'), ('10', '10 - Canons derived from industrial, commercial or scientific equipment.'), ('11', '11 - Other canons not previously mentioned.'), ('12', '12 - Capital income from capitalization operations and life or disability insurance contracts.'), ('13', '13 - Other income from movable capital not mentioned above.'), ('14', '14 - Real estate performance.'), ('15', '15 - Performance of business activities.'), ('16', '16 - Rents derived from technical assistance benefits.'), ('17', '17 - Rents of artistic activities.'), ('18', '18 - Rents of sports activities.'), ('19', '19 - Rents of professional activities.'), ('20', '20 - Rents of work.'), ('21', '21 - Pensions and passive assets.'), ('22', '22 - Remuneration of administrators and members of boards of directors.'), ('23', '23 - Performance derived from reinsurance operations.'), ('24', '24 - Maritime or air navigation entities.'), ('25', '25 - Other rents')]
string='Key'
codigo
Selection
selection=[('1', '1. Emisor code corresponds to an N.I.F.'), ('2', '2. Emisor code corresponds to an code I.S.I.N.'), ('3', '3. Emisor code corresponds to values foreign that have not been assigned I.S.I.N., whose emisor does not have a NIF')]
string='Code'
codigo_emisor
Char
size=12
string='Emisor code'
complemento_domicilio
Char
size=40
string='Domicile Complement'
cuenta_valores
Many2one → res.partner.bank
comodel_name='res.partner.bank'
string='Code Account Values'
domicilio
Char
size=50
string='Domicile'
fecha_devengo
Date
string='Devengo date'
fecha_devengo_export
Char
compute='_compute_get_fecha_devengo_export'
string='Devengo date export'
fecha_nacimiento
Date
string='Date of birth'
fecha_nacimiento_export
Char
compute='_compute_get_fecha_nacimiento_export'
string='Date of birth export'
fisica_juridica
Selection
selection=[('F', 'Physical person'), ('J', 'Legal person or entity')]
string='F/J'
mediador
Boolean
string='Mediator'
mod296_id
Many2one → l10n.es.aeat.mod296.report
comodel_name='l10n.es.aeat.mod296.report'
string='Mod 296'
move_line_ids
Many2many → account.move.line
comodel_name='account.move.line'
string='Move Lines'
naturaleza
Selection
selection=[('D', 'Money income'), ('E', 'Income in kind')]
string='Nature'
nif_pais_residencia
Char
size=20
string='Nif in the country of residence'
pago
Selection
selection=[('1', 'As transmitter'), ('2', 'As mediator')]
string='Payment'
pais
Many2one → res.country
comodel_name='res.country'
string='Country'
pais_nacimiento
Many2one → res.country
comodel_name='res.country'
string='Country of birth'
pais_residencia_fiscal
Many2one → res.country
comodel_name='res.country'
string='Country territory of fiscal residence'
partner_id
Many2one → res.partner
comodel_name='res.partner'
string='Partner'
pendiente
Boolean
string='Pending'
poblacion
Char
size=30
string='Population/City'
porcentaje_retencion
Float
string='% retention'
provincia
Many2one → res.country.state
comodel_name='res.country.state'
string='Province/Region/State'
retenciones_ingresos
Float
string='Retention and income on account'
subclave
Selection
selection=[('1', '1 - Retention practiced at the general rates or scales of taxation of article 25 of the rewritten text of the Non-Resident Income Tax Law.'), ('2', '2 - Retention practiced applying limits of imposition of Agreements.'), ('3', '3 - Internal exemption (mainly: article 14 of the revised text of the Law on Non-Resident Income Tax)'), ('4', '4 - Exemption by application of a Convention.'), ('5', '5 - No Retention for previous payment of the Tax by the taxpayer or his representative..'), ('6', '6 - The declared recipient is a foreign entity for the collective management of intellectual property rights, with a retention having applied the limit of taxation, or the exemption, of a Convention.'), ('7', '7 - The recipient is a taxpayer of the Personal Income Tax of the special regime applicable to workers displaced to Spanish territory.'), ('8', '8 - The declared recipient is an entity resident abroad that sells shares or units of Spanish collective investment institutions, with a withholding tax applying a limit of taxation established in the lower Agreement.'), ('9', '9 - The declared recipient is an entity residing abroad selling shares or participations of Spanish collective investment institutions, with a retention having applied the type of lien.')]
string='Subkey'
tipo_codigo
Selection
selection=[('C', 'Identification with the Account Code Values (C.C.V.)'), ('O', 'Other identification')]
string='Code type'
zip
Char
size=10
string='Postal Code'
onchange_partner(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/l10n-spain |
| GIT | |
| GIT | https://github.com/OCA/l10n-spain.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/l10n-spain/tree/13.0/l10n_es_aeat_mod296 |
| VERSION | |
| VERSION | 1.2.0 |
| CATEGORY | |
| CATEGORY | Localisation/Accounting |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), AvanzOSC, Qubiq |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), AvanzOSC, Qubiq |
| COMMITTERS | |
| COMMITTERS | Víctor Martínez, oca-travis, Weblate, OCA-git-bot, oca-ci |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/l10n-spain |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:34:09 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/account-financial-reporting: - account_tax_balance OCA/l10n-spain: - l10n_es_aeat - l10n_es_aeat_mod216 - l10n_es_irnr OCA/server-ux: - date_range odoo/odoo: - l10n_es - account - base_setup - base - web - product - bus - web_tour - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - base_iban - base_vat |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
pyOpenSSL unidecode |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
view_l10n_es_aeat_mod296_report_form |
l10n_es.aeat.mod296.report.form | l10n.es.aeat.mod296.report | group | Inherits l10n_es_aeat.view_l10n_es_aeat_report_form |
view_l10n_es_aeat_mod296_report_line_form |
l10n_es.aeat.mod296.report.line.form | l10n.es.aeat.mod296.report.line | form | New |
view_l10n_es_aeat_mod296_report_line_tree |
l10n_es.aeat.mod296.report.line.tree | l10n.es.aeat.mod296.report.line | tree | New |
view_l10n_es_aeat_mod296_report_tree |
l10n_es.aeat.mod296.report.tree | l10n.es.aeat.mod296.report | tree | Inherits l10n_es_aeat.view_l10n_es_aeat_report_tree |
casilla_01
Integer
help='[01] Summary of the data included in the statement - Total number of perceivers'
readonly=True
states={'calculated': [('readonly', False)]}
string='[01] # Recipients'
casilla_02
Float
help='[02] Summary of the data included in the statement - Base retention and income on account'
readonly=True
states={'calculated': [('readonly', False)]}
string='[02] Base retentions'
casilla_03
Float
help='[03] Summary of the data included in the statement - Retention and income on account'
readonly=True
states={'calculated': [('readonly', False)]}
string='[03] Retentions'
casilla_04
Float
help='[04] Summary of the data included in the statement - Retentions and income on account entered'
readonly=True
states={'calculated': [('readonly', False)]}
string='[04] Retentions entered'
lines296
One2many → l10n.es.aeat.mod296.report.line
comodel_name='l10n.es.aeat.mod296.report.line'
inverse_name='mod296_id'
string='Lines'
calculate(self)
partner_group(self, move_lines_base_ids, move_lines_cuota_ids)
base_retenciones_ingresos
Float
string='Base retention and income on account'
ciudad_nacimiento
Char
size=35
string='Birth city'
clave
Selection
selection=[('1', '1 - Dividends and other income derived from the participation in own funds of entities.'), ('2', '2 - Interest and other income derived from the transfer to parties of own capital.'), ('3', '3 - Canons derived from patents, trademarks, drawings or models, plans, formulas or secret procedures.'), ('4', '4 - Fees derived from rights on literary and artistic works.'), ('5', '5 - Canons derived from rights on scientific works.'), ('6', '6 - Fees derived from rights on cinematographic films and recorded sound or visual works.'), ('7', '7 - Canons derived from information related to industrial, commercial or scientific experiences (know-how).'), ('8', '8 - Fees derived from rights on computer programs.'), ('9', '9 - Fees derived from personal rights susceptible to transfer, such as image rights.'), ('10', '10 - Canons derived from industrial, commercial or scientific equipment.'), ('11', '11 - Other canons not previously mentioned.'), ('12', '12 - Capital income from capitalization operations and life or disability insurance contracts.'), ('13', '13 - Other income from movable capital not mentioned above.'), ('14', '14 - Real estate performance.'), ('15', '15 - Performance of business activities.'), ('16', '16 - Rents derived from technical assistance benefits.'), ('17', '17 - Rents of artistic activities.'), ('18', '18 - Rents of sports activities.'), ('19', '19 - Rents of professional activities.'), ('20', '20 - Rents of work.'), ('21', '21 - Pensions and passive assets.'), ('22', '22 - Remuneration of administrators and members of boards of directors.'), ('23', '23 - Performance derived from reinsurance operations.'), ('24', '24 - Maritime or air navigation entities.'), ('25', '25 - Other rents')]
string='Key'
codigo
Selection
selection=[('1', '1. Emisor code corresponds to an N.I.F.'), ('2', '2. Emisor code corresponds to an code I.S.I.N.'), ('3', '3. Emisor code corresponds to values foreign that have not been assigned I.S.I.N., whose emisor does not have a NIF')]
string='Code'
codigo_emisor
Char
size=12
string='Emisor code'
complemento_domicilio
Char
size=40
string='Domicile Complement'
cuenta_valores
Many2one → res.partner.bank
comodel_name='res.partner.bank'
string='Code Account Values'
domicilio
Char
size=50
string='Domicile'
fecha_devengo
Date
string='Devengo date'
fecha_devengo_export
Char
compute='_compute_get_fecha_devengo_export'
string='Devengo date export'
fecha_nacimiento
Date
string='Date of birth'
fecha_nacimiento_export
Char
compute='_compute_get_fecha_nacimiento_export'
string='Date of birth export'
fisica_juridica
Selection
selection=[('F', 'Physical person'), ('J', 'Legal person or entity')]
string='F/J'
mediador
Boolean
string='Mediator'
mod296_id
Many2one → l10n.es.aeat.mod296.report
comodel_name='l10n.es.aeat.mod296.report'
string='Mod 296'
move_line_ids
Many2many → account.move.line
comodel_name='account.move.line'
string='Move Lines'
naturaleza
Selection
selection=[('D', 'Money income'), ('E', 'Income in kind')]
string='Nature'
nif_pais_residencia
Char
size=20
string='Nif in the country of residence'
pago
Selection
selection=[('1', 'As transmitter'), ('2', 'As mediator')]
string='Payment'
pais
Many2one → res.country
comodel_name='res.country'
string='Country'
pais_nacimiento
Many2one → res.country
comodel_name='res.country'
string='Country of birth'
pais_residencia_fiscal
Many2one → res.country
comodel_name='res.country'
string='Country territory of fiscal residence'
partner_id
Many2one → res.partner
comodel_name='res.partner'
string='Partner'
pendiente
Boolean
string='Pending'
poblacion
Char
size=30
string='Population/City'
porcentaje_retencion
Float
string='% retention'
provincia
Many2one → res.country.state
comodel_name='res.country.state'
string='Province/Region/State'
retenciones_ingresos
Float
string='Retention and income on account'
subclave
Selection
selection=[('1', '1 - Retention practiced at the general rates or scales of taxation of article 25 of the rewritten text of the Non-Resident Income Tax Law.'), ('2', '2 - Retention practiced applying limits of imposition of Agreements.'), ('3', '3 - Internal exemption (mainly: article 14 of the revised text of the Law on Non-Resident Income Tax)'), ('4', '4 - Exemption by application of a Convention.'), ('5', '5 - No Retention for previous payment of the Tax by the taxpayer or his representative..'), ('6', '6 - The declared recipient is a foreign entity for the collective management of intellectual property rights, with a retention having applied the limit of taxation, or the exemption, of a Convention.'), ('7', '7 - The recipient is a taxpayer of the Personal Income Tax of the special regime applicable to workers displaced to Spanish territory.'), ('8', '8 - The declared recipient is an entity resident abroad that sells shares or units of Spanish collective investment institutions, with a withholding tax applying a limit of taxation established in the lower Agreement.'), ('9', '9 - The declared recipient is an entity residing abroad selling shares or participations of Spanish collective investment institutions, with a retention having applied the type of lien.')]
string='Subkey'
tipo_codigo
Selection
selection=[('C', 'Identification with the Account Code Values (C.C.V.)'), ('O', 'Other identification')]
string='Code type'
zip
Char
size=10
string='Postal Code'
onchange_partner(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/l10n-spain |
| GIT | |
| GIT | https://github.com/OCA/l10n-spain.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/l10n-spain/tree/12.0/l10n_es_aeat_mod296 |
| VERSION | |
| VERSION | 2.2.0 |
| CATEGORY | |
| CATEGORY | Localisation/Accounting |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), AvanzOSC, Qubiq |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), AvanzOSC, Qubiq |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, mreficent, OCA Transbot, oca-travis, OCA-git-bot |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/l10n-spain |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:29:12 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/account-financial-reporting: - account_tax_balance OCA/l10n-spain: - l10n_es_aeat - l10n_es_aeat_mod216 - l10n_es_irnr OCA/server-ux: - date_range odoo/odoo: - account - base_setup - base - web - product - decimal_precision - bus - web_tour - uom - analytic - portal - http_routing - digest - base_iban - l10n_es - base_vat |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
OpenSSL requests unidecode zeep |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
view_l10n_es_aeat_mod296_report_form |
l10n_es.aeat.mod296.report.form | l10n.es.aeat.mod296.report | group | Inherits l10n_es_aeat.view_l10n_es_aeat_report_form |
view_l10n_es_aeat_mod296_report_line_form |
l10n_es.aeat.mod296.report.line.form | l10n.es.aeat.mod296.report.line | form | New |
view_l10n_es_aeat_mod296_report_line_tree |
l10n_es.aeat.mod296.report.line.tree | l10n.es.aeat.mod296.report.line | tree | New |
view_l10n_es_aeat_mod296_report_tree |
l10n_es.aeat.mod296.report.tree | l10n.es.aeat.mod296.report | tree | Inherits l10n_es_aeat.view_l10n_es_aeat_report_tree |
casilla_01
Integer
help='[01] Summary of the data included in the statement - Total number of perceivers'
readonly=True
states={'calculated': [('readonly', False)]}
string='[01] # Recipients'
casilla_02
Float
help='[02] Summary of the data included in the statement - Base retention and income on account'
readonly=True
states={'calculated': [('readonly', False)]}
string='[02] Base retentions'
casilla_03
Float
help='[03] Summary of the data included in the statement - Retention and income on account'
readonly=True
states={'calculated': [('readonly', False)]}
string='[03] Retentions'
casilla_04
Float
help='[04] Summary of the data included in the statement - Retentions and income on account entered'
readonly=True
states={'calculated': [('readonly', False)]}
string='[04] Retentions entered'
lines296
One2many → l10n.es.aeat.mod296.report.line
string='Lines'
args: 'l10n.es.aeat.mod296.report.line', 'mod296_id'
calculate(self)
partner_group(self, move_lines_base_ids, move_lines_cuota_ids)
base_retenciones_ingresos
Float
string='Base retention and income on account'
ciudad_nacimiento
Char
size=35
string='Birth city'
clave
Selection
string='Key'
args: [('1', '1 - Dividends and other income derived from the participation in own funds of entities.'), ('2', '2 - Interest and other income derived from the transfer to parties of own capital.'), ('3', '3 - Canons derived from patents, trademarks, drawings or models, plans, formulas or secret procedures.'), ('4', '4 - Fees derived from rights on literary and artistic works.'), ('5', '5 - Canons derived from rights on scientific works.'), ('6', '6 - Fees derived from rights on cinematographic films and recorded sound or visual works.'), ('7', '7 - Canons derived from information related to industrial, commercial or scientific experiences (know-how).'), ('8', '8 - Fees derived from rights on computer programs.'), ('9', '9 - Fees derived from personal rights susceptible to transfer, such as image rights.'), ('10', '10 - Canons derived from industrial, commercial or scientific equipment.'), ('11', '11 - Other canons not previously mentioned.'), ('12', '12 - Capital income from capitalization operations and life or disability insurance contracts.'), ('13', '13 - Other income from movable capital not mentioned above.'), ('14', '14 - Real estate performance.'), ('15', '15 - Performance of business activities.'), ('16', '16 - Rents derived from technical assistance benefits.'), ('17', '17 - Rents of artistic activities.'), ('18', '18 - Rents of sports activities.'), ('19', '19 - Rents of professional activities.'), ('20', '20 - Rents of work.'), ('21', '21 - Pensions and passive assets.'), ('22', '22 - Remuneration of administrators and members of boards of directors.'), ('23', '23 - Performance derived from reinsurance operations.'), ('24', '24 - Maritime or air navigation entities.'), ('25', '25 - Other rents')]
codigo
Selection
string='Code'
args: [('1', '1. Emisor code corresponds to an N.I.F.'), ('2', '2. Emisor code corresponds to an code I.S.I.N.'), ('3', '3. Emisor code corresponds to values foreign that have not been assigned I.S.I.N., whose emisor does not have a NIF')]
codigo_emisor
Char
size=12
string='Emisor code'
complemento_domicilio
Char
size=40
string='Domicile Complement'
cuenta_valores
Many2one → res.partner.bank
string='Code Account Values'
args: 'res.partner.bank'
domicilio
Char
size=50
string='Domicile'
fecha_devengo
Date
string='Devengo date'
fecha_devengo_export
Char
compute='_compute_get_fecha_devengo_export'
string='Devengo date export'
fecha_nacimiento
Date
string='Date of birth'
fecha_nacimiento_export
Char
compute='_compute_get_fecha_nacimiento_export'
string='Date of birth export'
fisica_juridica
Selection
string='F/J'
args: [('F', 'Physical person'), ('J', 'Legal person or entity')]
mediador
Boolean
string='Mediator'
mod296_id
Many2one → l10n.es.aeat.mod296.report
string='Mod 296'
args: 'l10n.es.aeat.mod296.report'
move_line_ids
Many2many → account.move.line
string='Move Lines'
args: 'account.move.line'
naturaleza
Selection
string='Nature'
args: [('D', 'Money income'), ('E', 'Income in kind')]
nif_pais_residencia
Char
size=20
string='Nif in the country of residence'
pago
Selection
string='Payment'
args: [('1', 'As transmitter'), ('2', 'As mediator')]
pais
Many2one → res.country
string='Country'
args: 'res.country'
pais_nacimiento
Many2one → res.country
string='Country of birth'
args: 'res.country'
pais_residencia_fiscal
Many2one → res.country
string='Country territory of fiscal residence'
args: 'res.country'
partner_id
Many2one → res.partner
string='Partner'
args: 'res.partner'
pendiente
Boolean
string='Pending'
poblacion
Char
size=30
string='Population/City'
porcentaje_retencion
Float
string='% retention'
provincia
Many2one → res.country.state
string='Province/Region/State'
args: 'res.country.state'
retenciones_ingresos
Float
string='Retention and income on account'
subclave
Selection
string='Subkey'
args: [('1', '1 - Retention practiced at the general rates or scales of taxation of article 25 of the rewritten text of the Non-Resident Income Tax Law.'), ('2', '2 - Retention practiced applying limits of imposition of Agreements.'), ('3', '3 - Internal exemption (mainly: article 14 of the revised text of the Law on Non-Resident Income Tax)'), ('4', '4 - Exemption by application of a Convention.'), ('5', '5 - No Retention for previous payment of the Tax by the taxpayer or his representative..'), ('6', '6 - The declared recipient is a foreign entity for the collective management of intellectual property rights, with a retention having applied the limit of taxation, or the exemption, of a Convention.'), ('7', '7 - The recipient is a taxpayer of the Personal Income Tax of the special regime applicable to workers displaced to Spanish territory.'), ('8', '8 - The declared recipient is an entity resident abroad that sells shares or units of Spanish collective investment institutions, with a withholding tax applying a limit of taxation established in the lower Agreement.'), ('9', '9 - The declared recipient is an entity residing abroad selling shares or participations of Spanish collective investment institutions, with a retention having applied the type of lien.')]
tipo_codigo
Selection
string='Code type'
args: [('C', 'Identification with the Account Code Values (C.C.V.)'), ('O', 'Other identification')]
zip
Char
size=10
string='Postal Code'
onchange_partner(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/l10n-spain |
| GIT | |
| GIT | https://github.com/OCA/l10n-spain.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/l10n-spain/tree/11.0/l10n_es_aeat_mod296 |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | Localisation/Accounting |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), AvanzOSC, Qubiq |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), AvanzOSC, Qubiq |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, OCA Transbot, oca-travis, OCA-git-bot |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/l10n-spain |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:23:55 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/account-financial-reporting: - account_tax_balance OCA/l10n-spain: - l10n_es_aeat - l10n_es_aeat_mod216 - l10n_es_irnr OCA/server-ux: - date_range odoo/odoo: - account_invoicing - account - base_setup - base - web - product - decimal_precision - bus - web_tour - analytic - web_planner - portal - http_routing - base_iban - l10n_es - base_vat |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
unidecode |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
view_l10n_es_aeat_mod296_report_form |
l10n_es.aeat.mod296.report.form | l10n.es.aeat.mod296.report | group | Inherits l10n_es_aeat.view_l10n_es_aeat_report_form |
view_l10n_es_aeat_mod296_report_line_form |
l10n_es.aeat.mod296.report.line.form | l10n.es.aeat.mod296.report.line | form | New |
view_l10n_es_aeat_mod296_report_line_tree |
l10n_es.aeat.mod296.report.line.tree | l10n.es.aeat.mod296.report.line | tree | New |
view_l10n_es_aeat_mod296_report_tree |
l10n_es.aeat.mod296.report.tree | l10n.es.aeat.mod296.report | tree | Inherits l10n_es_aeat.view_l10n_es_aeat_report_tree |
casilla_01
Integer
help='[01] Summary of the data included in the statement - Total number of perceivers'
readonly=True
states={'calculated': [('readonly', False)]}
string='[01] # Recipients'
casilla_02
Float
help='[02] Summary of the data included in the statement - Base retention and income on account'
readonly=True
states={'calculated': [('readonly', False)]}
string='[02] Base retentions'
casilla_03
Float
help='[03] Summary of the data included in the statement - Retention and income on account'
readonly=True
states={'calculated': [('readonly', False)]}
string='[03] Retentions'
casilla_04
Float
help='[04] Summary of the data included in the statement - Retentions and income on account entered'
readonly=True
states={'calculated': [('readonly', False)]}
string='[04] Retentions entered'
lines296
One2many → l10n.es.aeat.mod296.report.line
string='Lines'
args: 'l10n.es.aeat.mod296.report.line', 'mod296_id'
calculate(self)
partner_group(self, move_lines_base_ids, move_lines_cuota_ids)
base_retenciones_ingresos
Float
string='Base retention and income on account'
ciudad_nacimiento
Char
size=35
string='Birth city'
clave
Selection
string='Key'
args: [('1', '1 - Dividends and other income derived from the participation in own funds of entities.'), ('2', '2 - Interest and other income derived from the transfer to parties of own capital.'), ('3', '3 - Canons derived from patents, trademarks, drawings or models, plans, formulas or secret procedures.'), ('4', '4 - Fees derived from rights on literary and artistic works.'), ('5', '5 - Canons derived from rights on scientific works.'), ('6', '6 - Fees derived from rights on cinematographic films and recorded sound or visual works.'), ('7', '7 - Canons derived from information related to industrial, commercial or scientific experiences (know-how).'), ('8', '8 - Fees derived from rights on computer programs.'), ('9', '9 - Fees derived from personal rights susceptible to transfer, such as image rights.'), ('10', '10 - Canons derived from industrial, commercial or scientific equipment.'), ('11', '11 - Other canons not previously mentioned.'), ('12', '12 - Capital income from capitalization operations and life or disability insurance contracts.'), ('13', '13 - Other income from movable capital not mentioned above.'), ('14', '14 - Real estate performance.'), ('15', '15 - Performance of business activities.'), ('16', '16 - Rents derived from technical assistance benefits.'), ('17', '17 - Rents of artistic activities.'), ('18', '18 - Rents of sports activities.'), ('19', '19 - Rents of professional activities.'), ('20', '20 - Rents of work.'), ('21', '21 - Pensions and passive assets.'), ('22', '22 - Remuneration of administrators and members of boards of directors.'), ('23', '23 - Performance derived from reinsurance operations.'), ('24', '24 - Maritime or air navigation entities.'), ('25', '25 - Other rents')]
codigo
Selection
string='Code'
args: [('1', '1. Emisor code corresponds to an N.I.F.'), ('2', '2. Emisor code corresponds to an code I.S.I.N.'), ('3', '3. Emisor code corresponds to values foreign that have not been assigned I.S.I.N., whose emisor does not have a NIF')]
codigo_emisor
Char
size=12
string='Emisor code'
complemento_domicilio
Char
size=40
string='Domicile Complement'
cuenta_valores
Many2one → res.partner.bank
string='Code Account Values'
args: 'res.partner.bank'
domicilio
Char
size=50
string='Domicile'
fecha_devengo
Date
string='Devengo date'
fecha_devengo_export
Char
compute='_compute_get_fecha_devengo_export'
string='Devengo date export'
fecha_nacimiento
Date
string='Date of birth'
fecha_nacimiento_export
Char
compute='_compute_get_fecha_nacimiento_export'
string='Date of birth export'
fisica_juridica
Selection
string='F/J'
args: [('F', 'Physical person'), ('J', 'Legal person or entity')]
mediador
Boolean
string='Mediator'
mod296_id
Many2one → l10n.es.aeat.mod296.report
string='Mod 296'
args: 'l10n.es.aeat.mod296.report'
move_line_ids
Many2many → account.move.line
string='Move Lines'
args: 'account.move.line'
naturaleza
Selection
string='Nature'
args: [('D', 'Money income'), ('E', 'Income in kind')]
nif_pais_residencia
Char
size=20
string='Nif in the country of residence'
pago
Selection
string='Payment'
args: [('1', 'As transmitter'), ('2', 'As mediator')]
pais
Many2one → res.country
string='Country'
args: 'res.country'
pais_nacimiento
Many2one → res.country
string='Country of birth'
args: 'res.country'
pais_residencia_fiscal
Many2one → res.country
string='Country territory of fiscal residence'
args: 'res.country'
partner_id
Many2one → res.partner
string='Partner'
args: 'res.partner'
pendiente
Boolean
string='Pending'
poblacion
Char
size=30
string='Population/City'
porcentaje_retencion
Float
string='% retention'
provincia
Many2one → res.country.state
string='Province/Region/State'
args: 'res.country.state'
retenciones_ingresos
Float
string='Retention and income on account'
subclave
Selection
string='Subkey'
args: [('1', '1 - Retention practiced at the general rates or scales of taxation of article 25 of the rewritten text of the Non-Resident Income Tax Law.'), ('2', '2 - Retention practiced applying limits of imposition of Agreements.'), ('3', '3 - Internal exemption (mainly: article 14 of the revised text of the Law on Non-Resident Income Tax)'), ('4', '4 - Exemption by application of a Convention.'), ('5', '5 - No Retention for previous payment of the Tax by the taxpayer or his representative..'), ('6', '6 - The declared recipient is a foreign entity for the collective management of intellectual property rights, with a retention having applied the limit of taxation, or the exemption, of a Convention.'), ('7', '7 - The recipient is a taxpayer of the Personal Income Tax of the special regime applicable to workers displaced to Spanish territory.'), ('8', '8 - The declared recipient is an entity resident abroad that sells shares or units of Spanish collective investment institutions, with a withholding tax applying a limit of taxation established in the lower Agreement.'), ('9', '9 - The declared recipient is an entity residing abroad selling shares or participations of Spanish collective investment institutions, with a retention having applied the type of lien.')]
tipo_codigo
Selection
string='Code type'
args: [('C', 'Identification with the Account Code Values (C.C.V.)'), ('O', 'Other identification')]
zip
Char
size=10
string='Postal Code'
onchange_partner(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/l10n-spain |
| GIT | |
| GIT | https://github.com/OCA/l10n-spain.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/l10n-spain/tree/10.0/l10n_es_aeat_mod296 |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | Localisation/Accounting |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), AvanzOSC, Qubiq 2010 S.L |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), AvanzOSC, Qubiq 2010 S.L |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, OCA Transbot, oca-travis, OCA-git-bot, OCA Git Bot |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/l10n-spain |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:19:53 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/account-financial-reporting: - account_tax_balance OCA/l10n-spain: - l10n_es_aeat - l10n_es_aeat_mod216 - l10n_es_aeat_mod111 - l10n_es OCA/server-tools: - date_range odoo/odoo: - account - base_setup - base - web_kanban - web - product - decimal_precision - bus - web_tour - report - analytic - web_planner - base_iban - base_vat - l10n_es |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
unidecode |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
view_l10n_es_aeat_mod296_report_form |
l10n_es.aeat.mod296.report.form | l10n.es.aeat.mod296.report | group | Inherits l10n_es_aeat.view_l10n_es_aeat_report_form |
view_l10n_es_aeat_mod296_report_line_form |
l10n_es.aeat.mod296.report.line.form | l10n.es.aeat.mod296.report.line | form | New |
view_l10n_es_aeat_mod296_report_line_tree |
l10n_es.aeat.mod296.report.line.tree | l10n.es.aeat.mod296.report.line | tree | New |
view_l10n_es_aeat_mod296_report_tree |
l10n_es.aeat.mod296.report.tree | l10n.es.aeat.mod296.report | tree | Inherits l10n_es_aeat.view_l10n_es_aeat_report_tree |
casilla_01
Integer
help='[01] Summary of the data included in the statement - Total number of perceivers'
readonly=True
states={'calculated': [('readonly', False)]}
string='[01] # Recipients'
casilla_02
Float
help='[02] Summary of the data included in the statement - Base retention and income on account'
readonly=True
states={'calculated': [('readonly', False)]}
string='[02] Base retentions'
casilla_03
Float
help='[03] Summary of the data included in the statement - Retention and income on account'
readonly=True
states={'calculated': [('readonly', False)]}
string='[03] Retentions'
casilla_04
Float
help='[04] Summary of the data included in the statement - Retentions and income on account entered'
readonly=True
states={'calculated': [('readonly', False)]}
string='[04] Retentions entered'
lines296
One2many → l10n.es.aeat.mod296.report.line
string='Lines'
args: 'l10n.es.aeat.mod296.report.line', 'mod296_id'
calculate(self)
partner_group(self, move_lines_base_ids, move_lines_cuota_ids)
base_retenciones_ingresos
Float
string='Base retention and income on account'
ciudad_nacimiento
Char
size=35
string='Birth city'
clave
Selection
string='Key'
args: [('1', '1 - Dividends and other income derived from the participation in own funds of entities.'), ('2', '2 - Interest and other income derived from the transfer to parties of own capital.'), ('3', '3 - Canons derived from patents, trademarks, drawings or models, plans, formulas or secret procedures.'), ('4', '4 - Fees derived from rights on literary and artistic works.'), ('5', '5 - Canons derived from rights on scientific works.'), ('6', '6 - Fees derived from rights on cinematographic films and recorded sound or visual works.'), ('7', '7 - Canons derived from information related to industrial, commercial or scientific experiences (know-how).'), ('8', '8 - Fees derived from rights on computer programs.'), ('9', '9 - Fees derived from personal rights susceptible to transfer, such as image rights.'), ('10', '10 - Canons derived from industrial, commercial or scientific equipment.'), ('11', '11 - Other canons not previously mentioned.'), ('12', '12 - Capital income from capitalization operations and life or disability insurance contracts.'), ('13', '13 - Other income from movable capital not mentioned above.'), ('14', '14 - Real estate performance.'), ('15', '15 - Performance of business activities.'), ('16', '16 - Rents derived from technical assistance benefits.'), ('17', '17 - Rents of artistic activities.'), ('18', '18 - Rents of sports activities.'), ('19', '19 - Rents of professional activities.'), ('20', '20 - Rents of work.'), ('21', '21 - Pensions and passive assets.'), ('22', '22 - Remuneration of administrators and members of boards of directors.'), ('23', '23 - Performance derived from reinsurance operations.'), ('24', '24 - Maritime or air navigation entities.'), ('25', '25 - Other rents')]
codigo
Selection
string='Code'
args: [('1', '1. Emisor code corresponds to an N.I.F.'), ('2', '2. Emisor code corresponds to an code I.S.I.N.'), ('3', '3. Emisor code corresponds to values foreign that have not been assigned I.S.I.N., whose emisor does not have a NIF')]
codigo_emisor
Char
size=12
string='Emisor code'
complemento_domicilio
Char
size=40
string='Domicile Complement'
cuenta_valores
Many2one → res.partner.bank
string='Code Account Values'
args: 'res.partner.bank'
domicilio
Char
size=50
string='Domicile'
fecha_devengo
Date
string='Devengo date'
fecha_devengo_export
Char
compute='_compute_get_fecha_devengo_export'
string='Devengo date export'
fecha_nacimiento
Date
string='Date of birth'
fecha_nacimiento_export
Char
compute='_compute_get_fecha_nacimiento_export'
string='Date of birth export'
fisica_juridica
Selection
string='F/J'
args: [('F', 'Physical person'), ('J', 'Legal person or entity')]
mediador
Boolean
string='Mediator'
mod296_id
Many2one → l10n.es.aeat.mod296.report
string='Mod 296'
args: 'l10n.es.aeat.mod296.report'
move_line_ids
Many2many → account.move.line
string='Move Lines'
args: 'account.move.line'
naturaleza
Selection
string='Nature'
args: [('D', 'Money income'), ('E', 'Income in kind')]
nif_pais_residencia
Char
size=20
string='Nif in the country of residence'
pago
Selection
string='Payment'
args: [('1', 'As transmitter'), ('2', 'As mediator')]
pais
Many2one → res.country
string='Country'
args: 'res.country'
pais_nacimiento
Many2one → res.country
string='Country of birth'
args: 'res.country'
pais_residencia_fiscal
Many2one → res.country
string='Country territory of fiscal residence'
args: 'res.country'
partner_id
Many2one → res.partner
string='Partner'
args: 'res.partner'
pendiente
Boolean
string='Pending'
poblacion
Char
size=30
string='Population/City'
porcentaje_retencion
Float
string='% retention'
provincia
Many2one → res.country.state
string='Province/Region/State'
args: 'res.country.state'
retenciones_ingresos
Float
string='Retention and income on account'
subclave
Selection
string='Subkey'
args: [('1', '1 - Retention practiced at the general rates or scales of taxation of article 25 of the rewritten text of the Non-Resident Income Tax Law.'), ('2', '2 - Retention practiced applying limits of imposition of Agreements.'), ('3', '3 - Internal exemption (mainly: article 14 of the revised text of the Law on Non-Resident Income Tax)'), ('4', '4 - Exemption by application of a Convention.'), ('5', '5 - No Retention for previous payment of the Tax by the taxpayer or his representative..'), ('6', '6 - The declared recipient is a foreign entity for the collective management of intellectual property rights, with a retention having applied the limit of taxation, or the exemption, of a Convention.'), ('7', '7 - The recipient is a taxpayer of the Personal Income Tax of the special regime applicable to workers displaced to Spanish territory.'), ('8', '8 - The declared recipient is an entity resident abroad that sells shares or units of Spanish collective investment institutions, with a withholding tax applying a limit of taxation established in the lower Agreement.'), ('9', '9 - The declared recipient is an entity residing abroad selling shares or participations of Spanish collective investment institutions, with a retention having applied the type of lien.')]
tipo_codigo
Selection
string='Code type'
args: [('C', 'Identification with the Account Code Values (C.C.V.)'), ('O', 'Other identification')]
zip
Char
size=10
string='Postal Code'
onchange_partner(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/l10n-spain |
| GIT | |
| GIT | https://github.com/OCA/l10n-spain.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/l10n-spain/tree/9.0/l10n_es_aeat_mod296 |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | Localisation/Accounting |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), AvanzOSC, Qubiq 2010 S.L |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), AvanzOSC, Qubiq 2010 S.L |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, OCA Transbot, oca-travis, Weblate, OCA-git-bot, OCA Git Bot |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/l10n-spain |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:15:18 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/account-financial-reporting: - account_tax_balance OCA/l10n-spain: - l10n_es_aeat - l10n_es_aeat_mod216 - l10n_es_aeat_mod111 - l10n_es OCA/server-tools: - date_range odoo/odoo: - account - base_setup - base - web_kanban - web - product - decimal_precision - bus - report - analytic - web_tip - web_planner - base_iban - base_vat - l10n_es |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
unidecode |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
view_l10n_es_aeat_mod296_report_form |
l10n_es.aeat.mod296.report.form | l10n.es.aeat.mod296.report | group | Inherits l10n_es_aeat.view_l10n_es_aeat_report_form |
view_l10n_es_aeat_mod296_report_line_form |
l10n_es.aeat.mod296.report.line.form | l10n.es.aeat.mod296.report.line | form | New |
view_l10n_es_aeat_mod296_report_line_tree |
l10n_es.aeat.mod296.report.line.tree | l10n.es.aeat.mod296.report.line | tree | New |
view_l10n_es_aeat_mod296_report_tree |
l10n_es.aeat.mod296.report.tree | l10n.es.aeat.mod296.report | tree | Inherits l10n_es_aeat.view_l10n_es_aeat_report_tree |
casilla_01
Integer
help='[01] Summary of the data included in the statement - Total number of perceivers'
readonly=True
states={'calculated': [('readonly', False)]}
string='[01] # Recipients'
casilla_02
Float
help='[02] Summary of the data included in the statement - Base retention and income on account'
readonly=True
states={'calculated': [('readonly', False)]}
string='[02] Base retentions'
casilla_03
Float
help='[03] Summary of the data included in the statement - Retention and income on account'
readonly=True
states={'calculated': [('readonly', False)]}
string='[03] Retentions'
casilla_04
Float
help='[04] Summary of the data included in the statement - Retentions and income on account entered'
readonly=True
states={'calculated': [('readonly', False)]}
string='[04] Retentions entered'
lines296
One2many → l10n.es.aeat.mod296.report.line
string='Lines'
args: 'l10n.es.aeat.mod296.report.line', 'mod296_id'
calculate(self)
partner_group(self, move_lines_base_ids, move_lines_cuota_ids)
base_retenciones_ingresos
Float
string='Base retention and income on account'
ciudad_nacimiento
Char
size=35
string='Birth city'
clave
Selection
string='Key'
args: [('1', '1 - Dividends and other income derived from the participation in own funds of entities.'), ('2', '2 - Interest and other income derived from the transfer to parties of own capital.'), ('3', '3 - Canons derived from patents, trademarks, drawings or models, plans, formulas or secret procedures.'), ('4', '4 - Fees derived from rights on literary and artistic works.'), ('5', '5 - Canons derived from rights on scientific works.'), ('6', '6 - Fees derived from rights on cinematographic films and recorded sound or visual works.'), ('7', '7 - Canons derived from information related to industrial, commercial or scientific experiences (know-how).'), ('8', '8 - Fees derived from rights on computer programs.'), ('9', '9 - Fees derived from personal rights susceptible to transfer, such as image rights.'), ('10', '10 - Canons derived from industrial, commercial or scientific equipment.'), ('11', '11 - Other canons not previously mentioned.'), ('12', '12 - Capital income from capitalization operations and life or disability insurance contracts.'), ('13', '13 - Other income from movable capital not mentioned above.'), ('14', '14 - Real estate performance.'), ('15', '15 - Performance of business activities.'), ('16', '16 - Rents derived from technical assistance benefits.'), ('17', '17 - Rents of artistic activities.'), ('18', '18 - Rents of sports activities.'), ('19', '19 - Rents of professional activities.'), ('20', '20 - Rents of work.'), ('21', '21 - Pensions and passive assets.'), ('22', '22 - Remuneration of administrators and members of boards of directors.'), ('23', '23 - Performance derived from reinsurance operations.'), ('24', '24 - Maritime or air navigation entities.'), ('25', '25 - Other rents')]
codigo
Selection
string='Code'
args: [('1', '1. Emisor code corresponds to an N.I.F.'), ('2', '2. Emisor code corresponds to an code I.S.I.N.'), ('3', '3. Emisor code corresponds to values foreign that have not been assigned I.S.I.N., whose emisor does not have a NIF')]
codigo_emisor
Char
size=12
string='Emisor code'
complemento_domicilio
Char
size=40
string='Domicile Complement'
cuenta_valores
Many2one → res.partner.bank
string='Code Account Values'
args: 'res.partner.bank'
domicilio
Char
size=50
string='Domicile'
fecha_devengo
Date
string='Devengo date'
fecha_devengo_export
Char
compute='_compute_get_fecha_devengo_export'
string='Devengo date export'
fecha_nacimiento
Date
string='Date of birth'
fecha_nacimiento_export
Char
compute='_compute_get_fecha_nacimiento_export'
string='Date of birth export'
fisica_juridica
Selection
string='F/J'
args: [('F', 'Physical person'), ('J', 'Legal person or entity')]
mediador
Boolean
string='Mediator'
mod296_id
Many2one → l10n.es.aeat.mod296.report
string='Mod 296'
args: 'l10n.es.aeat.mod296.report'
move_line_ids
Many2many → account.move.line
string='Move Lines'
args: 'account.move.line'
naturaleza
Selection
string='Nature'
args: [('D', 'Money income'), ('E', 'Income in kind')]
nif_pais_residencia
Char
size=20
string='Nif in the country of residence'
pago
Selection
string='Payment'
args: [('1', 'As transmitter'), ('2', 'As mediator')]
pais
Many2one → res.country
string='Country'
args: 'res.country'
pais_nacimiento
Many2one → res.country
string='Country of birth'
args: 'res.country'
pais_residencia_fiscal
Many2one → res.country
string='Country territory of fiscal residence'
args: 'res.country'
partner_id
Many2one → res.partner
string='Partner'
args: 'res.partner'
pendiente
Boolean
string='Pending'
poblacion
Char
size=30
string='Population/City'
porcentaje_retencion
Float
string='% retention'
provincia
Many2one → res.country.state
string='Province/Region/State'
args: 'res.country.state'
retenciones_ingresos
Float
string='Retention and income on account'
subclave
Selection
string='Subkey'
args: [('1', '1 - Retention practiced at the general rates or scales of taxation of article 25 of the rewritten text of the Non-Resident Income Tax Law.'), ('2', '2 - Retention practiced applying limits of imposition of Agreements.'), ('3', '3 - Internal exemption (mainly: article 14 of the revised text of the Law on Non-Resident Income Tax)'), ('4', '4 - Exemption by application of a Convention.'), ('5', '5 - No Retention for previous payment of the Tax by the taxpayer or his representative..'), ('6', '6 - The declared recipient is a foreign entity for the collective management of intellectual property rights, with a retention having applied the limit of taxation, or the exemption, of a Convention.'), ('7', '7 - The recipient is a taxpayer of the Personal Income Tax of the special regime applicable to workers displaced to Spanish territory.'), ('8', '8 - The declared recipient is an entity resident abroad that sells shares or units of Spanish collective investment institutions, with a withholding tax applying a limit of taxation established in the lower Agreement.'), ('9', '9 - The declared recipient is an entity residing abroad selling shares or participations of Spanish collective investment institutions, with a retention having applied the type of lien.')]
tipo_codigo
Selection
string='Code type'
args: [('C', 'Identification with the Account Code Values (C.C.V.)'), ('O', 'Other identification')]
zip
Char
size=10
string='Postal Code'
onchange_partner(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/l10n-spain |
| GIT | |
| GIT | https://github.com/OCA/l10n-spain.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/l10n-spain/tree/8.0/l10n_es_aeat_mod296 |
| VERSION | |
| VERSION | 1.3.0 |
| CATEGORY | |
| CATEGORY | Localisation/Accounting |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), AvanzOSC, Antiun Ingeniería S.L., Serv. Tecnol. Avanzados - Pedro M. Baeza |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), AvanzOSC, Antiun Ingeniería S.L., Serv. Tecnol. Avanzados - Pedro M. Baeza |
| COMMITTERS | |
| COMMITTERS | Stéphane Bidoul, Pedro M. Baeza, Jairo Llopis, Stéphane Bidoul (ACSONE), cubells, OCA Transbot, Hugo Santos, oca-travis, agaldona, Antonio Espinosa, Jose Maria Alzaga |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/l10n-spain |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:11:19 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/l10n-spain: - l10n_es_aeat - l10n_es_aeat_mod216 - l10n_es_aeat_mod111 odoo/odoo: - account - base_setup - base - web_kanban - web - product - decimal_precision - report - analytic - board - edi - email_template |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
unidecode |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
view_l10n_es_aeat_mod296_report_form |
l10n_es.aeat.mod296.report.form | l10n.es.aeat.mod296.report | button | Inherits l10n_es_aeat.view_l10n_es_aeat_report_form |
view_l10n_es_aeat_mod296_report_line_form |
l10n_es.aeat.mod296.report.line.form | l10n.es.aeat.mod296.report.line | form | New |
view_l10n_es_aeat_mod296_report_line_tree |
l10n_es.aeat.mod296.report.line.tree | l10n.es.aeat.mod296.report.line | tree | New |
view_l10n_es_aeat_mod296_report_tree |
l10n_es.aeat.mod296.report.tree | l10n.es.aeat.mod296.report | tree | Inherits l10n_es_aeat.view_l10n_es_aeat_report_tree |
No new fields.
Public methods (0)No public methods.
casilla_01
Integer
help='Casilla [01] Resumen de los datos incluidos en la declaración - Número total de perceptores'
readonly=True
states={'calculated': [('readonly', False)]}
string='[01] Número de perceptores'
casilla_02
Float
help='Casilla [02] Resumen de los datos incluidos en la declaración - Base retenciones e ingresos a cuenta'
readonly=True
states={'calculated': [('readonly', False)]}
string='[02] Base retenciones'
casilla_03
Float
help='Casilla [03] Resumen de los datos incluidos en la declaración - Retenciones e ingresos a cuenta'
readonly=True
states={'calculated': [('readonly', False)]}
string='[03] Retenciones'
casilla_04
Float
help='Casilla [04] Resumen de los datos incluidos en la declaración - Retenciones e ingresos a cuenta ingresados'
readonly=True
states={'calculated': [('readonly', False)]}
string='[04] Retenciones ingresadas'
currency_id
Many2one → res.currency
comodel_name='res.currency'
readonly=True
related='company_id.currency_id'
store=True
string='Moneda'
lines296
One2many → l10n.es.aeat.mod296.report.line
string='Lines'
args: 'l10n.es.aeat.mod296.report.line', 'mod296_id'
number
Char
default='296'
calculate(self)
base_retenciones_ingresos
Float
string='Base retenciones e ingresos a cuenta'
ciudad_nacimiento
Char
size=35
string='Ciudad nacimiento'
clave
Selection
string='Clave'
args: [('1', '1 - Dividendos y otras rentas derivadas de la participación en fondos propios de entidades.'), ('2', '2 - Intereses y otras rentas derivadas de la cesión a terceros de capitales propios.'), ('3', '3 - Cánones derivados de patentes, marcas de fábrica o de comercio, dibujos o meodelos, planos, fórmulas o procedimientos secretos.'), ('4', '4 - Cánones derivados de derechos sobre obras literarias y artísticas.'), ('5', '5 - Cánones derivados de derechos sobre obras científicas.'), ('6', '6 - Cánones derivados de derechos sobre películas cinematográficas y obras sonoras o visuales grabadas.'), ('7', '7 - Cánones derivados de informaciones relativas a experiencias industriales, comerciales o científicas (know-how).'), ('8', '8 - Cánones derivados de derechos sobre programas informáticos.'), ('9', '9 - Cánones derivados de derechos personales susceptibles de cesión, tales como los derechos de imagen.'), ('10', '10 - Cánones derivados de equipos industriales, comerciales o científicos.'), ('11', '11 - Otros cánones no relacionados anteriormente.'), ('12', '12 - Rendimientos de capital mobiliario de operaciones de capitalización y de contratos de seguros de vida o invalidez.'), ('13', '13 - Otros rendimientos de capital mobiliario no citados anteriormente.'), ('14', '14 - Rendimientos de bienes inmuebles.'), ('15', '15 - Rendimientos de actividades empresariales.'), ('16', '16 - Rentas derivadas de prestaciones de asistencia técnica.'), ('17', '17 - Rentas de actividades artísticas.'), ('18', '18 - Rentas de actividades deportivas.'), ('19', '19 - Rentas de actividades profesionales.'), ('20', '20 - Rentas del trabajo.'), ('21', '21 - Pensiones y haberes pasivos.'), ('22', '22 - Retribuciones de administradores y miembros de consejos de Administración.'), ('23', '23 - Rendimientos derivados de operaciones de reaseguros.'), ('24', '24 - Entidades de navegación marítima o aérea.'), ('25', '25 - Otras rentas')]
codigo
Selection
string='Código'
args: [('1', '1. El código emisor corresponde a un N.I.F.'), ('2', '2. El código emisor corresponde a un código I.S.I.N.'), ('3', '3. El código emisor corresponde a valores extranjeros que no tienen asignado I.S.I.N., cuyo emisor no dispone de NIF')]
codigo_emisor
Char
size=12
string='Código emisor'
complemento_domicilio
Char
size=40
string='Complemento del domicilio'
cuenta_valores
Many2one → res.partner.bank
string='Código Cuenta Valores'
args: 'res.partner.bank'
domicilio
Char
size=50
string='Domicilio'
ejercicio_devengo
Many2one → account.fiscalyear
string='Ejercicio devengo'
args: 'account.fiscalyear'
fecha_devengo
Date
string='Fecha devengo'
fecha_nacimiento
Date
string='Fecha de nacimiento'
fisica_juridica
Selection
string='F/J'
args: [('F', 'Persona fisica'), ('J', 'Persona Juridica o entidad')]
mediador
Boolean
string='Mediador'
mod296_id
Many2one → l10n.es.aeat.mod296.report
string='Mod 296'
args: 'l10n.es.aeat.mod296.report'
move_line_ids
Many2many → account.move.line
string='Move Lines'
args: 'account.move.line'
naturaleza
Selection
string='Naturaleza'
args: [('D', 'Renta dineraria'), ('E', 'Renta en especie')]
nif_pais_residencia
Char
size=20
string='Nif en el país de residencia'
pago
Selection
string='Pago'
args: [('1', 'Como emisor'), ('2', 'Como mediador')]
pais
Many2one → res.country
string='Pais'
args: 'res.country'
pais_nacimiento
Many2one → res.country
string='Pais nacimiento'
args: 'res.country'
pais_residencia_fiscal
Many2one → res.country
string='Pais o territorio de residencia fiscal'
args: 'res.country'
partner_id
Many2one → res.partner
string='Partner'
args: 'res.partner'
pendiente
Boolean
string='Pendiente'
poblacion
Char
size=30
string='Problación/Ciudad'
porcentaje_retencion
Float
string='% retención'
provincia
Many2one → res.country.state
string='Provincia/Región/Estado'
args: 'res.country.state'
retenciones_ingresos
Float
string='Retenciones e ingresos a cuenta'
subclave
Selection
string='Subclave'
args: [('1', '1 - Retención practicada a los tipos generales o escalas de tributación del artículo 25 del texto refundido de la Ley del Impuesto sobre la Renta de no Residentes.'), ('2', '2 - Retención practicada aplicando límites de imposición de Convenios.'), ('3', '3 - Exención interna (principalmente: artículo 14 del texto refundido de la Ley del Impuesto sobre la Renta de no Residentes)'), ('4', '4 - Exención por aplicación de un Convenio.'), ('5', '5 - Sin retención por previo pago del Impuesto por el contribuyente o su representante.'), ('6', '6 - El perceptor declarado es una entidad extranjera de gestión colectiva de derechos de la propiedad intelectual, habiéndose practicado retención aplicando el límite de imposición, o la exención, de un Convenio.'), ('7', '7 - El perceptor es un contribuyente del Impuesto sobre la Renta de las Personas Físicas del régimen especial aplicable a los trabajadores desplazados a territorio español.'), ('8', '8 - El perceptor declarado es una entidad residente en el extranjero comercializadora de acciones o participaciones de instituciones de inversión colectiva españolas, habiéndose practicado retención aplicando un límite de imposición fijado en el Convenio inferior.'), ('9', '9 - El perceptor declarado es una entidad residente en el extranjero comercializadora de acciones o participaciones de instituciones de inversión colectiva españoas, habiéndose practicado retención aplicando el tipo de gravamen.')]
tipo_codigo
Selection
string='Tipo código'
args: [('C', 'Identificación con el Código Cuenta Valores (C.C.V.)'), ('O', 'Otra identificación')]
zip
Char
size=10
string='Código postal'
onchange_partner(self)