AEAT modelo 303

l10n_es_aeat_mod303
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_mod303
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYAccounting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), AvanzOSC, ForgeFlow, Guadaltech
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), AvanzOSC, ForgeFlow, Guadaltech
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, oca-ci, sbiosca-s73
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
Módulo para la presentación del modelo 303 (IVA - Autodeclaración) de la
Agencia Española de Administración Tributaria.

Instrucciones del modelo: <http://goo.gl/pgVbXH>

Diseño de registros BOE en Excel: <https://goo.gl/HKOGec>

Incluye la exportación al formato BOE para su uso telemático y la
creación del asiento de regularización de las cuentas de impuestos.

Para el régimen de criterio de caja, hay que buscar el módulo
*l10n_es_aeat_mod303_cash_basis*.

- La prorrata del IVA está contemplada por el módulo adicional
  l10n_es_aeat_vat_prorrate.

- Existen 2 casos de IVA no sujeto que van a la casilla 61 del modelo,
  que no están cubiertos en este módulo:

  - Con reglas de localización, pero que no corresponde a Canarias,
    Ceuta y Melilla. Por ejemplo, un abogado de España que da servicios
    en Francia.
  - Articulos 7,14, Otros

  Para dichos casos, se espera un módulo extra que añada los impuestos y
  posiciones fiscales.

  Más información en
  <https://www.boe.es/diario_boe/txt.php?id=BOE-A-2014-12329>

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
view_l10n_es_aeat_mod303_report_activity_code_data_tree l10n.es.aeat.mod303.report.activity.code list New
view_l10n_es_aeat_mod303_report_form l10n_es.aeat.mod303.report.form l10n.es.aeat.mod303.report field Inherits l10n_es_aeat.view_l10n_es_aeat_report_form
view_l10n_es_aeat_mod303_report_tree l10n_es.aeat.mod303.report.tree l10n.es.aeat.mod303.report list Inherits l10n_es_aeat.view_l10n_es_aeat_report_tree
Models touched (2)

New fields (41)
  • allow_posting Boolean
    default=True
  • atribuible_estado Float
    compute='_compute_atribuible_estado' readonly=True store=True string='[66] Attributable to the Administration'
  • casilla_108 Monetary
    help='Rectificativa - Exclusivamente para determinados supuestos de autoliquidación rectificativa por discrepancia de criterio administrativo que no deban incluirse en otras casillas. Otros ajustes' string='[108] Devoluciones acordadas por la Agencia Tributaria'
  • casilla_109 Monetary
    help='Resultado - Devoluciones acordadas por la Agencia Tributaria como consecuencia de la tramitación de anteriores autoliquidaciones correspondientes al ejercicio y período objeto de la autoliquidación' string='[109] Devoluciones acordadas por la Agencia Tributaria'
  • casilla_112 Monetary
    help='Result - Payment on account for deliveries of petrol, diesel and biofuels after completion of the non-customs warehouse regime attributable to the State Administration (Sum of box 36 of all forms 319 corresponding to deliveries included in this self-assessment)' string='[112] Pago a cuenta de entregas de gasolinas, gasóleos y biocarburantes'
  • casilla_46 Float
    compute='_compute_casilla_46' help='(VAT payable - VAT receivable)' readonly=True store=True string='[46] General scheme result'
  • casilla_69 Float
    compute='_compute_casilla_69' help='[66] Attributable to the Administration - [67] Fees to compensate + [68] Annual regularization' readonly=True store=True string='[69] Result'
  • casilla_77 Float
    help='Contributions of import tax included in the documents evidencing the payment made by the Administration and received in the settlement period. You can only complete this box when the requirements of Article 74.1 of the Tax Regulations Value Added are met.' string='[77] VAT deferred (Settle by customs)'
  • casilla_88 Float
    compute='_compute_casilla_88' help='Información adicional - Operaciones realizadas en el ejercicio - Total volumen de operaciones ([80]+[81]+[93]+[94]+[83]+[84]+[125]+[126]+[127]+[128]+[86]+[95]+[96]+[97]+[98]-[79]-[99])' store=True string='[88] Total volumen operaciones'
  • counterpart_account_id Many2one → account.account
    comodel_name='account.account' compute='_compute_counterpart_account_id' domain="[('company_ids', '=', company_id)]" readonly=False store=True string='Counterpart account'
  • cuota_compensar Float
    default=0 help='Fee to compensate for prior periods, in which his statement was to return and compensation back option was chosen' string='[78] Applied fees to compensate (old [67])'
  • deduct_payment_petrol_delivery Boolean
  • devolucion_mensual Boolean
    help='Registered in the Register of Monthly Return' string='Montly Return'
  • exonerated_390 Selection
    compute='_compute_exonerated_390' default='2' help='Exonerado de la Declaración-resumen anual del IVA, modelo 390: Volumen de operaciones (art. 121 LIVA)' readonly=False required=True selection=[('1', 'Exonerado'), ('2', 'No exonerado')] store=True string='Exonerado mod. 390'
  • has_347 Boolean
    default=True help='Marque la casilla si el sujeto pasivo ha efectuado con alguna persona o entidad operaciones por las que tenga obligación de presentar la declaración anual de operaciones con terceras personas (modelo 347).' string='¿Obligación del 347?'
  • has_operation_volume Boolean
    default=True help='¿Existe volumen de operaciones (art. 121 LIVA)?' string='¿Volumen de operaciones?'
  • is_voluntary_sii Boolean
    help='¿Ha llevado voluntariamente los Libros registro del IVA a través de la Sede electrónica de la AEAT durante el ejercicio?' string='¿SII voluntario?'
  • main_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain=ACTIVITY_CODE_DOMAIN string='Código actividad principal'
  • main_activity_iae Char
    size=4 string='Epígrafe I.A.E. actividad principal'
  • marca_sepa Selection
    compute='_compute_marca_sepa' selection=[('0', '0 Vacía'), ('1', '1 Cuenta España'), ('2', '2 Unión Europea SEPA'), ('3', '3 Resto Países')]
  • other_fifth_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain=ACTIVITY_CODE_DOMAIN string='Código 5ª actividad'
  • other_fifth_activity_iae Char
    size=4 string='Epígrafe I.A.E. 5ª actividad'
  • other_first_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain=ACTIVITY_CODE_DOMAIN string='Código 1ª actividad'
  • other_first_activity_iae Char
    size=4 string='Epígrafe I.A.E. 1ª actividad'
  • other_fourth_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain=ACTIVITY_CODE_DOMAIN string='Código 4ª actividad'
  • other_fourth_activity_iae Char
    size=4 string='Epígrafe I.A.E. 4ª actividad'
  • other_second_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain=ACTIVITY_CODE_DOMAIN string='Código 2ª actividad'
  • other_second_activity_iae Char
    size=4 string='Epígrafe I.A.E. 2ª actividad'
  • other_third_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain=ACTIVITY_CODE_DOMAIN string='Código 3ª actividad'
  • other_third_activity_iae Char
    size=4 string='Epígrafe I.A.E. 3ª actividad'
  • porcentaje_atribuible_estado Float
    default=100 help='Taxpayers who pay jointly to the Central Government and the Provincial Councils of the Basque Country or the Autonomous Community of Navarra, will enter in this box the percentage of volume operations in the common territory. Other taxpayers will enter in this box 100%' string='[65] % attributable to State'
  • potential_cuota_compensar Float
    default=0 string='[110] Pending fees to compensate'
  • previous_result Float
    help='Result of the previous or prior statements of the same concept, exercise and period' string='[70] To be deducted'
  • regularizacion_anual Float
    compute='_compute_regularizacion_anual' help='In the last auto settlement of the year, shall be recorded (the fourth period or 12th month), with the appropriate sign, the result of the annual adjustment as have the laws by the Economic Agreement approved between the State and the Autonomous Community the Basque Country and the Economic Agreement between the State and Navarre.' readonly=False store=True string='[68] Annual regularization'
  • remaining_cuota_compensar Float
    compute='_compute_remaining_cuota_compensar' string='[87] Remaining fees to compensate'
  • result_type Selection
    compute='_compute_result_type' selection=[('I', 'To enter'), ('G', 'To enter - AEAT account'), ('U', 'To enter - Bank account debit'), ('D', 'To return'), ('V', 'To return - AEAT account'), ('X', 'To return - Foreign bank account'), ('C', 'To compensate'), ('N', 'No activity/Zero result')]
  • resultado_liquidacion Float
    compute='_compute_resultado_liquidacion' readonly=True store=True string='[71] Settlement result'
  • return_last_period Boolean
    compute='_compute_return_last_period' help='Check if you are submitting the last period return' readonly=False store=True string='Last Period Return'
  • total_deducir Float
    compute='_compute_total_deducir' compute_sudo=True readonly=True store=True string='[45] VAT receivable'
  • total_devengado Float
    compute='_compute_total_devengado' compute_sudo=True readonly=True store=True string='[27] VAT payable'
  • use_aeat_account Boolean
    help='Si está suscrito a la cuenta corriente en materia tributaria, active esta opción para usarla en el ingreso o devolución.' args: 'Usar cuenta corriente tributaria'
Public methods (4)
  • button_confirm(self)
    Check records
  • calculate(self)
  • check_qty(self)
    @api.constrains('potential_cuota_compensar', 'cuota_compensar')
  • onchange_type(self)
    @api.onchange('statement_type')

New fields (5)
  • code Char
    required=True string='Activity code'
  • date_end Date
    string='Ending date'
  • date_start Date
    string='Starting date'
  • name Char
    required=True string='Activity name' translate=True
  • period_type Selection
    selection=[('4T', '4T'), ('12', 'December')]
Public methods (0)

No public methods.

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_mod303
VERSION
VERSION 1.1.1
CATEGORY
CATEGORYAccounting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), AvanzOSC, ForgeFlow, Guadaltech
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), AvanzOSC, ForgeFlow, Guadaltech
COMMITTERS
COMMITTERSPedro M. Baeza, Weblate, OCA-git-bot, oca-ci, Emilio Pascual, David Alonso // Solvos, Andrii9090-tecnativa, sygel
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
Módulo para la presentación del modelo 303 (IVA - Autodeclaración) de la
Agencia Española de Administración Tributaria.

Instrucciones del modelo: <http://goo.gl/pgVbXH>

Diseño de registros BOE en Excel: <https://goo.gl/HKOGec>

Incluye la exportación al formato BOE para su uso telemático y la
creación del asiento de regularización de las cuentas de impuestos.

Para el régimen de criterio de caja, hay que buscar el módulo
*l10n_es_aeat_mod303_cash_basis*.

- La prorrata del IVA está contemplada por el módulo adicional
  l10n_es_aeat_vat_prorrate.

- Existen 2 casos de IVA no sujeto que van a la casilla 61 del modelo,
  que no están cubiertos en este módulo:

  - Con reglas de localización, pero que no corresponde a Canarias,
    Ceuta y Melilla. Por ejemplo, un abogado de España que da servicios
    en Francia.
  - Articulos 7,14, Otros

  Para dichos casos, se espera un módulo extra que añada los impuestos y
  posiciones fiscales.

  Más información en
  <https://www.boe.es/diario_boe/txt.php?id=BOE-A-2014-12329>

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
view_l10n_es_aeat_mod303_report_activity_code_data_tree l10n.es.aeat.mod303.report.activity.code list New
view_l10n_es_aeat_mod303_report_form l10n_es.aeat.mod303.report.form l10n.es.aeat.mod303.report field Inherits l10n_es_aeat.view_l10n_es_aeat_report_form
view_l10n_es_aeat_mod303_report_tree l10n_es.aeat.mod303.report.tree l10n.es.aeat.mod303.report list Inherits l10n_es_aeat.view_l10n_es_aeat_report_tree
Models touched (2)

