AEAT modelo 190

l10n_es_aeat_mod190
REPOSITORY
REPOSITORYOCA/l10n-spain
GIT
GIThttps://github.com/OCA/l10n-spain.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-spain/tree/19.0/l10n_es_aeat_mod190
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYLocalization/Accounting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Punt Sistemes SLU, Vunkers IT Experts, SLU
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Punt Sistemes SLU, Vunkers IT Experts, SLU
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, oca-ci, Emilio Pascual
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-spain
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:40:46
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/account-financial-reporting:
    - account_tax_balance
OCA/l10n-spain:
    - l10n_es_aeat
OCA/server-ux:
    - date_range
odoo/odoo:
    - l10n_es
    - account
    - base_setup
    - base
    - web
    - onboarding
    - product
    - mail
    - 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 190 de la AEAT. Retenciones e ingresos a cuenta. Rendimientos del
trabajo y de actividades económicas, premios y determinadas ganancias
patrimoniales e imputaciones de Renta. Resumen anual.

Code Analysis

Views touched (8)
XML IDNameModelTypeStatus
account_fiscal_position_form_view account.fiscal.position.form (in l10n_es_aeat_mod190) account.fiscal.position field Inherits account.view_account_position_form
invoice_form account.move field Inherits account.view_move_form
view_l10n_es_aeat_mod190_report_form l10n_es.aeat.mod190.report.form l10n.es.aeat.mod190.report field Inherits l10n_es_aeat.view_l10n_es_aeat_report_form
view_l10n_es_aeat_mod190_report_line_form l10n_es.aeat.mod190.report.line.form l10n.es.aeat.mod190.report.line form New
view_l10n_es_aeat_mod190_report_line_tree l10n_es.aeat.mod190.report.line.tree l10n.es.aeat.mod190.report.line list New
view_l10n_es_aeat_mod190_report_tree l10n_es.aeat.mod190.report.tree l10n.es.aeat.mod190.report list Inherits l10n_es_aeat.view_l10n_es_aeat_report_tree
view_move_line_form account.move.line field Inherits account.view_move_line_form
view_partner_form_inherit_l10n_es_aeat_mod190 view.partner.form.inherit.l10n.es.aeat.mod190 res.partner page Inherits l10n_es_aeat.view_partner_form
Models touched (9)

New fields (3)
  • aeat_perception_key_id Many2one → l10n.es.aeat.report.perception.key
    comodel_name='l10n.es.aeat.report.perception.key' help='Se consignará la clave alfabética que corresponda a las percepciones de que se trate.' string='Clave percepción'
  • aeat_perception_subkey_id Many2one → l10n.es.aeat.report.perception.subkey
    comodel_name='l10n.es.aeat.report.perception.subkey' domain="[('aeat_perception_key_id', '=', aeat_perception_key_id)]" help='Tratándose de percepciones correspondientes a las claves\n B, E, F, G, H, I, K y L, deberá consignarse, además, la\n subclave numérica de dos dígitos que corresponda a las\n percepciones de que se trate, según la relación de\n subclaves que para cada una de las mencionadas claves\n figura a continuación.\n En percepciones correspondientes a claves distintas de las\n mencionadas, no se cumplimentará este campo.\n Cuando deban consignarse en el modelo 190\n percepciones satisfechas a un mismo perceptor que\n correspondan a diferentes claves o subclaves de\n percepción, deberán cumplimentarle tantos apuntes o\n registros de percepción como sea necesario, de forma que\n cada uno de ellos refleje exclusivamente los datos de\n percepciones correspondientes a una misma clave y, en\n su caso, subclave.' string='Subclave'
  • is_aeat_perception_subkey_visible Boolean
    compute='_compute_is_aeat_perception_subkey_visible'
Public methods (1)
  • onchange_aeat_perception_key_id(self)
    @api.onchange('aeat_perception_key_id')

New fields (3)
  • aeat_perception_key_id Many2one → l10n.es.aeat.report.perception.key
    comodel_name='l10n.es.aeat.report.perception.key' compute='_compute_aeat_perception_key_id' help='Se consignará la clave alfabética que corresponda a las percepciones de que se trate.' store=True string='Clave percepción'
  • aeat_perception_subkey_id Many2one → l10n.es.aeat.report.perception.subkey
    comodel_name='l10n.es.aeat.report.perception.subkey' compute='_compute_aeat_perception_subkey_id' domain="[('aeat_perception_key_id', '=', aeat_perception_key_id)]" help='Tratándose de percepciones correspondientes a las claves\n B, E, F, G, H, I, K y L, deberá consignarse, además, la\n subclave numérica de dos dígitos que corresponda a las\n percepciones de que se trate, según la relación de\n subclaves que para cada una de las mencionadas claves\n figura a continuación.\n En percepciones correspondientes a claves distintas de las\n mencionadas, no se cumplimentará este campo.\n Cuando deban consignarse en el modelo 190\n percepciones satisfechas a un mismo perceptor que\n correspondan a diferentes claves o subclaves de\n percepción, deberán cumplimentarle tantos apuntes o\n registros de percepción como sea necesario, de forma que\n cada uno de ellos refleje exclusivamente los datos de\n percepciones correspondientes a una misma clave y, en\n su caso, subclave.' store=True string='Subclave'
  • is_aeat_perception_subkey_visible Boolean
    compute='_compute_is_aeat_perception_subkey_visible'
Public methods (0)

No public methods.

New fields (3)
  • aeat_perception_key_id Many2one → l10n.es.aeat.report.perception.key
    comodel_name='l10n.es.aeat.report.perception.key' compute='_compute_aeat_perception_keys' help='Se consignará la clave alfabética que corresponda a las percepciones de que se trate.' store=True string='Clave percepción'
  • aeat_perception_subkey_id Many2one → l10n.es.aeat.report.perception.subkey
    comodel_name='l10n.es.aeat.report.perception.subkey' compute='_compute_aeat_perception_keys' help='Tratándose de percepciones correspondientes a las claves\n B, E, F, G, H, I, K y L, deberá consignarse, además, la\n subclave numérica de dos dígitos que corresponda a las\n percepciones de que se trate, según la relación de\n subclaves que para cada una de las mencionadas claves\n figura a continuación.\n En percepciones correspondientes a claves distintas de las\n mencionadas, no se cumplimentará este campo.\n Cuando deban consignarse en el modelo 190\n percepciones satisfechas a un mismo perceptor que\n correspondan a diferentes claves o subclaves de\n percepción, deberán cumplimentarle tantos apuntes o\n registros de percepción como sea necesario, de forma que\n cada uno de ellos refleje exclusivamente los datos de\n percepciones correspondientes a una misma clave y, en\n su caso, subclave.' store=True string='Subclave'
  • is_aeat_perception_subkey_visible Boolean
    compute='_compute_is_aeat_perception_subkey_visible'
Public methods (0)

No public methods.

New fields (5)
  • casilla_01 Integer
    compute='_compute_casilla_01' readonly=False store=True string='[01] Recipients'
  • casilla_02 Float
    compute='_compute_casilla_02' readonly=False store=True string='[02] Amount of perceptions'
  • casilla_03 Float
    compute='_compute_casilla_03' readonly=False store=True string='[03] Amount of retentions'
  • partner_record_ids One2many → l10n.es.aeat.mod190.report.line
    comodel_name='l10n.es.aeat.mod190.report.line' inverse_name='report_id' string='Partner records'
  • registro_manual Boolean
    default=False string='Manual records'
Public methods (2)
  • button_confirm(self)
  • calculate(self)

New fields (63)
  • a_nacimiento Char
    compute='_compute_partner_id_ad_required' store=True string='Year of birth'
  • ad_required Integer
    compute='_compute_ad_required' store=True
  • aeat_perception_key_id Many2one → l10n.es.aeat.report.perception.key
    comodel_name='l10n.es.aeat.report.perception.key' required=True string='Perception key'
  • aeat_perception_subkey_id Many2one → l10n.es.aeat.report.perception.subkey
    comodel_name='l10n.es.aeat.report.perception.subkey' string='Perception subkey'
  • anualidades_por_alimentos Float
    string='Annuities for food'
  • ascendientes Integer
    compute='_compute_partner_id_ad_required' store=True string='Ascendientes menores de 75 años'
  • ascendientes_discapacidad_33 Integer
    compute='_compute_partner_id_ad_required' store=True string='Ascendientes con discapacidad'
  • ascendientes_discapacidad_66 Integer
    compute='_compute_partner_id_ad_required' store=True string='Ascendientes con discapacidad de más del 66%'
  • ascendientes_discapacidad_entero_33 Integer
    compute='_compute_partner_id_ad_required' store=True string='Ascendientes con discapacidad, computados por entero'
  • ascendientes_discapacidad_entero_66 Integer
    compute='_compute_partner_id_ad_required' store=True string='Ascendientes con discapacidad de más del 66%, computados por entero'
  • ascendientes_discapacidad_entero_mr Integer
    compute='_compute_partner_id_ad_required' store=True string='Ascendientes con discapacidad de más del 33%, computados por entero'
  • ascendientes_discapacidad_mr Integer
    compute='_compute_partner_id_ad_required' store=True string='Ascendientes con discapacidad de más del 33%'
  • ascendientes_entero Integer
    compute='_compute_partner_id_ad_required' store=True string='Ascendientes menores de 75 años, computados por entero'
  • ascendientes_entero_m75 Integer
    compute='_compute_partner_id_ad_required' store=True string='Ascendientes mayores de 75 años, computados por entero'
  • ascendientes_m75 Integer
    compute='_compute_partner_id_ad_required' store=True string='Ascendientes mayores de 75 años'
  • ceuta_melilla Char
    related='partner_id.ceuta_melilla' string='Ceuta or Melilla'
  • clave_b01_incapacidad Boolean
    help='Prestación de incapacidad permanente total o parcial percibida en el ejercicio' string='Prestación de incapacidad permanente total o parcial'
  • clave_b01_jubilacion Boolean
    help='Prestación de jubilación percibida en el ejercicio' string='Prestación de jubilación'
  • clave_b01_pensiones_no_contributivas Boolean
    help='Prestación de pensiones no contributivas por invalidez o jubilación percibida en el ejercicio' string='Prestación de pensiones no contributivas por invalidez o jubilación'
  • clave_b01_resto Boolean
    help='Prestación no incluida en el resto en el ejercicio' string='Prestacion no incluida en el resto'
  • clave_b01_viudedad Boolean
    help='Prestación de viudedad percibida en el ejercicio' string='Prestación de viudedad'
  • codigo_provincia Char
    compute='_compute_codigo_provincia' store=True string='State ISO code'
  • computo_primeros_hijos_1 Integer
    compute='_compute_partner_id_ad_required' store=True string='1'
  • computo_primeros_hijos_2 Integer
    compute='_compute_partner_id_ad_required' store=True string='2'
  • computo_primeros_hijos_3 Integer
    compute='_compute_partner_id_ad_required' store=True string='3'
  • contrato_o_relacion Selection
    compute='_compute_partner_id_ad_required' selection=[('1', '1 - Contract or relationship of a general nature'), ('2', '2 - Contract or ratio less than a year'), ('3', '3 - Contract or special employment relationship of a dependent nature'), ('4', '4 - Sporadic relationship of manual workers')] store=True string='Contract or relationship'
  • discapacidad Selection
    compute='_compute_partner_id_ad_required' store=True string='Disability' args: [('0', '0 - No disability or degree of disability less than 33 percent.'), ('1', '1 - Degree of disability greater than 33 percent and less than 66 percent.'), ('2', '2 - Degree of disability greater than 33 percent and less than 66 percent, and reduced mobility.'), ('3', '3 - Degree of disability equal to or greater than 65%.')]
  • ejercicio_devengo Char
    string='year'
  • gastos_deducibles Float
    compute='_compute_percepciones' store=True string='Deductible expenses'
  • hijos_y_desc_discapacidad_33 Integer
    compute='_compute_partner_id_ad_required' store=True string='Hijos y descendientes con discapacidad del 33%'
  • hijos_y_desc_discapacidad_66 Integer
    compute='_compute_partner_id_ad_required' store=True string='Hijos y descendientes con discapacidad del 66%'
  • hijos_y_desc_discapacidad_entero_33 Integer
    compute='_compute_partner_id_ad_required' store=True string='Hijos y descendientes con discapacidad del 33%, computados por entero'
  • hijos_y_desc_discapacidad_entero_66 Integer
    compute='_compute_partner_id_ad_required' store=True string='Hijos y descendientes con discapacidad del 66%, computados por entero'
  • hijos_y_desc_discapacidad_entero_mr Integer
    compute='_compute_partner_id_ad_required' store=True string='Descendientes con discapacidad, computado de forma entera'
  • hijos_y_desc_discapacidad_mr Integer
    compute='_compute_partner_id_ad_required' store=True string='Descendientes con discapacidad'
  • hijos_y_descendientes Integer
    compute='_compute_partner_id_ad_required' store=True string='Rest'
  • hijos_y_descendientes_entero Integer
    compute='_compute_partner_id_ad_required' store=True string='Rest, computed entirely'
  • hijos_y_descendientes_m Integer
    compute='_compute_partner_id_ad_required' store=True string='Under 3 years'
  • hijos_y_descendientes_m_entero Integer
    compute='_compute_partner_id_ad_required' store=True string='Under 3 years, computed entirely'
  • ingresos_a_cuenta_efectuados Float
    compute='_compute_percepciones' store=True string='Income paid on account'
  • ingresos_a_cuenta_efectuados_incap Float
    compute='_compute_percepciones' store=True string='Income on account in kind made as a result of incapacity for work'
  • ingresos_a_cuenta_repercutidos Float
    compute='_compute_percepciones' store=True string='Income paid into account'
  • ingresos_a_cuenta_repercutidos_incap Float
    compute='_compute_percepciones' store=True string='Income to account in kind, repercussions derived from incapacity for work'
  • movilidad_geografica Selection
    compute='_compute_partner_id_ad_required' selection=[('0', 'NO'), ('1', 'SI')] store=True string='Geographical mobility'
  • nif_conyuge Char
    compute='_compute_partner_id_ad_required' store=True string='VAT of the spouse'
  • partner_id Many2one → res.partner
    comodel_name='res.partner' required=True string='Partner'
  • partner_record_ok Boolean
    compute='_compute_partner_record_ok' help='Checked if partner record is OK' store=True string='Partner Record OK'
  • partner_vat Char
    compute='_compute_partner_vat' store=True string='NIF'
  • pensiones_compensatorias Float
    string='Compensatory pensions'
  • percepciones_dinerarias Float
    compute='_compute_percepciones' store=True string='Monetary perceptions'
  • percepciones_dinerarias_incap Float
    compute='_compute_percepciones' store=True string='Monetary perceptions derived from incapacity for work'
  • percepciones_en_especie Float
    compute='_compute_percepciones' store=True string='Valuation'
  • percepciones_en_especie_incap Float
    compute='_compute_percepciones' store=True string='Perceptions in kind arising from incapacity for work'
  • prestamos_vh Selection
    selection=[('0', '0 - Si en ningún momento del ejercicio ha resultado de aplicación la reducción del tipo de retención.'), ('1', '1 - Si en algún momento del ejercicio ha resultado de aplicación la reducción del tipo de retención.')] string='Comunicación préstamos vivienda habitual'
  • reduccion_aplicable Float
    string='Applicable reduction'
  • rendimientos_obtenidos_fondos Boolean
    help='Solo marcar si la cuantía total de la percepción dineraria o la cuantía total de la valoración de la percepción en especie incluye, aunque sea de forma parcial, rendimientos del trabajo derivados directa o indirectamente de participaciones, acciones u otros derechos, incluidas comisiones de éxito, que otorguen derechos económicos especiales a los que se haya aplicado lo dispuesto en el apartado 3 de la Disposición adicional quincuagésima tercera a las que se refiere la Ley 35/2006, de 28 de noviembre' string='Rendimientos del trabajo obtenidos por la gestión de fondos vinculados al emprendimiento, a la innovación y al desarrollo de la actividad económica'
  • report_id Many2one → l10n.es.aeat.mod190.report
    comodel_name='l10n.es.aeat.mod190.report' ondelete='cascade' string='AEAT 190 Report ID'
  • representante_legal_vat Char
    compute='_compute_representante_legal_vat' store=True string='L. R. VAT'
  • retenciones_dinerarias Float
    compute='_compute_percepciones' store=True string='Money withholdings'
  • retenciones_dinerarias_incap Float
    compute='_compute_percepciones' store=True string='Monetary withholdings derived from incapacity for work'
  • situacion_familiar Selection
    compute='_compute_partner_id_ad_required' selection=[('1', '1 - Single, widowed, divorced or separated with children under 18 or incapacitated'), ('2', '2 - Married and not legally separated and your spouse has no annual income above the amount referred to'), ('3', '3 - Other.')] store=True string='Family situation'
  • state Selection
    related='report_id.state'
  • visible_key_b01 Boolean
    compute='_compute_visible_key_b01'
Public methods (2)
  • onchange_aeat_perception_key_id(self)
    @api.onchange('aeat_perception_key_id')
  • onchange_partner_id(self)
    @api.onchange('partner_id')

New fields (2)
  • aeat_perception_subkey_ids One2many → l10n.es.aeat.report.perception.subkey
    comodel_name='l10n.es.aeat.report.perception.subkey' inverse_name='aeat_perception_key_id' string='Subkeys'
  • code Char
    required=True
Public methods (0)

No public methods.

New fields (5)
  • active Boolean
    default=True
  • ad_required Integer
    default=0 args: 'Aditional data required'
  • aeat_number Char
    required=True string='Model number'
  • description Text
  • name Char
    required=True
Public methods (0)

No public methods.

New fields (1)
  • aeat_perception_key_id Many2one → l10n.es.aeat.report.perception.key
    comodel_name='l10n.es.aeat.report.perception.key' ondelete='cascade' string='Perception ID'
Public methods (0)

No public methods.

New fields (37)
  • a_nacimiento Char
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' help='Se consignarán las cuatro cifras del año de nacimiento del\n perceptor.' string='Año de nacimiento'
  • ad_required Integer
    compute='_compute_ad_required' args: 'Aditional data required'
  • aeat_perception_key_id Many2one → l10n.es.aeat.report.perception.key
    comodel_name='l10n.es.aeat.report.perception.key' copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' help='Se consignará la clave alfabética que corresponda a las percepciones de que se trate.' string='Clave percepción'
  • aeat_perception_subkey_id Many2one → l10n.es.aeat.report.perception.subkey
    comodel_name='l10n.es.aeat.report.perception.subkey' copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' help='Tratándose de percepciones correspondientes a las claves\n B, E, F, G, H, I, K y L, deberá consignarse, además, la\n subclave numérica de dos dígitos que corresponda a las\n percepciones de que se trate, según la relación de\n subclaves que para cada una de las mencionadas claves\n figura a continuación.\n En percepciones correspondientes a claves distintas de las\n mencionadas, no se cumplimentará este campo.\n Cuando deban consignarse en el modelo 190\n percepciones satisfechas a un mismo perceptor que\n correspondan a diferentes claves o subclaves de\n percepción, deberán cumplimentarle tantos apuntes o\n registros de percepción como sea necesario, de forma que\n cada uno de ellos refleje exclusivamente los datos de\n percepciones correspondientes a una misma clave y, en\n su caso, subclave.' string='Subclave'
  • ascendientes Integer
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' string='Ascendientes menores de 75 años'
  • ascendientes_discapacidad_33 Integer
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' string='Ascendientes con discapacidad'
  • ascendientes_discapacidad_66 Integer
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' string='Ascendientes con discapacidad de más del 66%'
  • ascendientes_discapacidad_entero_33 Integer
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' string='Ascendientes con discapacidad, computados por entero'
  • ascendientes_discapacidad_entero_66 Integer
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' string='Ascendientes con discapacidad de más del 66%, computados por entero'
  • ascendientes_discapacidad_entero_mr Integer
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' string='Ascendientes con discapacidad de más del 33%, computados por entero'
  • ascendientes_discapacidad_mr Integer
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' string='Ascendientes con discapacidad de más del 33%'
  • ascendientes_entero Integer
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' string='Ascendientes menores de 75 años, computados por entero'
  • ascendientes_entero_m75 Integer
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' string='Ascendientes mayores de 75 años, computados por entero'
  • ascendientes_m75 Integer
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' string='Ascendientes mayores de 75 años'
  • ceuta_melilla Char
    copy=False default=0 groups='l10n_es_aeat_mod190.group_aeat_mod190' help='Se consignará el número 1 en los supuestos en que, por\n tratarse de rentas obtenidas en Ceuta o Melilla con\n derecho a la deducción establecida en el artículo 68.4 de\n la Ley del Impuesto, el pagador hubiera determinado el\n tipo de retención de acuerdo con lo previsto en los\n artículos 80.2 y 95.1, último párrafo, del Reglamento del\n Impuesto.\n En otro caso se hará constar en este campo el número\n cero (0).' string='Ceuta o Melilla'
  • computo_primeros_hijos_1 Integer
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' help='CÓMPUTO DE LOS 3 PRIMEROS HIJOS.\n Solo para percepciones correspondientes a las claves A,\n B.01, B.03, B.04, B.99 y C.\n Datos referidos a la proporción en la que ha sido\n computado a efectos de determinar el tipo de retención\n cada uno de los tres primeros hijos o descendientes del\n perceptor, ordenados de mayor a menor según su edad,\n de acuerdo a los siguientes valores:\n 1: Computado por entero\n 2: Computado por mitad\n 0: En cualquier otro caso.\n ' string='Cómputo de los 3 primeros hijos'
  • computo_primeros_hijos_2 Integer
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' string='Cómputo de los 3 primeros hijos (2º)'
  • computo_primeros_hijos_3 Integer
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' string='Cómputo de los 3 primeros hijos (3º)'
  • contrato_o_relacion Selection
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' help='Solo para percepciones correspondientes a la clave A.\n Tratándose de empleados por cuenta ajena en activo, se\n hará constar el dígito numérico indicativo del tipo de\n contrato o relación existente entre el perceptor y la\n persona o entidad retenedora' string='Contrato o relacion' args: [('1', '1 - Contrato o relación de carácter general'), ('2', '2 - Contrato o relación inferior al año'), ('3', '3 - Contrato o relación laboral especial de carácter dependiente'), ('4', '4 - Relación esporádica propia de los trabajadores manuales')]
  • discapacidad Selection
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' help='Solo para percepciones correspondientes a las claves A,\n B.01, B.03, B.04, B.99 y C.\n Si el perceptor es una persona con discapacidad que tiene\n acreditado un grado de minusvalía igual o superior al 33\n por 100, se hará constar en este campo el código\n numérico indicativo de dicho grado' string='Disability' args: [('0', '0 - Sin discapacidad o grado de minusvalía inferior al 33 por 100.'), ('1', '1 - Grado de minusvalía superior al 33 por 100 e inferior al 66 por 100.'), ('2', '2 - Grado de minusvalía superior al 33 por 100 e inferior al 66 por 100, y movilidad reducida.'), ('3', '3 - Grado de minusvalía igual o superior al 65 por 100.')]
  • hijos_y_desc_discapacidad_33 Integer
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' string='Hijos y descendientes con discapacidad del 33%'
  • hijos_y_desc_discapacidad_66 Integer
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' string='Hijos y descendientes con discapacidad del 66%'
  • hijos_y_desc_discapacidad_entero_33 Integer
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' string='Hijos y descendientes con discapacidad del 33%, computados por entero'
  • hijos_y_desc_discapacidad_entero_66 Integer
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' string='Hijos y descendientes con discapacidad del 66%, computados por entero'
  • hijos_y_desc_discapacidad_entero_mr Integer
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' string='Hijos y descendientes con discapacidad, computados por entero'
  • hijos_y_desc_discapacidad_mr Integer
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' string='Hijos y descendientes con discapacidad'
  • hijos_y_descendientes Integer
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' help='\n Solo para percepciones correspondientes a las claves A,\n B.01, B.03, B.04, B.99 y C.\n Datos referidos a los hijos y demás descendientes del\n perceptor por los que éste tenga derecho a la aplicación\n del mínimo por descendientes previsto en el artículo 58 de\n la Ley del Impuesto.\n ' string='Resto:'
  • hijos_y_descendientes_entero Integer
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' string='Resto, computadors por entero'
  • hijos_y_descendientes_m Integer
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' help='\n Solo para percepciones correspondientes a las claves A,\n B.01, B.03, B.04, B.99 y C.\n Datos referidos a los hijos y demás descendientes del\n perceptor por los que éste tenga derecho a la aplicación\n del mínimo por descendientes previsto en el artículo 58 de\n la Ley del Impuesto.\n ' string='Menores de 3 años'
  • hijos_y_descendientes_m_entero Integer
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' string='Menores de 3 años, computados por entero'
  • incluir_190 Boolean
    copy=False default=False groups='l10n_es_aeat_mod190.group_aeat_mod190' string='Included in mod190'
  • is_aeat_perception_subkey_visible Boolean
    compute='_compute_is_aeat_perception_subkey_visible'
  • is_first_child_computation_visible Boolean
    compute='_compute_is_first_child_computation_visible'
  • movilidad_geografica Selection
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' string='Movilidad geográfica' args: [('0', 'NO'), ('1', 'SI')]
  • nif_conyuge Char
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' help='Solo para percepciones correspondientes a las claves A,\n B.01, B.03, B.04, B.99 y C.\n Únicamente en el supuesto de que la «SITUACIÓN\n FAMILIAR» del perceptor sea la señalada con el número\n 2, se hará constar el número de identificación fiscal de su\n cónyuge.' string='NIF del conyuge'
  • representante_legal_vat Char
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' help='Si el perceptor es menor de 14 años, se consignará en\n este campo el número de identificación fiscal de su\n representante legal (padre, madre o tutor).' string='NIF representante legal'
  • situacion_familiar Selection
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' help='Se hará constar el dígito numérico indicativo de la\n situación familiar del perceptor' selection=[('1', '1 - Soltero, viudo, divorciado o separado con hijos menores de 18 años o mayores incapacitados'), ('2', '2 - Casado y no separado legalmente y su conyuge no tiene rentas anuales superiores a la cuantía a la que se refiere la situación 2ª de las contempladas en el artículo 81.1'), ('3', '3 - Distinta de las anteriores.')] string='Situación familiar'
Public methods (1)
  • onchange_aeat_perception_key_id(self)
    @api.onchange('aeat_perception_key_id')
