Repository
OCA/l10n-spain · module folder · Try on Runboat
Module version
1.0.2
Category
Accounting
Folder size
2.54 MB
License
AGPL-3
Application
No
Auto-installable
No
Website
https://github.com/OCA/l10n-spain
Last tracking update
2026-08-07 09:06:22
Authors
Odoo Community Association (OCA), AvanzOSC, Tecnativa, Guadaltech, ForgeFlow
Maintainers
Odoo Community Association (OCA), AvanzOSC, Tecnativa, Guadaltech, ForgeFlow
Committers
Weblate, OCA-git-bot, oca-ci, sbiosca-s73, Oscarbol09
Odoo dependencies
OCA/account-financial-reporting:
OCA/l10n-spain:
OCA/server-ux:
odoo/odoo:
- web
- bus
- uom
Python dependencies
unidecode
System dependencies
None
Required by
l10n_es_aeat_mod390
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 form 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
HTTP endpoints (0)

No HTTP endpoints found for this module.

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.

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…