New fields (41)
  • allow_posting Boolean
    default=True
  • atribuible_estado Float
    compute='_compute_atribuible_estado' readonly=True store=True string='[66] Attributable to the Administration'
  • casilla_108 Monetary
    help='Rectificativa - Exclusivamente para determinados supuestos de autoliquidación rectificativa por discrepancia de criterio administrativo que no deban incluirse en otras casillas. Otros ajustes' string='[108] Devoluciones acordadas por la Agencia Tributaria'
  • casilla_109 Monetary
    help='Resultado - Devoluciones acordadas por la Agencia Tributaria como consecuencia de la tramitación de anteriores autoliquidaciones correspondientes al ejercicio y período objeto de la autoliquidación' string='[109] Devoluciones acordadas por la Agencia Tributaria'
  • casilla_112 Monetary
    help='Result - Payment on account for deliveries of petrol, diesel and biofuels after completion of the non-customs warehouse regime attributable to the State Administration (Sum of box 36 of all forms 319 corresponding to deliveries included in this self-assessment)' string='[112] Pago a cuenta de entregas de gasolinas, gasóleos y biocarburantes'
  • casilla_46 Float
    compute='_compute_casilla_46' help='(VAT payable - VAT receivable)' readonly=True store=True string='[46] General scheme result'
  • casilla_69 Float
    compute='_compute_casilla_69' help='[66] Attributable to the Administration - [67] Fees to compensate + [68] Annual regularization' readonly=True store=True string='[69] Result'
  • casilla_77 Float
    help='Contributions of import tax included in the documents evidencing the payment made by the Administration and received in the settlement period. You can only complete this box when the requirements of Article 74.1 of the Tax Regulations Value Added are met.' string='[77] VAT deferred (Settle by customs)'
  • casilla_88 Float
    compute='_compute_casilla_88' help='Información adicional - Operaciones realizadas en el ejercicio - Total volumen de operaciones ([80]+[81]+[93]+[94]+[83]+[84]+[125]+[126]+[127]+[128]+[86]+[95]+[96]+[97]+[98]-[79]-[99])' store=True string='[88] Total volumen operaciones'
  • counterpart_account_id Many2one → account.account
    comodel_name='account.account' compute='_compute_counterpart_account_id' domain="[('company_ids', '=', company_id)]" readonly=False store=True string='Counterpart account'
  • cuota_compensar Float
    default=0 help='Fee to compensate for prior periods, in which his statement was to return and compensation back option was chosen' string='[78] Applied fees to compensate (old [67])'
  • deduct_payment_petrol_delivery Boolean
  • devolucion_mensual Boolean
    help='Registered in the Register of Monthly Return' string='Montly Return'
  • exonerated_390 Selection
    compute='_compute_exonerated_390' default='2' help='Exonerado de la Declaración-resumen anual del IVA, modelo 390: Volumen de operaciones (art. 121 LIVA)' readonly=False required=True selection=[('1', 'Exonerado'), ('2', 'No exonerado')] store=True string='Exonerado mod. 390'
  • has_347 Boolean
    default=True help='Marque la casilla si el sujeto pasivo ha efectuado con alguna persona o entidad operaciones por las que tenga obligación de presentar la declaración anual de operaciones con terceras personas (modelo 347).' string='¿Obligación del 347?'
  • has_operation_volume Boolean
    default=True help='¿Existe volumen de operaciones (art. 121 LIVA)?' string='¿Volumen de operaciones?'
  • is_voluntary_sii Boolean
    help='¿Ha llevado voluntariamente los Libros registro del IVA a través de la Sede electrónica de la AEAT durante el ejercicio?' string='¿SII voluntario?'
  • main_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain=ACTIVITY_CODE_DOMAIN string='Código actividad principal'
  • main_activity_iae Char
    size=4 string='Epígrafe I.A.E. actividad principal'
  • marca_sepa Selection
    compute='_compute_marca_sepa' selection=[('0', '0 Vacía'), ('1', '1 Cuenta España'), ('2', '2 Unión Europea SEPA'), ('3', '3 Resto Países')]
  • other_fifth_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain=ACTIVITY_CODE_DOMAIN string='Código 5ª actividad'
  • other_fifth_activity_iae Char
    size=4 string='Epígrafe I.A.E. 5ª actividad'
  • other_first_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain=ACTIVITY_CODE_DOMAIN string='Código 1ª actividad'
  • other_first_activity_iae Char
    size=4 string='Epígrafe I.A.E. 1ª actividad'
  • other_fourth_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain=ACTIVITY_CODE_DOMAIN string='Código 4ª actividad'
  • other_fourth_activity_iae Char
    size=4 string='Epígrafe I.A.E. 4ª actividad'
  • other_second_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain=ACTIVITY_CODE_DOMAIN string='Código 2ª actividad'
  • other_second_activity_iae Char
    size=4 string='Epígrafe I.A.E. 2ª actividad'
  • other_third_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain=ACTIVITY_CODE_DOMAIN string='Código 3ª actividad'
  • other_third_activity_iae Char
    size=4 string='Epígrafe I.A.E. 3ª actividad'
  • porcentaje_atribuible_estado Float
    default=100 help='Taxpayers who pay jointly to the Central Government and the Provincial Councils of the Basque Country or the Autonomous Community of Navarra, will enter in this box the percentage of volume operations in the common territory. Other taxpayers will enter in this box 100%' string='[65] % attributable to State'
  • potential_cuota_compensar Float
    default=0 string='[110] Pending fees to compensate'
  • previous_result Float
    help='Result of the previous or prior statements of the same concept, exercise and period' string='[70] To be deducted'
  • regularizacion_anual Float
    compute='_compute_regularizacion_anual' help='In the last auto settlement of the year, shall be recorded (the fourth period or 12th month), with the appropriate sign, the result of the annual adjustment as have the laws by the Economic Agreement approved between the State and the Autonomous Community the Basque Country and the Economic Agreement between the State and Navarre.' readonly=False store=True string='[68] Annual regularization'
  • remaining_cuota_compensar Float
    compute='_compute_remaining_cuota_compensar' string='[87] Remaining fees to compensate'
  • result_type Selection
    compute='_compute_result_type' selection=[('I', 'To enter'), ('G', 'To enter - AEAT account'), ('U', 'To enter - Bank account debit'), ('D', 'To return'), ('V', 'To return - AEAT account'), ('X', 'To return - Foreign bank account'), ('C', 'To compensate'), ('N', 'No activity/Zero result')]
  • resultado_liquidacion Float
    compute='_compute_resultado_liquidacion' readonly=True store=True string='[71] Settlement result'
  • return_last_period Boolean
    compute='_compute_return_last_period' help='Check if you are submitting the last period return' readonly=False store=True string='Last Period Return'
  • total_deducir Float
    compute='_compute_total_deducir' compute_sudo=True readonly=True store=True string='[45] VAT receivable'
  • total_devengado Float
    compute='_compute_total_devengado' compute_sudo=True readonly=True store=True string='[27] VAT payable'
  • use_aeat_account Boolean
    help='Si está suscrito a la cuenta corriente en materia tributaria, active esta opción para usarla en el ingreso o devolución.' args: 'Usar cuenta corriente tributaria'
Public methods (4)
  • button_confirm(self)
    Check records
  • calculate(self)
  • check_qty(self)
    @api.constrains('potential_cuota_compensar', 'cuota_compensar')
  • onchange_type(self)
    @api.onchange('statement_type')

New fields (5)
  • code Char
    required=True string='Activity code'
  • date_end Date
    string='Ending date'
  • date_start Date
    string='Starting date'
  • name Char
    required=True string='Activity name' translate=True
  • period_type Selection
    selection=[('4T', '4T'), ('12', 'December')]
Public methods (0)

No public methods.

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_mod303
VERSION
VERSION 1.11.1
CATEGORY
CATEGORYAccounting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), AvanzOSC, ForgeFlow, Guadaltech
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), AvanzOSC, ForgeFlow, Guadaltech
COMMITTERS
COMMITTERSPedro M. Baeza, Jairo Llopis, Enric Tobella, Víctor Martínez, Weblate, OCA-git-bot, oca-ci, Emilio Pascual, David Alonso // Solvos, Andrii9090-tecnativa, EmilioPascual, Ignacio, sygel
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
Módulo para la presentación del modelo 303 (IVA - Autodeclaración) de la
Agencia Española de Administración Tributaria.

Instrucciones del modelo: <http://goo.gl/pgVbXH>

Diseño de registros BOE en Excel: <https://goo.gl/HKOGec>

Incluye la exportación al formato BOE para su uso telemático y la
creación del asiento de regularización de las cuentas de impuestos.

Para el régimen de criterio de caja, hay que buscar el módulo
*l10n_es_aeat_mod303_cash_basis*.

- La prorrata del IVA está contemplada por el módulo adicional
  l10n_es_aeat_vat_prorrate.

- Existen 2 casos de IVA no sujeto que van a la casilla 61 del modelo,
  que no están cubiertos en este módulo:

  - Con reglas de localización, pero que no corresponde a Canarias,
    Ceuta y Melilla. Por ejemplo, un abogado de España que da servicios
    en Francia.
  - Articulos 7,14, Otros

  Para dichos casos, se espera un módulo extra que añada los impuestos y
  posiciones fiscales.

  Más información en
  <https://www.boe.es/diario_boe/txt.php?id=BOE-A-2014-12329>

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
view_l10n_es_aeat_mod303_report_activity_code_data_tree l10n.es.aeat.mod303.report.activity.code tree New
view_l10n_es_aeat_mod303_report_form l10n_es.aeat.mod303.report.form l10n.es.aeat.mod303.report field Inherits l10n_es_aeat.view_l10n_es_aeat_report_form
view_l10n_es_aeat_mod303_report_tree l10n_es.aeat.mod303.report.tree l10n.es.aeat.mod303.report tree Inherits l10n_es_aeat.view_l10n_es_aeat_report_tree
Models touched (2)

New fields (41)
  • allow_posting Boolean
    default=True
  • atribuible_estado Float
    compute='_compute_atribuible_estado' readonly=True store=True string='[66] Attributable to the Administration'
  • casilla_108 Monetary
    help='Rectificativa - Exclusivamente para determinados supuestos de autoliquidación rectificativa por discrepancia de criterio administrativo que no deban incluirse en otras casillas. Otros ajustes' string='[108] Devoluciones acordadas por la Agencia Tributaria'
  • casilla_109 Monetary
    help='Resultado - Devoluciones acordadas por la Agencia Tributaria como consecuencia de la tramitación de anteriores autoliquidaciones correspondientes al ejercicio y período objeto de la autoliquidación' string='[109] Devoluciones acordadas por la Agencia Tributaria'
  • casilla_112 Monetary
    help='Result - Payment on account for deliveries of petrol, diesel and biofuels after completion of the non-customs warehouse regime attributable to the State Administration (Sum of box 36 of all forms 319 corresponding to deliveries included in this self-assessment)' string='[112] Pago a cuenta de entregas de gasolinas, gasóleos y biocarburantes'
  • casilla_46 Float
    compute='_compute_casilla_46' help='(VAT payable - VAT receivable)' readonly=True store=True string='[46] General scheme result'
  • casilla_69 Float
    compute='_compute_casilla_69' help='[66] Attributable to the Administration - [67] Fees to compensate + [68] Annual regularization' readonly=True store=True string='[69] Result'
  • casilla_77 Float
    help='Contributions of import tax included in the documents evidencing the payment made by the Administration and received in the settlement period. You can only complete this box when the requirements of Article 74.1 of the Tax Regulations Value Added are met.' string='[77] VAT deferred (Settle by customs)'
  • casilla_88 Float
    compute='_compute_casilla_88' help='Información adicional - Operaciones realizadas en el ejercicio - Total volumen de operaciones ([80]+[81]+[93]+[94]+[83]+[84]+[125]+[126]+[127]+[128]+[86]+[95]+[96]+[97]+[98]-[79]-[99])' store=True string='[88] Total volumen operaciones'
  • counterpart_account_id Many2one → account.account
    comodel_name='account.account' compute='_compute_counterpart_account_id' domain="[('company_id', '=', company_id)]" readonly=False store=True string='Counterpart account'
  • cuota_compensar Float
    default=0 help='Fee to compensate for prior periods, in which his statement was to return and compensation back option was chosen' string='[78] Applied fees to compensate (old [67])'
  • deduct_payment_petrol_delivery Boolean
  • devolucion_mensual Boolean
    help='Registered in the Register of Monthly Return' string='Montly Return'
  • exonerated_390 Selection
    compute='_compute_exonerated_390' default='2' help='Exonerado de la Declaración-resumen anual del IVA, modelo 390: Volumen de operaciones (art. 121 LIVA)' readonly=False required=True selection=[('1', 'Exonerado'), ('2', 'No exonerado')] store=True string='Exonerado mod. 390'
  • has_347 Boolean
    default=True help='Marque la casilla si el sujeto pasivo ha efectuado con alguna persona o entidad operaciones por las que tenga obligación de presentar la declaración anual de operaciones con terceras personas (modelo 347).' string='¿Obligación del 347?'
  • has_operation_volume Boolean
    default=True help='¿Existe volumen de operaciones (art. 121 LIVA)?' string='¿Volumen de operaciones?'
  • is_voluntary_sii Boolean
    help='¿Ha llevado voluntariamente los Libros registro del IVA a través de la Sede electrónica de la AEAT durante el ejercicio?' string='¿SII voluntario?'
  • main_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain=ACTIVITY_CODE_DOMAIN string='Código actividad principal'
  • main_activity_iae Char
    size=4 string='Epígrafe I.A.E. actividad principal'
  • marca_sepa Selection
    compute='_compute_marca_sepa' selection=[('0', '0 Vacía'), ('1', '1 Cuenta España'), ('2', '2 Unión Europea SEPA'), ('3', '3 Resto Países')]
  • other_fifth_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain=ACTIVITY_CODE_DOMAIN string='Código 5ª actividad'
  • other_fifth_activity_iae Char
    size=4 string='Epígrafe I.A.E. 5ª actividad'
  • other_first_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain=ACTIVITY_CODE_DOMAIN string='Código 1ª actividad'
  • other_first_activity_iae Char
    size=4 string='Epígrafe I.A.E. 1ª actividad'
  • other_fourth_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain=ACTIVITY_CODE_DOMAIN string='Código 4ª actividad'
  • other_fourth_activity_iae Char
    size=4 string='Epígrafe I.A.E. 4ª actividad'
  • other_second_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain=ACTIVITY_CODE_DOMAIN string='Código 2ª actividad'
  • other_second_activity_iae Char
    size=4 string='Epígrafe I.A.E. 2ª actividad'
  • other_third_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain=ACTIVITY_CODE_DOMAIN string='Código 3ª actividad'
  • other_third_activity_iae Char
    size=4 string='Epígrafe I.A.E. 3ª actividad'
  • porcentaje_atribuible_estado Float
    default=100 help='Taxpayers who pay jointly to the Central Government and the Provincial Councils of the Basque Country or the Autonomous Community of Navarra, will enter in this box the percentage of volume operations in the common territory. Other taxpayers will enter in this box 100%' string='[65] % attributable to State'
  • potential_cuota_compensar Float
    default=0 string='[110] Pending fees to compensate'
  • previous_result Float
    help='Result of the previous or prior statements of the same concept, exercise and period' string='[70] To be deducted'
  • regularizacion_anual Float
    compute='_compute_regularizacion_anual' help='In the last auto settlement of the year, shall be recorded (the fourth period or 12th month), with the appropriate sign, the result of the annual adjustment as have the laws by the Economic Agreement approved between the State and the Autonomous Community the Basque Country and the Economic Agreement between the State and Navarre.' readonly=False store=True string='[68] Annual regularization'
  • remaining_cuota_compensar Float
    compute='_compute_remaining_cuota_compensar' string='[87] Remaining fees to compensate'
  • result_type Selection
    compute='_compute_result_type' selection=[('I', 'To enter'), ('G', 'To enter - AEAT account'), ('U', 'To enter - Bank account debit'), ('D', 'To return'), ('V', 'To return - AEAT account'), ('X', 'To return - Foreign bank account'), ('C', 'To compensate'), ('N', 'No activity/Zero result')]
  • resultado_liquidacion Float
    compute='_compute_resultado_liquidacion' readonly=True store=True string='[71] Settlement result'
  • return_last_period Boolean
    compute='_compute_return_last_period' help='Check if you are submitting the last period return' readonly=False store=True string='Last Period Return'
  • total_deducir Float
    compute='_compute_total_deducir' compute_sudo=True readonly=True store=True string='[45] VAT receivable'
  • total_devengado Float
    compute='_compute_total_devengado' compute_sudo=True readonly=True store=True string='[27] VAT payable'
  • use_aeat_account Boolean
    help='Si está suscrito a la cuenta corriente en materia tributaria, active esta opción para usarla en el ingreso o devolución.' args: 'Usar cuenta corriente tributaria'