REPOSITORY
REPOSITORYOCA/l10n-spain
GIT
GIThttps://github.com/OCA/l10n-spain.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-spain/tree/18.0/l10n_es_aeat_mod190
VERSION
VERSION 1.4.0
CATEGORY
CATEGORYLocalization/Accounting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Punt Sistemes SLU, Vunkers IT Experts, SLU
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Punt Sistemes SLU, Vunkers IT Experts, SLU
COMMITTERS
COMMITTERSJairo Llopis, Enric Tobella, Víctor Martínez, Weblate, OCA-git-bot, oca-ci, Emilio Pascual, Eduardo de Miguel, Sabrina Martín
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-spain
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:30:05
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/account-financial-reporting:
    - account_tax_balance
OCA/l10n-spain:
    - l10n_es_aeat
OCA/server-ux:
    - date_range
odoo/odoo:
    - l10n_es
    - account
    - base_setup
    - base
    - web
    - onboarding
    - product
    - mail
    - 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 190 de la AEAT. Retenciones e ingresos a cuenta. Rendimientos del
trabajo y de actividades económicas, premios y determinadas ganancias
patrimoniales e imputaciones de Renta. Resumen anual.

Code Analysis

Views touched (8)
XML IDNameModelTypeStatus
account_fiscal_position_form_view account.fiscal.position.form (in l10n_es_aeat_mod190) account.fiscal.position field Inherits account.view_account_position_form
invoice_form account.move field Inherits account.view_move_form
view_l10n_es_aeat_mod190_report_form l10n_es.aeat.mod190.report.form l10n.es.aeat.mod190.report field Inherits l10n_es_aeat.view_l10n_es_aeat_report_form
view_l10n_es_aeat_mod190_report_line_form l10n_es.aeat.mod190.report.line.form l10n.es.aeat.mod190.report.line form New
view_l10n_es_aeat_mod190_report_line_tree l10n_es.aeat.mod190.report.line.tree l10n.es.aeat.mod190.report.line list New
view_l10n_es_aeat_mod190_report_tree l10n_es.aeat.mod190.report.tree l10n.es.aeat.mod190.report list Inherits l10n_es_aeat.view_l10n_es_aeat_report_tree
view_move_line_form account.move.line field Inherits account.view_move_line_form
view_partner_form_inherit_l10n_es_aeat_mod190 view.partner.form.inherit.l10n.es.aeat.mod190 res.partner page Inherits l10n_es_aeat.view_partner_form
Models touched (9)

New fields (3)
  • aeat_perception_key_id Many2one → l10n.es.aeat.report.perception.key
    comodel_name='l10n.es.aeat.report.perception.key' help='Se consignará la clave alfabética que corresponda a las percepciones de que se trate.' string='Clave percepción'
  • aeat_perception_subkey_id Many2one → l10n.es.aeat.report.perception.subkey
    comodel_name='l10n.es.aeat.report.perception.subkey' domain="[('aeat_perception_key_id', '=', aeat_perception_key_id)]" help='Tratándose de percepciones correspondientes a las claves\n B, E, F, G, H, I, K y L, deberá consignarse, además, la\n subclave numérica de dos dígitos que corresponda a las\n percepciones de que se trate, según la relación de\n subclaves que para cada una de las mencionadas claves\n figura a continuación.\n En percepciones correspondientes a claves distintas de las\n mencionadas, no se cumplimentará este campo.\n Cuando deban consignarse en el modelo 190\n percepciones satisfechas a un mismo perceptor que\n correspondan a diferentes claves o subclaves de\n percepción, deberán cumplimentarle tantos apuntes o\n registros de percepción como sea necesario, de forma que\n cada uno de ellos refleje exclusivamente los datos de\n percepciones correspondientes a una misma clave y, en\n su caso, subclave.' string='Subclave'
  • is_aeat_perception_subkey_visible Boolean
    compute='_compute_is_aeat_perception_subkey_visible'
Public methods (1)
  • onchange_aeat_perception_key_id(self)
    @api.onchange('aeat_perception_key_id')

New fields (3)
  • aeat_perception_key_id Many2one → l10n.es.aeat.report.perception.key
    comodel_name='l10n.es.aeat.report.perception.key' compute='_compute_aeat_perception_key_id' help='Se consignará la clave alfabética que corresponda a las percepciones de que se trate.' store=True string='Clave percepción'
  • aeat_perception_subkey_id Many2one → l10n.es.aeat.report.perception.subkey
    comodel_name='l10n.es.aeat.report.perception.subkey' compute='_compute_aeat_perception_subkey_id' domain="[('aeat_perception_key_id', '=', aeat_perception_key_id)]" help='Tratándose de percepciones correspondientes a las claves\n B, E, F, G, H, I, K y L, deberá consignarse, además, la\n subclave numérica de dos dígitos que corresponda a las\n percepciones de que se trate, según la relación de\n subclaves que para cada una de las mencionadas claves\n figura a continuación.\n En percepciones correspondientes a claves distintas de las\n mencionadas, no se cumplimentará este campo.\n Cuando deban consignarse en el modelo 190\n percepciones satisfechas a un mismo perceptor que\n correspondan a diferentes claves o subclaves de\n percepción, deberán cumplimentarle tantos apuntes o\n registros de percepción como sea necesario, de forma que\n cada uno de ellos refleje exclusivamente los datos de\n percepciones correspondientes a una misma clave y, en\n su caso, subclave.' store=True string='Subclave'
  • is_aeat_perception_subkey_visible Boolean
    compute='_compute_is_aeat_perception_subkey_visible'
Public methods (0)

No public methods.

New fields (3)
  • aeat_perception_key_id Many2one → l10n.es.aeat.report.perception.key
    comodel_name='l10n.es.aeat.report.perception.key' compute='_compute_aeat_perception_keys' help='Se consignará la clave alfabética que corresponda a las percepciones de que se trate.' store=True string='Clave percepción'
  • aeat_perception_subkey_id Many2one → l10n.es.aeat.report.perception.subkey
    comodel_name='l10n.es.aeat.report.perception.subkey' compute='_compute_aeat_perception_keys' help='Tratándose de percepciones correspondientes a las claves\n B, E, F, G, H, I, K y L, deberá consignarse, además, la\n subclave numérica de dos dígitos que corresponda a las\n percepciones de que se trate, según la relación de\n subclaves que para cada una de las mencionadas claves\n figura a continuación.\n En percepciones correspondientes a claves distintas de las\n mencionadas, no se cumplimentará este campo.\n Cuando deban consignarse en el modelo 190\n percepciones satisfechas a un mismo perceptor que\n correspondan a diferentes claves o subclaves de\n percepción, deberán cumplimentarle tantos apuntes o\n registros de percepción como sea necesario, de forma que\n cada uno de ellos refleje exclusivamente los datos de\n percepciones correspondientes a una misma clave y, en\n su caso, subclave.' store=True string='Subclave'
  • is_aeat_perception_subkey_visible Boolean
    compute='_compute_is_aeat_perception_subkey_visible'
Public methods (0)

No public methods.

New fields (5)
  • casilla_01 Integer
    compute='_compute_casilla_01' readonly=False store=True string='[01] Recipients'
  • casilla_02 Float
    compute='_compute_casilla_02' readonly=False store=True string='[02] Amount of perceptions'
  • casilla_03 Float
    compute='_compute_casilla_03' readonly=False store=True string='[03] Amount of retentions'
  • partner_record_ids One2many → l10n.es.aeat.mod190.report.line
    comodel_name='l10n.es.aeat.mod190.report.line' inverse_name='report_id' string='Partner records'
  • registro_manual Boolean
    default=False string='Manual records'
Public methods (2)
  • button_confirm(self)
  • calculate(self)

New fields (63)
  • a_nacimiento Char
    compute='_compute_partner_id_ad_required' store=True string='Year of birth'
  • ad_required Integer
    compute='_compute_ad_required' store=True
  • aeat_perception_key_id Many2one → l10n.es.aeat.report.perception.key
    comodel_name='l10n.es.aeat.report.perception.key' required=True string='Perception key'
  • aeat_perception_subkey_id Many2one → l10n.es.aeat.report.perception.subkey
    comodel_name='l10n.es.aeat.report.perception.subkey' string='Perception subkey'
  • anualidades_por_alimentos Float
    string='Annuities for food'
  • ascendientes Integer
    compute='_compute_partner_id_ad_required' store=True string='Ascendientes menores de 75 años'
  • ascendientes_discapacidad_33 Integer
    compute='_compute_partner_id_ad_required' store=True string='Ascendientes con discapacidad'
  • ascendientes_discapacidad_66 Integer
    compute='_compute_partner_id_ad_required' store=True string='Ascendientes con discapacidad de más del 66%'
  • ascendientes_discapacidad_entero_33 Integer
    compute='_compute_partner_id_ad_required' store=True string='Ascendientes con discapacidad, computados por entero'
  • ascendientes_discapacidad_entero_66 Integer
    compute='_compute_partner_id_ad_required' store=True string='Ascendientes con discapacidad de más del 66%, computados por entero'
  • ascendientes_discapacidad_entero_mr Integer
    compute='_compute_partner_id_ad_required' store=True string='Ascendientes con discapacidad de más del 33%, computados por entero'
  • ascendientes_discapacidad_mr Integer
    compute='_compute_partner_id_ad_required' store=True string='Ascendientes con discapacidad de más del 33%'
  • ascendientes_entero Integer
    compute='_compute_partner_id_ad_required' store=True string='Ascendientes menores de 75 años, computados por entero'
  • ascendientes_entero_m75 Integer
    compute='_compute_partner_id_ad_required' store=True string='Ascendientes mayores de 75 años, computados por entero'
  • ascendientes_m75 Integer
    compute='_compute_partner_id_ad_required' store=True string='Ascendientes mayores de 75 años'
  • ceuta_melilla Char
    related='partner_id.ceuta_melilla' string='Ceuta or Melilla'
  • clave_b01_incapacidad Boolean
    help='Prestación de incapacidad permanente total o parcial percibida en el ejercicio' string='Prestación de incapacidad permanente total o parcial'
  • clave_b01_jubilacion Boolean
    help='Prestación de jubilación percibida en el ejercicio' string='Prestación de jubilación'
  • clave_b01_pensiones_no_contributivas Boolean
    help='Prestación de pensiones no contributivas por invalidez o jubilación percibida en el ejercicio' string='Prestación de pensiones no contributivas por invalidez o jubilación'
  • clave_b01_resto Boolean
    help='Prestación no incluida en el resto en el ejercicio' string='Prestacion no incluida en el resto'
  • clave_b01_viudedad Boolean
    help='Prestación de viudedad percibida en el ejercicio' string='Prestación de viudedad'
  • codigo_provincia Char
    compute='_compute_codigo_provincia' store=True string='State ISO code'
  • computo_primeros_hijos_1 Integer
    compute='_compute_partner_id_ad_required' store=True string='1'
  • computo_primeros_hijos_2 Integer
    compute='_compute_partner_id_ad_required' store=True string='2'
  • computo_primeros_hijos_3 Integer
    compute='_compute_partner_id_ad_required' store=True string='3'
  • contrato_o_relacion Selection
    compute='_compute_partner_id_ad_required' selection=[('1', '1 - Contract or relationship of a general nature'), ('2', '2 - Contract or ratio less than a year'), ('3', '3 - Contract or special employment relationship of a dependent nature'), ('4', '4 - Sporadic relationship of manual workers')] store=True string='Contract or relationship'
  • discapacidad Selection
    compute='_compute_partner_id_ad_required' store=True string='Disability' args: [('0', '0 - No disability or degree of disability less than 33 percent.'), ('1', '1 - Degree of disability greater than 33 percent and less than 66 percent.'), ('2', '2 - Degree of disability greater than 33 percent and less than 66 percent, and reduced mobility.'), ('3', '3 - Degree of disability equal to or greater than 65%.')]
  • ejercicio_devengo Char
    string='year'
  • gastos_deducibles Float
    compute='_compute_percepciones' store=True string='Deductible expenses'
  • hijos_y_desc_discapacidad_33 Integer
    compute='_compute_partner_id_ad_required' store=True string='Hijos y descendientes con discapacidad del 33%'
  • hijos_y_desc_discapacidad_66 Integer
    compute='_compute_partner_id_ad_required' store=True string='Hijos y descendientes con discapacidad del 66%'
  • hijos_y_desc_discapacidad_entero_33 Integer
    compute='_compute_partner_id_ad_required' store=True string='Hijos y descendientes con discapacidad del 33%, computados por entero'
  • hijos_y_desc_discapacidad_entero_66 Integer
    compute='_compute_partner_id_ad_required' store=True string='Hijos y descendientes con discapacidad del 66%, computados por entero'
  • hijos_y_desc_discapacidad_entero_mr Integer
    compute='_compute_partner_id_ad_required' store=True string='Descendientes con discapacidad, computado de forma entera'
  • hijos_y_desc_discapacidad_mr Integer
    compute='_compute_partner_id_ad_required' store=True string='Descendientes con discapacidad'
  • hijos_y_descendientes Integer
    compute='_compute_partner_id_ad_required' store=True string='Rest'
  • hijos_y_descendientes_entero Integer
    compute='_compute_partner_id_ad_required' store=True string='Rest, computed entirely'
  • hijos_y_descendientes_m Integer
    compute='_compute_partner_id_ad_required' store=True string='Under 3 years'
  • hijos_y_descendientes_m_entero Integer
    compute='_compute_partner_id_ad_required' store=True string='Under 3 years, computed entirely'
  • ingresos_a_cuenta_efectuados Float
    compute='_compute_percepciones' store=True string='Income paid on account'
  • ingresos_a_cuenta_efectuados_incap Float
    compute='_compute_percepciones' store=True string='Income on account in kind made as a result of incapacity for work'
  • ingresos_a_cuenta_repercutidos Float
    compute='_compute_percepciones' store=True string='Income paid into account'
  • ingresos_a_cuenta_repercutidos_incap Float
    compute='_compute_percepciones' store=True string='Income to account in kind, repercussions derived from incapacity for work'
  • movilidad_geografica Selection
    compute='_compute_partner_id_ad_required' selection=[('0', 'NO'), ('1', 'SI')] store=True string='Geographical mobility'
  • nif_conyuge Char
    compute='_compute_partner_id_ad_required' store=True string='VAT of the spouse'
  • partner_id Many2one → res.partner
    comodel_name='res.partner' required=True string='Partner'
  • partner_record_ok Boolean
    compute='_compute_partner_record_ok' help='Checked if partner record is OK' store=True string='Partner Record OK'
  • partner_vat Char
    compute='_compute_partner_vat' store=True string='NIF'
  • pensiones_compensatorias Float
    string='Compensatory pensions'
  • percepciones_dinerarias Float
    compute='_compute_percepciones' store=True string='Monetary perceptions'
  • percepciones_dinerarias_incap Float
    compute='_compute_percepciones' store=True string='Monetary perceptions derived from incapacity for work'
  • percepciones_en_especie Float
    compute='_compute_percepciones' store=True string='Valuation'
  • percepciones_en_especie_incap Float
    compute='_compute_percepciones' store=True string='Perceptions in kind arising from incapacity for work'
  • prestamos_vh Selection
    selection=[('0', '0 - Si en ningún momento del ejercicio ha resultado de aplicación la reducción del tipo de retención.'), ('1', '1 - Si en algún momento del ejercicio ha resultado de aplicación la reducción del tipo de retención.')] string='Comunicación préstamos vivienda habitual'
  • reduccion_aplicable Float
    string='Applicable reduction'
  • rendimientos_obtenidos_fondos Boolean
    help='Solo marcar si la cuantía total de la percepción dineraria o la cuantía total de la valoración de la percepción en especie incluye, aunque sea de forma parcial, rendimientos del trabajo derivados directa o indirectamente de participaciones, acciones u otros derechos, incluidas comisiones de éxito, que otorguen derechos económicos especiales a los que se haya aplicado lo dispuesto en el apartado 3 de la Disposición adicional quincuagésima tercera a las que se refiere la Ley 35/2006, de 28 de noviembre' string='Rendimientos del trabajo obtenidos por la gestión de fondos vinculados al emprendimiento, a la innovación y al desarrollo de la actividad económica'
  • report_id Many2one → l10n.es.aeat.mod190.report
    comodel_name='l10n.es.aeat.mod190.report' ondelete='cascade' string='AEAT 190 Report ID'
  • representante_legal_vat Char
    compute='_compute_representante_legal_vat' store=True string='L. R. VAT'
  • retenciones_dinerarias Float
    compute='_compute_percepciones' store=True string='Money withholdings'
  • retenciones_dinerarias_incap Float
    compute='_compute_percepciones' store=True string='Monetary withholdings derived from incapacity for work'
  • situacion_familiar Selection
    compute='_compute_partner_id_ad_required' selection=[('1', '1 - Single, widowed, divorced or separated with children under 18 or incapacitated'), ('2', '2 - Married and not legally separated and your spouse has no annual income above the amount referred to'), ('3', '3 - Other.')] store=True string='Family situation'
  • state Selection
    related='report_id.state'
  • visible_key_b01 Boolean
    compute='_compute_visible_key_b01'
Public methods (2)
  • onchange_aeat_perception_key_id(self)
    @api.onchange('aeat_perception_key_id')
  • onchange_partner_id(self)
    @api.onchange('partner_id')

New fields (2)
  • aeat_perception_subkey_ids One2many → l10n.es.aeat.report.perception.subkey
    comodel_name='l10n.es.aeat.report.perception.subkey' inverse_name='aeat_perception_key_id' string='Subkeys'
  • code Char
    required=True
Public methods (0)

No public methods.

New fields (5)
  • active Boolean
    default=True
  • ad_required Integer
    default=0 args: 'Aditional data required'
  • aeat_number Char
    required=True string='Model number'
  • description Text
  • name Char
    required=True
Public methods (0)

No public methods.

New fields (1)
  • aeat_perception_key_id Many2one → l10n.es.aeat.report.perception.key
    comodel_name='l10n.es.aeat.report.perception.key' ondelete='cascade' string='Perception ID'
Public methods (0)

No public methods.

New fields (37)
  • a_nacimiento Char
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' help='Se consignarán las cuatro cifras del año de nacimiento del\n perceptor.' string='Año de nacimiento'
  • ad_required Integer
    compute='_compute_ad_required' args: 'Aditional data required'
  • aeat_perception_key_id Many2one → l10n.es.aeat.report.perception.key
    comodel_name='l10n.es.aeat.report.perception.key' copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' help='Se consignará la clave alfabética que corresponda a las percepciones de que se trate.' string='Clave percepción'
  • aeat_perception_subkey_id Many2one → l10n.es.aeat.report.perception.subkey
    comodel_name='l10n.es.aeat.report.perception.subkey' copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' help='Tratándose de percepciones correspondientes a las claves\n B, E, F, G, H, I, K y L, deberá consignarse, además, la\n subclave numérica de dos dígitos que corresponda a las\n percepciones de que se trate, según la relación de\n subclaves que para cada una de las mencionadas claves\n figura a continuación.\n En percepciones correspondientes a claves distintas de las\n mencionadas, no se cumplimentará este campo.\n Cuando deban consignarse en el modelo 190\n percepciones satisfechas a un mismo perceptor que\n correspondan a diferentes claves o subclaves de\n percepción, deberán cumplimentarle tantos apuntes o\n registros de percepción como sea necesario, de forma que\n cada uno de ellos refleje exclusivamente los datos de\n percepciones correspondientes a una misma clave y, en\n su caso, subclave.' string='Subclave'
  • ascendientes Integer
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' string='Ascendientes menores de 75 años'
  • ascendientes_discapacidad_33 Integer
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' string='Ascendientes con discapacidad'
  • ascendientes_discapacidad_66 Integer
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' string='Ascendientes con discapacidad de más del 66%'
  • ascendientes_discapacidad_entero_33 Integer
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' string='Ascendientes con discapacidad, computados por entero'
  • ascendientes_discapacidad_entero_66 Integer
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' string='Ascendientes con discapacidad de más del 66%, computados por entero'
  • ascendientes_discapacidad_entero_mr Integer
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' string='Ascendientes con discapacidad de más del 33%, computados por entero'
  • ascendientes_discapacidad_mr Integer
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' string='Ascendientes con discapacidad de más del 33%'
  • ascendientes_entero Integer
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' string='Ascendientes menores de 75 años, computados por entero'
  • ascendientes_entero_m75 Integer
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' string='Ascendientes mayores de 75 años, computados por entero'
  • ascendientes_m75 Integer
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' string='Ascendientes mayores de 75 años'
  • ceuta_melilla Char
    copy=False default=0 groups='l10n_es_aeat_mod190.group_aeat_mod190' help='Se consignará el número 1 en los supuestos en que, por\n tratarse de rentas obtenidas en Ceuta o Melilla con\n derecho a la deducción establecida en el artículo 68.4 de\n la Ley del Impuesto, el pagador hubiera determinado el\n tipo de retención de acuerdo con lo previsto en los\n artículos 80.2 y 95.1, último párrafo, del Reglamento del\n Impuesto.\n En otro caso se hará constar en este campo el número\n cero (0).' string='Ceuta o Melilla'
  • computo_primeros_hijos_1 Integer
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' help='CÓMPUTO DE LOS 3 PRIMEROS HIJOS.\n Solo para percepciones correspondientes a las claves A,\n B.01, B.03, B.04, B.99 y C.\n Datos referidos a la proporción en la que ha sido\n computado a efectos de determinar el tipo de retención\n cada uno de los tres primeros hijos o descendientes del\n perceptor, ordenados de mayor a menor según su edad,\n de acuerdo a los siguientes valores:\n 1: Computado por entero\n 2: Computado por mitad\n 0: En cualquier otro caso.\n ' string='Cómputo de los 3 primeros hijos'
  • computo_primeros_hijos_2 Integer
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' string='Cómputo de los 3 primeros hijos (2º)'
  • computo_primeros_hijos_3 Integer
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' string='Cómputo de los 3 primeros hijos (3º)'
  • contrato_o_relacion Selection
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' help='Solo para percepciones correspondientes a la clave A.\n Tratándose de empleados por cuenta ajena en activo, se\n hará constar el dígito numérico indicativo del tipo de\n contrato o relación existente entre el perceptor y la\n persona o entidad retenedora' string='Contrato o relacion' args: [('1', '1 - Contrato o relación de carácter general'), ('2', '2 - Contrato o relación inferior al año'), ('3', '3 - Contrato o relación laboral especial de carácter dependiente'), ('4', '4 - Relación esporádica propia de los trabajadores manuales')]
  • discapacidad Selection
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' help='Solo para percepciones correspondientes a las claves A,\n B.01, B.03, B.04, B.99 y C.\n Si el perceptor es una persona con discapacidad que tiene\n acreditado un grado de minusvalía igual o superior al 33\n por 100, se hará constar en este campo el código\n numérico indicativo de dicho grado' string='Disability' args: [('0', '0 - Sin discapacidad o grado de minusvalía inferior al 33 por 100.'), ('1', '1 - Grado de minusvalía superior al 33 por 100 e inferior al 66 por 100.'), ('2', '2 - Grado de minusvalía superior al 33 por 100 e inferior al 66 por 100, y movilidad reducida.'), ('3', '3 - Grado de minusvalía igual o superior al 65 por 100.')]
  • hijos_y_desc_discapacidad_33 Integer
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' string='Hijos y descendientes con discapacidad del 33%'
  • hijos_y_desc_discapacidad_66 Integer
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' string='Hijos y descendientes con discapacidad del 66%'
  • hijos_y_desc_discapacidad_entero_33 Integer
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' string='Hijos y descendientes con discapacidad del 33%, computados por entero'
  • hijos_y_desc_discapacidad_entero_66 Integer
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' string='Hijos y descendientes con discapacidad del 66%, computados por entero'
  • hijos_y_desc_discapacidad_entero_mr Integer
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' string='Hijos y descendientes con discapacidad, computados por entero'
  • hijos_y_desc_discapacidad_mr Integer
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' string='Hijos y descendientes con discapacidad'
  • hijos_y_descendientes Integer
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' help='\n Solo para percepciones correspondientes a las claves A,\n B.01, B.03, B.04, B.99 y C.\n Datos referidos a los hijos y demás descendientes del\n perceptor por los que éste tenga derecho a la aplicación\n del mínimo por descendientes previsto en el artículo 58 de\n la Ley del Impuesto.\n ' string='Resto:'
  • hijos_y_descendientes_entero Integer
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' string='Resto, computadors por entero'
  • hijos_y_descendientes_m Integer
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' help='\n Solo para percepciones correspondientes a las claves A,\n B.01, B.03, B.04, B.99 y C.\n Datos referidos a los hijos y demás descendientes del\n perceptor por los que éste tenga derecho a la aplicación\n del mínimo por descendientes previsto en el artículo 58 de\n la Ley del Impuesto.\n ' string='Menores de 3 años'
  • hijos_y_descendientes_m_entero Integer
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' string='Menores de 3 años, computados por entero'
  • incluir_190 Boolean
    copy=False default=False groups='l10n_es_aeat_mod190.group_aeat_mod190' string='Included in mod190'
  • is_aeat_perception_subkey_visible Boolean
    compute='_compute_is_aeat_perception_subkey_visible'
  • is_first_child_computation_visible Boolean
    compute='_compute_is_first_child_computation_visible'
  • movilidad_geografica Selection
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' string='Movilidad geográfica' args: [('0', 'NO'), ('1', 'SI')]
  • nif_conyuge Char
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' help='Solo para percepciones correspondientes a las claves A,\n B.01, B.03, B.04, B.99 y C.\n Únicamente en el supuesto de que la «SITUACIÓN\n FAMILIAR» del perceptor sea la señalada con el número\n 2, se hará constar el número de identificación fiscal de su\n cónyuge.' string='NIF del conyuge'
  • representante_legal_vat Char
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' help='Si el perceptor es menor de 14 años, se consignará en\n este campo el número de identificación fiscal de su\n representante legal (padre, madre o tutor).' string='NIF representante legal'
  • situacion_familiar Selection
    copy=False groups='l10n_es_aeat_mod190.group_aeat_mod190' help='Se hará constar el dígito numérico indicativo de la\n situación familiar del perceptor' selection=[('1', '1 - Soltero, viudo, divorciado o separado con hijos menores de 18 años o mayores incapacitados'), ('2', '2 - Casado y no separado legalmente y su conyuge no tiene rentas anuales superiores a la cuantía a la que se refiere la situación 2ª de las contempladas en el artículo 81.1'), ('3', '3 - Distinta de las anteriores.')] string='Situación familiar'
Public methods (1)
  • onchange_aeat_perception_key_id(self)
    @api.onchange('aeat_perception_key_id')
REPOSITORY
REPOSITORYOCA/l10n-spain
GIT
GIThttps://github.com/OCA/l10n-spain.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-spain/tree/17.0/l10n_es_aeat_mod190
VERSION
VERSION 1.4.0
CATEGORY
CATEGORYLocalization/Accounting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Punt Sistemes SLU, Vunkers IT Experts, SLU
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Punt Sistemes SLU, Vunkers IT Experts, SLU
COMMITTERS
COMMITTERSVíctor Martínez, Weblate, OCA-git-bot, oca-ci, EmilioPascual, Ignacio, Manuel Baena García
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-spain
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:19:59
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/account-financial-reporting:
    - account_tax_balance