Public methods (4)
  • button_confirm(self)
    Check records
  • calculate(self)
  • check_qty(self)
    @api.constrains('potential_cuota_compensar', 'cuota_compensar')
  • onchange_type(self)
    @api.onchange('statement_type')

New fields (5)
  • code Char
    required=True string='Activity code'
  • date_end Date
    string='Ending date'
  • date_start Date
    string='Starting date'
  • name Char
    required=True string='Activity name' translate=True
  • period_type Selection
    selection=[('4T', '4T'), ('12', 'December')]
Public methods (0)

No public methods.

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_mod303
VERSION
VERSION 2.12.0
CATEGORY
CATEGORYAccounting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), AvanzOSC, ForgeFlow, Guadaltech
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), AvanzOSC, ForgeFlow, Guadaltech
COMMITTERS
COMMITTERSPedro M. Baeza, Jairo Llopis, Enric Tobella, Omar (Comunitea), Weblate, OCA-git-bot, Luis J. Salvatierra, Ethan Hildick, oca-ci, Emilio Pascual, David Alonso // Solvos, angel, Andrii9090-tecnativa, EmilioPascual, FernandoRomera
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 (3)
XML IDNameModelTypeStatus
view_l10n_es_aeat_mod303_report_activity_code_data_tree l10n.es.aeat.mod303.report.activity.code tree New
view_l10n_es_aeat_mod303_report_form l10n_es.aeat.mod303.report.form l10n.es.aeat.mod303.report field Inherits l10n_es_aeat.view_l10n_es_aeat_report_form
view_l10n_es_aeat_mod303_report_tree l10n_es.aeat.mod303.report.tree l10n.es.aeat.mod303.report tree Inherits l10n_es_aeat.view_l10n_es_aeat_report_tree
Models touched (2)

New fields (41)
  • allow_posting Boolean
    default=True
  • atribuible_estado Float
    compute='_compute_atribuible_estado' readonly=True store=True string='[66] Attributable to the Administration'
  • casilla_108 Monetary
    help='Rectificativa - Exclusivamente para determinados supuestos de autoliquidación rectificativa por discrepancia de criterio administrativo que no deban incluirse en otras casillas. Otros ajustes' string='[108] Devoluciones acordadas por la Agencia Tributaria'
  • casilla_109 Monetary
    help='Resultado - Devoluciones acordadas por la Agencia Tributaria como consecuencia de la tramitación de anteriores autoliquidaciones correspondientes al ejercicio y período objeto de la autoliquidación' string='[109] Devoluciones acordadas por la Agencia Tributaria'
  • casilla_112 Monetary
    help='Result - Payment on account for deliveries of petrol, diesel and biofuels after completion of the non-customs warehouse regime attributable to the State Administration (Sum of box 36 of all forms 319 corresponding to deliveries included in this self-assessment)' string='[112] Pago a cuenta de entregas de gasolinas, gasóleos y biocarburantes'
  • casilla_46 Float
    compute='_compute_casilla_46' help='(VAT payable - VAT receivable)' readonly=True store=True string='[46] General scheme result'
  • casilla_69 Float
    compute='_compute_casilla_69' help='[66] Attributable to the Administration - [67] Fees to compensate + [68] Annual regularization' readonly=True store=True string='[69] Result'
  • casilla_77 Float
    help='Contributions of import tax included in the documents evidencing the payment made by the Administration and received in the settlement period. You can only complete this box when the requirements of Article 74.1 of the Tax Regulations Value Added are met.' string='[77] VAT deferred (Settle by customs)'
  • casilla_88 Float
    compute='_compute_casilla_88' help='Información adicional - Operaciones realizadas en el ejercicio - Total volumen de operaciones ([80]+[81]+[93]+[94]+[83]+[84]+[125]+[126]+[127]+[128]+[86]+[95]+[96]+[97]+[98]-[79]-[99])' store=True string='[88] Total volumen operaciones'
  • counterpart_account_id Many2one → account.account
    comodel_name='account.account' compute='_compute_counterpart_account_id' domain="[('company_id', '=', company_id)]" readonly=False store=True string='Counterpart account'
  • cuota_compensar Float
    default=0 help='Fee to compensate for prior periods, in which his statement was to return and compensation back option was chosen' states=NON_EDITABLE_ON_DONE string='[78] Applied fees to compensate (old [67])'
  • deduct_payment_petrol_delivery Boolean
  • devolucion_mensual Boolean
    help='Registered in the Register of Monthly Return' states=NON_EDITABLE_ON_DONE string='Montly Return'
  • exonerated_390 Selection
    compute='_compute_exonerated_390' default='2' help='Exonerado de la Declaración-resumen anual del IVA, modelo 390: Volumen de operaciones (art. 121 LIVA)' readonly=False required=True selection=[('1', 'Exonerado'), ('2', 'No exonerado')] states=NON_EDITABLE_EXCEPT_DRAFT store=True string='Exonerado mod. 390'
  • has_347 Boolean
    default=True help='Marque la casilla si el sujeto pasivo ha efectuado con alguna persona o entidad operaciones por las que tenga obligación de presentar la declaración anual de operaciones con terceras personas (modelo 347).' states=NON_EDITABLE_ON_DONE string='¿Obligación del 347?'
  • has_operation_volume Boolean
    default=True help='¿Existe volumen de operaciones (art. 121 LIVA)?' readonly=True states=EDITABLE_ON_DRAFT string='¿Volumen de operaciones?'
  • is_voluntary_sii Boolean
    help='¿Ha llevado voluntariamente los Libros registro del IVA a través de la Sede electrónica de la AEAT durante el ejercicio?' states=NON_EDITABLE_ON_DONE string='¿SII voluntario?'
  • main_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain=ACTIVITY_CODE_DOMAIN states=NON_EDITABLE_ON_DONE string='Código actividad principal'
  • main_activity_iae Char
    size=4 states=NON_EDITABLE_ON_DONE string='Epígrafe I.A.E. actividad principal'
  • marca_sepa Selection
    compute='_compute_marca_sepa' selection=[('0', '0 Vacía'), ('1', '1 Cuenta España'), ('2', '2 Unión Europea SEPA'), ('3', '3 Resto Países')]
  • other_fifth_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain=ACTIVITY_CODE_DOMAIN states=NON_EDITABLE_ON_DONE string='Código 5ª actividad'
  • other_fifth_activity_iae Char
    size=4 states=NON_EDITABLE_ON_DONE string='Epígrafe I.A.E. 5ª actividad'
  • other_first_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain=ACTIVITY_CODE_DOMAIN states=NON_EDITABLE_ON_DONE string='Código 1ª actividad'
  • other_first_activity_iae Char
    size=4 states=NON_EDITABLE_ON_DONE string='Epígrafe I.A.E. 1ª actividad'
  • other_fourth_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain=ACTIVITY_CODE_DOMAIN states=NON_EDITABLE_ON_DONE string='Código 4ª actividad'
  • other_fourth_activity_iae Char
    size=4 states=NON_EDITABLE_ON_DONE string='Epígrafe I.A.E. 4ª actividad'
  • other_second_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain=ACTIVITY_CODE_DOMAIN states=NON_EDITABLE_ON_DONE string='Código 2ª actividad'
  • other_second_activity_iae Char
    size=4 states=NON_EDITABLE_ON_DONE string='Epígrafe I.A.E. 2ª actividad'
  • other_third_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain=ACTIVITY_CODE_DOMAIN states=NON_EDITABLE_ON_DONE string='Código 3ª actividad'
  • other_third_activity_iae Char
    size=4 states=NON_EDITABLE_ON_DONE string='Epígrafe I.A.E. 3ª actividad'
  • porcentaje_atribuible_estado Float
    default=100 help='Taxpayers who pay jointly to the Central Government and the Provincial Councils of the Basque Country or the Autonomous Community of Navarra, will enter in this box the percentage of volume operations in the common territory. Other taxpayers will enter in this box 100%' states=NON_EDITABLE_ON_DONE string='[65] % attributable to State'
  • potential_cuota_compensar Float
    default=0 states=NON_EDITABLE_ON_DONE string='[110] Pending fees to compensate'
  • previous_result Float
    help='Result of the previous or prior statements of the same concept, exercise and period' states=NON_EDITABLE_ON_DONE string='[70] To be deducted'
  • regularizacion_anual Float
    compute='_compute_regularizacion_anual' help='In the last auto settlement of the year, shall be recorded (the fourth period or 12th month), with the appropriate sign, the result of the annual adjustment as have the laws by the Economic Agreement approved between the State and the Autonomous Community the Basque Country and the Economic Agreement between the State and Navarre.' readonly=False states=NON_EDITABLE_ON_DONE store=True string='[68] Annual regularization'
  • remaining_cuota_compensar Float
    compute='_compute_remaining_cuota_compensar' string='[87] Remaining fees to compensate'
  • result_type Selection
    compute='_compute_result_type' selection=[('I', 'To enter'), ('G', 'To enter - AEAT account'), ('U', 'To enter - Bank account debit'), ('D', 'To return'), ('V', 'To return - AEAT account'), ('X', 'To return - Foreign bank account'), ('C', 'To compensate'), ('N', 'No activity/Zero result')]
  • resultado_liquidacion Float
    compute='_compute_resultado_liquidacion' readonly=True store=True string='[71] Settlement result'
  • return_last_period Boolean
    compute='_compute_return_last_period' help='Check if you are submitting the last period return' readonly=False states=NON_EDITABLE_ON_DONE store=True string='Last Period Return'
  • total_deducir Float
    compute='_compute_total_deducir' compute_sudo=True readonly=True store=True string='[45] VAT receivable'
  • total_devengado Float
    compute='_compute_total_devengado' compute_sudo=True readonly=True store=True string='[27] VAT payable'
  • use_aeat_account Boolean
    help='Si está suscrito a la cuenta corriente en materia tributaria, active esta opción para usarla en el ingreso o devolución.' args: 'Usar cuenta corriente tributaria'
Public methods (4)
  • button_confirm(self)
    Check records
  • calculate(self)
  • check_qty(self)
    @api.constrains('potential_cuota_compensar', 'cuota_compensar')
  • onchange_type(self)
    @api.onchange('statement_type')

New fields (5)
  • code Char
    required=True string='Activity code'
  • date_end Date
    string='Ending date'
  • date_start Date
    string='Starting date'
  • name Char
    required=True string='Activity name' translate=True
  • period_type Selection
    selection=[('4T', '4T'), ('12', 'December')]
Public methods (0)

No public methods.

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_mod303
VERSION
VERSION 3.12.0
CATEGORY
CATEGORYAccounting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), AvanzOSC, ForgeFlow, Guadaltech
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), AvanzOSC, ForgeFlow, Guadaltech
COMMITTERS
COMMITTERSPedro M. Baeza, GitHub, Enric Tobella, manu, OCA Transbot, Miquel Raïch, Omar (Comunitea), Weblate, OCA-git-bot, Ethan Hildick, valen, oca-ci, Valentin Vinagre Urteaga, David Alonso // Solvos, angel, Andrii9090-tecnativa, LauraCForgeFlow, Angel Rivas
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 (3)
XML IDNameModelTypeStatus
view_l10n_es_aeat_mod303_report_activity_code_data_tree l10n.es.aeat.mod303.report.activity.code tree New
view_l10n_es_aeat_mod303_report_form l10n_es.aeat.mod303.report.form l10n.es.aeat.mod303.report field Inherits l10n_es_aeat.view_l10n_es_aeat_report_form
view_l10n_es_aeat_mod303_report_tree l10n_es.aeat.mod303.report.tree l10n.es.aeat.mod303.report tree Inherits l10n_es_aeat.view_l10n_es_aeat_report_tree
Models touched (2)

New fields (41)
  • allow_posting Boolean
    default=True
  • atribuible_estado Float
    compute='_compute_atribuible_estado' readonly=True store=True string='[66] Attributable to the Administration'
  • casilla_108 Monetary
    help='Rectificativa - Exclusivamente para determinados supuestos de autoliquidación rectificativa por discrepancia de criterio administrativo que no deban incluirse en otras casillas. Otros ajustes' string='[108] Devoluciones acordadas por la Agencia Tributaria'
  • casilla_109 Monetary
    help='Resultado - Devoluciones acordadas por la Agencia Tributaria como consecuencia de la tramitación de anteriores autoliquidaciones correspondientes al ejercicio y período objeto de la autoliquidación' string='[109] Devoluciones acordadas por la Agencia Tributaria'
  • casilla_112 Monetary
    help='Result - Payment on account for deliveries of petrol, diesel and biofuels after completion of the non-customs warehouse regime attributable to the State Administration (Sum of box 36 of all forms 319 corresponding to deliveries included in this self-assessment)' string='[112] Pago a cuenta de entregas de gasolinas, gasóleos y biocarburantes'
  • casilla_46 Float
    compute='_compute_casilla_46' help='(VAT payable - VAT receivable)' readonly=True store=True string='[46] General scheme result'
  • casilla_69 Float
    compute='_compute_casilla_69' help='[66] Attributable to the Administration - [67] Fees to compensate + [68] Annual regularization' readonly=True store=True string='[69] Result'
  • casilla_77 Float
    help='Contributions of import tax included in the documents evidencing the payment made by the Administration and received in the settlement period. You can only complete this box when the requirements of Article 74.1 of the Tax Regulations Value Added are met.' string='[77] VAT deferred (Settle by customs)'
  • casilla_88 Float
    compute='_compute_casilla_88' help='Información adicional - Operaciones realizadas en el ejercicio - Total volumen de operaciones ([80]+[81]+[93]+[94]+[83]+[84]+[125]+[126]+[127]+[128]+[86]+[95]+[96]+[97]+[98]-[79]-[99])' store=True string='[88] Total volumen operaciones'
  • counterpart_account_id Many2one → account.account
    comodel_name='account.account' compute='_compute_counterpart_account_id' domain="[('company_id', '=', company_id)]" readonly=False store=True string='Counterpart account'
  • cuota_compensar Float
    default=0 help='Fee to compensate for prior periods, in which his statement was to return and compensation back option was chosen' states=NON_EDITABLE_ON_DONE string='[78] Applied fees to compensate (old [67])'
  • deduct_payment_petrol_delivery Boolean
  • devolucion_mensual Boolean
    help='Registered in the Register of Monthly Return' states=NON_EDITABLE_ON_DONE string='Montly Return'
  • exonerated_390 Selection
    compute='_compute_exonerated_390' default='2' help='Exonerado de la Declaración-resumen anual del IVA, modelo 390: Volumen de operaciones (art. 121 LIVA)' readonly=False required=True selection=[('1', 'Exonerado'), ('2', 'No exonerado')] states=NON_EDITABLE_EXCEPT_DRAFT store=True string='Exonerado mod. 390'
  • has_347 Boolean
    default=True help='Marque la casilla si el sujeto pasivo ha efectuado con alguna persona o entidad operaciones por las que tenga obligación de presentar la declaración anual de operaciones con terceras personas (modelo 347).' states=NON_EDITABLE_ON_DONE string='¿Obligación del 347?'
  • has_operation_volume Boolean
    default=True help='¿Existe volumen de operaciones (art. 121 LIVA)?' readonly=True states=EDITABLE_ON_DRAFT string='¿Volumen de operaciones?'
  • is_voluntary_sii Boolean
    help='¿Ha llevado voluntariamente los Libros registro del IVA a través de la Sede electrónica de la AEAT durante el ejercicio?' states=NON_EDITABLE_ON_DONE string='¿SII voluntario?'
  • main_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain=ACTIVITY_CODE_DOMAIN states=NON_EDITABLE_ON_DONE string='Código actividad principal'
  • main_activity_iae Char
    size=4 states=NON_EDITABLE_ON_DONE string='Epígrafe I.A.E. actividad principal'
  • marca_sepa Selection
    compute='_compute_marca_sepa' selection=[('0', '0 Vacía'), ('1', '1 Cuenta España'), ('2', '2 Unión Europea SEPA'), ('3', '3 Resto Países')]
  • other_fifth_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain=ACTIVITY_CODE_DOMAIN states=NON_EDITABLE_ON_DONE string='Código 5ª actividad'
  • other_fifth_activity_iae Char
    size=4 states=NON_EDITABLE_ON_DONE string='Epígrafe I.A.E. 5ª actividad'
  • other_first_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain=ACTIVITY_CODE_DOMAIN states=NON_EDITABLE_ON_DONE string='Código 1ª actividad'
  • other_first_activity_iae Char
    size=4 states=NON_EDITABLE_ON_DONE string='Epígrafe I.A.E. 1ª actividad'
  • other_fourth_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain=ACTIVITY_CODE_DOMAIN states=NON_EDITABLE_ON_DONE string='Código 4ª actividad'
  • other_fourth_activity_iae Char
    size=4 states=NON_EDITABLE_ON_DONE string='Epígrafe I.A.E. 4ª actividad'
  • other_second_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain=ACTIVITY_CODE_DOMAIN states=NON_EDITABLE_ON_DONE string='Código 2ª actividad'
  • other_second_activity_iae Char
    size=4 states=NON_EDITABLE_ON_DONE string='Epígrafe I.A.E. 2ª actividad'
  • other_third_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain=ACTIVITY_CODE_DOMAIN states=NON_EDITABLE_ON_DONE string='Código 3ª actividad'
  • other_third_activity_iae Char
    size=4 states=NON_EDITABLE_ON_DONE string='Epígrafe I.A.E. 3ª actividad'
  • porcentaje_atribuible_estado Float
    default=100 help='Taxpayers who pay jointly to the Central Government and the Provincial Councils of the Basque Country or the Autonomous Community of Navarra, will enter in this box the percentage of volume operations in the common territory. Other taxpayers will enter in this box 100%' states=NON_EDITABLE_ON_DONE string='[65] % attributable to State'
  • potential_cuota_compensar Float
    default=0 states=NON_EDITABLE_ON_DONE string='[110] Pending fees to compensate'
  • previous_result Float
    help='Result of the previous or prior statements of the same concept, exercise and period' states=NON_EDITABLE_ON_DONE string='[70] To be deducted'
  • regularizacion_anual Float
    compute='_compute_regularizacion_anual' help='In the last auto settlement of the year, shall be recorded (the fourth period or 12th month), with the appropriate sign, the result of the annual adjustment as have the laws by the Economic Agreement approved between the State and the Autonomous Community the Basque Country and the Economic Agreement between the State and Navarre.' readonly=False states=NON_EDITABLE_ON_DONE store=True string='[68] Annual regularization'
  • remaining_cuota_compensar Float
    compute='_compute_remaining_cuota_compensar' string='[87] Remaining fees to compensate'
  • result_type Selection
    compute='_compute_result_type' selection=[('I', 'To enter'), ('G', 'To enter - AEAT account'), ('U', 'To enter - Bank account debit'), ('D', 'To return'), ('V', 'To return - AEAT account'), ('X', 'To return - Foreign bank account'), ('C', 'To compensate'), ('N', 'No activity/Zero result')]
  • resultado_liquidacion Float
    compute='_compute_resultado_liquidacion' readonly=True store=True string='[71] Settlement result'
  • return_last_period Boolean
    compute='_compute_return_last_period' help='Check if you are submitting the last period return' readonly=False states=NON_EDITABLE_ON_DONE store=True string='Last Period Return'
  • total_deducir Float
    compute='_compute_total_deducir' compute_sudo=True readonly=True store=True string='[45] VAT receivable'
  • total_devengado Float
    compute='_compute_total_devengado' compute_sudo=True readonly=True store=True string='[27] VAT payable'
  • use_aeat_account Boolean
    help='Si está suscrito a la cuenta corriente en materia tributaria, active esta opción para usarla en el ingreso o devolución.' args: 'Usar cuenta corriente tributaria'
Public methods (4)
  • button_confirm(self)
    Check records
  • calculate(self)
  • check_qty(self)
    @api.constrains('potential_cuota_compensar', 'cuota_compensar')
  • onchange_type(self)
    @api.onchange('statement_type')

New fields (5)
  • code Char
    required=True string='Activity code'
  • date_end Date
    string='Ending date'
  • date_start Date
    string='Starting date'
  • name Char
    required=True string='Activity name' translate=True
  • period_type Selection
    selection=[('4T', '4T'), ('12', 'December')]
Public methods (0)

No public methods.

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_mod303
VERSION
VERSION 5.2.0
CATEGORY
CATEGORYAccounting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), AvanzOSC, ForgeFlow, Guadaltech
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), AvanzOSC, ForgeFlow, Guadaltech
COMMITTERS
COMMITTERSPedro M. Baeza, OCA Transbot, Miquel Raïch, Omar (Comunitea), oca-travis, Weblate, OCA-git-bot, Francisco Ivan Anton Prieto, Ethan Hildick, oca-ci, Eduardo De Miguel, Berezi, David Alonso // Solvos, angel, luciaavanzosc
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-spain
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:40:48
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/account-financial-reporting:
    - account_tax_balance
OCA/l10n-spain:
    - l10n_es_aeat
    - l10n_es_extra_data
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 (3)
XML IDNameModelTypeStatus
view_l10n_es_aeat_mod303_report_activity_code_data_tree l10n.es.aeat.mod303.report.activity.code tree New
view_l10n_es_aeat_mod303_report_form l10n_es.aeat.mod303.report.form l10n.es.aeat.mod303.report field Inherits l10n_es_aeat.view_l10n_es_aeat_report_form
view_l10n_es_aeat_mod303_report_tree l10n_es.aeat.mod303.report.tree l10n.es.aeat.mod303.report tree Inherits l10n_es_aeat.view_l10n_es_aeat_report_tree
Models touched (2)

New fields (41)
  • allow_posting Boolean
    default=True string='Allow posting'
  • atribuible_estado Float
    compute='_compute_atribuible_estado' readonly=True store=True string='[66] Attributable to the Administration'
  • casilla_108 Monetary
    help='Rectificativa - Exclusivamente para determinados supuestos de autoliquidación rectificativa por discrepancia de criterio administrativo que no deban incluirse en otras casillas. Otros ajustes' string='[108] Devoluciones acordadas por la Agencia Tributaria'
  • casilla_109 Monetary
    help='Resultado - Devoluciones acordadas por la Agencia Tributaria como consecuencia de la tramitación de anteriores autoliquidaciones correspondientes al ejercicio y período objeto de la autoliquidación' string='[109] Devoluciones acordadas por la Agencia Tributaria'
  • casilla_112 Monetary
    help='Result - Payment on account for deliveries of petrol, diesel and biofuels after completion of the non-customs warehouse regime attributable to the State Administration (Sum of box 36 of all forms 319 corresponding to deliveries included in this self-assessment)' string='[112] Pago a cuenta de entregas de gasolinas, gasóleos y biocarburantes'
  • casilla_46 Float
    compute='_compute_casilla_46' help='(VAT payable - VAT receivable)' readonly=True store=True string='[46] General scheme result'
  • casilla_69 Float
    compute='_compute_casilla_69' help='[66] Attributable to the Administration - [67] Fees to compensate + [68] Annual regularization' readonly=True store=True string='[69] Result'
  • casilla_77 Float
    help='Contributions of import tax included in the documents evidencing the payment made by the Administration and received in the settlement period. You can only complete this box when the requirements of Article 74.1 of the Tax Regulations Value Added are met.' string='[77] VAT deferred (Settle by customs)'
  • casilla_88 Float
    compute='_compute_casilla_88' help='Información adicional - Operaciones realizadas en el ejercicio - Total volumen de operaciones ([80]+[81]+[93]+[94]+[83]+[84]+[125]+[126]+[127]+[128]+[86]+[95]+[96]+[97]+[98]-[79]-[99])' store=True string='[88] Total volumen operaciones'
  • counterpart_account_id Many2one → account.account
    comodel_name='account.account' compute='_compute_counterpart_account_id' domain="[('company_id', '=', company_id)]" readonly=False store=True string='Counterpart account'
  • cuota_compensar Float
    default=0 help='Fee to compensate for prior periods, in which his statement was to return and compensation back option was chosen' states=NON_EDITABLE_ON_DONE string='[78] Applied fees to compensate (old [67])'
  • deduct_payment_petrol_delivery Boolean
  • devolucion_mensual Boolean
    help='Registered in the Register of Monthly Return' states=NON_EDITABLE_ON_DONE string='Montly Return'
  • exonerated_390 Selection
    compute='_compute_exonerated_390' default='2' help='Exonerado de la Declaración-resumen anual del IVA, modelo 390: Volumen de operaciones (art. 121 LIVA)' readonly=False required=True selection=[('1', 'Exonerado'), ('2', 'No exonerado')] states=NON_EDITABLE_EXCEPT_DRAFT store=True string='Exonerado mod. 390'
  • has_347 Boolean
    default=True help='Marque la casilla si el sujeto pasivo ha efectuado con alguna persona o entidad operaciones por las que tenga obligación de presentar la declaración anual de operaciones con terceras personas (modelo 347).' states=NON_EDITABLE_ON_DONE string='¿Obligación del 347?'
  • has_operation_volume Boolean
    default=True help='¿Existe volumen de operaciones (art. 121 LIVA)?' readonly=True states=EDITABLE_ON_DRAFT string='¿Volumen de operaciones?'
  • is_voluntary_sii Boolean
    help='¿Ha llevado voluntariamente los Libros registro del IVA a través de la Sede electrónica de la AEAT durante el ejercicio?' states=NON_EDITABLE_ON_DONE string='¿SII voluntario?'
  • main_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain=ACTIVITY_CODE_DOMAIN states=NON_EDITABLE_ON_DONE string='Código actividad principal'
  • main_activity_iae Char
    size=4 states=NON_EDITABLE_ON_DONE string='Epígrafe I.A.E. actividad principal'
  • marca_sepa Selection
    compute='_compute_marca_sepa' selection=[('0', '0 Vacía'), ('1', '1 Cuenta España'), ('2', '2 Unión Europea SEPA'), ('3', '3 Resto Países')]
  • other_fifth_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain=ACTIVITY_CODE_DOMAIN states=NON_EDITABLE_ON_DONE string='Código 5ª actividad'
  • other_fifth_activity_iae Char
    size=4 states=NON_EDITABLE_ON_DONE string='Epígrafe I.A.E. 5ª actividad'
  • other_first_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain=ACTIVITY_CODE_DOMAIN states=NON_EDITABLE_ON_DONE string='Código 1ª actividad'
  • other_first_activity_iae Char
    size=4 states=NON_EDITABLE_ON_DONE string='Epígrafe I.A.E. 1ª actividad'
  • other_fourth_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain=ACTIVITY_CODE_DOMAIN states=NON_EDITABLE_ON_DONE string='Código 4ª actividad'
  • other_fourth_activity_iae Char
    size=4 states=NON_EDITABLE_ON_DONE string='Epígrafe I.A.E. 4ª actividad'
  • other_second_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain=ACTIVITY_CODE_DOMAIN states=NON_EDITABLE_ON_DONE string='Código 2ª actividad'
  • other_second_activity_iae Char
    size=4 states=NON_EDITABLE_ON_DONE string='Epígrafe I.A.E. 2ª actividad'
  • other_third_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain=ACTIVITY_CODE_DOMAIN states=NON_EDITABLE_ON_DONE string='Código 3ª actividad'
  • other_third_activity_iae Char
    size=4 states=NON_EDITABLE_ON_DONE string='Epígrafe I.A.E. 3ª actividad'
  • porcentaje_atribuible_estado Float
    default=100 help='Taxpayers who pay jointly to the Central Government and the Provincial Councils of the Basque Country or the Autonomous Community of Navarra, will enter in this box the percentage of volume operations in the common territory. Other taxpayers will enter in this box 100%' states=NON_EDITABLE_ON_DONE string='[65] % attributable to State'
  • potential_cuota_compensar Float
    default=0 states=NON_EDITABLE_ON_DONE string='[110] Pending fees to compensate'
  • previous_result Float
    help='Result of the previous or prior statements of the same concept, exercise and period' states=NON_EDITABLE_ON_DONE string='[70] To be deducted'
  • regularizacion_anual Float
    compute='_compute_regularizacion_anual' help='In the last auto settlement of the year, shall be recorded (the fourth period or 12th month), with the appropriate sign, the result of the annual adjustment as have the laws by the Economic Agreement approved between the State and the Autonomous Community the Basque Country and the Economic Agreement between the State and Navarre.' readonly=False states=NON_EDITABLE_ON_DONE store=True string='[68] Annual regularization'
  • remaining_cuota_compensar Float
    compute='_compute_remaining_cuota_compensar' string='[87] Remaining fees to compensate'
  • result_type Selection
    compute='_compute_result_type' selection=[('I', 'To enter'), ('G', 'To enter - AEAT account'), ('U', 'To enter - Bank account debit'), ('D', 'To return'), ('V', 'To return - AEAT account'), ('X', 'To return - Foreign bank account'), ('C', 'To compensate'), ('N', 'No activity/Zero result')] string='Result type'
  • resultado_liquidacion Float
    compute='_compute_resultado_liquidacion' readonly=True store=True string='[71] Settlement result'
  • return_last_period Boolean
    compute='_compute_return_last_period' help='Check if you are submitting the last period return' readonly=False states=NON_EDITABLE_ON_DONE store=True string='Last Period Return'
  • total_deducir Float
    compute='_compute_total_deducir' compute_sudo=True readonly=True store=True string='[45] VAT receivable'
  • total_devengado Float
    compute='_compute_total_devengado' compute_sudo=True readonly=True store=True string='[27] VAT payable'
  • use_aeat_account Boolean
    help='Si está suscrito a la cuenta corriente en materia tributaria, active esta opción para usarla en el ingreso o devolución.' args: 'Usar cuenta corriente tributaria'