OCA/l10n-spain:
    - l10n_es_aeat
OCA/server-ux:
    - date_range
odoo/odoo:
    - l10n_es
    - account
    - base_setup
    - base
    - web
    - onboarding
    - product
    - mail
    - 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 190 de la AEAT. Retenciones e ingresos a cuenta. Rendimientos del
trabajo y de actividades económicas, premios y determinadas ganancias
patrimoniales e imputaciones de Renta. Resumen anual.

Code Analysis

Views touched (8)
XML IDNameModelTypeStatus
account_fiscal_position_form_view account.fiscal.position.form (in l10n_es_aeat_mod190) account.fiscal.position field Inherits account.view_account_position_form
invoice_form account.move field Inherits account.view_move_form
view_l10n_es_aeat_mod190_report_form l10n_es.aeat.mod190.report.form l10n.es.aeat.mod190.report field Inherits l10n_es_aeat.view_l10n_es_aeat_report_form
view_l10n_es_aeat_mod190_report_line_form l10n_es.aeat.mod190.report.line.form l10n.es.aeat.mod190.report.line form New
view_l10n_es_aeat_mod190_report_line_tree l10n_es.aeat.mod190.report.line.tree l10n.es.aeat.mod190.report.line tree New
view_l10n_es_aeat_mod190_report_tree l10n_es.aeat.mod190.report.tree l10n.es.aeat.mod190.report tree Inherits l10n_es_aeat.view_l10n_es_aeat_report_tree
view_move_line_form account.move.line field Inherits account.view_move_line_form
view_partner_form_inherit_l10n_es_aeat_mod190 view.partner.form.inherit.l10n.es.aeat.mod190 res.partner page Inherits l10n_es_aeat.view_partner_form
Models touched (9)

New fields (3)
  • aeat_perception_key_id Many2one → l10n.es.aeat.report.perception.key
    comodel_name='l10n.es.aeat.report.perception.key' help='Se consignará la clave alfabética que corresponda a las percepciones de que se trate.' string='Clave percepción'
  • aeat_perception_subkey_id Many2one → l10n.es.aeat.report.perception.subkey
    comodel_name='l10n.es.aeat.report.perception.subkey' domain="[('aeat_perception_key_id', '=', aeat_perception_key_id)]" help='Tratándose de percepciones correspondientes a las claves\n B, E, F, G, H, I, K y L, deberá consignarse, además, la\n subclave numérica de dos dígitos que corresponda a las\n percepciones de que se trate, según la relación de\n subclaves que para cada una de las mencionadas claves\n figura a continuación.\n En percepciones correspondientes a claves distintas de las\n mencionadas, no se cumplimentará este campo.\n Cuando deban consignarse en el modelo 190\n percepciones satisfechas a un mismo perceptor que\n correspondan a diferentes claves o subclaves de\n percepción, deberán cumplimentarle tantos apuntes o\n registros de percepción como sea necesario, de forma que\n cada uno de ellos refleje exclusivamente los datos de\n percepciones correspondientes a una misma clave y, en\n su caso, subclave.' string='Subclave'
  • is_aeat_perception_subkey_visible Boolean
    compute='_compute_is_aeat_perception_subkey_visible'
Public methods (1)
  • onchange_aeat_perception_key_id(self)
    @api.onchange('aeat_perception_key_id')

New fields (3)
  • aeat_perception_key_id Many2one → l10n.es.aeat.report.perception.key
    comodel_name='l10n.es.aeat.report.perception.key' compute='_compute_aeat_perception_key_id' help='Se consignará la clave alfabética que corresponda a las percepciones de que se trate.' store=True string='Clave percepción'
  • aeat_perception_subkey_id Many2one → l10n.es.aeat.report.perception.subkey
    comodel_name='l10n.es.aeat.report.perception.subkey' compute='_compute_aeat_perception_subkey_id' domain="[('aeat_perception_key_id', '=', aeat_perception_key_id)]" help='Tratándose de percepciones correspondientes a las claves\n B, E, F, G, H, I, K y L, deberá consignarse, además, la\n subclave numérica de dos dígitos que corresponda a las\n percepciones de que se trate, según la relación de\n subclaves que para cada una de las mencionadas claves\n figura a continuación.\n En percepciones correspondientes a claves distintas de las\n mencionadas, no se cumplimentará este campo.\n Cuando deban consignarse en el modelo 190\n percepciones satisfechas a un mismo perceptor que\n correspondan a diferentes claves o subclaves de\n percepción, deberán cumplimentarle tantos apuntes o\n registros de percepción como sea necesario, de forma que\n cada uno de ellos refleje exclusivamente los datos de\n percepciones correspondientes a una misma clave y, en\n su caso, subclave.' store=True string='Subclave'
  • is_aeat_perception_subkey_visible Boolean
    compute='_compute_is_aeat_perception_subkey_visible'
Public methods (0)

No public methods.

New fields (3)
  • aeat_perception_key_id Many2one → l10n.es.aeat.report.perception.key
    comodel_name='l10n.es.aeat.report.perception.key' compute='_compute_aeat_perception_keys' help='Se consignará la clave alfabética que corresponda a las percepciones de que se trate.' store=True string='Clave percepción'
  • aeat_perception_subkey_id Many2one → l10n.es.aeat.report.perception.subkey
    comodel_name='l10n.es.aeat.report.perception.subkey' compute='_compute_aeat_perception_keys' help='Tratándose de percepciones correspondientes a las claves\n B, E, F, G, H, I, K y L, deberá consignarse, además, la\n subclave numérica de dos dígitos que corresponda a las\n percepciones de que se trate, según la relación de\n subclaves que para cada una de las mencionadas claves\n figura a continuación.\n En percepciones correspondientes a claves distintas de las\n mencionadas, no se cumplimentará este campo.\n Cuando deban consignarse en el modelo 190\n percepciones satisfechas a un mismo perceptor que\n correspondan a diferentes claves o subclaves de\n percepción, deberán cumplimentarle tantos apuntes o\n registros de percepción como sea necesario, de forma que\n cada uno de ellos refleje exclusivamente los datos de\n percepciones correspondientes a una misma clave y, en\n su caso, subclave.' store=True string='Subclave'
  • is_aeat_perception_subkey_visible Boolean
    compute='_compute_is_aeat_perception_subkey_visible'
Public methods (0)

No public methods.

New fields (5)
  • casilla_01 Integer
    compute='_compute_casilla_01' readonly=False store=True string='[01] Recipients'
  • casilla_02 Float
    compute='_compute_casilla_02' readonly=False store=True string='[02] Amount of perceptions'
  • casilla_03 Float
    compute='_compute_casilla_03' readonly=False store=True string='[03] Amount of retentions'
  • partner_record_ids One2many → l10n.es.aeat.mod190.report.line
    comodel_name='l10n.es.aeat.mod190.report.line' inverse_name='report_id' string='Partner records'
  • registro_manual Boolean
    default=False string='Manual records'
Public methods (2)
  • button_confirm(self)
  • calculate(self)

New fields (63)
  • a_nacimiento Char
    compute='_compute_partner_id_ad_required' store=True string='Year of birth'
  • ad_required Integer
    compute='_compute_ad_required' store=True
  • aeat_perception_key_id Many2one → l10n.es.aeat.report.perception.key
    comodel_name='l10n.es.aeat.report.perception.key' required=True string='Perception key'
  • aeat_perception_subkey_id Many2one → l10n.es.aeat.report.perception.subkey
    comodel_name='l10n.es.aeat.report.perception.subkey' string='Perception subkey'
  • anualidades_por_alimentos Float
    string='Annuities for food'
  • ascendientes Integer
    compute='_compute_partner_id_ad_required' store=True string='Ascendientes menores de 75 años'
  • ascendientes_discapacidad_33 Integer
    compute='_compute_partner_id_ad_required' store=True string='Ascendientes con discapacidad'
  • ascendientes_discapacidad_66 Integer
    compute='_compute_partner_id_ad_required' store=True string='Ascendientes con discapacidad de más del 66%'
  • ascendientes_discapacidad_entero_33 Integer
    compute='_compute_partner_id_ad_required' store=True string='Ascendientes con discapacidad, computados por entero'
  • ascendientes_discapacidad_entero_66 Integer
    compute='_compute_partner_id_ad_required' store=True string='Ascendientes con discapacidad de más del 66%, computados por entero'
  • ascendientes_discapacidad_entero_mr Integer
    compute='_compute_partner_id_ad_required' store=True string='Ascendientes con discapacidad de más del 33%, computados por entero'
  • ascendientes_discapacidad_mr Integer
    compute='_compute_partner_id_ad_required' store=True string='Ascendientes con discapacidad de más del 33%'
  • ascendientes_entero Integer
    compute='_compute_partner_id_ad_required' store=True string='Ascendientes menores de 75 años, computados por entero'
  • ascendientes_entero_m75 Integer
    compute='_compute_partner_id_ad_required' store=True string='Ascendientes mayores de 75 años, computados por entero'
  • ascendientes_m75 Integer
    compute='_compute_partner_id_ad_required' store=True string='Ascendientes mayores de 75 años'
  • ceuta_melilla Char
    related='partner_id.ceuta_melilla' string='Ceuta or Melilla'
  • clave_b01_incapacidad Boolean
    help='Prestación de incapacidad permanente total o parcial percibida en el ejercicio' string='Prestación de incapacidad permanente total o parcial'
  • clave_b01_jubilacion Boolean
    help='Prestación de jubilación percibida en el ejercicio' string='Prestación de jubilación'
  • clave_b01_pensiones_no_contributivas Boolean
    help='Prestación de pensiones no contributivas por invalidez o jubilación percibida en el ejercicio' string='Prestación de pensiones no contributivas por invalidez o jubilación'
  • clave_b01_resto Boolean
    help='Prestación no incluida en el resto en el ejercicio' string='Prestacion no incluida en el resto'
  • clave_b01_viudedad Boolean
    help='Prestación de viudedad percibida en el ejercicio' string='Prestación de viudedad'
  • codigo_provincia Char
    compute='_compute_codigo_provincia' store=True string='State ISO code'
  • computo_primeros_hijos_1 Integer
    compute='_compute_partner_id_ad_required' store=True string='1'
  • computo_primeros_hijos_2 Integer
    compute='_compute_partner_id_ad_required' store=True string='2'
  • computo_primeros_hijos_3 Integer
    compute='_compute_partner_id_ad_required' store=True string='3'
  • contrato_o_relacion Selection
    compute='_compute_partner_id_ad_required' selection=[('1', '1 - Contract or relationship of a general nature'), ('2', '2 - Contract or ratio less than a year'), ('3', '3 - Contract or special employment relationship of a dependent nature'), ('4', '4 - Sporadic relationship of manual workers')] store=True string='Contract or relationship'
  • discapacidad Selection
    compute='_compute_partner_id_ad_required' store=True string='Disability' args: [('0', '0 - No disability or degree of disability less than 33 percent.'), ('1', '1 - Degree of disability greater than 33 percent and less than 66 percent.'), ('2', '2 - Degree of disability greater than 33 percent and less than 66 percent, and reduced mobility.'), ('3', '3 - Degree of disability equal to or greater than 65%.')]
  • ejercicio_devengo Char
    string='year'
  • gastos_deducibles Float
    compute='_compute_percepciones' store=True string='Deductible expenses'
  • hijos_y_desc_discapacidad_33 Integer
    compute='_compute_partner_id_ad_required' store=True string='Hijos y descendientes con discapacidad del 33%'
  • hijos_y_desc_discapacidad_66 Integer
    compute='_compute_partner_id_ad_required' store=True string='Hijos y descendientes con discapacidad del 66%'
  • hijos_y_desc_discapacidad_entero_33 Integer
    compute='_compute_partner_id_ad_required' store=True string='Hijos y descendientes con discapacidad del 33%, computados por entero'
  • hijos_y_desc_discapacidad_entero_66 Integer
    compute='_compute_partner_id_ad_required' store=True string='Hijos y descendientes con discapacidad del 66%, computados por entero'
  • hijos_y_desc_discapacidad_entero_mr Integer
    compute='_compute_partner_id_ad_required' store=True string='Descendientes con discapacidad, computado de forma entera'
  • hijos_y_desc_discapacidad_mr Integer
    compute='_compute_partner_id_ad_required' store=True string='Descendientes con discapacidad'
  • hijos_y_descendientes Integer
    compute='_compute_partner_id_ad_required' store=True string='Rest'
  • hijos_y_descendientes_entero Integer
    compute='_compute_partner_id_ad_required' store=True string='Rest, computed entirely'
  • hijos_y_descendientes_m Integer
    compute='_compute_partner_id_ad_required' store=True string='Under 3 years'
  • hijos_y_descendientes_m_entero Integer
    compute='_compute_partner_id_ad_required' store=True string='Under 3 years, computed entirely'
  • ingresos_a_cuenta_efectuados Float
    compute='_compute_percepciones' store=True string='Income paid on account'
  • ingresos_a_cuenta_efectuados_incap Float
    compute='_compute_percepciones' store=True string='Income on account in kind made as a result of incapacity for work'
  • ingresos_a_cuenta_repercutidos Float
    compute='_compute_percepciones' store=True string='Income paid into account'
  • ingresos_a_cuenta_repercutidos_incap Float
    compute='_compute_percepciones' store=True string='Income to account in kind, repercussions derived from incapacity for work'
  • movilidad_geografica Selection
    compute='_compute_partner_id_ad_required' selection=[('0', 'NO'), ('1', 'SI')] store=True string='Geographical mobility'
  • nif_conyuge Char
    compute='_compute_partner_id_ad_required' store=True string='VAT of the spouse'
  • partner_id Many2one → res.partner
    comodel_name='res.partner' required=True string='Partner'
  • partner_record_ok Boolean
    compute='_compute_partner_record_ok' help='Checked if partner record is OK' store=True string='Partner Record OK'
  • partner_vat Char
    compute='_compute_partner_vat' store=True string='NIF'
  • pensiones_compensatorias Float
    string='Compensatory pensions'
  • percepciones_dinerarias Float
    compute='_compute_percepciones' store=True string='Monetary perceptions'
  • percepciones_dinerarias_incap Float
    compute='_compute_percepciones' store=True string='Monetary perceptions derived from incapacity for work'
  • percepciones_en_especie Float
    compute='_compute_percepciones' store=True string='Valuation'
  • percepciones_en_especie_incap Float
    compute='_compute_percepciones' store=True string='Perceptions in kind arising from incapacity for work'
  • prestamos_vh Selection
    selection=[('0', '0 - Si en ningún momento del ejercicio ha resultado de aplicación la reducción del tipo de retención.'), ('1', '1 - Si en algún momento del ejercicio ha resultado de aplicación la reducción del tipo de retención.')] string='Comunicación préstamos vivienda habitual'
  • reduccion_aplicable Float
    string='Applicable reduction'
  • rendimientos_obtenidos_fondos Boolean
    help='Solo marcar si la cuantía total de la percepción dineraria o la cuantía total de la valoración de la percepción en especie incluye, aunque sea de forma parcial, rendimientos del trabajo derivados directa o indirectamente de participaciones, acciones u otros derechos, incluidas comisiones de éxito, que otorguen derechos económicos especiales a los que se haya aplicado lo dispuesto en el apartado 3 de la Disposición adicional quincuagésima tercera a las que se refiere la Ley 35/2006, de 28 de noviembre' string='Rendimientos del trabajo obtenidos por la gestión de fondos vinculados al emprendimiento, a la innovación y al desarrollo de la actividad económica'
  • report_id Many2one → l10n.es.aeat.mod190.report
    comodel_name='l10n.es.aeat.mod190.report' ondelete='cascade' string='AEAT 190 Report ID'
  • representante_legal_vat Char
    compute='_compute_representante_legal_vat' store=True string='L. R. VAT'
  • retenciones_dinerarias Float
    compute='_compute_percepciones' store=True string='Money withholdings'
  • retenciones_dinerarias_incap Float
    compute='_compute_percepciones' store=True string='Monetary withholdings derived from incapacity for work'
  • situacion_familiar Selection
    compute='_compute_partner_id_ad_required' selection=[('1', '1 - Single, widowed, divorced or separated with children under 18 or incapacitated'), ('2', '2 - Married and not legally separated and your spouse has no annual income above the amount referred to'), ('3', '3 - Other.')] store=True string='Family situation'
  • state Selection
    related='report_id.state'
  • visible_key_b01 Boolean
    compute='_compute_visible_key_b01'
Public methods (2)
  • onchange_aeat_perception_key_id(self)
    @api.onchange('aeat_perception_key_id')
  • onchange_partner_id(self)
    @api.onchange('partner_id')

New fields (2)
  • aeat_perception_subkey_ids One2many → l10n.es.aeat.report.perception.subkey
    comodel_name='l10n.es.aeat.report.perception.subkey' inverse_name='aeat_perception_key_id' string='Subkeys'
  • code Char
    required=True
Public methods (0)

No public methods.

New fields (5)
  • active Boolean
    default=True
  • ad_required Integer
    default=0 args: 'Aditional data required'
  • aeat_number Char
    required=True string='Model number'
  • description Text
  • name Char
    required=True
Public methods (0)

No public methods.

New fields (1)
  • aeat_perception_key_id Many2one → l10n.es.aeat.report.perception.key
    comodel_name='l10n.es.aeat.report.perception.key' ondelete='cascade' string='Perception ID'
Public methods (0)

No public methods.

New fields (37)
  • a_nacimiento Char
    help='Se consignarán las cuatro cifras del año de nacimiento del\n perceptor.' string='Año de nacimiento'
  • ad_required Integer
    compute='_compute_ad_required' args: 'Aditional data required'
  • aeat_perception_key_id Many2one → l10n.es.aeat.report.perception.key
    comodel_name='l10n.es.aeat.report.perception.key' help='Se consignará la clave alfabética que corresponda a las percepciones de que se trate.' string='Clave percepción'
  • aeat_perception_subkey_id Many2one → l10n.es.aeat.report.perception.subkey
    comodel_name='l10n.es.aeat.report.perception.subkey' help='Tratándose de percepciones correspondientes a las claves\n B, E, F, G, H, I, K y L, deberá consignarse, además, la\n subclave numérica de dos dígitos que corresponda a las\n percepciones de que se trate, según la relación de\n subclaves que para cada una de las mencionadas claves\n figura a continuación.\n En percepciones correspondientes a claves distintas de las\n mencionadas, no se cumplimentará este campo.\n Cuando deban consignarse en el modelo 190\n percepciones satisfechas a un mismo perceptor que\n correspondan a diferentes claves o subclaves de\n percepción, deberán cumplimentarle tantos apuntes o\n registros de percepción como sea necesario, de forma que\n cada uno de ellos refleje exclusivamente los datos de\n percepciones correspondientes a una misma clave y, en\n su caso, subclave.' string='Subclave'
  • ascendientes Integer
    string='Ascendientes menores de 75 años'
  • ascendientes_discapacidad_33 Integer
    string='Ascendientes con discapacidad'
  • ascendientes_discapacidad_66 Integer
    string='Ascendientes con discapacidad de más del 66%'
  • ascendientes_discapacidad_entero_33 Integer
    string='Ascendientes con discapacidad, computados por entero'
  • ascendientes_discapacidad_entero_66 Integer
    string='Ascendientes con discapacidad de más del 66%, computados por entero'
  • ascendientes_discapacidad_entero_mr Integer
    string='Ascendientes con discapacidad de más del 33%, computados por entero'
  • ascendientes_discapacidad_mr Integer
    string='Ascendientes con discapacidad de más del 33%'
  • ascendientes_entero Integer
    string='Ascendientes menores de 75 años, computados por entero'
  • ascendientes_entero_m75 Integer
    string='Ascendientes mayores de 75 años, computados por entero'
  • ascendientes_m75 Integer
    string='Ascendientes mayores de 75 años'
  • ceuta_melilla Char
    default=0 help='Se consignará el número 1 en los supuestos en que, por\n tratarse de rentas obtenidas en Ceuta o Melilla con\n derecho a la deducción establecida en el artículo 68.4 de\n la Ley del Impuesto, el pagador hubiera determinado el\n tipo de retención de acuerdo con lo previsto en los\n artículos 80.2 y 95.1, último párrafo, del Reglamento del\n Impuesto.\n En otro caso se hará constar en este campo el número\n cero (0).' string='Ceuta o Melilla'
  • computo_primeros_hijos_1 Integer
    help='CÓMPUTO DE LOS 3 PRIMEROS HIJOS.\n Solo para percepciones correspondientes a las claves A,\n B.01, B.03, B.04, B.99 y C.\n Datos referidos a la proporción en la que ha sido\n computado a efectos de determinar el tipo de retención\n cada uno de los tres primeros hijos o descendientes del\n perceptor, ordenados de mayor a menor según su edad,\n de acuerdo a los siguientes valores:\n 1: Computado por entero\n 2: Computado por mitad\n 0: En cualquier otro caso.\n ' string='Cómputo de los 3 primeros hijos'
  • computo_primeros_hijos_2 Integer
    string='Cómputo de los 3 primeros hijos (2º)'
  • computo_primeros_hijos_3 Integer
    string='Cómputo de los 3 primeros hijos (3º)'
  • contrato_o_relacion Selection
    help='Solo para percepciones correspondientes a la clave A.\n Tratándose de empleados por cuenta ajena en activo, se\n hará constar el dígito numérico indicativo del tipo de\n contrato o relación existente entre el perceptor y la\n persona o entidad retenedora' string='Contrato o relacion' args: [('1', '1 - Contrato o relación de carácter general'), ('2', '2 - Contrato o relación inferior al año'), ('3', '3 - Contrato o relación laboral especial de carácter dependiente'), ('4', '4 - Relación esporádica propia de los trabajadores manuales')]
  • discapacidad Selection
    help='Solo para percepciones correspondientes a las claves A,\n B.01, B.03, B.04, B.99 y C.\n Si el perceptor es una persona con discapacidad que tiene\n acreditado un grado de minusvalía igual o superior al 33\n por 100, se hará constar en este campo el código\n numérico indicativo de dicho grado' string='Disability' args: [('0', '0 - Sin discapacidad o grado de minusvalía inferior al 33 por 100.'), ('1', '1 - Grado de minusvalía superior al 33 por 100 e inferior al 66 por 100.'), ('2', '2 - Grado de minusvalía superior al 33 por 100 e inferior al 66 por 100, y movilidad reducida.'), ('3', '3 - Grado de minusvalía igual o superior al 65 por 100.')]
  • hijos_y_desc_discapacidad_33 Integer
    string='Hijos y descendientes con discapacidad del 33%'
  • hijos_y_desc_discapacidad_66 Integer
    string='Hijos y descendientes con discapacidad del 66%'
  • hijos_y_desc_discapacidad_entero_33 Integer
    string='Hijos y descendientes con discapacidad del 33%, computados por entero'
  • hijos_y_desc_discapacidad_entero_66 Integer
    string='Hijos y descendientes con discapacidad del 66%, computados por entero'
  • hijos_y_desc_discapacidad_entero_mr Integer
    string='Hijos y descendientes con discapacidad, computados por entero'
  • hijos_y_desc_discapacidad_mr Integer
    string='Hijos y descendientes con discapacidad'
  • hijos_y_descendientes Integer
    help='\n Solo para percepciones correspondientes a las claves A,\n B.01, B.03, B.04, B.99 y C.\n Datos referidos a los hijos y demás descendientes del\n perceptor por los que éste tenga derecho a la aplicación\n del mínimo por descendientes previsto en el artículo 58 de\n la Ley del Impuesto.\n ' string='Resto:'
  • hijos_y_descendientes_entero Integer
    string='Resto, computadors por entero'
  • hijos_y_descendientes_m Integer
    help='\n Solo para percepciones correspondientes a las claves A,\n B.01, B.03, B.04, B.99 y C.\n Datos referidos a los hijos y demás descendientes del\n perceptor por los que éste tenga derecho a la aplicación\n del mínimo por descendientes previsto en el artículo 58 de\n la Ley del Impuesto.\n ' string='Menores de 3 años'
  • hijos_y_descendientes_m_entero Integer
    string='Menores de 3 años, computados por entero'
  • incluir_190 Boolean
    default=False string='Included in mod190'
  • is_aeat_perception_subkey_visible Boolean
    compute='_compute_is_aeat_perception_subkey_visible'
  • is_first_child_computation_visible Boolean
    compute='_compute_is_first_child_computation_visible'
  • movilidad_geografica Selection
    string='Movilidad geográfica' args: [('0', 'NO'), ('1', 'SI')]
  • nif_conyuge Char
    help='Solo para percepciones correspondientes a las claves A,\n B.01, B.03, B.04, B.99 y C.\n Únicamente en el supuesto de que la «SITUACIÓN\n FAMILIAR» del perceptor sea la señalada con el número\n 2, se hará constar el número de identificación fiscal de su\n cónyuge.' string='NIF del conyuge'
  • representante_legal_vat Char
    help='Si el perceptor es menor de 14 años, se consignará en\n este campo el número de identificación fiscal de su\n representante legal (padre, madre o tutor).' string='NIF representante legal'
  • situacion_familiar Selection
    help='Se hará constar el dígito numérico indicativo de la\n situación familiar del perceptor' selection=[('1', '1 - Soltero, viudo, divorciado o separado con hijos menores de 18 años o mayores incapacitados'), ('2', '2 - Casado y no separado legalmente y su conyuge no tiene rentas anuales superiores a la cuantía a la que se refiere la situación 2ª de las contempladas en el artículo 81.1'), ('3', '3 - Distinta de las anteriores.')] string='Situación familiar'
Public methods (1)
  • onchange_aeat_perception_key_id(self)
    @api.onchange('aeat_perception_key_id')
REPOSITORY
REPOSITORYOCA/l10n-spain
GIT
GIThttps://github.com/OCA/l10n-spain.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-spain/tree/16.0/l10n_es_aeat_mod190
VERSION
VERSION 2.4.1
CATEGORY
CATEGORYLocalization/Accounting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Punt Sistemes SLU, Vunkers IT Experts, SLU
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Punt Sistemes SLU, Vunkers IT Experts, SLU
COMMITTERS
COMMITTERSPedro M. Baeza, Jairo Llopis, Enric Tobella, Víctor Martínez, Weblate, OCA-git-bot, oca-ci, Aritz Olea, Emilio Pascual, EmilioPascual, pol
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-spain
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:53:40
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/account-financial-reporting:
    - account_tax_balance
OCA/l10n-spain:
    - l10n_es_aeat
OCA/server-ux:
    - date_range