Public methods (4)
  • button_confirm(self)
    Check records
  • calculate(self)
  • check_qty(self)
    @api.constrains('potential_cuota_compensar', 'cuota_compensar')
  • onchange_type(self)
    @api.onchange('statement_type')

New fields (5)
  • code Char
    required=True string='Activity code'
  • date_end Date
    string='Ending date'
  • date_start Date
    string='Starting date'
  • name Char
    required=True string='Activity name' translate=True
  • period_type Selection
    selection=[('4T', '4T'), ('12', 'December')]
Public methods (0)

No public methods.

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_mod303
VERSION
VERSION 4.4.0
CATEGORY
CATEGORYAccounting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), AvanzOSC, ForgeFlow, Guadaltech
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), AvanzOSC, ForgeFlow, Guadaltech
COMMITTERS
COMMITTERSPedro M. Baeza, mreficent, Jordi Ballester Alomar, OCA Transbot, Omar (Comunitea), oca-travis, Weblate, OCA-git-bot, Ethan Hildick, oca-ci, rolando
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 (3)
XML IDNameModelTypeStatus
view_l10n_es_aeat_mod303_report_activity_code_data_tree l10n.es.aeat.mod303.report.activity.code tree New
view_l10n_es_aeat_mod303_report_form l10n_es.aeat.mod303.report.form l10n.es.aeat.mod303.report field Inherits l10n_es_aeat.view_l10n_es_aeat_report_form
view_l10n_es_aeat_mod303_report_tree l10n_es.aeat.mod303.report.tree l10n.es.aeat.mod303.report tree Inherits l10n_es_aeat.view_l10n_es_aeat_report_tree
Models touched (2)

New fields (35)
  • allow_posting Boolean
    default=True string='Allow posting'
  • atribuible_estado Float
    compute='_compute_atribuible_estado' readonly=True store=True string='[66] Attributable to the Administration'
  • casilla_46 Float
    compute='_compute_casilla_46' help='(VAT payable - VAT receivable)' readonly=True store=True string='[46] General scheme result'
  • casilla_69 Float
    compute='_compute_casilla_69' help='[66] Attributable to the Administration - [67] Fees to compensate + [68] Annual regularization' readonly=True store=True string='[69] Result'
  • casilla_77 Float
    help='Contributions of import tax included in the documents evidencing the payment made by the Administration and received in the settlement period. You can only complete this box when the requirements of Article 74.1 of the Tax Regulations Value Added are met.' string='[77] VAT deferred (Settle by customs)'
  • casilla_88 Float
    compute='_compute_casilla_88' help='Información adicional - Operaciones realizadas en el ejercicio - Total volumen de operaciones ([80]+[81]+[93]+[94]+[83]+[84]+[125]+[126]+[127]+[128]+[86]+[95]+[96]+[97]+[98]-[79]-[99])' store=True string='[88] Total volumen operaciones'
  • counterpart_account_id Many2one → account.account
    comodel_name='account.account' compute='_compute_counterpart_account_id' domain="[('company_id', '=', company_id)]" readonly=False store=True string='Counterpart account'
  • cuota_compensar Float
    default=0 help='Fee to compensate for prior periods, in which his statement was to return and compensation back option was chosen' states=NON_EDITABLE_ON_DONE string='[78] Applied fees to compensate (old [67])'
  • devolucion_mensual Boolean
    help='Registered in the Register of Monthly Return' states=NON_EDITABLE_ON_DONE string='Montly Return'
  • exonerated_390 Selection
    compute='_compute_exonerated_390' default='2' help='Exonerado de la Declaración-resumen anual del IVA, modelo 390: Volumen de operaciones (art. 121 LIVA)' readonly=False required=True selection=[('1', 'Exonerado'), ('2', 'No exonerado')] states=NON_EDITABLE_EXCEPT_DRAFT store=True string='Exonerado mod. 390'
  • has_347 Boolean
    default=True help='Marque la casilla si el sujeto pasivo ha efectuado con alguna persona o entidad operaciones por las que tenga obligación de presentar la declaración anual de operaciones con terceras personas (modelo 347).' states=NON_EDITABLE_ON_DONE string='¿Obligación del 347?'
  • has_operation_volume Boolean
    default=True help='¿Existe volumen de operaciones (art. 121 LIVA)?' readonly=True states=EDITABLE_ON_DRAFT string='¿Volumen de operaciones?'
  • is_voluntary_sii Boolean
    help='¿Ha llevado voluntariamente los Libros registro del IVA a través de la Sede electrónica de la AEAT durante el ejercicio?' states=NON_EDITABLE_ON_DONE string='¿SII voluntario?'
  • main_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain=ACTIVITY_CODE_DOMAIN states=NON_EDITABLE_ON_DONE string='Código actividad principal'
  • main_activity_iae Char
    size=4 states=NON_EDITABLE_ON_DONE string='Epígrafe I.A.E. actividad principal'
  • marca_sepa Selection
    compute='_compute_marca_sepa' selection=[('0', '0 Vacía'), ('1', '1 Cuenta España'), ('2', '2 Unión Europea SEPA'), ('3', '3 Resto Países')]
  • other_fifth_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain=ACTIVITY_CODE_DOMAIN states=NON_EDITABLE_ON_DONE string='Código 5ª actividad'
  • other_fifth_activity_iae Char
    size=4 states=NON_EDITABLE_ON_DONE string='Epígrafe I.A.E. 5ª actividad'
  • other_first_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain=ACTIVITY_CODE_DOMAIN states=NON_EDITABLE_ON_DONE string='Código 1ª actividad'
  • other_first_activity_iae Char
    size=4 states=NON_EDITABLE_ON_DONE string='Epígrafe I.A.E. 1ª actividad'
  • other_fourth_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain=ACTIVITY_CODE_DOMAIN states=NON_EDITABLE_ON_DONE string='Código 4ª actividad'
  • other_fourth_activity_iae Char
    size=4 states=NON_EDITABLE_ON_DONE string='Epígrafe I.A.E. 4ª actividad'
  • other_second_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain=ACTIVITY_CODE_DOMAIN states=NON_EDITABLE_ON_DONE string='Código 2ª actividad'
  • other_second_activity_iae Char
    size=4 states=NON_EDITABLE_ON_DONE string='Epígrafe I.A.E. 2ª actividad'
  • other_third_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain=ACTIVITY_CODE_DOMAIN states=NON_EDITABLE_ON_DONE string='Código 3ª actividad'
  • other_third_activity_iae Char
    size=4 states=NON_EDITABLE_ON_DONE string='Epígrafe I.A.E. 3ª actividad'
  • porcentaje_atribuible_estado Float
    default=100 help='Taxpayers who pay jointly to the Central Government and the Provincial Councils of the Basque Country or the Autonomous Community of Navarra, will enter in this box the percentage of volume operations in the common territory. Other taxpayers will enter in this box 100%' states=NON_EDITABLE_ON_DONE string='[65] % attributable to State'
  • potential_cuota_compensar Float
    default=0 states=NON_EDITABLE_ON_DONE string='[110] Pending fees to compensate'
  • previous_result Float
    help='Result of the previous or prior statements of the same concept, exercise and period' states=NON_EDITABLE_ON_DONE string='[70] To be deducted'
  • regularizacion_anual Float
    compute='_compute_regularizacion_anual' default=0.0 help='In the last auto settlement of the year, shall be recorded (the fourth period or 12th month), with the appropriate sign, the result of the annual adjustment as have the laws by the Economic Agreement approved between the State and the Autonomous Community the Basque Country and the Economic Agreement between the State and Navarre.' readonly=False states=NON_EDITABLE_ON_DONE store=True string='[68] Annual regularization'
  • remaining_cuota_compensar Float
    compute='_compute_remaining_cuota_compensar' string='[87] Remaining fees to compensate'
  • result_type Selection
    compute='_compute_result_type' selection=[('I', 'To enter'), ('G', 'To enter - AEAT account'), ('U', 'To enter - Bank account debit'), ('D', 'To return'), ('V', 'To return - AEAT account'), ('X', 'To return - Foreign bank account'), ('C', 'To compensate'), ('N', 'No activity/Zero result')] string='Result type'
  • resultado_liquidacion Float
    compute='_compute_resultado_liquidacion' readonly=True store=True string='[71] Settlement result'
  • total_deducir Float
    compute='_compute_total_deducir' compute_sudo=True readonly=True store=True string='[45] VAT receivable'
  • total_devengado Float
    compute='_compute_total_devengado' compute_sudo=True readonly=True store=True string='[27] VAT payable'
Public methods (4)
  • button_confirm(self)
    Check records
  • calculate(self)
  • check_qty(self)
    @api.constrains('potential_cuota_compensar', 'cuota_compensar')
  • onchange_type(self)
    @api.onchange('statement_type')

New fields (5)
  • code Char
    required=True string='Activity code'
  • date_end Date
    string='Ending date'
  • date_start Date
    string='Starting date'
  • name Char
    required=True string='Activity name' translate=True
  • period_type Selection
    selection=[('4T', '4T'), ('12', 'December')]
Public methods (0)

No public methods.

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_mod303
VERSION
VERSION 5.1.0
CATEGORY
CATEGORYAccounting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), AvanzOSC, Guadaltech, Eficent
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), AvanzOSC, Guadaltech, Eficent
COMMITTERS
COMMITTERSPedro M. Baeza, mreficent, Enric Tobella, cubells, OCA Transbot, angelmoya, oca-travis, Roberto Lizana, Weblate, OCA-git-bot, Oihane Crucelaegui, Ethan Hildick, oca-ci, Berezi
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-spain
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:29:12
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/account-financial-reporting:
    - account_tax_balance
OCA/l10n-spain:
    - l10n_es_aeat
    - l10n_es_extra_data
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 (3)
XML IDNameModelTypeStatus
view_l10n_es_aeat_mod303_report_activity_code_data_tree l10n.es.aeat.mod303.report.activity.code tree New
view_l10n_es_aeat_mod303_report_form l10n_es.aeat.mod303.report.form l10n.es.aeat.mod303.report field Inherits l10n_es_aeat.view_l10n_es_aeat_report_form
view_l10n_es_aeat_mod303_report_tree l10n_es.aeat.mod303.report.tree l10n.es.aeat.mod303.report tree Inherits l10n_es_aeat.view_l10n_es_aeat_report_tree
Models touched (2)

New fields (37)
  • allow_posting Boolean
    default=True string='Allow posting'
  • atribuible_estado Float
    compute='_compute_atribuible_estado' readonly=True store=True string='[66] Attributable to the Administration'
  • casilla_46 Float
    compute='_compute_casilla_46' help='(VAT payable - VAT receivable)' readonly=True store=True string='[46] General scheme result'
  • casilla_69 Float
    compute='_compute_casilla_69' help='[66] Attributable to the Administration - [67] Fees to compensate + [68] Annual regularization' readonly=True store=True string='[69] Result'
  • casilla_77 Float
    help='Contributions of import tax included in the documents evidencing the payment made by the Administration and received in the settlement period. You can only complete this box when the requirements of Article 74.1 of the Tax Regulations Value Added are met.' string='[77] VAT deferred (Settle by customs)'
  • casilla_88 Float
    compute='_compute_casilla_88' help='Información adicional - Operaciones realizadas en el ejercicio - Total volumen de operaciones ([80]+[81]+[93]+[94]+[83]+[84]+[125]+[126]+[127]+[128]+[86]+[95]+[96]+[97]+[98]-[79]-[99])' store=True string='[88] Total volumen operaciones'
  • counterpart_account_id Many2one → account.account
    comodel_name='account.account' default=_default_counterpart_303 domain="[('company_id', '=', company_id)]" oldname='counterpart_account' string='Counterpart account'
  • cuota_compensar Float
    default=0 help='Fee to compensate for prior periods, in which his statement was to return and compensation back option was chosen' states=NON_EDITABLE_ON_DONE string='[78] Applied fees to compensate (old [67])'
  • devolucion_mensual Boolean
    help='Registered in the Register of Monthly Return' states=NON_EDITABLE_ON_DONE string='Montly Return'
  • exonerated_390 Selection
    default='2' help='Exonerado de la Declaración-resumen anual del IVA, modelo 390: Volumen de operaciones (art. 121 LIVA)' readonly=True required=True selection=[('1', 'Exonerado'), ('2', 'No exonerado')] states=EDITABLE_ON_DRAFT string='Exonerado mod. 390'
  • has_347 Boolean
    default=True help='Marque la casilla si el sujeto pasivo ha efectuado con alguna persona o entidad operaciones por las que tenga obligación de presentar la declaración anual de operaciones con terceras personas (modelo 347).' states=NON_EDITABLE_ON_DONE string='¿Obligación del 347?'
  • has_operation_volume Boolean
    default=True help='¿Existe volumen de operaciones (art. 121 LIVA)?' readonly=True states=EDITABLE_ON_DRAFT string='¿Volumen de operaciones?'
  • is_voluntary_sii Boolean
    help='¿Ha llevado voluntariamente los Libros registro del IVA a través de la Sede electrónica de la AEAT durante el ejercicio?' states=NON_EDITABLE_ON_DONE string='¿SII voluntario?'
  • main_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain="[ '|', ('period_type', '=', False), ('period_type', '=', period_type), '&', '|', ('date_start', '=', False), ('date_start', '<=', date_start), '|', ('date_end', '=', False), ('date_end', '>=', date_end),]" states=NON_EDITABLE_ON_DONE string='Código actividad principal'
  • main_activity_iae Char
    size=4 states=NON_EDITABLE_ON_DONE string='Epígrafe I.A.E. actividad principal'
  • marca_sepa Selection
    compute='_compute_marca_sepa' selection=[('0', '0 Vacía'), ('1', '1 Cuenta España'), ('2', '2 Unión Europea SEPA'), ('3', '3 Resto Países')]
  • other_fifth_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain="[('period_type', '=', period_type)]" states=NON_EDITABLE_ON_DONE string='Código 5ª actividad'
  • other_fifth_activity_iae Char
    size=4 states=NON_EDITABLE_ON_DONE string='Epígrafe I.A.E. 5ª actividad'
  • other_first_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain="[('period_type', '=', period_type)]" states=NON_EDITABLE_ON_DONE string='Código 1ª actividad'
  • other_first_activity_iae Char
    size=4 states=NON_EDITABLE_ON_DONE string='Epígrafe I.A.E. 1ª actividad'
  • other_fourth_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain="[('period_type', '=', period_type)]" states=NON_EDITABLE_ON_DONE string='Código 4ª actividad'
  • other_fourth_activity_iae Char
    size=4 states=NON_EDITABLE_ON_DONE string='Epígrafe I.A.E. 4ª actividad'
  • other_second_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain="[('period_type', '=', period_type)]" states=NON_EDITABLE_ON_DONE string='Código 2ª actividad'
  • other_second_activity_iae Char
    size=4 states=NON_EDITABLE_ON_DONE string='Epígrafe I.A.E. 2ª actividad'
  • other_third_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain="[('period_type', '=', period_type)]" states=NON_EDITABLE_ON_DONE string='Código 3ª actividad'
  • other_third_activity_iae Char
    size=4 states=NON_EDITABLE_ON_DONE string='Epígrafe I.A.E. 3ª actividad'
  • porcentaje_atribuible_estado Float
    default=100 help='Taxpayers who pay jointly to the Central Government and the Provincial Councils of the Basque Country or the Autonomous Community of Navarra, will enter in this box the percentage of volume operations in the common territory. Other taxpayers will enter in this box 100%' states=NON_EDITABLE_ON_DONE string='[65] % attributable to State'
  • potential_cuota_compensar Float
    default=0 states=NON_EDITABLE_ON_DONE string='[110] Pending fees to compensate'
  • previous_result Float
    help='Result of the previous or prior statements of the same concept, exercise and period' states=NON_EDITABLE_ON_DONE string='[70] To be deducted'
  • regularizacion_anual Float
    compute='_compute_regularizacion_anual' help='In the last auto settlement of the year, shall be recorded (the fourth period or 12th month), with the appropriate sign, the result of the annual adjustment as have the laws by the Economic Agreement approved between the State and the Autonomous Community the Basque Country and the Economic Agreement between the State and Navarre.' readonly=False states=NON_EDITABLE_ON_DONE store=True string='[68] Annual regularization'
  • remaining_cuota_compensar Float
    compute='_compute_remaining_cuota_compensar' string='[87] Remaining fees to compensate'
  • result_type Selection
    compute='_compute_result_type' selection=[('I', 'To enter'), ('G', 'To enter - AEAT account'), ('U', 'To enter - Bank account debit'), ('D', 'To return'), ('V', 'To return - AEAT account'), ('X', 'To return - Foreign bank account'), ('C', 'To compensate'), ('N', 'No activity/Zero result')] string='Result type'
  • resultado_liquidacion Float
    compute='_compute_resultado_liquidacion' readonly=True store=True string='[71] Settlement result'
  • return_last_period Boolean
    compute='_compute_return_last_period' help='Check if you are submitting the last period return' readonly=False states=NON_EDITABLE_ON_DONE store=True string='Last Period Return'
  • total_deducir Float
    compute='_compute_total_deducir' compute_sudo=True readonly=True store=True string='[45] VAT receivable'
  • total_devengado Float
    compute='_compute_total_devengado' compute_sudo=True readonly=True store=True string='[27] VAT payable'
  • use_aeat_account Boolean
    help='Si está suscrito a la cuenta corriente en materia tributaria, active esta opción para usarla en el ingreso o devolución.' args: 'Usar cuenta corriente tributaria'
Public methods (5)
  • button_confirm(self)
    @api.multi
    Check records
  • calculate(self)
    @api.multi
  • check_qty(self)
    @api.constrains('potential_cuota_compensar', 'cuota_compensar')
  • onchange_period_type(self)
    @api.onchange('year', 'period_type')
  • onchange_type(self)
    @api.onchange('type')

New fields (5)
  • code Char
    required=True string='Activity code'
  • date_end Date
    string='Ending date'
  • date_start Date
    string='Starting date'
  • name Char
    required=True string='Activity name' translate=True
  • period_type Selection
    selection=[('4T', '4T'), ('12', 'December')]
Public methods (0)

No public methods.

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_mod303
VERSION
VERSION 4.4.0
CATEGORY
CATEGORYAccounting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), AvanzOSC, Guadaltech, Eficent
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), AvanzOSC, Guadaltech, Eficent
COMMITTERS
COMMITTERSPedro M. Baeza, Carlos Dauden, Jordi Ballester, OCA Transbot, Omar (Comunitea), oca-travis, Weblate, OCA-git-bot, Rodrigo Bonilla, Luis J. Salvatierra, Rodrigo, JesusVMayor, oca-ci, Victor Laskurain
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
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES unidecode
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
view_l10n_es_aeat_mod303_report_activity_code_data_tree l10n.es.aeat.mod303.report.activity.code tree New
view_l10n_es_aeat_mod303_report_form l10n_es.aeat.mod303.report.form l10n.es.aeat.mod303.report field Inherits l10n_es_aeat.view_l10n_es_aeat_report_form
view_l10n_es_aeat_mod303_report_tree l10n_es.aeat.mod303.report.tree l10n.es.aeat.mod303.report tree Inherits l10n_es_aeat.view_l10n_es_aeat_report_tree
Models touched (2)

New fields (35)
  • allow_posting Boolean
    default=True string='Allow posting'
  • atribuible_estado Float
    compute='_compute_atribuible_estado' readonly=True store=True string='[66] Attributable to the Administration'
  • casilla_46 Float
    compute='_compute_casilla_46' help='(VAT payable - VAT receivable)' readonly=True store=True string='[46] General scheme result'
  • casilla_69 Float
    compute='_compute_casilla_69' help='[66] Attributable to the Administration - [67] Fees to compensate + [68] Annual regularization' readonly=True store=True string='[69] Result'
  • casilla_77 Float
    help='Contributions of import tax included in the documents evidencing the payment made by the Administration and received in the settlement period. You can only complete this box when the requirements of Article 74.1 of the Tax Regulations Value Added are met.' string='[77] VAT deferred (Settle by customs)'
  • casilla_88 Float
    compute='_compute_casilla_88' help='Información adicional - Operaciones realizadas en el ejercicio - Total volumen de operaciones ([80]+[81]+[93]+[94]+[83]+[84]+[125]+[126]+[127]+[128]+[86]+[95]+[96]+[97]+[98]-[79]-[99])' store=True string='[88] Total volumen operaciones'
  • counterpart_account_id Many2one → account.account
    comodel_name='account.account' default=_default_counterpart_303 domain="[('company_id', '=', company_id)]" oldname='counterpart_account' string='Counterpart account'
  • cuota_compensar Float
    default=0 help='Fee to compensate for prior periods, in which his statement was to return and compensation back option was chosen' states=NON_EDITABLE_ON_DONE string='[78] Applied fees to compensate (old [67])'
  • devolucion_mensual Boolean
    help='Registered in the Register of Monthly Return' states=NON_EDITABLE_ON_DONE string='Montly Return'
  • exonerated_390 Selection
    default='2' help='Exonerado de la Declaración-resumen anual del IVA, modelo 390: Volumen de operaciones (art. 121 LIVA)' required=True selection=[('1', 'Exonerado'), ('2', 'No exonerado')] states=NON_EDITABLE_ON_DONE string='Exonerado mod. 390'
  • has_347 Boolean
    default=True help='Marque la casilla si el sujeto pasivo ha efectuado con alguna persona o entidad operaciones por las que tenga obligación de presentar la declaración anual de operaciones con terceras personas (modelo 347).' states=NON_EDITABLE_ON_DONE string='¿Obligación del 347?'
  • has_operation_volume Boolean
    default=True help='¿Existe volumen de operaciones (art. 121 LIVA)?' states=NON_EDITABLE_ON_DONE string='¿Volumen de operaciones?'
  • is_voluntary_sii Boolean
    help='¿Ha llevado voluntariamente los Libros registro del IVA a través de la Sede electrónica de la AEAT durante el ejercicio?' states=NON_EDITABLE_ON_DONE string='¿SII voluntario?'
  • main_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain="[ '|', ('period_type', '=', False), ('period_type', '=', period_type), '&', '|', ('date_start', '=', False), ('date_start', '<=', date_start), '|', ('date_end', '=', False), ('date_end', '>=', date_end),]" states=NON_EDITABLE_ON_DONE string='Código actividad principal'
  • main_activity_iae Char
    size=4 states=NON_EDITABLE_ON_DONE string='Epígrafe I.A.E. actividad principal'
  • marca_sepa Selection
    compute='_compute_marca_sepa' selection=[('0', '0 Vacía'), ('1', '1 Cuenta España'), ('2', '2 Unión Europea SEPA'), ('3', '3 Resto Países')]
  • other_fifth_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain="[('period_type', '=', period_type)]" states=NON_EDITABLE_ON_DONE string='Código 5ª actividad'
  • other_fifth_activity_iae Char
    size=4 states=NON_EDITABLE_ON_DONE string='Epígrafe I.A.E. 5ª actividad'
  • other_first_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain="[('period_type', '=', period_type)]" states=NON_EDITABLE_ON_DONE string='Código 1ª actividad'
  • other_first_activity_iae Char
    size=4 states=NON_EDITABLE_ON_DONE string='Epígrafe I.A.E. 1ª actividad'
  • other_fourth_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain="[('period_type', '=', period_type)]" states=NON_EDITABLE_ON_DONE string='Código 4ª actividad'
  • other_fourth_activity_iae Char
    size=4 states=NON_EDITABLE_ON_DONE string='Epígrafe I.A.E. 4ª actividad'
  • other_second_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain="[('period_type', '=', period_type)]" states=NON_EDITABLE_ON_DONE string='Código 2ª actividad'
  • other_second_activity_iae Char
    size=4 states=NON_EDITABLE_ON_DONE string='Epígrafe I.A.E. 2ª actividad'
  • other_third_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain="[('period_type', '=', period_type)]" states=NON_EDITABLE_ON_DONE string='Código 3ª actividad'
  • other_third_activity_iae Char
    size=4 states=NON_EDITABLE_ON_DONE string='Epígrafe I.A.E. 3ª actividad'
  • porcentaje_atribuible_estado Float
    default=100 help='Taxpayers who pay jointly to the Central Government and the Provincial Councils of the Basque Country or the Autonomous Community of Navarra, will enter in this box the percentage of volume operations in the common territory. Other taxpayers will enter in this box 100%' states=NON_EDITABLE_ON_DONE string='[65] % attributable to State'
  • potential_cuota_compensar Float
    default=0 states=NON_EDITABLE_ON_DONE string='[110] Pending fees to compensate'
  • previous_result Float
    help='Result of the previous or prior statements of the same concept, exercise and period' states=NON_EDITABLE_ON_DONE string='[70] To be deducted'
  • regularizacion_anual Float
    help='In the last auto settlement of the year, shall be recorded (the fourth period or 12th month), with the appropriate sign, the result of the annual adjustment as have the laws by the Economic Agreement approved between the State and the Autonomous Community the Basque Country and the Economic Agreement between the State and Navarre.' states=NON_EDITABLE_ON_DONE string='[68] Annual regularization'
  • remaining_cuota_compensar Float
    compute='_compute_remaining_cuota_compensar' string='[87] Remaining fees to compensate'
  • result_type Selection
    compute='_compute_result_type' selection=[('I', 'To enter'), ('D', 'To return'), ('C', 'To compensate'), ('N', 'No activity/Zero result')] string='Result type'
  • resultado_liquidacion Float
    compute='_compute_resultado_liquidacion' readonly=True store=True string='[71] Settlement result'
  • total_deducir Float
    compute='_compute_total_deducir' compute_sudo=True readonly=True store=True string='[45] VAT receivable'
  • total_devengado Float
    compute='_compute_total_devengado' compute_sudo=True readonly=True store=True string='[27] VAT payable'