odoo/odoo:
    - l10n_es
    - account
    - base_setup
    - base
    - web
    - product
    - mail
    - 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

Code Analysis

Views touched (8)
XML IDNameModelTypeStatus
account_fiscal_position_form_view account.fiscal.position.form (in l10n_es_aeat_mod190) account.fiscal.position field Inherits account.view_account_position_form
invoice_form account.move field Inherits account.view_move_form
view_l10n_es_aeat_mod190_report_form l10n_es.aeat.mod190.report.form l10n.es.aeat.mod190.report field Inherits l10n_es_aeat.view_l10n_es_aeat_report_form
view_l10n_es_aeat_mod190_report_line_form l10n_es.aeat.mod190.report.line.form l10n.es.aeat.mod190.report.line form New
view_l10n_es_aeat_mod190_report_line_tree l10n_es.aeat.mod190.report.line.tree l10n.es.aeat.mod190.report.line tree New
view_l10n_es_aeat_mod190_report_tree l10n_es.aeat.mod190.report.tree l10n.es.aeat.mod190.report tree Inherits l10n_es_aeat.view_l10n_es_aeat_report_tree
view_move_line_form account.move.line field Inherits account.view_move_line_form
view_partner_form_inherit_l10n_es_aeat_mod190 view.partner.form.inherit.l10n.es.aeat.mod190 res.partner page Inherits l10n_es_aeat.view_partner_form
Models touched (9)

New fields (3)
  • aeat_perception_key_id Many2one → l10n.es.aeat.report.perception.key
    comodel_name='l10n.es.aeat.report.perception.key' help='Se consignará la clave alfabética que corresponda a las percepciones de que se trate.' string='Clave percepción'
  • aeat_perception_subkey_id Many2one → l10n.es.aeat.report.perception.subkey
    comodel_name='l10n.es.aeat.report.perception.subkey' domain="[('aeat_perception_key_id', '=', aeat_perception_key_id)]" help='Tratándose de percepciones correspondientes a las claves\n B, E, F, G, H, I, K y L, deberá consignarse, además, la\n subclave numérica de dos dígitos que corresponda a las\n percepciones de que se trate, según la relación de\n subclaves que para cada una de las mencionadas claves\n figura a continuación.\n En percepciones correspondientes a claves distintas de las\n mencionadas, no se cumplimentará este campo.\n Cuando deban consignarse en el modelo 190\n percepciones satisfechas a un mismo perceptor que\n correspondan a diferentes claves o subclaves de\n percepción, deberán cumplimentarle tantos apuntes o\n registros de percepción como sea necesario, de forma que\n cada uno de ellos refleje exclusivamente los datos de\n percepciones correspondientes a una misma clave y, en\n su caso, subclave.' string='Subclave'
  • is_aeat_perception_subkey_visible Boolean
    compute='_compute_is_aeat_perception_subkey_visible'
Public methods (1)
  • onchange_aeat_perception_key_id(self)
    @api.onchange('aeat_perception_key_id')

New fields (3)
  • aeat_perception_key_id Many2one → l10n.es.aeat.report.perception.key
    comodel_name='l10n.es.aeat.report.perception.key' compute='_compute_aeat_perception_key_id' help='Se consignará la clave alfabética que corresponda a las percepciones de que se trate.' readonly=False states={'draft': [('readonly', False)]} store=True string='Clave percepción'
  • aeat_perception_subkey_id Many2one → l10n.es.aeat.report.perception.subkey
    comodel_name='l10n.es.aeat.report.perception.subkey' compute='_compute_aeat_perception_subkey_id' domain="[('aeat_perception_key_id', '=', aeat_perception_key_id)]" help='Tratándose de percepciones correspondientes a las claves\n B, E, F, G, H, I, K y L, deberá consignarse, además, la\n subclave numérica de dos dígitos que corresponda a las\n percepciones de que se trate, según la relación de\n subclaves que para cada una de las mencionadas claves\n figura a continuación.\n En percepciones correspondientes a claves distintas de las\n mencionadas, no se cumplimentará este campo.\n Cuando deban consignarse en el modelo 190\n percepciones satisfechas a un mismo perceptor que\n correspondan a diferentes claves o subclaves de\n percepción, deberán cumplimentarle tantos apuntes o\n registros de percepción como sea necesario, de forma que\n cada uno de ellos refleje exclusivamente los datos de\n percepciones correspondientes a una misma clave y, en\n su caso, subclave.' readonly=False states={'draft': [('readonly', False)]} store=True string='Subclave'
  • is_aeat_perception_subkey_visible Boolean
    compute='_compute_is_aeat_perception_subkey_visible'
Public methods (0)

No public methods.

New fields (3)
  • aeat_perception_key_id Many2one → l10n.es.aeat.report.perception.key
    comodel_name='l10n.es.aeat.report.perception.key' compute='_compute_aeat_perception_keys' help='Se consignará la clave alfabética que corresponda a las percepciones de que se trate.' store=True string='Clave percepción'
  • aeat_perception_subkey_id Many2one → l10n.es.aeat.report.perception.subkey
    comodel_name='l10n.es.aeat.report.perception.subkey' compute='_compute_aeat_perception_keys' help='Tratándose de percepciones correspondientes a las claves\n B, E, F, G, H, I, K y L, deberá consignarse, además, la\n subclave numérica de dos dígitos que corresponda a las\n percepciones de que se trate, según la relación de\n subclaves que para cada una de las mencionadas claves\n figura a continuación.\n En percepciones correspondientes a claves distintas de las\n mencionadas, no se cumplimentará este campo.\n Cuando deban consignarse en el modelo 190\n percepciones satisfechas a un mismo perceptor que\n correspondan a diferentes claves o subclaves de\n percepción, deberán cumplimentarle tantos apuntes o\n registros de percepción como sea necesario, de forma que\n cada uno de ellos refleje exclusivamente los datos de\n percepciones correspondientes a una misma clave y, en\n su caso, subclave.' store=True string='Subclave'
  • is_aeat_perception_subkey_visible Boolean
    compute='_compute_is_aeat_perception_subkey_visible'
Public methods (0)

No public methods.

New fields (5)
  • casilla_01 Integer
    compute='_compute_casilla_01' readonly=False store=True string='[01] Recipients'
  • casilla_02 Float
    compute='_compute_casilla_02' readonly=False store=True string='[02] Amount of perceptions'
  • casilla_03 Float
    compute='_compute_casilla_03' readonly=False store=True string='[03] Amount of retentions'
  • partner_record_ids One2many → l10n.es.aeat.mod190.report.line
    comodel_name='l10n.es.aeat.mod190.report.line' inverse_name='report_id' string='Partner records'
  • registro_manual Boolean
    default=False string='Manual records'
Public methods (2)
  • button_confirm(self)
  • calculate(self)

New fields (56)
  • a_nacimiento Char
    compute='_compute_partner_id_ad_required' store=True string='Year of birth'
  • ad_required Integer
    compute='_compute_ad_required' store=True
  • aeat_perception_key_id Many2one → l10n.es.aeat.report.perception.key
    comodel_name='l10n.es.aeat.report.perception.key' required=True string='Perception key'
  • aeat_perception_subkey_id Many2one → l10n.es.aeat.report.perception.subkey
    comodel_name='l10n.es.aeat.report.perception.subkey' string='Perception subkey'
  • anualidades_por_alimentos Float
    string='Annuities for food'
  • ascendientes Integer
    compute='_compute_partner_id_ad_required' store=True string='Ascendientes menores de 75 años'
  • ascendientes_discapacidad_33 Integer
    compute='_compute_partner_id_ad_required' store=True string='Ascendientes con discapacidad'
  • ascendientes_discapacidad_66 Integer
    compute='_compute_partner_id_ad_required' store=True string='Ascendientes con discapacidad de más del 66%'
  • ascendientes_discapacidad_entero_33 Integer
    compute='_compute_partner_id_ad_required' store=True string='Ascendientes con discapacidad, computados por entero'
  • ascendientes_discapacidad_entero_66 Integer
    compute='_compute_partner_id_ad_required' store=True string='Ascendientes con discapacidad de más del 66%, computados por entero'
  • ascendientes_discapacidad_entero_mr Integer
    compute='_compute_partner_id_ad_required' store=True string='Ascendientes con discapacidad de más del 33%, computados por entero'
  • ascendientes_discapacidad_mr Integer
    compute='_compute_partner_id_ad_required' store=True string='Ascendientes con discapacidad de más del 33%'
  • ascendientes_entero Integer
    compute='_compute_partner_id_ad_required' store=True string='Ascendientes menores de 75 años, computados por entero'
  • ascendientes_entero_m75 Integer
    compute='_compute_partner_id_ad_required' store=True string='Ascendientes mayores de 75 años, computados por entero'
  • ascendientes_m75 Integer
    compute='_compute_partner_id_ad_required' store=True string='Ascendientes mayores de 75 años'
  • ceuta_melilla Char
    related='partner_id.ceuta_melilla' string='Ceuta or Melilla'
  • codigo_provincia Char
    compute='_compute_codigo_provincia' store=True string='State ISO code'
  • computo_primeros_hijos_1 Integer
    compute='_compute_partner_id_ad_required' store=True string='1'
  • computo_primeros_hijos_2 Integer
    compute='_compute_partner_id_ad_required' store=True string='2'
  • computo_primeros_hijos_3 Integer
    compute='_compute_partner_id_ad_required' store=True string='3'
  • contrato_o_relacion Selection
    compute='_compute_partner_id_ad_required' selection=[('1', '1 - Contract or relationship of a general nature'), ('2', '2 - Contract or ratio less than a year'), ('3', '3 - Contract or special employment relationship of a dependent nature'), ('4', '4 - Sporadic relationship of manual workers')] store=True string='Contract or relationship'
  • discapacidad Selection
    compute='_compute_partner_id_ad_required' store=True string='Disability' args: [('0', '0 - No disability or degree of disability less than 33 percent.'), ('1', '1 - Degree of disability greater than 33 percent and less than 66 percent.'), ('2', '2 - Degree of disability greater than 33 percent and less than 66 percent, and reduced mobility.'), ('3', '3 - Degree of disability equal to or greater than 65%.')]
  • ejercicio_devengo Char
    string='year'
  • gastos_deducibles Float
    compute='_compute_percepciones' readonly=False store=True string='Deductible expenses'
  • hijos_y_desc_discapacidad_33 Integer
    compute='_compute_partner_id_ad_required' store=True string='Hijos y descendientes con discapacidad del 33%'
  • hijos_y_desc_discapacidad_66 Integer
    compute='_compute_partner_id_ad_required' store=True string='Hijos y descendientes con discapacidad del 66%'
  • hijos_y_desc_discapacidad_entero_33 Integer
    compute='_compute_partner_id_ad_required' store=True string='Hijos y descendientes con discapacidad del 33%, computados por entero'
  • hijos_y_desc_discapacidad_entero_66 Integer
    compute='_compute_partner_id_ad_required' store=True string='Hijos y descendientes con discapacidad del 66%, computados por entero'
  • hijos_y_desc_discapacidad_entero_mr Integer
    compute='_compute_partner_id_ad_required' store=True string='Descendientes con discapacidad, computado de forma entera'
  • hijos_y_desc_discapacidad_mr Integer
    compute='_compute_partner_id_ad_required' store=True string='Descendientes con discapacidad'
  • hijos_y_descendientes Integer
    compute='_compute_partner_id_ad_required' store=True string='Rest'
  • hijos_y_descendientes_entero Integer
    compute='_compute_partner_id_ad_required' store=True string='Rest, computed entirely'
  • hijos_y_descendientes_m Integer
    compute='_compute_partner_id_ad_required' store=True string='Under 3 years'
  • hijos_y_descendientes_m_entero Integer
    compute='_compute_partner_id_ad_required' store=True string='Under 3 years, computed entirely'
  • ingresos_a_cuenta_efectuados Float
    compute='_compute_percepciones' store=True string='Income paid on account'
  • ingresos_a_cuenta_efectuados_incap Float
    compute='_compute_percepciones' store=True string='Income on account in kind made as a result of incapacity for work'
  • ingresos_a_cuenta_repercutidos Float
    compute='_compute_percepciones' store=True string='Income paid into account'
  • ingresos_a_cuenta_repercutidos_incap Float
    compute='_compute_percepciones' store=True string='Income to account in kind, repercussions derived from incapacity for work'
  • movilidad_geografica Selection
    compute='_compute_partner_id_ad_required' selection=[('0', 'NO'), ('1', 'SI')] store=True string='Geographical mobility'
  • nif_conyuge Char
    compute='_compute_partner_id_ad_required' store=True string='VAT of the spouse'
  • partner_id Many2one → res.partner
    comodel_name='res.partner' required=True string='Partner'
  • partner_record_ok Boolean
    compute='_compute_partner_record_ok' help='Checked if partner record is OK' store=True string='Partner Record OK'
  • partner_vat Char
    compute='_compute_partner_vat' store=True string='NIF'
  • pensiones_compensatorias Float
    string='Compensatory pensions'
  • percepciones_dinerarias Float
    compute='_compute_percepciones' store=True string='Monetary perceptions'
  • percepciones_dinerarias_incap Float
    compute='_compute_percepciones' store=True string='Monetary perceptions derived from incapacity for work'
  • percepciones_en_especie Float
    compute='_compute_percepciones' store=True string='Valuation'
  • percepciones_en_especie_incap Float
    compute='_compute_percepciones' store=True string='Perceptions in kind arising from incapacity for work'
  • prestamos_vh Selection
    selection=[('0', '0 - Si en ningún momento del ejercicio ha resultado de aplicación la reducción del tipo de retención.'), ('1', '1 - Si en algún momento del ejercicio ha resultado de aplicación la reducción del tipo de retención.')] string='Comunicación préstamos vivienda habitual'
  • reduccion_aplicable Float
    string='Applicable reduction'
  • report_id Many2one → l10n.es.aeat.mod190.report
    comodel_name='l10n.es.aeat.mod190.report' ondelete='cascade' string='AEAT 190 Report ID'
  • representante_legal_vat Char
    compute='_compute_representante_legal_vat' store=True string='L. R. VAT'
  • retenciones_dinerarias Float
    compute='_compute_percepciones' store=True string='Money withholdings'
  • retenciones_dinerarias_incap Float
    compute='_compute_percepciones' store=True string='Monetary withholdings derived from incapacity for work'
  • situacion_familiar Selection
    compute='_compute_partner_id_ad_required' selection=[('1', '1 - Single, widowed, divorced or separated with children under 18 or incapacitated'), ('2', '2 - Married and not legally separated and your spouse has no annual income above the amount referred to'), ('3', '3 - Other.')] store=True string='Family situation'
  • state Selection
    related='report_id.state'
Public methods (2)
  • onchange_aeat_perception_key_id(self)
    @api.onchange('aeat_perception_key_id')
  • onchange_partner_id(self)
    @api.onchange('partner_id')

New fields (2)
  • aeat_perception_subkey_ids One2many → l10n.es.aeat.report.perception.subkey
    comodel_name='l10n.es.aeat.report.perception.subkey' inverse_name='aeat_perception_key_id' string='Subkeys'
  • code Char
    required=True
Public methods (0)

No public methods.

New fields (5)
  • active Boolean
    default=True
  • ad_required Integer
    default=0 args: 'Aditional data required'
  • aeat_number Char
    required=True string='Model number'
  • description Text
  • name Char
    required=True
Public methods (0)

No public methods.

New fields (1)
  • aeat_perception_key_id Many2one → l10n.es.aeat.report.perception.key
    comodel_name='l10n.es.aeat.report.perception.key' ondelete='cascade' string='Perception ID'
Public methods (0)

No public methods.

New fields (37)
  • a_nacimiento Char
    help='Se consignarán las cuatro cifras del año de nacimiento del\n perceptor.' string='Año de nacimiento'
  • ad_required Integer
    compute='_compute_ad_required' args: 'Aditional data required'
  • aeat_perception_key_id Many2one → l10n.es.aeat.report.perception.key
    comodel_name='l10n.es.aeat.report.perception.key' help='Se consignará la clave alfabética que corresponda a las percepciones de que se trate.' string='Clave percepción'
  • aeat_perception_subkey_id Many2one → l10n.es.aeat.report.perception.subkey
    comodel_name='l10n.es.aeat.report.perception.subkey' help='Tratándose de percepciones correspondientes a las claves\n B, E, F, G, H, I, K y L, deberá consignarse, además, la\n subclave numérica de dos dígitos que corresponda a las\n percepciones de que se trate, según la relación de\n subclaves que para cada una de las mencionadas claves\n figura a continuación.\n En percepciones correspondientes a claves distintas de las\n mencionadas, no se cumplimentará este campo.\n Cuando deban consignarse en el modelo 190\n percepciones satisfechas a un mismo perceptor que\n correspondan a diferentes claves o subclaves de\n percepción, deberán cumplimentarle tantos apuntes o\n registros de percepción como sea necesario, de forma que\n cada uno de ellos refleje exclusivamente los datos de\n percepciones correspondientes a una misma clave y, en\n su caso, subclave.' string='Subclave'
  • ascendientes Integer
    string='Ascendientes menores de 75 años'
  • ascendientes_discapacidad_33 Integer
    string='Ascendientes con discapacidad'
  • ascendientes_discapacidad_66 Integer
    string='Ascendientes con discapacidad de más del 66%'
  • ascendientes_discapacidad_entero_33 Integer
    string='Ascendientes con discapacidad, computados por entero'
  • ascendientes_discapacidad_entero_66 Integer
    string='Ascendientes con discapacidad de más del 66%, computados por entero'
  • ascendientes_discapacidad_entero_mr Integer
    string='Ascendientes con discapacidad de más del 33%, computados por entero'
  • ascendientes_discapacidad_mr Integer
    string='Ascendientes con discapacidad de más del 33%'
  • ascendientes_entero Integer
    string='Ascendientes menores de 75 años, computados por entero'
  • ascendientes_entero_m75 Integer
    string='Ascendientes mayores de 75 años, computados por entero'
  • ascendientes_m75 Integer
    string='Ascendientes mayores de 75 años'
  • ceuta_melilla Char
    default=0 help='Se consignará el número 1 en los supuestos en que, por\n tratarse de rentas obtenidas en Ceuta o Melilla con\n derecho a la deducción establecida en el artículo 68.4 de\n la Ley del Impuesto, el pagador hubiera determinado el\n tipo de retención de acuerdo con lo previsto en los\n artículos 80.2 y 95.1, último párrafo, del Reglamento del\n Impuesto.\n En otro caso se hará constar en este campo el número\n cero (0).' string='Ceuta o Melilla'
  • computo_primeros_hijos_1 Integer
    help='CÓMPUTO DE LOS 3 PRIMEROS HIJOS.\n Solo para percepciones correspondientes a las claves A,\n B.01, B.03 y C.\n Datos referidos a la proporción en la que ha sido\n computado a efectos de determinar el tipo de retención\n cada uno de los tres primeros hijos o descendientes del\n perceptor, ordenados de mayor a menor según su edad,\n de acuerdo a los siguientes valores:\n 1: Computado por entero\n 2: Computado por mitad\n 0: En cualquier otro caso.\n ' string='Cómputo de los 3 primeros hijos'
  • computo_primeros_hijos_2 Integer
    string='Cómputo de los 3 primeros hijos (2º)'
  • computo_primeros_hijos_3 Integer
    string='Cómputo de los 3 primeros hijos (3º)'
  • contrato_o_relacion Selection
    help='Solo para percepciones correspondientes a la clave A.\n Tratándose de empleados por cuenta ajena en activo, se\n hará constar el dígito numérico indicativo del tipo de\n contrato o relación existente entre el perceptor y la\n persona o entidad retenedora' string='Contrato o relacion' args: [('1', '1 - Contrato o relación de carácter general'), ('2', '2 - Contrato o relación inferior al año'), ('3', '3 - Contrato o relación laboral especial de carácter dependiente'), ('4', '4 - Relación esporádica propia de los trabajadores manuales')]
  • discapacidad Selection
    help='Solo para percepciones correspondientes a las claves A,\n B.01, B.03 y C.\n Si el perceptor es una persona con discapacidad que tiene\n acreditado un grado de minusvalía igual o superior al 33\n por 100, se hará constar en este campo el código\n numérico indicativo de dicho grado' string='Disability' args: [('0', '0 - Sin discapacidad o grado de minusvalía inferior al 33 por 100.'), ('1', '1 - Grado de minusvalía superior al 33 por 100 e inferior al 66 por 100.'), ('2', '2 - Grado de minusvalía superior al 33 por 100 e inferior al 66 por 100, y movilidad reducida.'), ('3', '3 - Grado de minusvalía igual o superior al 65 por 100.')]
  • hijos_y_desc_discapacidad_33 Integer
    string='Hijos y descendientes con discapacidad del 33%'
  • hijos_y_desc_discapacidad_66 Integer
    string='Hijos y descendientes con discapacidad del 66%'
  • hijos_y_desc_discapacidad_entero_33 Integer
    string='Hijos y descendientes con discapacidad del 33%, computados por entero'
  • hijos_y_desc_discapacidad_entero_66 Integer
    string='Hijos y descendientes con discapacidad del 66%, computados por entero'
  • hijos_y_desc_discapacidad_entero_mr Integer
    string='Hijos y descendientes con discapacidad, computados por entero'
  • hijos_y_desc_discapacidad_mr Integer
    string='Hijos y descendientes con discapacidad'
  • hijos_y_descendientes Integer
    help='\n Solo para percepciones correspondientes a las claves A,\n B.01, B.03 y C.\n Datos referidos a los hijos y demás descendientes del\n perceptor por los que éste tenga derecho a la aplicación\n del mínimo por descendientes previsto en el artículo 58 de\n la Ley del Impuesto.\n ' string='Resto:'
  • hijos_y_descendientes_entero Integer
    string='Resto, computadors por entero'
  • hijos_y_descendientes_m Integer
    help='\n Solo para percepciones correspondientes a las claves A,\n B.01, B.03 y C.\n Datos referidos a los hijos y demás descendientes del\n perceptor por los que éste tenga derecho a la aplicación\n del mínimo por descendientes previsto en el artículo 58 de\n la Ley del Impuesto.\n ' string='Menores de 3 años'
  • hijos_y_descendientes_m_entero Integer
    string='Menores de 3 años, computados por entero'
  • incluir_190 Boolean
    default=False string='Included in mod190'
  • is_aeat_perception_subkey_visible Boolean
    compute='_compute_is_aeat_perception_subkey_visible'
  • is_first_child_computation_visible Boolean
    compute='_compute_is_first_child_computation_visible'
  • movilidad_geografica Selection
    string='Movilidad geográfica' args: [('0', 'NO'), ('1', 'SI')]
  • nif_conyuge Char
    help='Solo para percepciones correspondientes a las claves A,\n B.01, B.03 y C.\n Únicamente en el supuesto de que la «SITUACIÓN\n FAMILIAR» del perceptor sea la señalada con el número\n 2, se hará constar el número de identificación fiscal de su\n cónyuge.' string='NIF del conyuge'
  • representante_legal_vat Char
    help='Si el perceptor es menor de 14 años, se consignará en\n este campo el número de identificación fiscal de su\n representante legal (padre, madre o tutor).' string='NIF representante legal'
  • situacion_familiar Selection
    help='Se hará constar el dígito numérico indicativo de la\n situación familiar del perceptor' selection=[('1', '1 - Soltero, viudo, divorciado o separado con hijos menores de 18 años o mayores incapacitados'), ('2', '2 - Casado y no separado legalmente y su conyuge no tiene rentas anuales superiores a la cuantía a la que se refiere la situación 2ª de las contempladas en el artículo 81.1'), ('3', '3 - Distinta de las anteriores.')] string='Situación familiar'
Public methods (1)
  • onchange_aeat_perception_key_id(self)
    @api.onchange('aeat_perception_key_id')
REPOSITORY
REPOSITORYOCA/l10n-spain
GIT
GIThttps://github.com/OCA/l10n-spain.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-spain/tree/15.0/l10n_es_aeat_mod190
VERSION
VERSION 2.2.0
CATEGORY
CATEGORYLocalization/Accounting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Punt Sistemes SLU, Vunkers IT Experts, SLU
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Punt Sistemes SLU, Vunkers IT Experts, SLU
COMMITTERS
COMMITTERSPedro M. Baeza, Carlos Lopez, Víctor Martínez, Weblate, OCA-git-bot, oca-ci, Emilio Pascual, almumu
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-spain
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:46:29
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/account-financial-reporting:
    - account_tax_balance
OCA/l10n-spain:
    - l10n_es_aeat
OCA/server-ux:
    - date_range
odoo/odoo:
    - l10n_es
    - account
    - base_setup
    - base
    - web
    - product
    - mail
    - 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

Code Analysis

Views touched (8)
XML IDNameModelTypeStatus
account_fiscal_position_form_view account.fiscal.position.form (in l10n_es_aeat_mod190) account.fiscal.position field Inherits account.view_account_position_form
invoice_form account.move field Inherits account.view_move_form
view_l10n_es_aeat_mod190_report_form l10n_es.aeat.mod190.report.form l10n.es.aeat.mod190.report field Inherits l10n_es_aeat.view_l10n_es_aeat_report_form
view_l10n_es_aeat_mod190_report_line_form l10n_es.aeat.mod190.report.line.form l10n.es.aeat.mod190.report.line form New
view_l10n_es_aeat_mod190_report_line_tree l10n_es.aeat.mod190.report.line.tree l10n.es.aeat.mod190.report.line tree New
view_l10n_es_aeat_mod190_report_tree l10n_es.aeat.mod190.report.tree l10n.es.aeat.mod190.report tree Inherits l10n_es_aeat.view_l10n_es_aeat_report_tree
view_move_line_form account.move.line field Inherits account.view_move_line_form
view_partner_mod190_form res.partner.mod190.form.inherit res.partner field Inherits base.view_partner_form
Models touched (9)

New fields (2)
  • aeat_perception_key_id Many2one → l10n.es.aeat.report.perception.key
    comodel_name='l10n.es.aeat.report.perception.key' help='Se consignará la clave alfabética que corresponda a las percepciones de que se trate.' string='Clave percepción'
  • aeat_perception_subkey_id Many2one → l10n.es.aeat.report.perception.subkey
    comodel_name='l10n.es.aeat.report.perception.subkey' help='Tratándose de percepciones correspondientes a las claves\n B, E, F, G, H, I, K y L, deberá consignarse, además, la\n subclave numérica de dos dígitos que corresponda a las\n percepciones de que se trate, según la relación de\n subclaves que para cada una de las mencionadas claves\n figura a continuación.\n En percepciones correspondientes a claves distintas de las\n mencionadas, no se cumplimentará este campo.\n Cuando deban consignarse en el modelo 190\n percepciones satisfechas a un mismo perceptor que\n correspondan a diferentes claves o subclaves de\n percepción, deberán cumplimentarle tantos apuntes o\n registros de percepción como sea necesario, de forma que\n cada uno de ellos refleje exclusivamente los datos de\n percepciones correspondientes a una misma clave y, en\n su caso, subclave.' string='Subclave'