Public methods (5)
  • button_confirm(self)
    @api.multi
    Check records
  • calculate(self)
    @api.multi
  • check_qty(self)
    @api.constrains('potential_cuota_compensar', 'cuota_compensar')
  • onchange_period_type(self)
    @api.onchange('year', 'period_type')
  • onchange_type(self)
    @api.onchange('type')

New fields (5)
  • code Char
    required=True string='Activity code'
  • date_end Date
    string='Ending date'
  • date_start Date
    string='Starting date'
  • name Char
    required=True string='Activity name' translate=True
  • period_type Selection
    selection=[('4T', '4T'), ('12', 'December')]
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/l10n-spain
GIT
GIThttps://github.com/OCA/l10n-spain.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-spain/tree/10.0/l10n_es_aeat_mod303
VERSION
VERSION 4.2.0
CATEGORY
CATEGORYAccounting & Finance
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), AvanzOSC, Guadaltech, Eficent
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), AvanzOSC, Guadaltech, Eficent
COMMITTERS
COMMITTERSAlexandre Fayolle, Pedro M. Baeza, GitHub, OCA Transbot, oca-travis, OCA-git-bot, Isaac Gallart Bochons, Abranes, Adrián Cifuentes, AdrianC, ferran-73
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-spain
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:19:53
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/account-financial-reporting:
    - account_tax_balance
OCA/l10n-spain:
    - l10n_es
    - l10n_es_aeat
OCA/server-tools:
    - date_range
odoo/odoo:
    - account
    - base_setup
    - base
    - web_kanban
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - web_tour
    - report
    - analytic
    - web_planner
    - base_vat
    - base_iban
    - l10n_es
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES unidecode
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
view_l10n_es_aeat_mod303_report_activity_code_data_tree l10n.es.aeat.mod303.report.activity.code tree New
view_l10n_es_aeat_mod303_report_form l10n_es.aeat.mod303.report.form l10n.es.aeat.mod303.report field Inherits l10n_es_aeat.view_l10n_es_aeat_report_form
view_l10n_es_aeat_mod303_report_tree l10n_es.aeat.mod303.report.tree l10n.es.aeat.mod303.report tree Inherits l10n_es_aeat.view_l10n_es_aeat_report_tree
Models touched (2)

New fields (35)
  • allow_posting Boolean
    default=True string='Allow posting'
  • atribuible_estado Float
    compute='_compute_atribuible_estado' readonly=True store=True string='[66] Attributable to the Administration'
  • casilla_46 Float
    compute='_compute_casilla_46' help='(VAT payable - VAT receivable)' readonly=True store=True string='[46] General scheme result'
  • casilla_69 Float
    compute='_compute_casilla_69' help='[66] Attributable to the Administration - [67] Fees to compensate + [68] Annual regularization' readonly=True store=True string='[69] Result'
  • casilla_77 Float
    help='Contributions of import tax included in the documents evidencing the payment made by the Administration and received in the settlement period. You can only complete this box when the requirements of Article 74.1 of the Tax Regulations Value Added are met.' string='[77] VAT deferred (Settle by customs)'
  • casilla_88 Float
    compute='_compute_casilla_88' help='Información adicional - Operaciones realizadas en el ejercicio - Total volumen de operaciones ([80]+[81]+[93]+[94]+[83]+[84]+[125]+[126]+[127]+[128]+[86]+[95]+[96]+[97]+[98]-[79]-[99])' store=True string='[88] Total volumen operaciones'
  • counterpart_account_id Many2one → account.account
    comodel_name='account.account' default=_default_counterpart_303 domain="[('company_id', '=', company_id)]" oldname='counterpart_account' string='Counterpart account'
  • cuota_compensar Float
    default=0 help='Fee to compensate for prior periods, in which his statement was to return and compensation back option was chosen' states=NON_EDITABLE_ON_DONE string='[78] Applied fees to compensate (old [67])'
  • devolucion_mensual Boolean
    help='Registered in the Register of Monthly Return' states=NON_EDITABLE_ON_DONE string='Montly Return'
  • exonerated_390 Selection
    default='2' help='Exonerado de la Declaración-resumen anual del IVA, modelo 390: Volumen de operaciones (art. 121 LIVA)' required=True selection=[('1', 'Exonerado'), ('2', 'No exonerado')] states=NON_EDITABLE_ON_DONE string='Exonerado mod. 390'
  • has_347 Boolean
    default=True help='Marque la casilla si el sujeto pasivo ha efectuado con alguna persona o entidad operaciones por las que tenga obligación de presentar la declaración anual de operaciones con terceras personas (modelo 347).' states=NON_EDITABLE_ON_DONE string='¿Obligación del 347?'
  • has_operation_volume Boolean
    default=True help='¿Existe volumen de operaciones (art. 121 LIVA)?' states=NON_EDITABLE_ON_DONE string='¿Volumen de operaciones?'
  • is_voluntary_sii Boolean
    help='¿Ha llevado voluntariamente los Libros registro del IVA a través de la Sede electrónica de la AEAT durante el ejercicio?' states=NON_EDITABLE_ON_DONE string='¿SII voluntario?'
  • main_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain="[('period_type', '=', period_type)]" states=NON_EDITABLE_ON_DONE string='Código actividad principal'
  • main_activity_iae Char
    size=4 states=NON_EDITABLE_ON_DONE string='Epígrafe I.A.E. actividad principal'
  • marca_sepa Selection
    compute='_compute_marca_sepa' selection=[('0', '0 Vacía'), ('1', '1 Cuenta España'), ('2', '2 Unión Europea SEPA'), ('3', '3 Resto Países')]
  • other_fifth_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain="[('period_type', '=', period_type)]" states=NON_EDITABLE_ON_DONE string='Código 5ª actividad'
  • other_fifth_activity_iae Char
    size=4 states=NON_EDITABLE_ON_DONE string='Epígrafe I.A.E. 5ª actividad'
  • other_first_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain="[('period_type', '=', period_type)]" states=NON_EDITABLE_ON_DONE string='Código 1ª actividad'
  • other_first_activity_iae Char
    size=4 states=NON_EDITABLE_ON_DONE string='Epígrafe I.A.E. 1ª actividad'
  • other_fourth_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain="[('period_type', '=', period_type)]" states=NON_EDITABLE_ON_DONE string='Código 4ª actividad'
  • other_fourth_activity_iae Char
    size=4 states=NON_EDITABLE_ON_DONE string='Epígrafe I.A.E. 4ª actividad'
  • other_second_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain="[('period_type', '=', period_type)]" states=NON_EDITABLE_ON_DONE string='Código 2ª actividad'
  • other_second_activity_iae Char
    size=4 states=NON_EDITABLE_ON_DONE string='Epígrafe I.A.E. 2ª actividad'
  • other_third_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain="[('period_type', '=', period_type)]" states=NON_EDITABLE_ON_DONE string='Código 3ª actividad'
  • other_third_activity_iae Char
    size=4 states=NON_EDITABLE_ON_DONE string='Epígrafe I.A.E. 3ª actividad'
  • porcentaje_atribuible_estado Float
    default=100 help='Taxpayers who pay jointly to the Central Government and the Provincial Councils of the Basque Country or the Autonomous Community of Navarra, will enter in this box the percentage of volume operations in the common territory. Other taxpayers will enter in this box 100%' states=NON_EDITABLE_ON_DONE string='[65] % attributable to State'
  • potential_cuota_compensar Float
    default=0 states=NON_EDITABLE_ON_DONE string='[110] Pending fees to compensate'
  • previous_result Float
    help='Result of the previous or prior statements of the same concept, exercise and period' states=NON_EDITABLE_ON_DONE string='[70] To be deducted'
  • regularizacion_anual Float
    help='In the last auto settlement of the year, shall be recorded (the fourth period or 12th month), with the appropriate sign, the result of the annual adjustment as have the laws by the Economic Agreement approved between the State and the Autonomous Community the Basque Country and the Economic Agreement between the State and Navarre.' states=NON_EDITABLE_ON_DONE string='[68] Annual regularization'
  • remaining_cuota_compensar Float
    compute='_compute_remaining_cuota_compensar' string='[87] Remaining fees to compensate'
  • result_type Selection
    compute='_compute_result_type' selection=[('I', 'To enter'), ('D', 'To return'), ('C', 'To compensate'), ('N', 'No activity/Zero result')] string='Result type'
  • resultado_liquidacion Float
    compute='_compute_resultado_liquidacion' readonly=True store=True string='[71] Settlement result'
  • total_deducir Float
    compute='_compute_total_deducir' compute_sudo=True readonly=True store=True string='[45] VAT receivable'
  • total_devengado Float
    compute='_compute_total_devengado' compute_sudo=True readonly=True store=True string='[27] VAT payable'
Public methods (5)
  • button_confirm(self)
    @api.multi
    Check records
  • calculate(self)
    @api.multi
  • check_qty(self)
    @api.constrains('potential_cuota_compensar', 'cuota_compensar')
  • onchange_period_type(self)
    @api.onchange('year', 'period_type')
  • onchange_type(self)
    @api.onchange('type')

New fields (3)
  • code Integer
    required=True string='Activity code'
  • name Char
    required=True string='Activity name' translate=True
  • period_type Selection
    required=True selection=[('4T', '4T'), ('12', 'December')]
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/l10n-spain
GIT
GIThttps://github.com/OCA/l10n-spain.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-spain/tree/9.0/l10n_es_aeat_mod303
VERSION
VERSION 1.8.0
CATEGORY
CATEGORYAccounting & Finance
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), AvanzOSC, Guadaltech
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), AvanzOSC, Guadaltech
COMMITTERS
COMMITTERSPedro M. Baeza, GitHub, OCA Transbot, oca-travis, Weblate, Luis M. Ontalba
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-spain
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:15:18
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/account-financial-reporting:
    - account_tax_balance
OCA/l10n-spain:
    - l10n_es
    - l10n_es_aeat
OCA/server-tools:
    - date_range
odoo/odoo:
    - account
    - base_setup
    - base
    - web_kanban
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - report
    - analytic
    - web_tip
    - web_planner
    - base_vat
    - base_iban
    - l10n_es
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES unidecode
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
view_l10n_es_aeat_mod303_report_form l10n_es.aeat.mod303.report.form l10n.es.aeat.mod303.report field Inherits l10n_es_aeat.view_l10n_es_aeat_report_form
view_l10n_es_aeat_mod303_report_tree l10n_es.aeat.mod303.report.tree l10n.es.aeat.mod303.report tree Inherits l10n_es_aeat.view_l10n_es_aeat_report_tree
Models touched (1)

New fields (17)
  • allow_posting Boolean
    default=True string='Allow posting'
  • atribuible_estado Float
    compute='_compute_atribuible_estado' readonly=True store=True string='[66] Attributable to the Administration'
  • bank_account_id Many2one → res.partner.bank
    comodel_name='res.partner.bank' oldname='bank_account' states={'done': [('readonly', True)]} string='Bank account'
  • casilla_46 Float
    compute='_compute_casilla_46' help='(VAT payable - VAT receivable)' readonly=True store=True string='[46] General scheme result'
  • casilla_69 Float
    compute='_compute_casilla_69' help='[66] Attributable to the Administration - [67] Fees to compensate + [68] Annual regularization' readonly=True store=True string='[69] Result'
  • casilla_77 Float
    help='Contributions of import tax included in the documents evidencing the payment made by the Administration and received in the settlement period. You can only complete this box when the requirements of Article 74.1 of the Tax Regulations Value Added are met.' string='[77] VAT deferred (Settle by customs)'
  • company_partner_id Many2one → res.partner
    comodel_name='res.partner' relation='company_id.partner_id' store=True string='Partner'
  • counterpart_account_id Many2one → account.account
    comodel_name='account.account' default=_default_counterpart_303 oldname='counterpart_account' string='Counterpart account'
  • cuota_compensar Float
    default=0 help='Fee to compensate for prior periods, in which his statement was to return and compensation back option was chosen' states={'done': [('readonly', True)]} string='[67] Fees to compensate'
  • devolucion_mensual Boolean
    help='Registered in the Register of Monthly Return' states={'done': [('readonly', True)]} string='Montly Return'
  • porcentaje_atribuible_estado Float
    default=100 help='Taxpayers who pay jointly to the Central Government and the Provincial Councils of the Basque Country or the Autonomous Community of Navarra, will enter in this box the percentage of volume operations in the common territory. Other taxpayers will enter in this box 100%' states={'done': [('readonly', True)]} string='[65] % attributable to State'
  • previous_result Float
    help='Result of the previous or prior statements of the same concept, exercise and period' states={'done': [('readonly', True)]} string='[70] To be deducted'
  • regularizacion_anual Float
    help='In the last auto settlement of the year, shall be recorded (the fourth period or 12th month), with the appropriate sign, the result of the annual adjustment as have the laws by the Economic Agreement approved between the State and the Autonomous Community the Basque Country and the Economic Agreement between the State and Navarre.' states={'done': [('readonly', True)]} string='[68] Annual regularization'
  • result_type Selection
    compute='_compute_result_type' selection=[('I', 'To enter'), ('D', 'To return'), ('C', 'To compensate'), ('N', 'No activity/Zero result')] string='Result type'
  • resultado_liquidacion Float
    compute='_compute_resultado_liquidacion' readonly=True store=True string='[71] Settlement result'
  • total_deducir Float
    compute='_compute_total_deducir' compute_sudo=True readonly=True store=True string='[45] VAT receivable'
  • total_devengado Float
    compute='_compute_total_devengado' compute_sudo=True readonly=True store=True string='[27] VAT payable'