Public methods (1)
  • onchange_aeat_perception_key_id(self)
    @api.onchange('aeat_perception_key_id')

New fields (2)
  • aeat_perception_key_id Many2one → l10n.es.aeat.report.perception.key
    comodel_name='l10n.es.aeat.report.perception.key' compute='_compute_aeat_perception_key_id' help='Se consignará la clave alfabética que corresponda a las percepciones de que se trate.' readonly=True states={'draft': [('readonly', False)]} store=True string='Clave percepción'
  • aeat_perception_subkey_id Many2one → l10n.es.aeat.report.perception.subkey
    comodel_name='l10n.es.aeat.report.perception.subkey' compute='_compute_aeat_perception_subkey_id' help='Tratándose de percepciones correspondientes a las claves\n B, E, F, G, H, I, K y L, deberá consignarse, además, la\n subclave numérica de dos dígitos que corresponda a las\n percepciones de que se trate, según la relación de\n subclaves que para cada una de las mencionadas claves\n figura a continuación.\n En percepciones correspondientes a claves distintas de las\n mencionadas, no se cumplimentará este campo.\n Cuando deban consignarse en el modelo 190\n percepciones satisfechas a un mismo perceptor que\n correspondan a diferentes claves o subclaves de\n percepción, deberán cumplimentarle tantos apuntes o\n registros de percepción como sea necesario, de forma que\n cada uno de ellos refleje exclusivamente los datos de\n percepciones correspondientes a una misma clave y, en\n su caso, subclave.' readonly=True states={'draft': [('readonly', False)]} store=True string='Subclave'
Public methods (0)

No public methods.

New fields (2)
  • aeat_perception_key_id Many2one → l10n.es.aeat.report.perception.key
    comodel_name='l10n.es.aeat.report.perception.key' compute='_compute_aeat_perception_keys' help='Se consignará la clave alfabética que corresponda a las percepciones de que se trate.' store=True string='Clave percepción'
  • aeat_perception_subkey_id Many2one → l10n.es.aeat.report.perception.subkey
    comodel_name='l10n.es.aeat.report.perception.subkey' compute='_compute_aeat_perception_keys' help='Tratándose de percepciones correspondientes a las claves\n B, E, F, G, H, I, K y L, deberá consignarse, además, la\n subclave numérica de dos dígitos que corresponda a las\n percepciones de que se trate, según la relación de\n subclaves que para cada una de las mencionadas claves\n figura a continuación.\n En percepciones correspondientes a claves distintas de las\n mencionadas, no se cumplimentará este campo.\n Cuando deban consignarse en el modelo 190\n percepciones satisfechas a un mismo perceptor que\n correspondan a diferentes claves o subclaves de\n percepción, deberán cumplimentarle tantos apuntes o\n registros de percepción como sea necesario, de forma que\n cada uno de ellos refleje exclusivamente los datos de\n percepciones correspondientes a una misma clave y, en\n su caso, subclave.' store=True string='Subclave'
Public methods (0)

No public methods.

New fields (5)
  • casilla_01 Integer
    compute='_compute_casilla_01' readonly=False store=True string='[01] Recipients'
  • casilla_02 Float
    compute='_compute_casilla_02' readonly=False store=True string='[02] Amount of perceptions'
  • casilla_03 Float
    compute='_compute_casilla_03' readonly=False store=True string='[03] Amount of retentions'
  • partner_record_ids One2many → l10n.es.aeat.mod190.report.line
    comodel_name='l10n.es.aeat.mod190.report.line' inverse_name='report_id' string='Partner records'
  • registro_manual Boolean
    default=False string='Manual records'
Public methods (2)
  • button_confirm(self)
  • calculate(self)

New fields (62)
  • a_nacimiento Char
    compute='_compute_partner_id_ad_required' store=True string='Year of birth'
  • ad_required Integer
    compute='_compute_ad_required' store=True
  • aeat_perception_key_id Many2one → l10n.es.aeat.report.perception.key
    comodel_name='l10n.es.aeat.report.perception.key' required=True string='Perception key'
  • aeat_perception_subkey_id Many2one → l10n.es.aeat.report.perception.subkey
    comodel_name='l10n.es.aeat.report.perception.subkey' string='Perception subkey'
  • anualidades_por_alimentos Float
    string='Annuities for food'
  • ascendientes Integer
    compute='_compute_partner_id_ad_required' store=True string='Ascendientes menores de 75 años'
  • ascendientes_discapacidad_33 Integer
    compute='_compute_partner_id_ad_required' store=True string='Ascendientes con discapacidad'
  • ascendientes_discapacidad_66 Integer
    compute='_compute_partner_id_ad_required' store=True string='Ascendientes con discapacidad de más del 66%'
  • ascendientes_discapacidad_entero_33 Integer
    compute='_compute_partner_id_ad_required' store=True string='Ascendientes con discapacidad, computados por entero'
  • ascendientes_discapacidad_entero_66 Integer
    compute='_compute_partner_id_ad_required' store=True string='Ascendientes con discapacidad de más del 66%, computados por entero'
  • ascendientes_discapacidad_entero_mr Integer
    compute='_compute_partner_id_ad_required' store=True string='Ascendientes con discapacidad de más del 33%, computados por entero'
  • ascendientes_discapacidad_mr Integer
    compute='_compute_partner_id_ad_required' store=True string='Ascendientes con discapacidad de más del 33%'
  • ascendientes_entero Integer
    compute='_compute_partner_id_ad_required' store=True string='Ascendientes menores de 75 años, computados por entero'
  • ascendientes_entero_m75 Integer
    compute='_compute_partner_id_ad_required' store=True string='Ascendientes mayores de 75 años, computados por entero'
  • ascendientes_m75 Integer
    compute='_compute_partner_id_ad_required' store=True string='Ascendientes mayores de 75 años'
  • ceuta_melilla Char
    related='partner_id.ceuta_melilla' string='Ceuta or Melilla'
  • clave_b01_incapacidad Boolean
    help='Prestación de incapacidad permanente total o parcial percibida en el ejercicio' string='Prestación de incapacidad permanente total o parcial'
  • clave_b01_jubilacion Boolean
    help='Prestación de jubilación percibida en el ejercicio' string='Prestación de jubilación'
  • clave_b01_pensiones_no_contributivas Boolean
    help='Prestación de pensiones no contributivas por invalidez o jubilación percibida en el ejercicio' string='Prestación de pensiones no contributivas por invalidez o jubilación'
  • clave_b01_resto Boolean
    help='Prestación no incluida en el resto en el ejercicio' string='Prestacion no incluida en el resto'
  • clave_b01_viudedad Boolean
    help='Prestación de viudedad percibida en el ejercicio' string='Prestación de viudedad'
  • codigo_provincia Char
    compute='_compute_codigo_provincia' store=True string='State ISO code'
  • computo_primeros_hijos_1 Integer
    compute='_compute_partner_id_ad_required' store=True string='1'
  • computo_primeros_hijos_2 Integer
    compute='_compute_partner_id_ad_required' store=True string='2'
  • computo_primeros_hijos_3 Integer
    compute='_compute_partner_id_ad_required' store=True string='3'
  • contrato_o_relacion Selection
    compute='_compute_partner_id_ad_required' selection=[('1', '1 - Contract or relationship of a general nature'), ('2', '2 - Contract or ratio less than a year'), ('3', '3 - Contract or special employment relationship of a dependent nature'), ('4', '4 - Sporadic relationship of manual workers')] store=True string='Contract or relationship'
  • discapacidad Selection
    compute='_compute_partner_id_ad_required' store=True string='Disability' args: [('0', '0 - No disability or degree of disability less than 33 percent.'), ('1', '1 - Degree of disability greater than 33 percent and less than 66 percent.'), ('2', '2 - Degree of disability greater than 33 percent and less than 66 percent, and reduced mobility.'), ('3', '3 - Degree of disability equal to or greater than 65%.')]
  • ejercicio_devengo Char
    string='year'
  • gastos_deducibles Float
    string='Deductible expenses'
  • hijos_y_desc_discapacidad_33 Integer
    compute='_compute_partner_id_ad_required' store=True string='Hijos y descendientes con discapacidad del 33%'
  • hijos_y_desc_discapacidad_66 Integer
    compute='_compute_partner_id_ad_required' store=True string='Hijos y descendientes con discapacidad del 66%'
  • hijos_y_desc_discapacidad_entero_33 Integer
    compute='_compute_partner_id_ad_required' store=True string='Hijos y descendientes con discapacidad del 33%, computados por entero'
  • hijos_y_desc_discapacidad_entero_66 Integer
    compute='_compute_partner_id_ad_required' store=True string='Hijos y descendientes con discapacidad del 66%, computados por entero'
  • hijos_y_desc_discapacidad_entero_mr Integer
    compute='_compute_partner_id_ad_required' store=True string='Descendientes con discapacidad, computado de forma entera'
  • hijos_y_desc_discapacidad_mr Integer
    compute='_compute_partner_id_ad_required' store=True string='Descendientes con discapacidad'
  • hijos_y_descendientes Integer
    compute='_compute_partner_id_ad_required' store=True string='Rest'
  • hijos_y_descendientes_entero Integer
    compute='_compute_partner_id_ad_required' store=True string='Rest, computed entirely'
  • hijos_y_descendientes_m Integer
    compute='_compute_partner_id_ad_required' store=True string='Under 3 years'
  • hijos_y_descendientes_m_entero Integer
    compute='_compute_partner_id_ad_required' store=True string='Under 3 years, computed entirely'
  • ingresos_a_cuenta_efectuados Float
    compute='_compute_ingresos_a_cuenta_efectuados' store=True string='Income paid on account'
  • ingresos_a_cuenta_efectuados_incap Float
    compute='_compute_ingresos_a_cuenta_efectuados_incap' store=True string='Income on account in kind made as a result of incapacity for work'
  • ingresos_a_cuenta_repercutidos Float
    compute='_compute_ingresos_a_cuenta_repercutidos' store=True string='Income paid into account'
  • ingresos_a_cuenta_repercutidos_incap Float
    compute='_compute_ingresos_a_cuenta_repercutidos_incap' store=True string='Income to account in kind, repercussions derived from incapacity for work'
  • movilidad_geografica Selection
    compute='_compute_partner_id_ad_required' selection=[('0', 'NO'), ('1', 'SI')] store=True string='Geographical mobility'
  • nif_conyuge Char
    compute='_compute_partner_id_ad_required' store=True string='VAT of the spouse'
  • partner_id Many2one → res.partner
    comodel_name='res.partner' required=True string='Partner'
  • partner_record_ok Boolean
    compute='_compute_partner_record_ok' help='Checked if partner record is OK' store=True string='Partner Record OK'
  • partner_vat Char
    compute='_compute_partner_vat' store=True string='NIF'
  • pensiones_compensatorias Float
    string='Compensatory pensions'
  • percepciones_dinerarias Float
    compute='_compute_percepciones_dinerarias' store=True string='Monetary perceptions'
  • percepciones_dinerarias_incap Float
    compute='_compute_percepciones_dinerarias_incap' store=True string='Monetary perceptions derived from incapacity for work'
  • percepciones_en_especie Float
    compute='_compute_percepciones_en_especie' store=True string='Valuation'
  • percepciones_en_especie_incap Float
    compute='_compute_percepciones_en_especie_incap' store=True string='Perceptions in kind arising from incapacity for work'
  • prestamos_vh Selection
    selection=[('0', '0 - Si en ningún momento del ejercicio ha resultado de aplicación la reducción del tipo de retención.'), ('1', '1 - Si en algún momento del ejercicio ha resultado de aplicación la reducción del tipo de retención.')] string='Comunicación préstamos vivienda habitual'
  • reduccion_aplicable Float
    string='Applicable reduction'
  • rendimientos_obtenidos_fondos Boolean
    help='Solo marcar si la cuantía total de la percepción dineraria o la cuantía total de la valoración de la percepción en especie incluye, aunque sea de forma parcial, rendimientos del trabajo derivados directa o indirectamente de participaciones, acciones u otros derechos, incluidas comisiones de éxito, que otorguen derechos económicos especiales a los que se haya aplicado lo dispuesto en el apartado 3 de la Disposición adicional quincuagésima tercera a las que se refiere la Ley 35/2006, de 28 de noviembre' string='Rendimientos del trabajo obtenidos por la gestión de fondos vinculados al emprendimiento, a la innovación y al desarrollo de la actividad económica'
  • report_id Many2one → l10n.es.aeat.mod190.report
    comodel_name='l10n.es.aeat.mod190.report' ondelete='cascade' string='AEAT 190 Report ID'
  • representante_legal_vat Char
    compute='_compute_representante_legal_vat' store=True string='L. R. VAT'
  • retenciones_dinerarias Float
    compute='_compute_retenciones_dinerarias' store=True string='Money withholdings'
  • retenciones_dinerarias_incap Float
    compute='_compute_retenciones_dinerarias_incap' store=True string='Monetary withholdings derived from incapacity for work'
  • situacion_familiar Selection
    compute='_compute_partner_id_ad_required' selection=[('1', '1 - Single, widowed, divorced or separated with children under 18 or incapacitated'), ('2', '2 - Married and not legally separated and your spouse has no annual income above the amount referred to'), ('3', '3 - Other.')] store=True string='Family situation'
  • visible_key_b01 Boolean
    compute='_compute_visible_key_b01'
Public methods (2)
  • onchange_aeat_perception_key_id(self)
    @api.onchange('aeat_perception_key_id')
  • onchange_partner_id(self)
    @api.onchange('partner_id')

New fields (2)
  • aeat_perception_subkey_ids One2many → l10n.es.aeat.report.perception.subkey
    comodel_name='l10n.es.aeat.report.perception.subkey' inverse_name='aeat_perception_key_id' string='Subkeys'
  • code Char
    required=True
Public methods (0)

No public methods.

New fields (5)
  • active Boolean
    default=True
  • ad_required Integer
    default=0 args: 'Aditional data required'
  • aeat_number Char
    required=True string='Model number'
  • description Text
  • name Char
    required=True
Public methods (0)

No public methods.

New fields (1)
  • aeat_perception_key_id Many2one → l10n.es.aeat.report.perception.key
    comodel_name='l10n.es.aeat.report.perception.key' ondelete='cascade' string='Perception ID'
Public methods (0)

No public methods.

New fields (35)
  • a_nacimiento Char
    help='Se consignarán las cuatro cifras del año de nacimiento del\n perceptor.' string='Año de nacimiento'
  • ad_required Integer
    compute='_compute_ad_required' args: 'Aditional data required'
  • aeat_perception_key_id Many2one → l10n.es.aeat.report.perception.key
    comodel_name='l10n.es.aeat.report.perception.key' help='Se consignará la clave alfabética que corresponda a las percepciones de que se trate.' string='Clave percepción'
  • aeat_perception_subkey_id Many2one → l10n.es.aeat.report.perception.subkey
    comodel_name='l10n.es.aeat.report.perception.subkey' help='Tratándose de percepciones correspondientes a las claves\n B, E, F, G, H, I, K y L, deberá consignarse, además, la\n subclave numérica de dos dígitos que corresponda a las\n percepciones de que se trate, según la relación de\n subclaves que para cada una de las mencionadas claves\n figura a continuación.\n En percepciones correspondientes a claves distintas de las\n mencionadas, no se cumplimentará este campo.\n Cuando deban consignarse en el modelo 190\n percepciones satisfechas a un mismo perceptor que\n correspondan a diferentes claves o subclaves de\n percepción, deberán cumplimentarle tantos apuntes o\n registros de percepción como sea necesario, de forma que\n cada uno de ellos refleje exclusivamente los datos de\n percepciones correspondientes a una misma clave y, en\n su caso, subclave.' string='Subclave'
  • ascendientes Integer
    string='Ascendientes menores de 75 años'
  • ascendientes_discapacidad_33 Integer
    string='Ascendientes con discapacidad'
  • ascendientes_discapacidad_66 Integer
    string='Ascendientes con discapacidad de más del 66%'
  • ascendientes_discapacidad_entero_33 Integer
    string='Ascendientes con discapacidad, computados por entero'
  • ascendientes_discapacidad_entero_66 Integer
    string='Ascendientes con discapacidad de más del 66%, computados por entero'
  • ascendientes_discapacidad_entero_mr Integer
    string='Ascendientes con discapacidad de más del 33%, computados por entero'
  • ascendientes_discapacidad_mr Integer
    string='Ascendientes con discapacidad de más del 33%'
  • ascendientes_entero Integer
    string='Ascendientes menores de 75 años, computados por entero'
  • ascendientes_entero_m75 Integer
    string='Ascendientes mayores de 75 años, computados por entero'
  • ascendientes_m75 Integer
    string='Ascendientes mayores de 75 años'
  • ceuta_melilla Char
    default=0 help='Se consignará el número 1 en los supuestos en que, por\n tratarse de rentas obtenidas en Ceuta o Melilla con\n derecho a la deducción establecida en el artículo 68.4 de\n la Ley del Impuesto, el pagador hubiera determinado el\n tipo de retención de acuerdo con lo previsto en los\n artículos 80.2 y 95.1, último párrafo, del Reglamento del\n Impuesto.\n En otro caso se hará constar en este campo el número\n cero (0).' string='Ceuta o Melilla'
  • computo_primeros_hijos_1 Integer
    help='CÓMPUTO DE LOS 3 PRIMEROS HIJOS.\n Solo para percepciones correspondientes a las claves A,\n B.01, B.03 y C.\n Datos referidos a la proporción en la que ha sido\n computado a efectos de determinar el tipo de retención\n cada uno de los tres primeros hijos o descendientes del\n perceptor, ordenados de mayor a menor según su edad,\n de acuerdo a los siguientes valores:\n 1: Computado por entero\n 2: Computado por mitad\n 0: En cualquier otro caso.\n ' string='Cómputo de los 3 primeros hijos'
  • computo_primeros_hijos_2 Integer
    string='Cómputo de los 3 primeros hijos (2º)'
  • computo_primeros_hijos_3 Integer
    string='Cómputo de los 3 primeros hijos (3º)'
  • contrato_o_relacion Selection
    help='Solo para percepciones correspondientes a la clave A.\n Tratándose de empleados por cuenta ajena en activo, se\n hará constar el dígito numérico indicativo del tipo de\n contrato o relación existente entre el perceptor y la\n persona o entidad retenedora' string='Contrato o relacion' args: [('1', '1 - Contrato o relación de carácter general'), ('2', '2 - Contrato o relación inferior al año'), ('3', '3 - Contrato o relación laboral especial de carácter dependiente'), ('4', '4 - Relación esporádica propia de los trabajadores manuales')]
  • discapacidad Selection
    help='Solo para percepciones correspondientes a las claves A,\n B.01, B.03 y C.\n Si el perceptor es una persona con discapacidad que tiene\n acreditado un grado de minusvalía igual o superior al 33\n por 100, se hará constar en este campo el código\n numérico indicativo de dicho grado' string='Disability' args: [('0', '0 - Sin discapacidad o grado de minusvalía inferior al 33 por 100.'), ('1', '1 - Grado de minusvalía superior al 33 por 100 e inferior al 66 por 100.'), ('2', '2 - Grado de minusvalía superior al 33 por 100 e inferior al 66 por 100, y movilidad reducida.'), ('3', '3 - Grado de minusvalía igual o superior al 65 por 100.')]
  • hijos_y_desc_discapacidad_33 Integer
    string='Hijos y descendientes con discapacidad del 33%'
  • hijos_y_desc_discapacidad_66 Integer
    string='Hijos y descendientes con discapacidad del 66%'
  • hijos_y_desc_discapacidad_entero_33 Integer
    string='Hijos y descendientes con discapacidad del 33%, computados por entero'
  • hijos_y_desc_discapacidad_entero_66 Integer
    string='Hijos y descendientes con discapacidad del 66%, computados por entero'
  • hijos_y_desc_discapacidad_entero_mr Integer
    string='Hijos y descendientes con discapacidad, computados por entero'
  • hijos_y_desc_discapacidad_mr Integer
    string='Hijos y descendientes con discapacidad'
  • hijos_y_descendientes Integer
    help='\n Solo para percepciones correspondientes a las claves A,\n B.01, B.03 y C.\n Datos referidos a los hijos y demás descendientes del\n perceptor por los que éste tenga derecho a la aplicación\n del mínimo por descendientes previsto en el artículo 58 de\n la Ley del Impuesto.\n ' string='Resto:'
  • hijos_y_descendientes_entero Integer
    string='Resto, computadors por entero'
  • hijos_y_descendientes_m Integer
    help='\n Solo para percepciones correspondientes a las claves A,\n B.01, B.03 y C.\n Datos referidos a los hijos y demás descendientes del\n perceptor por los que éste tenga derecho a la aplicación\n del mínimo por descendientes previsto en el artículo 58 de\n la Ley del Impuesto.\n ' string='Menores de 3 años'
  • hijos_y_descendientes_m_entero Integer
    string='Menores de 3 años, computados por entero'
  • incluir_190 Boolean
    default=False string='Included in mod190'
  • movilidad_geografica Selection
    string='Movilidad geográfica' args: [('0', 'NO'), ('1', 'SI')]
  • nif_conyuge Char
    help='Solo para percepciones correspondientes a las claves A,\n B.01, B.03 y C.\n Únicamente en el supuesto de que la «SITUACIÓN\n FAMILIAR» del perceptor sea la señalada con el número\n 2, se hará constar el número de identificación fiscal de su\n cónyuge.' string='NIF del conyuge'
  • representante_legal_vat Char
    help='Si el perceptor es menor de 14 años, se consignará en\n este campo el número de identificación fiscal de su\n representante legal (padre, madre o tutor).' string='NIF representante legal'
  • situacion_familiar Selection
    help='Se hará constar el dígito numérico indicativo de la\n situación familiar del perceptor' selection=[('1', '1 - Soltero, viudo, divorciado o separado con hijos menores de 18 años o mayores incapacitados'), ('2', '2 - Casado y no separado legalmente y su conyuge no tiene rentas anuales superiores a la cuantía a la que se refiere la situación 2ª de las contempladas en el artículo 81.1'), ('3', '3 - Distinta de las anteriores.')] string='Situación familiar'
Public methods (1)
  • onchange_aeat_perception_key_id(self)
    @api.onchange('aeat_perception_key_id')
REPOSITORY
REPOSITORYOCA/l10n-spain
GIT
GIThttps://github.com/OCA/l10n-spain.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-spain/tree/14.0/l10n_es_aeat_mod190
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYLocalization/Accounting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Punt Sistemes SLU, Vunkers IT Experts, SLU
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Punt Sistemes SLU, Vunkers IT Experts, SLU
COMMITTERS
COMMITTERSPedro M. Baeza, Weblate, OCA-git-bot, oca-ci, Núria Sancho
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-spain
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:40:49
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/account-financial-reporting:
    - account_tax_balance
OCA/l10n-spain:
    - l10n_es_aeat
OCA/server-ux:
    - date_range
odoo/odoo:
    - l10n_es
    - account
    - base_setup
    - base
    - web
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - base_iban
    - base_vat
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES cryptography<39
unidecode
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (8)
XML IDNameModelTypeStatus
account_fiscal_position_form_view account.fiscal.position.form (in l10n_es_aeat_mod190) account.fiscal.position field Inherits account.view_account_position_form
invoice_form account.move field Inherits account.view_move_form
view_l10n_es_aeat_mod190_report_form l10n_es.aeat.mod190.report.form l10n.es.aeat.mod190.report field Inherits l10n_es_aeat.view_l10n_es_aeat_report_form
view_l10n_es_aeat_mod190_report_line_form l10n_es.aeat.mod190.report.line.form l10n.es.aeat.mod190.report.line form New
view_l10n_es_aeat_mod190_report_line_tree l10n_es.aeat.mod190.report.line.tree l10n.es.aeat.mod190.report.line tree New
view_l10n_es_aeat_mod190_report_tree l10n_es.aeat.mod190.report.tree l10n.es.aeat.mod190.report tree Inherits l10n_es_aeat.view_l10n_es_aeat_report_tree
view_move_line_form account.move.line field Inherits account.view_move_line_form
view_partner_mod190_form res.partner.mod190.form.inherit res.partner field Inherits base.view_partner_form
Models touched (8)

New fields (2)
  • aeat_perception_key_id Many2one → l10n.es.aeat.report.perception.key
    comodel_name='l10n.es.aeat.report.perception.key' help='Se consignará la clave alfabética que corresponda a las percepciones de que se trate.' string='Clave percepción'
  • aeat_perception_subkey_id Many2one → l10n.es.aeat.report.perception.subkey
    comodel_name='l10n.es.aeat.report.perception.subkey' help='Tratándose de percepciones correspondientes a las claves\n B, E, F, G, H, I, K y L, deberá consignarse, además, la\n subclave numérica de dos dígitos que corresponda a las\n percepciones de que se trate, según la relación de\n subclaves que para cada una de las mencionadas claves\n figura a continuación.\n En percepciones correspondientes a claves distintas de las\n mencionadas, no se cumplimentará este campo.\n Cuando deban consignarse en el modelo 190\n percepciones satisfechas a un mismo perceptor que\n correspondan a diferentes claves o subclaves de\n percepción, deberán cumplimentarle tantos apuntes o\n registros de percepción como sea necesario, de forma que\n cada uno de ellos refleje exclusivamente los datos de\n percepciones correspondientes a una misma clave y, en\n su caso, subclave.' string='Subclave'
Public methods (1)
  • onchange_aeat_perception_key_id(self)
    @api.onchange('aeat_perception_key_id')

New fields (2)
  • aeat_perception_key_id Many2one → l10n.es.aeat.report.perception.key
    comodel_name='l10n.es.aeat.report.perception.key' help='Se consignará la clave alfabética que corresponda a las percepciones de que se trate.' readonly=True states={'draft': [('readonly', False)]} string='Clave percepción'
  • aeat_perception_subkey_id Many2one → l10n.es.aeat.report.perception.subkey
    comodel_name='l10n.es.aeat.report.perception.subkey' help='Tratándose de percepciones correspondientes a las claves\n B, E, F, G, H, I, K y L, deberá consignarse, además, la\n subclave numérica de dos dígitos que corresponda a las\n percepciones de que se trate, según la relación de\n subclaves que para cada una de las mencionadas claves\n figura a continuación.\n En percepciones correspondientes a claves distintas de las\n mencionadas, no se cumplimentará este campo.\n Cuando deban consignarse en el modelo 190\n percepciones satisfechas a un mismo perceptor que\n correspondan a diferentes claves o subclaves de\n percepción, deberán cumplimentarle tantos apuntes o\n registros de percepción como sea necesario, de forma que\n cada uno de ellos refleje exclusivamente los datos de\n percepciones correspondientes a una misma clave y, en\n su caso, subclave.' readonly=True states={'draft': [('readonly', False)]} string='Subclave'