Public methods (3)
  • button_confirm(self)
    @api.multi
    Check records
  • onchange_period_type(self)
    @api.onchange('year', 'period_type')
  • onchange_type(self)
    @api.onchange('type')
REPOSITORY
REPOSITORYOCA/l10n-spain
GIT
GIThttps://github.com/OCA/l10n-spain.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-spain/tree/8.0/l10n_es_aeat_mod303
VERSION
VERSION 3.4.0
CATEGORY
CATEGORYAccounting & Finance
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), AvanzOSC, Comunitea, Guadaltech, Antiun Ingeniería S.L., Serv. Tecnol. Avanzados - Pedro M. Baeza, Otherway Creatives S.L.
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), AvanzOSC, Comunitea, Guadaltech, Antiun Ingeniería S.L., Serv. Tecnol. Avanzados - Pedro M. Baeza, Otherway Creatives S.L.
COMMITTERS
COMMITTERSPedro M. Baeza, GitHub, Stéphane Bidoul (ACSONE), OCA Transbot, Hugo Santos, oca-travis, Weblate, Omar, OCA-git-bot, Pedro Rodríguez Gil, Rodrigo Bonilla, juanalfonso, Pablo Fuentes, VRodrigo, Sisco, Jordi Tolsà, Luis J. Salvatierra
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-spain
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:11:19
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/l10n-spain:
    - l10n_es
    - l10n_es_aeat
odoo/odoo:
    - account
    - base_setup
    - base
    - web_kanban
    - web
    - product
    - decimal_precision
    - mail
    - report
    - analytic
    - board
    - edi
    - email_template
    - base_vat
    - base_iban
    - l10n_es
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES unidecode
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
view_l10n_es_aeat_mod303_report_activity_code_data_tree l10n.es.aeat.mod303.report.activity.code tree New
view_l10n_es_aeat_mod303_report_form l10n_es.aeat.mod303.report.form l10n.es.aeat.mod303.report field Inherits l10n_es_aeat.view_l10n_es_aeat_report_form
view_l10n_es_aeat_mod303_report_tree l10n_es.aeat.mod303.report.tree l10n.es.aeat.mod303.report tree Inherits l10n_es_aeat.view_l10n_es_aeat_report_tree
Models touched (2)

New fields (41)
  • allow_posting Boolean
    default=True
  • atribuible_estado Float
    compute='_compute_atribuible_estado' readonly=True store=True string='[66] Attributable to the Administration'
  • bank_account Many2one → res.partner.bank
    comodel_name='res.partner.bank' states={'done': [('readonly', True)]} string='Bank account'
  • casilla_46 Float
    compute='_compute_casilla_46' help='(IVA devengado - IVA deducible)' readonly=True store=True string='[46] Resultado régimen general'
  • casilla_69 Float
    compute='_compute_casilla_69' help='Atribuible a la Administración [66] - Cuotas a compensar [67] + Regularización anual [68]' readonly=True store=True string='[69] Resultado'
  • casilla_77 Float
    help='Se hará constar el importe de las cuotas del Impuesto a la importación incluidas en los documentos en los que conste la liquidación practicada por la Administración recibidos en el periodo de liquidación. Solamente podrá cumplimentarse esta casilla cuando se cumplan los requisitos establecidos en el artículo 74.1 del Reglamento del Impuesto sobre el Valor Añadido. ' string='[77] Iva Diferido (Liquidado por aduana)'
  • casilla_88 Float
    compute='_compute_casilla_88' help='Información adicional - Operaciones realizadas en el ejercicio - Total volumen de operaciones ([80]+[81]+[93]+[94]+[83]+[84]+[125]+[126]+[127]+[128]+[86]+[95]+[96]+[97]+[98]-[79]-[99])' store=True string='[88] Total volumen operaciones'
  • company_partner_id Many2one → res.partner
    relation='company_id.partner_id' store=True string='Partner' args: 'res.partner'
  • compensate Boolean
    help='Si se marca, indicará que el importe a devolver se compensará en posteriores declaraciones' states={'done': [('readonly', True)]} string='Compensate'
  • counterpart_account Many2one
    default=_default_counterpart_303
  • cuota_compensar Float
    default=0 help='Fee to compensate for prior periods, in which his statement was to return and compensation back option was chosen' states={'done': [('readonly', True)]} string='[78] Applied fees to compensate (old [67])'
  • currency_id Many2one → res.currency
    comodel_name='res.currency' readonly=True related='company_id.currency_id' store=True string='Currency'
  • devolucion_mensual Boolean
    help='Inscrito en el Registro de Devolución Mensual' states={'done': [('readonly', True)]} string='Devolución mensual'
  • exonerated_390 Selection
    default='2' help='Exonerado de la Declaración-resumen anual del IVA, modelo 390: Volumen de operaciones (art. 121 LIVA)' required=True selection=[('1', 'Exonerado'), ('2', 'No exonerado')] states=NON_EDITABLE_ON_DONE string='Exonerado mod. 390'
  • export_config Many2one
    default=_get_export_conf
  • has_347 Boolean
    default=True help='Marque la casilla si el sujeto pasivo ha efectuado con alguna persona o entidad operaciones por las que tenga obligación de presentar la declaración anual de operaciones con terceras personas (modelo 347).' states=NON_EDITABLE_ON_DONE string='¿Obligación del 347?'
  • has_operation_volume Boolean
    default=True help='¿Existe volumen de operaciones (art. 121 LIVA)?' states=NON_EDITABLE_ON_DONE string='¿Volumen de operaciones?'
  • is_voluntary_sii Boolean
    help='¿Ha llevado voluntariamente los Libros registro del IVA a través de la Sede electrónica de la AEAT durante el ejercicio?' states=NON_EDITABLE_ON_DONE string='¿SII voluntario?'
  • main_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain="[('period_type', '=', period_type)]" states=NON_EDITABLE_ON_DONE string='Código actividad principal'
  • main_activity_iae Char
    size=4 states=NON_EDITABLE_ON_DONE string='Epígrafe I.A.E. actividad principal'
  • marca_sepa Selection
    compute='_compute_marca_sepa' selection=[('0', '0 Vacía'), ('1', '1 Cuenta España'), ('2', '2 Unión Europea SEPA'), ('3', '3 Resto Países')]
  • number Char
    default='303'
  • other_fifth_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain="[('period_type', '=', period_type)]" states=NON_EDITABLE_ON_DONE string='Código 5ª actividad'
  • other_fifth_activity_iae Char
    size=4 states=NON_EDITABLE_ON_DONE string='Epígrafe I.A.E. 5ª actividad'
  • other_first_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain="[('period_type', '=', period_type)]" states=NON_EDITABLE_ON_DONE string='Código 1ª actividad'
  • other_first_activity_iae Char
    size=4 states=NON_EDITABLE_ON_DONE string='Epígrafe I.A.E. 1ª actividad'
  • other_fourth_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain="[('period_type', '=', period_type)]" states=NON_EDITABLE_ON_DONE string='Código 4ª actividad'
  • other_fourth_activity_iae Char
    size=4 states=NON_EDITABLE_ON_DONE string='Epígrafe I.A.E. 4ª actividad'
  • other_second_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain="[('period_type', '=', period_type)]" states=NON_EDITABLE_ON_DONE string='Código 2ª actividad'
  • other_second_activity_iae Char
    size=4 states=NON_EDITABLE_ON_DONE string='Epígrafe I.A.E. 2ª actividad'
  • other_third_activity_code Many2one → l10n.es.aeat.mod303.report.activity.code
    comodel_name='l10n.es.aeat.mod303.report.activity.code' domain="[('period_type', '=', period_type)]" states=NON_EDITABLE_ON_DONE string='Código 3ª actividad'
  • other_third_activity_iae Char
    size=4 states=NON_EDITABLE_ON_DONE string='Epígrafe I.A.E. 3ª actividad'
  • porcentaje_atribuible_estado Float
    default=100 help='Los sujetos pasivos que tributen conjuntamente a la Administración del Estado y a las Diputaciones Forales del País Vasco o a la Comunidad Foral de Navarra, consignarán en esta casilla el porcentaje del volumen de operaciones en territorio común. Los demás sujetos pasivos consignarán en esta casilla el 100%' states={'done': [('readonly', True)]} string='[65] % atribuible al Estado'
  • potential_cuota_compensar Float
    default=0 states={'done': [('readonly', True)]} string='[110] Pending fees to compensate'
  • previous_result Float
    help='Resultado de la anterior o anteriores declaraciones del mismo concepto, ejercicio y periodo' states={'done': [('readonly', True)]} string='[70] A deducir'
  • regularizacion_anual Float
    help='En la última autoliquidación del año (la del período 4T o mes 12) se hará constar, con el signo que corresponda, el resultado de la regularización anual conforme disponen las Leyes por las que se aprueban el Concierto Económico entre el Estado y la Comunidad Autónoma del País Vasco y el Convenio Económico entre el Estado y la Comunidad Foral de Navarra.' states={'done': [('readonly', True)]} string='[68] Regularización anual'
  • remaining_cuota_compensar Float
    compute='_compute_remaining_cuota_compensar' string='[87] Remaining fees to compensate'
  • result_type Selection
    compute='_compute_result_type' selection=[('I', 'A ingresar'), ('D', 'A devolver'), ('C', 'A compensar'), ('N', 'Sin actividad/Resultado cero')]
  • resultado_liquidacion Float
    compute='_compute_resultado_liquidacion' readonly=True store=True string='[71] Liquidación'
  • total_deducir Float
    compute='_compute_total_deducir' readonly=True store=True string='[45] IVA a deducir'
  • total_devengado Float
    compute='_compute_total_devengado' readonly=True store=True string='[27] IVA devengado'
Public methods (4)
  • button_confirm(self)
    @api.multi
    Check records
  • onchange_period_type(self)
    @api.onchange('period_type', 'fiscalyear_id')
  • onchange_result_type(self)
    @api.onchange('result_type')
  • onchange_type(self)
    @api.onchange('type')

New fields (3)
  • code Integer
    required=True string='Activity code'
  • name Char
    required=True string='Activity name' translate=True
  • period_type Selection
    required=True selection=[('4T', '4T'), ('12', 'December')]
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/l10n-spain
GIT
GIThttps://github.com/OCA/l10n-spain.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-spain/tree/7.0/l10n_es_aeat_mod303
VERSION
VERSION 1.1
CATEGORY
CATEGORYLocalisation/Accounting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), GuadalTech
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), GuadalTech
COMMITTERS
COMMITTERSAlexandre Fayolle, Pedro M. Baeza, Stéphane Bidoul (ACSONE), Ignacio Ibeas - Acysos S.L., OCA Transbot, Launchpad Translations on behalf of openerp-spain-team
WEBSITE
WEBSITEhttp://www.guadaltech.es
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:07:13
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/l10n-spain:
    - l10n_es_aeat
odoo/odoo:
    - account
    - base_setup
    - base
    - web_kanban
    - web
    - product
    - process
    - decimal_precision
    - mail
    - analytic
    - board
    - edi
    - email_template
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES unidecode
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Módulo para la presentación del modelo 303 (IVA - Autodeclaración) de la
Agencia Española de Administración Tributaria.

Instrucciones del modelo: http://goo.gl/pgVbXH

Incluye la exportación al formato BOE para su uso telemático.

**AVISO**: Módulo no actualizado para esta versión, por lo que no funciona para
presentaciones a partir del 1 de enero de 2014. La versión válida es la que hay
para Odoo 8.
        

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
view_l10n_es_aeat_mod303_report_form l10n_es.aeat.mod303.report.form l10n.es.aeat.mod303.report button Inherits l10n_es_aeat.view_l10n_es_aeat_report_form
view_l10n_es_aeat_mod303_report_tree l10n_es.aeat.mod303.report.tree l10n.es.aeat.mod303.report tree Inherits l10n_es_aeat.view_l10n_es_aeat_report_tree
Models touched (2)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (2)
  • button_confirm(self, cr, uid, ids, context=None)
    Check its records
  • calculate(self, cr, uid, ids, context=None)
REPOSITORY
REPOSITORYOCA/l10n-spain
GIT
GIThttps://github.com/OCA/l10n-spain.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-spain/tree/6.1/l10n_es_aeat_mod303
VERSION
VERSION 1.0
CATEGORY
CATEGORYLocalisation/Accounting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), GuadalTech
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), GuadalTech
COMMITTERS
COMMITTERSAlexandre Fayolle, Pedro M. Baeza, Alberto Martín, Ignacio Ibeas - Acysos S.L., alberto-martin
WEBSITE
WEBSITEhttp://www.guadaltech.es
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:04:05
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/l10n-spain:
    - l10n_es_aeat
odoo/odoo:
    - account
    - base_setup
    - base
    - product
    - process
    - decimal_precision
    - analytic
    - board
    - edi
    - email_template
    - mail
    - base_tools
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Módulo para la presentación del modelo 303. Exportación a formato AEAT.

        

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
view_l10n_es_aeat_mod303_report_form AEAT Model 303 (form) l10n.es.aeat.mod303.report form New
view_l10n_es_aeat_mod303_report_search AEAT Model 303 (search) l10n.es.aeat.mod303.report search New
view_l10n_es_aeat_mod303_report_tree AEAT Model 303 (tree) l10n.es.aeat.mod303.report tree New
Models touched (0)

No models found for this module.