Public methods (2)
  • add_keys(self, set_fiscal_position=True)
  • create(self, vals_list)
    @api.model_create_multi

New fields (2)
  • aeat_perception_key_id Many2one → l10n.es.aeat.report.perception.key
    comodel_name='l10n.es.aeat.report.perception.key' compute='_compute_aeat_perception_keys' help='Se consignará la clave alfabética que corresponda a las percepciones de que se trate.' store=True string='Clave percepción'
  • aeat_perception_subkey_id Many2one → l10n.es.aeat.report.perception.subkey
    comodel_name='l10n.es.aeat.report.perception.subkey' compute='_compute_aeat_perception_keys' help='Tratándose de percepciones correspondientes a las claves\n B, E, F, G, H, I, K y L, deberá consignarse, además, la\n subclave numérica de dos dígitos que corresponda a las\n percepciones de que se trate, según la relación de\n subclaves que para cada una de las mencionadas claves\n figura a continuación.\n En percepciones correspondientes a claves distintas de las\n mencionadas, no se cumplimentará este campo.\n Cuando deban consignarse en el modelo 190\n percepciones satisfechas a un mismo perceptor que\n correspondan a diferentes claves o subclaves de\n percepción, deberán cumplimentarle tantos apuntes o\n registros de percepción como sea necesario, de forma que\n cada uno de ellos refleje exclusivamente los datos de\n percepciones correspondientes a una misma clave y, en\n su caso, subclave.' store=True string='Subclave'
Public methods (0)

No public methods.

New fields (6)
  • calculado Boolean
    default=False string='Calculated'
  • casilla_01 Integer
    readonly=True string='[01] Recipients'
  • casilla_02 Float
    string='[02] Amount of perceptions'
  • casilla_03 Float
    string='[03] Amount of retentions'
  • partner_record_ids One2many → l10n.es.aeat.mod190.report.line
    comodel_name='l10n.es.aeat.mod190.report.line' inverse_name='report_id' string='Partner records'
  • registro_manual Boolean
    default=False string='Manual records'
Public methods (2)
  • button_confirm(self)
  • calculate(self)

New fields (55)
  • a_nacimiento Char
    string='Year of birth'
  • ad_required Integer
    compute='_compute_ad_required'
  • aeat_perception_key_id Many2one → l10n.es.aeat.report.perception.key
    comodel_name='l10n.es.aeat.report.perception.key' required=True string='Perception key'
  • aeat_perception_subkey_id Many2one → l10n.es.aeat.report.perception.subkey
    comodel_name='l10n.es.aeat.report.perception.subkey' string='Perception subkey'
  • anualidades_por_alimentos Float
    string='Annuities for food'
  • ascendientes Integer
    string='Ascendientes menores de 75 años'
  • ascendientes_discapacidad_33 Integer
    string='Ascendientes con discapacidad'
  • ascendientes_discapacidad_66 Integer
    string='Ascendientes con discapacidad de más del 66%'
  • ascendientes_discapacidad_entero_33 Integer
    string='Ascendientes con discapacidad, computados por entero'
  • ascendientes_discapacidad_entero_66 Integer
    string='Ascendientes con discapacidad de más del 66%, computados por entero'
  • ascendientes_discapacidad_entero_mr Integer
    string='Ascendientes con discapacidad de más del 33%, computados por entero'
  • ascendientes_discapacidad_mr Integer
    string='Ascendientes con discapacidad de más del 33%'
  • ascendientes_entero Integer
    string='Ascendientes menores de 75 años, computados por entero'
  • ascendientes_entero_m75 Integer
    string='Ascendientes mayores de 75 años, computados por entero'
  • ascendientes_m75 Integer
    string='Ascendientes mayores de 75 años'
  • ceuta_melilla Char
    string='Ceuta or Melilla'
  • codigo_provincia Char
    help='' string='State ISO code'
  • computo_primeros_hijos_1 Integer
    string='1'
  • computo_primeros_hijos_2 Integer
    string='2'
  • computo_primeros_hijos_3 Integer
    string='3'
  • contrato_o_relacion Selection
    string='Contract or relationship' args: [('1', '1 - Contract or relationship of a general nature'), ('2', '2 - Contract or ratio less than a year'), ('3', '3 - Contract or special employment relationship of a dependent nature'), ('4', '4 - Sporadic relationship of manual workers')]
  • discapacidad Selection
    string='Disability' args: [('0', '0 - No disability or degree of disability less than 33 percent.'), ('1', '1 - Degree of disability greater than 33 percent and less than 66 percent.'), ('2', '2 - Degree of disability greater than 33 percent and less than 66 percent, and reduced mobility.'), ('3', '3 - Degree of disability equal to or greater than 65%.')]
  • ejercicio_devengo Char
    string='year'
  • gastos_deducibles Float
    string='Deductible expenses'
  • hijos_y_desc_discapacidad_33 Integer
    string='Hijos y descendientes con discapacidad del 33%'
  • hijos_y_desc_discapacidad_66 Integer
    string='Hijos y descendientes con discapacidad del 66%'
  • hijos_y_desc_discapacidad_entero_33 Integer
    string='Hijos y descendientes con discapacidad del 33%, computados por entero'
  • hijos_y_desc_discapacidad_entero_66 Integer
    string='Hijos y descendientes con discapacidad del 66%, computados por entero'
  • hijos_y_desc_discapacidad_entero_mr Integer
    string='Descendientes con discapacidad, computado de forma entera'
  • hijos_y_desc_discapacidad_mr Integer
    string='Descendientes con discapacidad'
  • hijos_y_descendientes Integer
    string='Rest'
  • hijos_y_descendientes_entero Integer
    string='Rest, computed entirely'
  • hijos_y_descendientes_m Integer
    string='Under 3 years'
  • hijos_y_descendientes_m_entero Integer
    string='Under 3 years, computed entirely'
  • ingresos_a_cuenta_efectuados Float
    string='Income paid on account'
  • ingresos_a_cuenta_efectuados_incap Float
    string='Income on account in kind made as a result of incapacity for work'
  • ingresos_a_cuenta_repercutidos Float
    string='Income paid into account'
  • ingresos_a_cuenta_repercutidos_incap Float
    string='Income to account in kind, repercussions derived from incapacity for work'
  • movilidad_geografica Selection
    string='Geographical mobility' args: [('0', 'NO'), ('1', 'SI')]
  • nif_conyuge Char
    string='VAT of the spouse'
  • partner_id Many2one → res.partner
    comodel_name='res.partner' required=True string='Partner'
  • partner_record_ok Boolean
    compute='_compute_partner_record_ok' help='Checked if partner record is OK' string='Partner Record OK'
  • partner_vat Char
    string='NIF'
  • pensiones_compensatorias Float
    string='Compensatory pensions'
  • percepciones_dinerarias Float
    string='Monetary perceptions'
  • percepciones_dinerarias_incap Float
    string='Monetary perceptions derived from incapacity for work'
  • percepciones_en_especie Float
    string='Valuation'
  • percepciones_en_especie_incap Float
    string='Perceptions in kind arising from incapacity for work'
  • prestamos_vh Selection
    selection=[('0', '0 - Si en ningún momento del ejercicio ha resultado de aplicación la reducción del tipo de retención.'), ('1', '1 - Si en algún momento del ejercicio ha resultado de aplicación la reducción del tipo de retención.')] string='Comunicación préstamos vivienda habitual'
  • reduccion_aplicable Float
    string='Applicable reduction'
  • report_id Many2one → l10n.es.aeat.mod190.report
    comodel_name='l10n.es.aeat.mod190.report' ondelete='cascade' string='AEAT 190 Report ID'
  • representante_legal_vat Char
    string='L. R. VAT'
  • retenciones_dinerarias Float
    string='Money withholdings'
  • retenciones_dinerarias_incap Float
    string='Monetary withholdings derived from incapacity for work'
  • situacion_familiar Selection
    selection=[('1', '1 - Single, widowed, divorced or separated with children under 18 or incapacitated'), ('2', '2 - Married and not legally separated and your spouse has no annual income above the amount referred to'), ('3', '3 - Other.')] string='Family situation'
Public methods (2)
  • onchange_aeat_perception_key_id(self)
    @api.onchange('aeat_perception_key_id')
  • onchange_partner_id(self)
    @api.onchange('partner_id')

New fields (7)
  • active Boolean
    default=True string='Active'
  • ad_required Integer
    default=0 args: 'Aditional data required'
  • aeat_number Char
    required=True string='Model number'
  • aeat_perception_subkey_ids One2many → l10n.es.aeat.report.perception.subkey
    comodel_name='l10n.es.aeat.report.perception.subkey' inverse_name='aeat_perception_key_id' string='Subkeys'
  • code Char
    required=True string='Code'
  • description Text
    string='Description'
  • name Char
    required=True string='Name'
Public methods (0)

No public methods.

New fields (6)
  • active Boolean
    default=True string='Active'
  • ad_required Integer
    default=0 args: 'Aditional data required'
  • aeat_number Char
    required=True string='Model number'
  • aeat_perception_key_id Many2one → l10n.es.aeat.report.perception.key
    comodel_name='l10n.es.aeat.report.perception.key' ondelete='cascade' string='Perception ID'
  • description Text
    string='Description'
  • name Char
    required=True string='Name'
Public methods (0)

No public methods.

New fields (35)
  • a_nacimiento Char
    help='Se consignarán las cuatro cifras del año de nacimiento del\n perceptor.' string='Año de nacimiento'
  • ad_required Integer
    compute='_compute_ad_required' args: 'Aditional data required'
  • aeat_perception_key_id Many2one → l10n.es.aeat.report.perception.key
    comodel_name='l10n.es.aeat.report.perception.key' help='Se consignará la clave alfabética que corresponda a las percepciones de que se trate.' string='Clave percepción'
  • aeat_perception_subkey_id Many2one → l10n.es.aeat.report.perception.subkey
    comodel_name='l10n.es.aeat.report.perception.subkey' help='Tratándose de percepciones correspondientes a las claves\n B, E, F, G, H, I, K y L, deberá consignarse, además, la\n subclave numérica de dos dígitos que corresponda a las\n percepciones de que se trate, según la relación de\n subclaves que para cada una de las mencionadas claves\n figura a continuación.\n En percepciones correspondientes a claves distintas de las\n mencionadas, no se cumplimentará este campo.\n Cuando deban consignarse en el modelo 190\n percepciones satisfechas a un mismo perceptor que\n correspondan a diferentes claves o subclaves de\n percepción, deberán cumplimentarle tantos apuntes o\n registros de percepción como sea necesario, de forma que\n cada uno de ellos refleje exclusivamente los datos de\n percepciones correspondientes a una misma clave y, en\n su caso, subclave.' string='Subclave'
  • ascendientes Integer
    string='Ascendientes menores de 75 años'
  • ascendientes_discapacidad_33 Integer
    string='Ascendientes con discapacidad'
  • ascendientes_discapacidad_66 Integer
    string='Ascendientes con discapacidad de más del 66%'
  • ascendientes_discapacidad_entero_33 Integer
    string='Ascendientes con discapacidad, computados por entero'
  • ascendientes_discapacidad_entero_66 Integer
    string='Ascendientes con discapacidad de más del 66%, computados por entero'
  • ascendientes_discapacidad_entero_mr Integer
    string='Ascendientes con discapacidad de más del 33%, computados por entero'
  • ascendientes_discapacidad_mr Integer
    string='Ascendientes con discapacidad de más del 33%'
  • ascendientes_entero Integer
    string='Ascendientes menores de 75 años, computados por entero'
  • ascendientes_entero_m75 Integer
    string='Ascendientes mayores de 75 años, computados por entero'
  • ascendientes_m75 Integer
    string='Ascendientes mayores de 75 años'
  • ceuta_melilla Char
    default=0 help='Se consignará el número 1 en los supuestos en que, por\n tratarse de rentas obtenidas en Ceuta o Melilla con\n derecho a la deducción establecida en el artículo 68.4 de\n la Ley del Impuesto, el pagador hubiera determinado el\n tipo de retención de acuerdo con lo previsto en los\n artículos 80.2 y 95.1, último párrafo, del Reglamento del\n Impuesto.\n En otro caso se hará constar en este campo el número\n cero (0).' string='Ceuta o Melilla'
  • computo_primeros_hijos_1 Integer
    help='CÓMPUTO DE LOS 3 PRIMEROS HIJOS.\n Solo para percepciones correspondientes a las claves A,\n B.01, B.03 y C.\n Datos referidos a la proporción en la que ha sido\n computado a efectos de determinar el tipo de retención\n cada uno de los tres primeros hijos o descendientes del\n perceptor, ordenados de mayor a menor según su edad,\n de acuerdo a los siguientes valores:\n 1: Computado por entero\n 2: Computado por mitad\n 0: En cualquier otro caso.\n ' string='Cómputo de los 3 primeros hijos'
  • computo_primeros_hijos_2 Integer
    string='Cómputo de los 3 primeros hijos (2º)'
  • computo_primeros_hijos_3 Integer
    string='Cómputo de los 3 primeros hijos (3º)'
  • contrato_o_relacion Selection
    help='Solo para percepciones correspondientes a la clave A.\n Tratándose de empleados por cuenta ajena en activo, se\n hará constar el dígito numérico indicativo del tipo de\n contrato o relación existente entre el perceptor y la\n persona o entidad retenedora' string='Contrato o relacion' args: [('1', '1 - Contrato o relación de carácter general'), ('2', '2 - Contrato o relación inferior al año'), ('3', '3 - Contrato o relación laboral especial de carácter dependiente'), ('4', '4 - Relación esporádica propia de los trabajadores manuales')]
  • discapacidad Selection
    help='Solo para percepciones correspondientes a las claves A,\n B.01, B.03 y C.\n Si el perceptor es una persona con discapacidad que tiene\n acreditado un grado de minusvalía igual o superior al 33\n por 100, se hará constar en este campo el código\n numérico indicativo de dicho grado' string='Disability' args: [('0', '0 - Sin discapacidad o grado de minusvalía inferior al 33 por 100.'), ('1', '1 - Grado de minusvalía superior al 33 por 100 e inferior al 66 por 100.'), ('2', '2 - Grado de minusvalía superior al 33 por 100 e inferior al 66 por 100, y movilidad reducida.'), ('3', '3 - Grado de minusvalía igual o superior al 65 por 100.')]
  • hijos_y_desc_discapacidad_33 Integer
    string='Hijos y descendientes con discapacidad del 33%'
  • hijos_y_desc_discapacidad_66 Integer
    string='Hijos y descendientes con discapacidad del 66%'
  • hijos_y_desc_discapacidad_entero_33 Integer
    string='Hijos y descendientes con discapacidad del 33%, computados por entero'
  • hijos_y_desc_discapacidad_entero_66 Integer
    string='Hijos y descendientes con discapacidad del 66%, computados por entero'
  • hijos_y_desc_discapacidad_entero_mr Integer
    string='Hijos y descendientes con discapacidad, computados por entero'
  • hijos_y_desc_discapacidad_mr Integer
    string='Hijos y descendientes con discapacidad'
  • hijos_y_descendientes Integer
    help='\n Solo para percepciones correspondientes a las claves A,\n B.01, B.03 y C.\n Datos referidos a los hijos y demás descendientes del\n perceptor por los que éste tenga derecho a la aplicación\n del mínimo por descendientes previsto en el artículo 58 de\n la Ley del Impuesto.\n ' string='Resto:'
  • hijos_y_descendientes_entero Integer
    string='Resto, computadors por entero'
  • hijos_y_descendientes_m Integer
    help='\n Solo para percepciones correspondientes a las claves A,\n B.01, B.03 y C.\n Datos referidos a los hijos y demás descendientes del\n perceptor por los que éste tenga derecho a la aplicación\n del mínimo por descendientes previsto en el artículo 58 de\n la Ley del Impuesto.\n ' string='Menores de 3 años'
  • hijos_y_descendientes_m_entero Integer
    string='Menores de 3 años, computados por entero'
  • incluir_190 Boolean
    default=False string='Included in mod190'
  • movilidad_geografica Selection
    string='Movilidad geográfica' args: [('0', 'NO'), ('1', 'SI')]
  • nif_conyuge Char
    help='Solo para percepciones correspondientes a las claves A,\n B.01, B.03 y C.\n Únicamente en el supuesto de que la «SITUACIÓN\n FAMILIAR» del perceptor sea la señalada con el número\n 2, se hará constar el número de identificación fiscal de su\n cónyuge.' string='NIF del conyuge'
  • representante_legal_vat Char
    help='Si el perceptor es menor de 14 años, se consignará en\n este campo el número de identificación fiscal de su\n representante legal (padre, madre o tutor).' string='NIF representante legal'
  • situacion_familiar Selection
    help='Se hará constar el dígito numérico indicativo de la\n situación familiar del perceptor' selection=[('1', '1 - Soltero, viudo, divorciado o separado con hijos menores de 18 años o mayores incapacitados'), ('2', '2 - Casado y no separado legalmente y su conyuge no tiene rentas anuales superiores a la cuantía a la que se refiere la situación 2ª de las contempladas en el artículo 81.1'), ('3', '3 - Distinta de las anteriores.')] string='Situación familiar'
Public methods (1)
  • onchange_aeat_perception_key_id(self)
    @api.onchange('aeat_perception_key_id')
REPOSITORY
REPOSITORYOCA/l10n-spain
GIT
GIThttps://github.com/OCA/l10n-spain.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-spain/tree/13.0/l10n_es_aeat_mod190
VERSION
VERSION 1.1.2
CATEGORY
CATEGORYLocalization/Accounting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Punt Sistemes SLU, Vunkers IT Experts, SLU
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Punt Sistemes SLU, Vunkers IT Experts, SLU
COMMITTERS
COMMITTERSPedro M. Baeza, cubells, manu, OCA Transbot, oca-travis, Weblate, OCA-git-bot, oca-ci
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-spain
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:34:09
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/account-financial-reporting:
    - account_tax_balance
OCA/l10n-spain:
    - l10n_es_aeat
OCA/server-ux:
    - date_range
odoo/odoo:
    - l10n_es
    - account
    - base_setup
    - base
    - web
    - product
    - mail
    - 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

Code Analysis

Views touched (8)
XML IDNameModelTypeStatus
account_fiscal_position_form_view account.fiscal.position.form (in l10n_es_aeat_mod190) account.fiscal.position field Inherits account.view_account_position_form
invoice_form account.move field Inherits account.view_move_form
view_l10n_es_aeat_mod190_report_form l10n_es.aeat.mod190.report.form l10n.es.aeat.mod190.report field Inherits l10n_es_aeat.view_l10n_es_aeat_report_form
view_l10n_es_aeat_mod190_report_line_form l10n_es.aeat.mod190.report.line.form l10n.es.aeat.mod190.report.line form New
view_l10n_es_aeat_mod190_report_line_tree l10n_es.aeat.mod190.report.line.tree l10n.es.aeat.mod190.report.line tree New
view_l10n_es_aeat_mod190_report_tree l10n_es.aeat.mod190.report.tree l10n.es.aeat.mod190.report tree Inherits l10n_es_aeat.view_l10n_es_aeat_report_tree
view_move_line_form account.move.line field Inherits account.view_move_line_form
view_partner_mod190_form res.partner.mod190.form.inherit res.partner field Inherits base.view_partner_form
Models touched (8)

New fields (2)
  • aeat_perception_key_id Many2one → l10n.es.aeat.report.perception.key
    comodel_name='l10n.es.aeat.report.perception.key' help='Se consignará la clave alfabética que corresponda a las percepciones de que se trate.' string='Clave percepción'
  • aeat_perception_subkey_id Many2one → l10n.es.aeat.report.perception.subkey
    comodel_name='l10n.es.aeat.report.perception.subkey' help='Tratándose de percepciones correspondientes a las claves\n B, E, F, G, H, I, K y L, deberá consignarse, además, la\n subclave numérica de dos dígitos que corresponda a las\n percepciones de que se trate, según la relación de\n subclaves que para cada una de las mencionadas claves\n figura a continuación.\n En percepciones correspondientes a claves distintas de las\n mencionadas, no se cumplimentará este campo.\n Cuando deban consignarse en el modelo 190\n percepciones satisfechas a un mismo perceptor que\n correspondan a diferentes claves o subclaves de\n percepción, deberán cumplimentarle tantos apuntes o\n registros de percepción como sea necesario, de forma que\n cada uno de ellos refleje exclusivamente los datos de\n percepciones correspondientes a una misma clave y, en\n su caso, subclave.' string='Subclave'
Public methods (1)
  • onchange_aeat_perception_key_id(self)
    @api.onchange('aeat_perception_key_id')

New fields (2)
  • aeat_perception_key_id Many2one → l10n.es.aeat.report.perception.key
    comodel_name='l10n.es.aeat.report.perception.key' help='Se consignará la clave alfabética que corresponda a las percepciones de que se trate.' readonly=True states={'draft': [('readonly', False)]} string='Clave percepción'
  • aeat_perception_subkey_id Many2one → l10n.es.aeat.report.perception.subkey
    comodel_name='l10n.es.aeat.report.perception.subkey' help='Tratándose de percepciones correspondientes a las claves\n B, E, F, G, H, I, K y L, deberá consignarse, además, la\n subclave numérica de dos dígitos que corresponda a las\n percepciones de que se trate, según la relación de\n subclaves que para cada una de las mencionadas claves\n figura a continuación.\n En percepciones correspondientes a claves distintas de las\n mencionadas, no se cumplimentará este campo.\n Cuando deban consignarse en el modelo 190\n percepciones satisfechas a un mismo perceptor que\n correspondan a diferentes claves o subclaves de\n percepción, deberán cumplimentarle tantos apuntes o\n registros de percepción como sea necesario, de forma que\n cada uno de ellos refleje exclusivamente los datos de\n percepciones correspondientes a una misma clave y, en\n su caso, subclave.' readonly=True states={'draft': [('readonly', False)]} string='Subclave'
Public methods (2)
  • add_keys(self, set_fiscal_position=True)
  • create(self, vals_list)
    @api.model_create_multi

New fields (2)
  • aeat_perception_key_id Many2one → l10n.es.aeat.report.perception.key
    comodel_name='l10n.es.aeat.report.perception.key' compute='_compute_aeat_perception_keys' help='Se consignará la clave alfabética que corresponda a las percepciones de que se trate.' store=True string='Clave percepción'
  • aeat_perception_subkey_id Many2one → l10n.es.aeat.report.perception.subkey
    comodel_name='l10n.es.aeat.report.perception.subkey' compute='_compute_aeat_perception_keys' help='Tratándose de percepciones correspondientes a las claves\n B, E, F, G, H, I, K y L, deberá consignarse, además, la\n subclave numérica de dos dígitos que corresponda a las\n percepciones de que se trate, según la relación de\n subclaves que para cada una de las mencionadas claves\n figura a continuación.\n En percepciones correspondientes a claves distintas de las\n mencionadas, no se cumplimentará este campo.\n Cuando deban consignarse en el modelo 190\n percepciones satisfechas a un mismo perceptor que\n correspondan a diferentes claves o subclaves de\n percepción, deberán cumplimentarle tantos apuntes o\n registros de percepción como sea necesario, de forma que\n cada uno de ellos refleje exclusivamente los datos de\n percepciones correspondientes a una misma clave y, en\n su caso, subclave.' store=True string='Subclave'
Public methods (0)

No public methods.

New fields (6)
  • calculado Boolean
    default=False string='Calculated'
  • casilla_01 Integer
    readonly=True string='[01] Recipients'
  • casilla_02 Float
    string='[02] Amount of perceptions'
  • casilla_03 Float
    string='[03] Amount of retentions'
  • partner_record_ids One2many → l10n.es.aeat.mod190.report.line
    comodel_name='l10n.es.aeat.mod190.report.line' inverse_name='report_id' ondelete='cascade' string='Partner records'
  • registro_manual Boolean
    default=False string='Manual records'
Public methods (2)
  • button_confirm(self)
  • calculate(self)

New fields (55)
  • a_nacimiento Char
    size=4 string='Year of birth'
  • ad_required Integer
    compute='_compute_ad_required'
  • aeat_perception_key_id Many2one → l10n.es.aeat.report.perception.key
    comodel_name='l10n.es.aeat.report.perception.key' required=True string='Perception key'
  • aeat_perception_subkey_id Many2one → l10n.es.aeat.report.perception.subkey
    comodel_name='l10n.es.aeat.report.perception.subkey' string='Perception subkey'
  • anualidades_por_alimentos Float
    string='Annuities for food'
  • ascendientes Integer
    string='Ascendientes menores de 75 años'
  • ascendientes_discapacidad_33 Integer
    string='Ascendientes con discapacidad'
  • ascendientes_discapacidad_66 Integer
    string='Ascendientes con discapacidad de más del 66%'
  • ascendientes_discapacidad_entero_33 Integer
    string='Ascendientes con discapacidad, computados por entero'
  • ascendientes_discapacidad_entero_66 Integer
    string='Ascendientes con discapacidad de más del 66%, computados por entero'
  • ascendientes_discapacidad_entero_mr Integer
    string='Ascendientes con discapacidad de más del 33%, computados por entero'
  • ascendientes_discapacidad_mr Integer
    string='Ascendientes con discapacidad de más del 33%'
  • ascendientes_entero Integer
    string='Ascendientes menores de 75 años, computados por entero'
  • ascendientes_entero_m75 Integer
    string='Ascendientes mayores de 75 años, computados por entero'
  • ascendientes_m75 Integer
    string='Ascendientes mayores de 75 años'
  • ceuta_melilla Char
    size=1 string='Ceuta or Melilla'
  • codigo_provincia Char
    help='' size=2 string='State ISO code'
  • computo_primeros_hijos_1 Integer
    string='1'
  • computo_primeros_hijos_2 Integer
    string='2'
  • computo_primeros_hijos_3 Integer
    string='3'
  • contrato_o_relacion Selection
    size=1 string='Contract or relationship' args: [('1', '1 - Contract or relationship of a general nature'), ('2', '2 - Contract or ratio less than a year'), ('3', '3 - Contract or special employment relationship of a dependent nature'), ('4', '4 - Sporadic relationship of manual workers')]
  • discapacidad Selection
    string='Disability' args: [('0', '0 - No disability or degree of disability less than 33 percent.'), ('1', '1 - Degree of disability greater than 33 percent and less than 66 percent.'), ('2', '2 - Degree of disability greater than 33 percent and less than 66 percent, and reduced mobility.'), ('3', '3 - Degree of disability equal to or greater than 65%.')]
  • ejercicio_devengo Char
    size=4 string='year'
  • gastos_deducibles Float
    string='Deductible expenses'
  • hijos_y_desc_discapacidad_33 Integer
    string='Hijos y descendientes con discapacidad del 33%'
  • hijos_y_desc_discapacidad_66 Integer
    string='Hijos y descendientes con discapacidad del 66%'
  • hijos_y_desc_discapacidad_entero_33 Integer
    string='Hijos y descendientes con discapacidad del 33%, computados por entero'
  • hijos_y_desc_discapacidad_entero_66 Integer
    string='Hijos y descendientes con discapacidad del 66%, computados por entero'
  • hijos_y_desc_discapacidad_entero_mr Integer
    string='Descendientes con discapacidad, computado de forma entera'
  • hijos_y_desc_discapacidad_mr Integer
    string='Descendientes con discapacidad'
  • hijos_y_descendientes Integer
    string='Rest'
  • hijos_y_descendientes_entero Integer
    string='Rest, computed entirely'
  • hijos_y_descendientes_m Integer
    string='Under 3 years'
  • hijos_y_descendientes_m_entero Integer
    string='Under 3 years, computed entirely'
  • ingresos_a_cuenta_efectuados Float
    string='Income paid on account'
  • ingresos_a_cuenta_efectuados_incap Float
    string='Income on account in kind made as a result of incapacity for work'
  • ingresos_a_cuenta_repercutidos Float
    string='Income paid into account'
  • ingresos_a_cuenta_repercutidos_incap Float
    string='Income to account in kind, repercussions derived from incapacity for work'
  • movilidad_geografica Selection
    string='Geographical mobility' args: [('0', 'NO'), ('1', 'SI')]
  • nif_conyuge Char
    size=15 string='VAT of the spouse'
  • partner_id Many2one → res.partner
    comodel_name='res.partner' required=True string='Partner'
  • partner_record_ok Boolean
    compute='_compute_partner_record_ok' help='Checked if partner record is OK' string='Partner Record OK'
  • partner_vat Char
    size=15 string='NIF'
  • pensiones_compensatorias Float
    string='Compensatory pensions'
  • percepciones_dinerarias Float
    string='Monetary perceptions'
  • percepciones_dinerarias_incap Float
    string='Monetary perceptions derived from incapacity for work'
  • percepciones_en_especie Float
    string='Valuation'
  • percepciones_en_especie_incap Float
    string='Perceptions in kind arising from incapacity for work'
  • prestamos_vh Selection
    selection=[('0', '0 - Si en ningún momento del ejercicio ha resultado de aplicación la reducción del tipo de retención.'), ('1', '1 - Si en algún momento del ejercicio ha resultado de aplicación la reducción del tipo de retención.')] string='Comunicación préstamos vivienda habitual'
  • reduccion_aplicable Float
    string='Applicable reduction'
  • report_id Many2one → l10n.es.aeat.mod190.report
    comodel_name='l10n.es.aeat.mod190.report' ondelete='cascade' string='AEAT 190 Report ID'
  • representante_legal_vat Char
    size=9 string='L. R. VAT'
  • retenciones_dinerarias Float
    string='Money withholdings'
  • retenciones_dinerarias_incap Float
    string='Monetary withholdings derived from incapacity for work'
  • situacion_familiar Selection
    selection=[('1', '1 - Single, widowed, divorced or separated with children under 18 or incapacitated'), ('2', '2 - Married and not legally separated and your spouse has no annual income above the amount referred to'), ('3', '3 - Other.')] string='Family situation'
Public methods (2)
  • onchange_aeat_perception_key_id(self)
    @api.onchange('aeat_perception_key_id')
  • onchange_partner_id(self)
    @api.onchange('partner_id')

New fields (7)
  • active Boolean
    default=True string='Active'
  • ad_required Integer
    default=0 args: 'Aditional data required'
  • aeat_number Char
    required=True size=3 string='Model number'
  • aeat_perception_subkey_id One2many → l10n.es.aeat.report.perception.subkey
    comodel_name='l10n.es.aeat.report.perception.subkey' inverse_name='aeat_perception_key_id' ondelete='cascade' string='Subkeys'
  • code Char
    required=True size=3 string='Code'
  • description Text
    string='Description'
  • name Char
    required=True string='Name'
Public methods (0)

No public methods.

New fields (6)
  • active Boolean
    default=True string='Active'
  • ad_required Integer
    default=0 args: 'Aditional data required'
  • aeat_number Char
    required=True size=3 string='Model number'
  • aeat_perception_key_id Many2one → l10n.es.aeat.report.perception.key
    comodel_name='l10n.es.aeat.report.perception.key' string='Perception ID'
  • description Text
    string='Description'
  • name Char
    required=True size=2 string='Name'
Public methods (0)

No public methods.

New fields (35)
  • a_nacimiento Char
    help='Se consignarán las cuatro cifras del año de nacimiento del\n perceptor.' size=4 string='Año de nacimiento'
  • ad_required Integer
    compute='_compute_ad_required' args: 'Aditional data required'
  • aeat_perception_key_id Many2one → l10n.es.aeat.report.perception.key
    comodel_name='l10n.es.aeat.report.perception.key' help='Se consignará la clave alfabética que corresponda a las percepciones de que se trate.' string='Clave percepción'
  • aeat_perception_subkey_id Many2one → l10n.es.aeat.report.perception.subkey
    comodel_name='l10n.es.aeat.report.perception.subkey' help='Tratándose de percepciones correspondientes a las claves\n B, E, F, G, H, I, K y L, deberá consignarse, además, la\n subclave numérica de dos dígitos que corresponda a las\n percepciones de que se trate, según la relación de\n subclaves que para cada una de las mencionadas claves\n figura a continuación.\n En percepciones correspondientes a claves distintas de las\n mencionadas, no se cumplimentará este campo.\n Cuando deban consignarse en el modelo 190\n percepciones satisfechas a un mismo perceptor que\n correspondan a diferentes claves o subclaves de\n percepción, deberán cumplimentarle tantos apuntes o\n registros de percepción como sea necesario, de forma que\n cada uno de ellos refleje exclusivamente los datos de\n percepciones correspondientes a una misma clave y, en\n su caso, subclave.' string='Subclave'
  • ascendientes Integer
    string='Ascendientes menores de 75 años'
  • ascendientes_discapacidad_33 Integer
    string='Ascendientes con discapacidad'
  • ascendientes_discapacidad_66 Integer
    string='Ascendientes con discapacidad de más del 66%'
  • ascendientes_discapacidad_entero_33 Integer
    string='Ascendientes con discapacidad, computados por entero'
  • ascendientes_discapacidad_entero_66 Integer
    string='Ascendientes con discapacidad de más del 66%, computados por entero'
  • ascendientes_discapacidad_entero_mr Integer
    string='Ascendientes con discapacidad de más del 33%, computados por entero'
  • ascendientes_discapacidad_mr Integer
    string='Ascendientes con discapacidad de más del 33%'
  • ascendientes_entero Integer
    string='Ascendientes menores de 75 años, computados por entero'
  • ascendientes_entero_m75 Integer
    string='Ascendientes mayores de 75 años, computados por entero'
  • ascendientes_m75 Integer
    string='Ascendientes mayores de 75 años'
  • ceuta_melilla Char
    default=0 help='Se consignará el número 1 en los supuestos en que, por\n tratarse de rentas obtenidas en Ceuta o Melilla con\n derecho a la deducción establecida en el artículo 68.4 de\n la Ley del Impuesto, el pagador hubiera determinado el\n tipo de retención de acuerdo con lo previsto en los\n artículos 80.2 y 95.1, último párrafo, del Reglamento del\n Impuesto.\n En otro caso se hará constar en este campo el número\n cero (0).' size=1 string='Ceuta o Melilla'
  • computo_primeros_hijos_1 Integer
    help='CÓMPUTO DE LOS 3 PRIMEROS HIJOS.\n Solo para percepciones correspondientes a las claves A,\n B.01, B.03 y C.\n Datos referidos a la proporción en la que ha sido\n computado a efectos de determinar el tipo de retención\n cada uno de los tres primeros hijos o descendientes del\n perceptor, ordenados de mayor a menor según su edad,\n de acuerdo a los siguientes valores:\n 1: Computado por entero\n 2: Computado por mitad\n 0: En cualquier otro caso.\n ' string='Cómputo de los 3 primeros hijos'
  • computo_primeros_hijos_2 Integer
    string='Cómputo de los 3 primeros hijos (2º)'
  • computo_primeros_hijos_3 Integer
    string='Cómputo de los 3 primeros hijos (3º)'
  • contrato_o_relacion Selection
    help='Solo para percepciones correspondientes a la clave A.\n Tratándose de empleados por cuenta ajena en activo, se\n hará constar el dígito numérico indicativo del tipo de\n contrato o relación existente entre el perceptor y la\n persona o entidad retenedora' size=1 string='Contrato o relacion' args: [('1', '1 - Contrato o relación de carácter general'), ('2', '2 - Contrato o relación inferior al año'), ('3', '3 - Contrato o relación laboral especial de carácter dependiente'), ('4', '4 - Relación esporádica propia de los trabajadores manuales')]
  • discapacidad Selection
    help='Solo para percepciones correspondientes a las claves A,\n B.01, B.03 y C.\n Si el perceptor es una persona con discapacidad que tiene\n acreditado un grado de minusvalía igual o superior al 33\n por 100, se hará constar en este campo el código\n numérico indicativo de dicho grado' string='Disability' args: [('0', '0 - Sin discapacidad o grado de minusvalía inferior al 33 por 100.'), ('1', '1 - Grado de minusvalía superior al 33 por 100 e inferior al 66 por 100.'), ('2', '2 - Grado de minusvalía superior al 33 por 100 e inferior al 66 por 100, y movilidad reducida.'), ('3', '3 - Grado de minusvalía igual o superior al 65 por 100.')]
  • hijos_y_desc_discapacidad_33 Integer
    string='Hijos y descendientes con discapacidad del 33%'
  • hijos_y_desc_discapacidad_66 Integer
    string='Hijos y descendientes con discapacidad del 66%'
  • hijos_y_desc_discapacidad_entero_33 Integer
    string='Hijos y descendientes con discapacidad del 33%, computados por entero'
  • hijos_y_desc_discapacidad_entero_66 Integer
    string='Hijos y descendientes con discapacidad del 66%, computados por entero'
  • hijos_y_desc_discapacidad_entero_mr Integer
    string='Hijos y descendientes con discapacidad, computados por entero'
  • hijos_y_desc_discapacidad_mr Integer
    string='Hijos y descendientes con discapacidad'
  • hijos_y_descendientes Integer
    help='\n Solo para percepciones correspondientes a las claves A,\n B.01, B.03 y C.\n Datos referidos a los hijos y demás descendientes del\n perceptor por los que éste tenga derecho a la aplicación\n del mínimo por descendientes previsto en el artículo 58 de\n la Ley del Impuesto.\n ' string='Resto:'
  • hijos_y_descendientes_entero Integer
    string='Resto, computadors por entero'
  • hijos_y_descendientes_m Integer
    help='\n Solo para percepciones correspondientes a las claves A,\n B.01, B.03 y C.\n Datos referidos a los hijos y demás descendientes del\n perceptor por los que éste tenga derecho a la aplicación\n del mínimo por descendientes previsto en el artículo 58 de\n la Ley del Impuesto.\n ' string='Menores de 3 años'
  • hijos_y_descendientes_m_entero Integer
    string='Menores de 3 años, computados por entero'
  • incluir_190 Boolean
    default=False string='Included in mod190'
  • movilidad_geografica Selection
    string='Movilidad geográfica' args: [('0', 'NO'), ('1', 'SI')]
  • nif_conyuge Char
    help='Solo para percepciones correspondientes a las claves A,\n B.01, B.03 y C.\n Únicamente en el supuesto de que la «SITUACIÓN\n FAMILIAR» del perceptor sea la señalada con el número\n 2, se hará constar el número de identificación fiscal de su\n cónyuge.' size=15 string='NIF del conyuge'
  • representante_legal_vat Char
    help='Si el perceptor es menor de 14 años, se consignará en\n este campo el número de identificación fiscal de su\n representante legal (padre, madre o tutor).' size=9 string='NIF representante legal'
  • situacion_familiar Selection
    help='Se hará constar el dígito numérico indicativo de la\n situación familiar del perceptor' selection=[('1', '1 - Soltero, viudo, divorciado o separado con hijos menores de 18 años o mayores incapacitados'), ('2', '2 - Casado y no separado legalmente y su conyuge no tiene rentas anuales superiores a la cuantía a la que se refiere la situación 2ª de las contempladas en el artículo 81.1'), ('3', '3 - Distinta de las anteriores.')] string='Situación familiar'
Public methods (1)
  • onchange_aeat_perception_key_id(self)
    @api.onchange('aeat_perception_key_id')
REPOSITORY
REPOSITORYOCA/l10n-spain
GIT
GIThttps://github.com/OCA/l10n-spain.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-spain/tree/12.0/l10n_es_aeat_mod190
VERSION
VERSION 1.0.2
CATEGORY
CATEGORYLocalization/Accounting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Punt Sistemes SLU
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Punt Sistemes SLU
COMMITTERS
COMMITTERSEnric Tobella, cubells, angelmoya, oca-travis, OCA-git-bot
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-spain
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:29:13
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/account-financial-reporting:
    - account_tax_balance
OCA/l10n-spain:
    - l10n_es_aeat
OCA/server-ux:
    - date_range
odoo/odoo:
    - l10n_es
    - account
    - base_setup
    - base
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - http_routing
    - digest
    - base_iban
    - base_vat
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES OpenSSL
requests
unidecode
zeep
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (9)
XML IDNameModelTypeStatus
account_fiscal_position_form_view account.fiscal.position.form (in l10n_es_aeat_mod190) account.fiscal.position field Inherits account.view_account_position_form
invoice_form account.invoice field Inherits account.invoice_form
invoice_supplier_form account.invoice.supplier.form account.invoice field Inherits account.invoice_supplier_form
view_l10n_es_aeat_mod190_report_form l10n_es.aeat.mod190.report.form l10n.es.aeat.mod190.report field Inherits l10n_es_aeat.view_l10n_es_aeat_report_form
view_l10n_es_aeat_mod190_report_line_form l10n_es.aeat.mod190.report.line.form l10n.es.aeat.mod190.report.line form New
view_l10n_es_aeat_mod190_report_line_tree l10n_es.aeat.mod190.report.line.tree l10n.es.aeat.mod190.report.line tree New
view_l10n_es_aeat_mod190_report_tree l10n_es.aeat.mod190.report.tree l10n.es.aeat.mod190.report tree Inherits l10n_es_aeat.view_l10n_es_aeat_report_tree
view_move_line_form account.move.line field Inherits account.view_move_line_form
view_partner_mod190_form res.partner.mod190.form.inherit res.partner field Inherits base.view_partner_form
Models touched (9)

New fields (2)
  • aeat_perception_key_id Many2one → l10n.es.aeat.report.perception.key
    comodel_name='l10n.es.aeat.report.perception.key' help='Se consignará la clave alfabética que corresponda a las percepciones de que se trate.' oldname='performance_key' string='Clave percepción'
  • aeat_perception_subkey_id Many2one → l10n.es.aeat.report.perception.subkey
    comodel_name='l10n.es.aeat.report.perception.subkey' help='Tratándose de percepciones correspondientes a las claves\n B, E, F, G, H, I, K y L, deberá consignarse, además, la\n subclave numérica de dos dígitos que corresponda a las\n percepciones de que se trate, según la relación de\n subclaves que para cada una de las mencionadas claves\n figura a continuación.\n En percepciones correspondientes a claves distintas de las\n mencionadas, no se cumplimentará este campo.\n Cuando deban consignarse en el modelo 190\n percepciones satisfechas a un mismo perceptor que\n correspondan a diferentes claves o subclaves de\n percepción, deberán cumplimentarle tantos apuntes o\n registros de percepción como sea necesario, de forma que\n cada uno de ellos refleje exclusivamente los datos de\n percepciones correspondientes a una misma clave y, en\n su caso, subclave.' oldname='subclave' string='Subclave'
Public methods (1)
  • onchange_aeat_perception_key_id(self)
    @api.onchange('aeat_perception_key_id')

New fields (2)
  • aeat_perception_key_id Many2one → l10n.es.aeat.report.perception.key
    comodel_name='l10n.es.aeat.report.perception.key' help='Se consignará la clave alfabética que corresponda a las percepciones de que se trate.' oldname='performance_key' readonly=True states={'draft': [('readonly', False)]} string='Clave percepción'
  • aeat_perception_subkey_id Many2one → l10n.es.aeat.report.perception.subkey
    comodel_name='l10n.es.aeat.report.perception.subkey' help='Tratándose de percepciones correspondientes a las claves\n B, E, F, G, H, I, K y L, deberá consignarse, además, la\n subclave numérica de dos dígitos que corresponda a las\n percepciones de que se trate, según la relación de\n subclaves que para cada una de las mencionadas claves\n figura a continuación.\n En percepciones correspondientes a claves distintas de las\n mencionadas, no se cumplimentará este campo.\n Cuando deban consignarse en el modelo 190\n percepciones satisfechas a un mismo perceptor que\n correspondan a diferentes claves o subclaves de\n percepción, deberán cumplimentarle tantos apuntes o\n registros de percepción como sea necesario, de forma que\n cada uno de ellos refleje exclusivamente los datos de\n percepciones correspondientes a una misma clave y, en\n su caso, subclave.' oldname='subclave' readonly=True states={'draft': [('readonly', False)]} string='Subclave'
Public methods (4)
  • create(self, vals)
    @api.model
  • invoice_line_move_line_get(self)
    @api.model
    We pass on the operation key from invoice line to the move line
  • line_get_convert(self, line, part)
    @api.model
    Copy from invoice to move lines
  • onchange_aeat_perception_key_id(self)
    @api.onchange('aeat_perception_key_id')

New fields (2)
  • aeat_perception_key_id Many2one → l10n.es.aeat.report.perception.key
    comodel_name='l10n.es.aeat.report.perception.key' help='Se consignará la clave alfabética que corresponda a las percepciones de que se trate.' oldname='performance_key' string='Clave percepción'
  • aeat_perception_subkey_id Many2one → l10n.es.aeat.report.perception.subkey
    comodel_name='l10n.es.aeat.report.perception.subkey' help='Tratándose de percepciones correspondientes a las claves\n B, E, F, G, H, I, K y L, deberá consignarse, además, la\n subclave numérica de dos dígitos que corresponda a las\n percepciones de que se trate, según la relación de\n subclaves que para cada una de las mencionadas claves\n figura a continuación.\n En percepciones correspondientes a claves distintas de las\n mencionadas, no se cumplimentará este campo.\n Cuando deban consignarse en el modelo 190\n percepciones satisfechas a un mismo perceptor que\n correspondan a diferentes claves o subclaves de\n percepción, deberán cumplimentarle tantos apuntes o\n registros de percepción como sea necesario, de forma que\n cada uno de ellos refleje exclusivamente los datos de\n percepciones correspondientes a una misma clave y, en\n su caso, subclave.' oldname='subclave' string='Subclave'
Public methods (0)

No public methods.

New fields (6)
  • calculado Boolean
    default=False string='Calculated'
  • casilla_01 Integer
    readonly=True string='[01] Recipients'
  • casilla_02 Float
    string='[02] Amount of perceptions'
  • casilla_03 Float
    string='[03] Amount of retentions'
  • partner_record_ids One2many → l10n.es.aeat.mod190.report.line
    comodel_name='l10n.es.aeat.mod190.report.line' inverse_name='report_id' ondelete='cascade' string='Partner records'
  • registro_manual Boolean
    default=False string='Manual records'
Public methods (2)
  • button_confirm(self)
    @api.multi
  • calculate(self)
    @api.multi

New fields (55)
  • a_nacimiento Char
    size=4 string='Year of birth'
  • ad_required Integer
    compute='_compute_ad_required'
  • aeat_perception_key_id Many2one → l10n.es.aeat.report.perception.key
    comodel_name='l10n.es.aeat.report.perception.key' oldname='clave_percepcion' required=True string='Perception key'
  • aeat_perception_subkey_id Many2one → l10n.es.aeat.report.perception.subkey
    comodel_name='l10n.es.aeat.report.perception.subkey' oldname='subclave' string='Perception subkey'
  • anualidades_por_alimentos Float
    string='Annuities for food'
  • ascendientes Integer
    string='Ascendientes menores de 75 años'
  • ascendientes_discapacidad_33 Integer
    string='Ascendientes con discapacidad'
  • ascendientes_discapacidad_66 Integer
    string='Ascendientes con discapacidad de más del 66%'
  • ascendientes_discapacidad_entero_33 Integer
    string='Ascendientes con discapacidad, computados por entero'
  • ascendientes_discapacidad_entero_66 Integer
    string='Ascendientes con discapacidad de más del 66%, computados por entero'
  • ascendientes_discapacidad_entero_mr Integer
    string='Ascendientes con discapacidad de más del 33%, computados por entero'
  • ascendientes_discapacidad_mr Integer
    string='Ascendientes con discapacidad de más del 33%'
  • ascendientes_entero Integer
    string='Ascendientes menores de 75 años, computados por entero'
  • ascendientes_entero_m75 Integer
    string='Ascendientes mayores de 75 años, computados por entero'
  • ascendientes_m75 Integer
    string='Ascendientes mayores de 75 años'
  • ceuta_melilla Char
    size=1 string='Ceuta or Melilla'
  • codigo_provincia Char
    help='' size=2 string='State ISO code'
  • computo_primeros_hijos_1 Integer
    string='1'
  • computo_primeros_hijos_2 Integer
    string='2'
  • computo_primeros_hijos_3 Integer
    string='3'
  • contrato_o_relacion Selection
    size=1 string='Contract or relationship' args: [('1', '1 - Contract or relationship of a general nature'), ('2', '2 - Contract or ratio less than a year'), ('3', '3 - Contract or special employment relationship of a dependent nature'), ('4', '4 - Sporadic relationship of manual workers')]
  • discapacidad Selection
    string='Disability' args: [('0', '0 - No disability or degree of disability less than 33 percent.'), ('1', '1 - Degree of disability greater than 33 percent and less than 66 percent.'), ('2', '2 - Degree of disability greater than 33 percent and less than 66 percent, and reduced mobility.'), ('3', '3 - Degree of disability equal to or greater than 65%.')]
  • ejercicio_devengo Char
    size=4 string='year'
  • gastos_deducibles Float
    string='Deductible expenses'
  • hijos_y_desc_discapacidad_33 Integer
    string='Hijos y descendientes con discapacidad del 33%'
  • hijos_y_desc_discapacidad_66 Integer
    string='Hijos y descendientes con discapacidad del 66%'
  • hijos_y_desc_discapacidad_entero_33 Integer
    string='Hijos y descendientes con discapacidad del 33%, computados por entero'
  • hijos_y_desc_discapacidad_entero_66 Integer
    string='Hijos y descendientes con discapacidad del 66%, computados por entero'
  • hijos_y_desc_discapacidad_entero_mr Integer
    string='Descendientes con discapacidad, computado de forma entera'
  • hijos_y_desc_discapacidad_mr Integer
    string='Descendientes con discapacidad'
  • hijos_y_descendientes Integer
    string='Rest'
  • hijos_y_descendientes_entero Integer
    string='Rest, computed entirely'
  • hijos_y_descendientes_m Integer
    string='Under 3 years'
  • hijos_y_descendientes_m_entero Integer
    string='Under 3 years, computed entirely'
  • ingresos_a_cuenta_efectuados Float
    string='Income paid on account'
  • ingresos_a_cuenta_efectuados_incap Float
    string='Income on account in kind made as a result of incapacity for work'
  • ingresos_a_cuenta_repercutidos Float
    string='Income paid into account'
  • ingresos_a_cuenta_repercutidos_incap Float
    string='Income to account in kind, repercussions derived from incapacity for work'
  • movilidad_geografica Selection
    string='Geographical mobility' args: [('0', 'NO'), ('1', 'SI')]
  • nif_conyuge Char
    size=15 string='VAT of the spouse'
  • partner_id Many2one → res.partner
    comodel_name='res.partner' required=True string='Partner'
  • partner_record_ok Boolean
    compute='_compute_partner_record_ok' help='Checked if partner record is OK' string='Partner Record OK'
  • partner_vat Char
    size=15 string='NIF'
  • pensiones_compensatorias Float
    string='Compensatory pensions'
  • percepciones_dinerarias Float
    string='Monetary perceptions'
  • percepciones_dinerarias_incap Float
    string='Monetary perceptions derived from incapacity for work'
  • percepciones_en_especie Float
    string='Valuation'
  • percepciones_en_especie_incap Float
    string='Perceptions in kind arising from incapacity for work'
  • prestamos_vh Selection
    selection=[('0', '0 - Si en ningún momento del ejercicio ha resultado de aplicación la reducción del tipo de retención.'), ('1', '1 - Si en algún momento del ejercicio ha resultado de aplicación la reducción del tipo de retención.')] string='Comunicación préstamos vivienda habitual'
  • reduccion_aplicable Float
    string='Applicable reduction'
  • report_id Many2one → l10n.es.aeat.mod190.report
    comodel_name='l10n.es.aeat.mod190.report' ondelete='cascade' string='AEAT 190 Report ID'
  • representante_legal_vat Char
    size=9 string='L. R. VAT'
  • retenciones_dinerarias Float
    string='Money withholdings'
  • retenciones_dinerarias_incap Float
    string='Monetary withholdings derived from incapacity for work'
  • situacion_familiar Selection
    selection=[('1', '1 - Single, widowed, divorced or separated with children under 18 or incapacitated'), ('2', '2 - Married and not legally separated and your spouse has no annual income above the amount referred to'), ('3', '3 - Other.')] string='Family situation'
Public methods (2)
  • onchange_aeat_perception_key_id(self)
    @api.onchange('aeat_perception_key_id')
  • onchange_partner_id(self)
    @api.onchange('partner_id')

New fields (7)
  • active Boolean
    default=True string='Active'
  • ad_required Integer
    default=0 args: 'Aditional data required'
  • aeat_number Char
    required=True size=3 string='Model number'
  • aeat_perception_subkey_id One2many → l10n.es.aeat.report.perception.subkey
    comodel_name='l10n.es.aeat.report.perception.subkey' inverse_name='aeat_perception_key_id' ondelete='cascade' string='Subkeys'
  • code Char
    required=True size=3 string='Code'
  • description Text
    string='Description'
  • name Char
    required=True string='Name'
Public methods (0)

No public methods.

New fields (6)
  • active Boolean
    default=True string='Active'
  • ad_required Integer
    default=0 args: 'Aditional data required'
  • aeat_number Char
    required=True size=3 string='Model number'
  • aeat_perception_key_id Many2one → l10n.es.aeat.report.perception.key
    comodel_name='l10n.es.aeat.report.perception.key' oldname='perception_id' string='Perception ID'
  • description Text
    string='Description'
  • name Char
    required=True size=2 string='Name'
Public methods (0)

No public methods.

New fields (1)
  • aeat_code Char
Public methods (0)

No public methods.

New fields (35)
  • a_nacimiento Char
    help='Se consignarán las cuatro cifras del año de nacimiento del\n perceptor.' size=4 string='Año de nacimiento'
  • ad_required Integer
    compute='_compute_ad_required' args: 'Aditional data required'
  • aeat_perception_key_id Many2one → l10n.es.aeat.report.perception.key
    comodel_name='l10n.es.aeat.report.perception.key' help='Se consignará la clave alfabética que corresponda a las percepciones de que se trate.' oldname='performance_key' string='Clave percepción'
  • aeat_perception_subkey_id Many2one → l10n.es.aeat.report.perception.subkey
    comodel_name='l10n.es.aeat.report.perception.subkey' help='Tratándose de percepciones correspondientes a las claves\n B, E, F, G, H, I, K y L, deberá consignarse, además, la\n subclave numérica de dos dígitos que corresponda a las\n percepciones de que se trate, según la relación de\n subclaves que para cada una de las mencionadas claves\n figura a continuación.\n En percepciones correspondientes a claves distintas de las\n mencionadas, no se cumplimentará este campo.\n Cuando deban consignarse en el modelo 190\n percepciones satisfechas a un mismo perceptor que\n correspondan a diferentes claves o subclaves de\n percepción, deberán cumplimentarle tantos apuntes o\n registros de percepción como sea necesario, de forma que\n cada uno de ellos refleje exclusivamente los datos de\n percepciones correspondientes a una misma clave y, en\n su caso, subclave.' oldname='subclave' string='Subclave'
  • ascendientes Integer
    string='Ascendientes menores de 75 años'
  • ascendientes_discapacidad_33 Integer
    string='Ascendientes con discapacidad'
  • ascendientes_discapacidad_66 Integer
    string='Ascendientes con discapacidad de más del 66%'
  • ascendientes_discapacidad_entero_33 Integer
    string='Ascendientes con discapacidad, computados por entero'
  • ascendientes_discapacidad_entero_66 Integer
    string='Ascendientes con discapacidad de más del 66%, computados por entero'
  • ascendientes_discapacidad_entero_mr Integer
    string='Ascendientes con discapacidad de más del 33%, computados por entero'
  • ascendientes_discapacidad_mr Integer
    string='Ascendientes con discapacidad de más del 33%'
  • ascendientes_entero Integer
    string='Ascendientes menores de 75 años, computados por entero'
  • ascendientes_entero_m75 Integer
    string='Ascendientes mayores de 75 años, computados por entero'
  • ascendientes_m75 Integer
    string='Ascendientes mayores de 75 años'
  • ceuta_melilla Char
    default=0 help='Se consignará el número 1 en los supuestos en que, por\n tratarse de rentas obtenidas en Ceuta o Melilla con\n derecho a la deducción establecida en el artículo 68.4 de\n la Ley del Impuesto, el pagador hubiera determinado el\n tipo de retención de acuerdo con lo previsto en los\n artículos 80.2 y 95.1, último párrafo, del Reglamento del\n Impuesto.\n En otro caso se hará constar en este campo el número\n cero (0).' size=1 string='Ceuta o Melilla'
  • computo_primeros_hijos_1 Integer
    help='CÓMPUTO DE LOS 3 PRIMEROS HIJOS.\n Solo para percepciones correspondientes a las claves A,\n B.01, B.03 y C.\n Datos referidos a la proporción en la que ha sido\n computado a efectos de determinar el tipo de retención\n cada uno de los tres primeros hijos o descendientes del\n perceptor, ordenados de mayor a menor según su edad,\n de acuerdo a los siguientes valores:\n 1: Computado por entero\n 2: Computado por mitad\n 0: En cualquier otro caso.\n ' string='Cómputo de los 3 primeros hijos'
  • computo_primeros_hijos_2 Integer
    string='Cómputo de los 3 primeros hijos (2º)'
  • computo_primeros_hijos_3 Integer
    string='Cómputo de los 3 primeros hijos (3º)'
  • contrato_o_relacion Selection
    help='Solo para percepciones correspondientes a la clave A.\n Tratándose de empleados por cuenta ajena en activo, se\n hará constar el dígito numérico indicativo del tipo de\n contrato o relación existente entre el perceptor y la\n persona o entidad retenedora' size=1 string='Contrato o relacion' args: [('1', '1 - Contrato o relación de carácter general'), ('2', '2 - Contrato o relación inferior al año'), ('3', '3 - Contrato o relación laboral especial de carácter dependiente'), ('4', '4 - Relación esporádica propia de los trabajadores manuales')]
  • discapacidad Selection
    help='Solo para percepciones correspondientes a las claves A,\n B.01, B.03 y C.\n Si el perceptor es una persona con discapacidad que tiene\n acreditado un grado de minusvalía igual o superior al 33\n por 100, se hará constar en este campo el código\n numérico indicativo de dicho grado' string='Disability' args: [('0', '0 - Sin discapacidad o grado de minusvalía inferior al 33 por 100.'), ('1', '1 - Grado de minusvalía superior al 33 por 100 e inferior al 66 por 100.'), ('2', '2 - Grado de minusvalía superior al 33 por 100 e inferior al 66 por 100, y movilidad reducida.'), ('3', '3 - Grado de minusvalía igual o superior al 65 por 100.')]
  • hijos_y_desc_discapacidad_33 Integer
    string='Hijos y descendientes con discapacidad del 33%'
  • hijos_y_desc_discapacidad_66 Integer
    string='Hijos y descendientes con discapacidad del 66%'
  • hijos_y_desc_discapacidad_entero_33 Integer
    string='Hijos y descendientes con discapacidad del 33%, computados por entero'
  • hijos_y_desc_discapacidad_entero_66 Integer
    string='Hijos y descendientes con discapacidad del 66%, computados por entero'
  • hijos_y_desc_discapacidad_entero_mr Integer
    string='Hijos y descendientes con discapacidad, computados por entero'
  • hijos_y_desc_discapacidad_mr Integer
    string='Hijos y descendientes con discapacidad'
  • hijos_y_descendientes Integer
    help='\n Solo para percepciones correspondientes a las claves A,\n B.01, B.03 y C.\n Datos referidos a los hijos y demás descendientes del\n perceptor por los que éste tenga derecho a la aplicación\n del mínimo por descendientes previsto en el artículo 58 de\n la Ley del Impuesto.\n ' string='Resto:'
  • hijos_y_descendientes_entero Integer
    string='Resto, computadors por entero'
  • hijos_y_descendientes_m Integer
    help='\n Solo para percepciones correspondientes a las claves A,\n B.01, B.03 y C.\n Datos referidos a los hijos y demás descendientes del\n perceptor por los que éste tenga derecho a la aplicación\n del mínimo por descendientes previsto en el artículo 58 de\n la Ley del Impuesto.\n ' string='Menores de 3 años'
  • hijos_y_descendientes_m_entero Integer
    string='Menores de 3 años, computados por entero'
  • incluir_190 Boolean
    default=False string='Included in mod190'
  • movilidad_geografica Selection
    string='Movilidad geográfica' args: [('0', 'NO'), ('1', 'SI')]
  • nif_conyuge Char
    help='Solo para percepciones correspondientes a las claves A,\n B.01, B.03 y C.\n Únicamente en el supuesto de que la «SITUACIÓN\n FAMILIAR» del perceptor sea la señalada con el número\n 2, se hará constar el número de identificación fiscal de su\n cónyuge.' size=15 string='NIF del conyuge'
  • representante_legal_vat Char
    help='Si el perceptor es menor de 14 años, se consignará en\n este campo el número de identificación fiscal de su\n representante legal (padre, madre o tutor).' size=9 string='NIF representante legal'
  • situacion_familiar Selection
    help='Se hará constar el dígito numérico indicativo de la\n situación familiar del perceptor' selection=[('1', '1 - Soltero, viudo, divorciado o separado con hijos menores de 18 años o mayores incapacitados'), ('2', '2 - Casado y no separado legalmente y su conyuge no tiene rentas anuales superiores a la cuantía a la que se refiere la situación 2ª de las contempladas en el artículo 81.1'), ('3', '3 - Distinta de las anteriores.')] string='Situación familiar'
Public methods (1)
  • onchange_aeat_perception_key_id(self)
    @api.onchange('aeat_perception_key_id')
REPOSITORY
REPOSITORYOCA/l10n-spain
GIT
GIThttps://github.com/OCA/l10n-spain.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-spain/tree/11.0/l10n_es_aeat_mod190
VERSION
VERSION 2.0.1
CATEGORY
CATEGORYLocalization/Accounting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Punt Sistemes SLU
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Punt Sistemes SLU
COMMITTERS
COMMITTERSEnric Tobella, cubells, OCA Transbot, oca-travis, OCA-git-bot
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-spain
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:23:55
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/account-financial-reporting:
    - account_tax_balance
OCA/l10n-spain:
    - l10n_es_aeat
OCA/server-ux:
    - date_range
odoo/odoo:
    - l10n_es
    - account
    - base_setup
    - base
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - web_tour
    - analytic
    - web_planner
    - portal
    - http_routing
    - base_iban
    - base_vat
    - account_invoicing
    - base_sparse_field
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES unidecode
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (9)
XML IDNameModelTypeStatus
account_fiscal_position_form_view account.fiscal.position.form (in l10n_es_aeat_mod190) account.fiscal.position field Inherits account.view_account_position_form
invoice_form account.invoice field Inherits account.invoice_form
invoice_supplier_form account.invoice.supplier.form account.invoice field Inherits account.invoice_supplier_form
view_l10n_es_aeat_mod190_report_form l10n_es.aeat.mod190.report.form l10n.es.aeat.mod190.report field Inherits l10n_es_aeat.view_l10n_es_aeat_report_form
view_l10n_es_aeat_mod190_report_line_form l10n_es.aeat.mod190.report.line.form l10n.es.aeat.mod190.report.line form New
view_l10n_es_aeat_mod190_report_line_tree l10n_es.aeat.mod190.report.line.tree l10n.es.aeat.mod190.report.line tree New
view_l10n_es_aeat_mod190_report_tree l10n_es.aeat.mod190.report.tree l10n.es.aeat.mod190.report tree Inherits l10n_es_aeat.view_l10n_es_aeat_report_tree
view_move_line_form account.move.line field Inherits account.view_move_line_form
view_partner_mod190_form res.partner.mod190.form.inherit res.partner field Inherits base.view_partner_form
Models touched (10)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (3)
  • create(self, vals)
    @api.model
  • invoice_line_move_line_get(self)
    @api.model
    We pass on the operation key from invoice line to the move line
  • line_get_convert(self, line, part)
    @api.model
    Copy from invoice to move lines

New fields (2)
  • aeat_perception_key_id Many2one → l10n.es.aeat.report.perception.key
    comodel_name='l10n.es.aeat.report.perception.key' help='Se consignará la clave alfabética que corresponda a las percepciones de que se trate.' oldname='performance_key' string='Clave percepción'
  • aeat_perception_subkey_id Many2one → l10n.es.aeat.report.perception.subkey
    comodel_name='l10n.es.aeat.report.perception.subkey' help='Tratándose de percepciones correspondientes a las claves\n B, E, F, G, H, I, K y L, deberá consignarse, además, la\n subclave numérica de dos dígitos que corresponda a las\n percepciones de que se trate, según la relación de\n subclaves que para cada una de las mencionadas claves\n figura a continuación.\n En percepciones correspondientes a claves distintas de las\n mencionadas, no se cumplimentará este campo.\n Cuando deban consignarse en el modelo 190\n percepciones satisfechas a un mismo perceptor que\n correspondan a diferentes claves o subclaves de\n percepción, deberán cumplimentarle tantos apuntes o\n registros de percepción como sea necesario, de forma que\n cada uno de ellos refleje exclusivamente los datos de\n percepciones correspondientes a una misma clave y, en\n su caso, subclave.' oldname='subclave' string='Subclave'
Public methods (0)

No public methods.

New fields (6)
  • casilla_01 Integer
    compute='_compute_amount' string='[01] Recipients'
  • casilla_02 Float
    compute='_compute_amount' string='[02] Amount of perceptions'
  • casilla_03 Float
    compute='_compute_amount' string='[03] Amount of retentions'
  • partner_record_ids One2many → l10n.es.aeat.mod190.report.line
    comodel_name='l10n.es.aeat.mod190.report.line' inverse_name='report_id' ondelete='cascade' string='Partner records'
  • partner_tree_view Char
    compute='_compute_partner_tree_view'
  • registration_by_hand Boolean
    default=False oldname='registro_manual' string='Manual records'
Public methods (2)
  • button_confirm(self)
    @api.multi
  • calculate(self)
    @api.multi

New fields (23)
  • accrual_exercise Char
    oldname='ejercicio_devengo' size=4 string='year'
  • applicable_reduction Float
    oldname='reduccion_aplicable'
  • ceuta_melilla Char
    size=1 string='Ceuta or Melilla'
  • compensatory_pension Float
    oldname='pensiones_compensatorias'
  • deductible_expenses Float
    oldname='gastos_deducibles'
  • food_annuities Float
    oldname='anualidades_por_alimentos'
  • input_tax_payment_on_account Float
    oldname='ingresos_a_cuenta_efectuados'
  • input_tax_payment_on_account_incapacity Float
    oldname='ingresos_a_cuenta_efectuados_incap' string='Income on account in kind made as a result of incapacity for work'
  • legal_representative_vat Char
    oldname='representante_legal_vat' size=9 string='L. R. VAT'
  • monetary_perception Float
    oldname='percepciones_dinerarias'
  • monetary_perception_incapacity Float
    oldname='percepciones_dinerarias_incap' string='Monetary perceptions derived from incapacity for work'
  • monetary_withholding Float
    oldname='retenciones_dinerarias '
  • monetary_withholding_incapacity Float
    oldname='retenciones_dinerarias_incap' string='Monetary withholdings derived from incapacity for work'
  • output_tax_payment_on_account Float
    oldname='ingresos_a_cuenta_repercutidos'
  • output_tax_payment_on_account_incapacity Float
    oldname='ingresos_a_cuenta_repercutidos_incap' string='Income to account in kind, repercussions derived from incapacity for work'
  • partner_id Many2one → res.partner
    comodel_name='res.partner' required=True string='Partner'
  • partner_record_ok Boolean
    compute='_compute_partner_record_ok' help='Checked if partner record is OK' string='Partner Record OK'
  • partner_vat Char
    size=15 string='VAT'
  • perception_in_kind Float
    oldname='percepciones_en_especie'
  • perception_in_kind_incapacity Float
    oldname='percepciones_en_especie_incap' string='Perceptions in kind arising from incapacity for work'
  • report_id Many2one → l10n.es.aeat.mod190.report
    comodel_name='l10n.es.aeat.mod190.report' ondelete='cascade' string='AEAT 190 Report ID'
  • residence_loan Selection
    oldname='prestamos_vh' selection=[('0', '0 - Si en ningún momento del ejercicio ha resultado de aplicación la reducción del tipo de retención.'), ('1', '1 - Si en algún momento del ejercicio ha resultado de aplicación la reducción del tipo de retención.')] string='Comunicación préstamos vivienda habitual'
  • state_code Char
    help='' oldname='codigo_provincia' size=2 string='State ISO code'
Public methods (1)
  • onchange_partner_id(self)
    @api.onchange('partner_id')

New fields (7)
  • active Boolean
    default=True string='Active'
  • additional_data_required Integer
    default=0 args: 'Additional data required'
  • aeat_number Char
    required=True size=3 string='Model number'
  • aeat_perception_subkey_id One2many → l10n.es.aeat.report.perception.subkey
    comodel_name='l10n.es.aeat.report.perception.subkey' inverse_name='aeat_perception_key_id' ondelete='cascade' string='Subkeys'
  • code Char
    required=True size=3 string='Code'
  • description Text
    string='Description'
  • name Char
    required=True string='Name'
Public methods (0)

No public methods.

New fields (6)
  • active Boolean
    default=True string='Active'
  • additional_data_required Integer
    default=0 args: 'Additional data required'
  • aeat_number Char
    required=True size=3 string='Model number'
  • aeat_perception_key_id Many2one → l10n.es.aeat.report.perception.key
    comodel_name='l10n.es.aeat.report.perception.key' oldname='perception_id' string='Perception ID'
  • description Text
    string='Description'
  • name Char
    required=True size=2 string='Name'
Public methods (0)

No public methods.

New fields (33)
  • additional_data_required Integer
    compute='_compute_additional_data_required' args: 'Additional data required'
  • ancestors Integer
    oldname='ascendientes' sparse='mod190_data' string='Ascendientes menores de 75 años'
  • ancestors_disability Integer
    oldname='ascendientes_discapacidad_mr' sparse='mod190_data' string='Ascendientes con discapacidad de más del 33%'
  • ancestors_disability_33 Integer
    oldname='ascendientes_discapacidad_33' sparse='mod190_data' string='Ascendientes con discapacidad'
  • ancestors_disability_33_integer Integer
    oldname='ascendientes_discapacidad_entero_33' sparse='mod190_data' string='Ascendientes con discapacidad, computados por entero'
  • ancestors_disability_66 Integer
    oldname='ascendientes_discapacidad_66' sparse='mod190_data' string='Ascendientes con discapacidad de más del 66%'
  • ancestors_disability_66_integer Integer
    oldname='ascendientes_discapacidad_entero_66' sparse='mod190_data' string='Ascendientes con discapacidad de más del 66%, computados por entero'
  • ancestors_disability_integer Integer
    oldname='ascendientes_discapacidad_entero_mr' sparse='mod190_data' string='Ascendientes con discapacidad de más del 33%, computados por entero'
  • ancestors_integer Integer
    oldname='ascendientes_entero' sparse='mod190_data' string='Ascendientes menores de 75 años, computados por entero'
  • ancestors_older_75 Integer
    oldname='ascendientes_m75' sparse='mod190_data' string='Ascendientes mayores de 75 años'
  • ancestors_older_75_integer Integer
    oldname='ascendientes_entero_m75' sparse='mod190_data' string='Ascendientes mayores de 75 años, computados por entero'
  • birth_year Char
    help='Se consignarán las cuatro cifras del año de nacimiento del\n perceptor.' oldname='a_nacimiento' size=4 sparse='mod190_data' string='Año de nacimiento'
  • calculation_rule_first_childs_1 Integer
    help='CÓMPUTO DE LOS 3 PRIMEROS HIJOS.\n Solo para percepciones correspondientes a las claves A,\n B.01, B.03 y C.\n Datos referidos a la proporción en la que ha sido\n computado a efectos de determinar el tipo de retención\n cada uno de los tres primeros hijos o descendientes del\n perceptor, ordenados de mayor a menor según su edad,\n de acuerdo a los siguientes valores:\n 1: Computado por entero\n 2: Computado por mitad\n 0: En cualquier otro caso.\n ' oldname='computo_primeros_hijos_1' sparse='mod190_data' string='Cómputo de los 3 primeros hijos'
  • calculation_rule_first_childs_2 Integer
    oldname='computo_primeros_hijos_2' sparse='mod190_data' string='Cómputo de los 3 primeros hijos (2º)'
  • calculation_rule_first_childs_3 Integer
    oldname='computo_primeros_hijos_3' sparse='mod190_data' string='Cómputo de los 3 primeros hijos (3º)'
  • ceuta_melilla Char
    default=0 help='Se consignará el número 1 en los supuestos en que, por\n tratarse de rentas obtenidas en Ceuta o Melilla con\n derecho a la deducción establecida en el artículo 68.4 de\n la Ley del Impuesto, el pagador hubiera determinado el\n tipo de retención de acuerdo con lo previsto en los\n artículos 80.2 y 95.1, último párrafo, del Reglamento del\n Impuesto.\n En otro caso se hará constar en este campo el número\n cero (0).' size=1 sparse='mod190_data' string='Ceuta o Melilla'
  • descendants Integer
    help='\n Solo para percepciones correspondientes a las claves A,\n B.01, B.03 y C.\n Datos referidos a los hijos y demás descendientes del\n perceptor por los que éste tenga derecho a la aplicación\n del mínimo por descendientes previsto en el artículo 58 de\n la Ley del Impuesto.\n ' oldname='hijos_y_descendientes' sparse='mod190_data' string='Resto:'
  • descendants_disability Integer
    oldname='hijos_y_desc_discapacidad_mr' sparse='mod190_data' string='Hijos y descendientes con discapacidad'
  • descendants_disability_33 Integer
    oldname='hijos_y_desc_discapacidad_33' sparse='mod190_data' string='Hijos y descendientes con discapacidad del 33%'
  • descendants_disability_33_integer Integer
    oldname='hijos_y_desc_discapacidad_entero_33' sparse='mod190_data' string='Hijos y descendientes con discapacidad del 33%, computados por entero'
  • descendants_disability_66 Integer
    oldname='hijos_y_desc_discapacidad_66' sparse='mod190_data' string='Hijos y descendientes con discapacidad del 66%'
  • descendants_disability_66_integer Integer
    oldname='hijos_y_desc_discapacidad_entero_66' sparse='mod190_data' string='Hijos y descendientes con discapacidad del 66%, computados por entero'
  • descendants_disability_integer Integer
    oldname='hijos_y_desc_discapacidad_entero_mr' sparse='mod190_data' string='Hijos y descendientes con discapacidad, computados por entero'
  • descendants_integer Integer
    oldname='hijos_y_descendientes_entero' sparse='mod190_data' string='Resto, computadors por entero'
  • descendants_less_3_years Integer
    help='\n Solo para percepciones correspondientes a las claves A,\n B.01, B.03 y C.\n Datos referidos a los hijos y demás descendientes del\n perceptor por los que éste tenga derecho a la aplicación\n del mínimo por descendientes previsto en el artículo 58 de\n la Ley del Impuesto.\n ' oldname='hijos_y_descendientes_m' sparse='mod190_data' string='Menores de 3 años'
  • descendants_less_3_years_integer Integer
    oldname='hijos_y_descendientes_m_entero' sparse='mod190_data' string='Menores de 3 años, computados por entero'
  • disability Selection
    help='Solo para percepciones correspondientes a las claves A,\n B.01, B.03 y C.\n Si el perceptor es una persona con discapacidad que tiene\n acreditado un grado de minusvalía igual o superior al 33\n por 100, se hará constar en este campo el código\n numérico indicativo de dicho grado' oldname='discapacidad' selection=[('0', '0 - Sin discapacidad o grado de minusvalía inferior al 33%.'), ('1', '1 - Grado de minusvalía superior al 33% e inferior al 66%.'), ('2', '2 - Grado de minusvalía superior al 33% e inferior al 66%, y movilidad reducida.'), ('3', '3 - Grado de minusvalía igual o superior al 66%.')] sparse='mod190_data' string='Discapacidad'
  • family_situation Selection
    help='Se hará constar el dígito numérico indicativo de la\n situación familiar del perceptor' oldname='situacion_familiar' selection=[('1', '1 - Soltero, viudo, divorciado o separado con hijos menores de 18 años o mayores incapacitados'), ('2', '2 - Casado y no separado legalmente y su conyuge no tiene rentas anuales superiores a la cuantía a la que se refiere la situación 2ª de las contempladas en el artículo 81.1'), ('3', '3 - Distinta de las anteriores.')] sparse='mod190_data' string='Situación familiar'
  • geographical_mobility Selection
    oldname='movilidad_geografica' selection=[('0', 'NO'), ('1', 'SI')] sparse='mod190_data' string='Movilidad geográfica'
  • legal_representative_vat Char
    help='Si el perceptor es menor de 14 años, se consignará en\n este campo el número de identificación fiscal de su\n representante legal (padre, madre o tutor).' oldname='representante_legal_vat' size=9 sparse='mod190_data' string='NIF representante legal'
  • mod190_data Serialized
  • relation_kind Selection
    help='Solo para percepciones correspondientes a la clave A.\n Tratándose de empleados por cuenta ajena en activo, se\n hará constar el dígito numérico indicativo del tipo de\n contrato o relación existente entre el perceptor y la\n persona o entidad retenedora' oldname='contrato_o_relacion' selection=[('1', '1 - Contrato o relación de carácter general'), ('2', '2 - Contrato o relación inferior al año'), ('3', '3 - Contrato o relación laboral especial de carácter dependiente'), ('4', '4 - Relación esporádica propia de los trabajadores manuales')] size=1 sparse='mod190_data' string='Contrato o relación'
  • spouse_vat Char
    help='Solo para percepciones correspondientes a las claves A,\n B.01, B.03 y C.\n Únicamente en el supuesto de que la «SITUACIÓN\n FAMILIAR» del perceptor sea la señalada con el número\n 2, se hará constar el número de identificación fiscal de su\n cónyuge.' oldname='nif_conyuge' size=15 sparse='mod190_data' string='NIF del conyuge'
Public methods (0)

No public methods.

New fields (2)
  • aeat_perception_key_id Many2one → l10n.es.aeat.report.perception.key
    comodel_name='l10n.es.aeat.report.perception.key' help='Se consignará la clave alfabética que corresponda a las percepciones de que se trate.' string='Perception key'
  • aeat_perception_subkey_id Many2one → l10n.es.aeat.report.perception.subkey
    comodel_name='l10n.es.aeat.report.perception.subkey' help='Tratándose de percepciones correspondientes a las claves\n B, E, F, G, H, I, K y L, deberá consignarse, además, la\n subclave numérica de dos dígitos que corresponda a las\n percepciones de que se trate, según la relación de\n subclaves que para cada una de las mencionadas claves\n figura a continuación.\n En percepciones correspondientes a claves distintas de las\n mencionadas, no se cumplimentará este campo.\n Cuando deban consignarse en el modelo 190\n percepciones satisfechas a un mismo perceptor que\n correspondan a diferentes claves o subclaves de\n percepción, deberán cumplimentarle tantos apuntes o\n registros de percepción como sea necesario, de forma que\n cada uno de ellos refleje exclusivamente los datos de\n percepciones correspondientes a una misma clave y, en\n su caso, subclave.' string='Perception subkey'
Public methods (1)
  • onchange_aeat_perception_key_id(self)
    @api.onchange('aeat_perception_key_id')

New fields (1)
  • include_on_aeat_mod190 Boolean
    default=False oldname='incluir_190' string='Included in mod190'
Public methods (0)

No public methods.