| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/l10n-spain |
| GIT | |
| GIT | https://github.com/OCA/l10n-spain.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/l10n-spain/tree/18.0/l10n_es_aeat_mod369 |
| VERSION | |
| VERSION | 1.0.1 |
| CATEGORY | |
| CATEGORY | Accounting |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Studio73 |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Studio73 |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, Weblate, OCA-git-bot, sergio, oca-ci |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/l10n-spain |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:30:05 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/account-financial-reporting: - account_tax_balance OCA/account-fiscal-rule: - l10n_eu_oss_oca - account_fiscal_position_partner_type OCA/l10n-spain: - l10n_es_aeat OCA/server-ux: - date_range odoo/odoo: - l10n_es - account - base_setup - base - web - onboarding - product - bus - web_tour - html_editor - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - base_iban - base_vat |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
unidecode |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | Módulo para la presentación del modelo 369 (IVA. Regímenes especiales aplicables a las prestaciones de servicios y ventas a distancia de bienes.) de la Agencia Española de Administración Tributaria. Instrucciones del modelo: <https://sede.agenciatributaria.gob.es/static_files/Sede/Consultas_Inf/Presentacion_declaraciones/IVA_mensuales_trimestrales/Modelo_369/Descripcion_PresentacionFichero369_v1.pdf> Ayuda técnica, incluye fichero Excel de config: <https://sede.agenciatributaria.gob.es/Sede/ayuda/consultas-informaticas/presentacion-declaraciones-ayuda-tecnica/modelo-369.html> 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. - Por ahora, solo contempla el caso de una declaración de Unión que usa la pestaña de 4. Entregas de bienes expedidos o transportados desde EMID España. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
view_l10n_es_aeat_mod369_line_grouped_page7_tree |
l10n_es.aeat.mod369.line.grouped.page7.list | l10n.es.aeat.mod369.line.grouped | list | New |
view_l10n_es_aeat_mod369_line_grouped_tree |
l10n_es.aeat.mod369.line.grouped.list | l10n.es.aeat.mod369.line.grouped | list | New |
view_l10n_es_aeat_mod369_report_form |
l10n_es.aeat.mod369.report.form | l10n.es.aeat.mod369.report | group | Inherits l10n_es_aeat.view_l10n_es_aeat_report_form |
view_l10n_es_aeat_mod369_report_tree |
l10n_es.aeat.mod369.report.list | l10n.es.aeat.mod369.report | list | Inherits l10n_es_aeat.view_l10n_es_aeat_report_tree |
view_tax_form |
account.tax.form | account.tax | field | Inherits account.view_tax_form |
service_type
Selection
default='goods'
selection=[('goods', 'Goods'), ('services', 'Services')]
string='Service type'
tax_reduction_type
Selection
selection=[('S', 'Standard'), ('R', 'Reduced')]
string='Tax type'
No public methods.
No new fields.
Public methods (1)get_taxes_for_company(self, company)
amount
Float
related='tax_line_id.amount'
string='Amount'
country_id
Many2one → res.country
comodel_name='res.country'
string='Country'
field_number
Integer
related='tax_line_id.field_number'
string='Field number'
group_ids
Many2many → l10n.es.aeat.mod369.line.grouped
comodel_name='l10n.es.aeat.mod369.line.grouped'
string='Group'
map_line_id
Many2one → l10n.es.aeat.map.tax.line
comodel_name='l10n.es.aeat.map.tax.line'
related='tax_line_id.map_line_id'
string='Map line'
oss_country_id
Many2one → res.country
comodel_name='res.country'
string='OSS Country'
oss_name
Char
string='OSS Name'
oss_sequence
Integer
string='OSS Sequence'
oss_tax_id
Many2one → account.tax
comodel_name='account.tax'
string='OSS Tax'
service_type
Selection
related='oss_tax_id.service_type'
string='Service type'
tax_line_id
Many2one → l10n.es.aeat.tax.line
comodel_name='l10n.es.aeat.tax.line'
ondelete='cascade'
string='Report tax line'
No public methods.
amount
Float
compute='_compute_totals'
string='Amount total'
amount_str
Char
compute='_compute_amount_str'
base
Float
compute='_compute_totals'
string='Base total'
base_str
Char
compute='_compute_base_str'
country_code
Char
compute='_compute_country_code'
store=True
string='Country code'
country_id
Many2one → res.country
comodel_name='res.country'
string='Country'
is_page_8_line
Boolean
help='Used to filter for grouped lines for page 8'
string='Is part of page 8'
is_refund
Boolean
mod369_line_ids
Many2many → l10n.es.aeat.mod369.line
comodel_name='l10n.es.aeat.mod369.line'
string='Mod369 lines'
neg_corrections
Float
string='Negative corrections'
oss_country_id
Many2one → res.country
comodel_name='res.country'
string='OSS Country'
page_3_4_total
Float
compute='_compute_totals'
string='Spanish services and goods'
page_3_total
Float
compute='_compute_totals'
string='Spanish services'
page_4_total
Float
compute='_compute_totals'
string='Spanish goods'
page_5_6_total
Float
compute='_compute_totals'
string='Non-Spanish services and goods'
page_5_total
Float
compute='_compute_totals'
string='Non-Spanish services'
page_6_total
Float
compute='_compute_totals'
string='Non-Spanish goods'
pos_corrections
Float
string='Positive corrections'
refund_fiscal_year
Integer
refund_line_ids
Many2many → account.move.line
comodel_name='account.move.line'
relation='refund_line_id_rel'
string='Refund lines'
refund_period
Char
report_id
Many2one → l10n.es.aeat.mod369.report
comodel_name='l10n.es.aeat.mod369.report'
string='Mod369 report'
result_total
Float
string='Total result'
service_type
Selection
related='tax_id.service_type'
string='Service type'
tax_correction
Float
tax_correction_str
Char
compute='_compute_tax_correction_str'
tax_id
Many2one → account.tax
comodel_name='account.tax'
string='Tax'
total_deposit
Float
string='Total to deposit ES'
total_return
Float
string='Total to return EM'
vat_type
Float
related='tax_id.amount'
string='VAT Type'
vat_type_str
Char
compute='_compute_vat_type_str'
get_calculated_move_lines(self)
get_calculated_refund_move_lines(self)
declaration_inactive
Boolean
readonly=True
string='Declaration without activity'
declaration_type
Selection
default='union'
readonly=True
selection=[('union', 'Union'), ('export', 'Export'), ('import', 'Import')]
string='Declaration type'
goods_line_ids
One2many → l10n.es.aeat.mod369.line.grouped
comodel_name='l10n.es.aeat.mod369.line.grouped'
copy=False
domain=[('service_type', '=', 'goods'), ('is_refund', '=', False)]
inverse_name='report_id'
readonly=True
string='Goods 369 lines'
nrc_reference
Char
copy=False
readonly=True
string='NRC Reference'
payment_type
Selection
default='I'
readonly=True
selection=[('O', '[O] Reconocimiento de deuda con los Estados Miembros de Consumo con imposibilidad de pago'), ('S', '[S] Ingreso parcial y Reconocimiento de deuda con los Estados Miembros de Consumo con imposibilidad de pago'), ('I', '[I] A ingresar'), ('N', '[N] Negativa'), ('T', '[T] Ingreso por transferencia desde el extranjero')]
string='Payment type'
refund_line_ids
One2many → l10n.es.aeat.mod369.line.grouped
comodel_name='l10n.es.aeat.mod369.line.grouped'
copy=False
domain=[('is_refund', '=', True)]
inverse_name='report_id'
readonly=True
string='Refunds from other periods 369 lines'
services_line_ids
One2many → l10n.es.aeat.mod369.line.grouped
comodel_name='l10n.es.aeat.mod369.line.grouped'
copy=False
domain=[('service_type', '=', 'services'), ('is_refund', '=', False)]
inverse_name='report_id'
readonly=True
string='Services 369 lines'
spain_goods_line_ids
One2many → l10n.es.aeat.mod369.line.grouped
comodel_name='l10n.es.aeat.mod369.line.grouped'
copy=False
domain=[('service_type', '=', 'goods'), ('country_id.code', '=', 'ES'), ('is_page_8_line', '=', False), ('is_refund', '=', False)]
inverse_name='report_id'
readonly=True
string='Spanish goods 369 lines'
spain_services_line_ids
One2many → l10n.es.aeat.mod369.line.grouped
comodel_name='l10n.es.aeat.mod369.line.grouped'
copy=False
domain=[('service_type', '=', 'services'), ('country_id.code', '=', 'ES'), ('is_page_8_line', '=', False), ('is_refund', '=', False)]
inverse_name='report_id'
readonly=True
string='Spanish services 369 lines'
total_amount
Float
compute='_compute_total_amount'
string='Total amount'
total_line_ids
One2many → l10n.es.aeat.mod369.line.grouped
comodel_name='l10n.es.aeat.mod369.line.grouped'
copy=False
domain=[('is_page_8_line', '=', True)]
inverse_name='report_id'
readonly=True
string='Total 369 lines'
calculate(self)
create_regularization_move(self)
mod369_line_id
Many2one → l10n.es.aeat.mod369.line
comodel_name='l10n.es.aeat.mod369.line'
string='369 extra info'
create(self, vals_list)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/l10n-spain |
| GIT | |
| GIT | https://github.com/OCA/l10n-spain.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/l10n-spain/tree/17.0/l10n_es_aeat_mod369 |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | Accounting |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Studio73 |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Studio73 |
| COMMITTERS | |
| COMMITTERS | OCA-git-bot, oca-ci, eugenio |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/l10n-spain |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:19:59 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/account-financial-reporting: - account_tax_balance OCA/account-fiscal-rule: - l10n_eu_oss_oca - account_fiscal_position_partner_type OCA/l10n-spain: - l10n_es_aeat OCA/server-ux: - date_range odoo/odoo: - l10n_es - account - base_setup - base - web - onboarding - product - bus - web_tour - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - base_iban - base_vat |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
unidecode |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | Módulo para la presentación del modelo 369 (IVA. Regímenes especiales aplicables a las prestaciones de servicios y ventas a distancia de bienes.) de la Agencia Española de Administración Tributaria. Instrucciones del modelo: <https://sede.agenciatributaria.gob.es/static_files/Sede/Consultas_Inf/Presentacion_declaraciones/IVA_mensuales_trimestrales/Modelo_369/Descripcion_PresentacionFichero369_v1.pdf> Ayuda técnica, incluye fichero Excel de config: <https://sede.agenciatributaria.gob.es/Sede/ayuda/consultas-informaticas/presentacion-declaraciones-ayuda-tecnica/modelo-369.html> 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. - Por ahora, solo contempla el caso de una declaración de Unión que usa la pestaña de 4. Entregas de bienes expedidos o transportados desde EMID España. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
view_l10n_es_aeat_mod369_line_grouped_page7_tree |
l10n_es.aeat.mod369.line.grouped.page7.tree | l10n.es.aeat.mod369.line.grouped | tree | New |
view_l10n_es_aeat_mod369_line_grouped_tree |
l10n_es.aeat.mod369.line.grouped.tree | l10n.es.aeat.mod369.line.grouped | tree | New |
view_l10n_es_aeat_mod369_report_form |
l10n_es.aeat.mod369.report.form | l10n.es.aeat.mod369.report | group | Inherits l10n_es_aeat.view_l10n_es_aeat_report_form |
view_l10n_es_aeat_mod369_report_tree |
l10n_es.aeat.mod369.report.tree | l10n.es.aeat.mod369.report | tree | Inherits l10n_es_aeat.view_l10n_es_aeat_report_tree |
view_tax_form |
account.tax.form | account.tax | field | Inherits account.view_tax_form |
service_type
Selection
default='goods'
selection=[('goods', 'Goods'), ('services', 'Services')]
string='Service type'
tax_reduction_type
Selection
selection=[('S', 'Standard'), ('R', 'Reduced')]
string='Tax type'
No public methods.
No new fields.
Public methods (1)get_taxes_for_company(self, company)
amount
Float
related='tax_line_id.amount'
string='Amount'
country_id
Many2one → res.country
comodel_name='res.country'
string='Country'
field_number
Integer
related='tax_line_id.field_number'
string='Field number'
group_ids
Many2many → l10n.es.aeat.mod369.line.grouped
comodel_name='l10n.es.aeat.mod369.line.grouped'
string='Group'
map_line_id
Many2one → l10n.es.aeat.map.tax.line
comodel_name='l10n.es.aeat.map.tax.line'
related='tax_line_id.map_line_id'
string='Map line'
oss_country_id
Many2one → res.country
comodel_name='res.country'
string='OSS Country'
oss_name
Char
string='OSS Name'
oss_sequence
Integer
string='OSS Sequence'
oss_tax_id
Many2one → account.tax
comodel_name='account.tax'
string='OSS Tax'
service_type
Selection
related='oss_tax_id.service_type'
string='Service type'
tax_line_id
Many2one → l10n.es.aeat.tax.line
comodel_name='l10n.es.aeat.tax.line'
ondelete='cascade'
string='Report tax line'
No public methods.
amount
Float
compute='_compute_totals'
string='Amount total'
amount_str
Char
compute='_compute_amount_str'
base
Float
compute='_compute_totals'
string='Base total'
base_str
Char
compute='_compute_base_str'
country_code
Char
compute='_compute_country_code'
store=True
string='Country code'
country_id
Many2one → res.country
comodel_name='res.country'
string='Country'
is_page_8_line
Boolean
help='Used to filter for grouped lines for page 8'
string='Is part of page 8'
is_refund
Boolean
mod369_line_ids
Many2many → l10n.es.aeat.mod369.line
comodel_name='l10n.es.aeat.mod369.line'
string='Mod369 lines'
neg_corrections
Float
string='Negative corrections'
oss_country_id
Many2one → res.country
comodel_name='res.country'
string='OSS Country'
page_3_4_total
Float
compute='_compute_totals'
string='Spanish services and goods'
page_3_total
Float
compute='_compute_totals'
string='Spanish services'
page_4_total
Float
compute='_compute_totals'
string='Spanish goods'
page_5_6_total
Float
compute='_compute_totals'
string='Non-Spanish services and goods'
page_5_total
Float
compute='_compute_totals'
string='Non-Spanish services'
page_6_total
Float
compute='_compute_totals'
string='Non-Spanish goods'
pos_corrections
Float
string='Positive corrections'
refund_fiscal_year
Integer
refund_line_ids
Many2many → account.move.line
comodel_name='account.move.line'
relation='refund_line_id_rel'
string='Refund lines'
refund_period
Char
report_id
Many2one → l10n.es.aeat.mod369.report
comodel_name='l10n.es.aeat.mod369.report'
string='Mod369 report'
result_total
Float
string='Total result'
service_type
Selection
related='tax_id.service_type'
string='Service type'
tax_correction
Float
tax_correction_str
Char
compute='_compute_tax_correction_str'
tax_id
Many2one → account.tax
comodel_name='account.tax'
string='Tax'
total_deposit
Float
string='Total to deposit ES'
total_return
Float
string='Total to return EM'
vat_type
Float
related='tax_id.amount'
string='VAT Type'
vat_type_str
Char
compute='_compute_vat_type_str'
get_calculated_move_lines(self)
get_calculated_refund_move_lines(self)
declaration_inactive
Boolean
readonly=True
string='Declaration without activity'
declaration_type
Selection
default='union'
readonly=True
selection=[('union', 'Union'), ('export', 'Export'), ('import', 'Import')]
string='Declaration type'
goods_line_ids
One2many → l10n.es.aeat.mod369.line.grouped
comodel_name='l10n.es.aeat.mod369.line.grouped'
copy=False
domain=[('service_type', '=', 'goods'), ('is_refund', '=', False)]
inverse_name='report_id'
readonly=True
string='Goods 369 lines'
nrc_reference
Char
copy=False
readonly=True
string='NRC Reference'
payment_type
Selection
default='I'
readonly=True
selection=[('O', '[O] Reconocimiento de deuda con los Estados Miembros de Consumo con imposibilidad de pago'), ('S', '[S] Ingreso parcial y Reconocimiento de deuda con los Estados Miembros de Consumo con imposibilidad de pago'), ('I', '[I] A ingresar'), ('N', '[N] Negativa'), ('T', '[T] Ingreso por transferencia desde el extranjero')]
string='Payment type'
refund_line_ids
One2many → l10n.es.aeat.mod369.line.grouped
comodel_name='l10n.es.aeat.mod369.line.grouped'
copy=False
domain=[('is_refund', '=', True)]
inverse_name='report_id'
readonly=True
string='Refunds from other periods 369 lines'
services_line_ids
One2many → l10n.es.aeat.mod369.line.grouped
comodel_name='l10n.es.aeat.mod369.line.grouped'
copy=False
domain=[('service_type', '=', 'services'), ('is_refund', '=', False)]
inverse_name='report_id'
readonly=True
string='Services 369 lines'
spain_goods_line_ids
One2many → l10n.es.aeat.mod369.line.grouped
comodel_name='l10n.es.aeat.mod369.line.grouped'
copy=False
domain=[('service_type', '=', 'goods'), ('country_id.code', '=', 'ES'), ('is_page_8_line', '=', False), ('is_refund', '=', False)]
inverse_name='report_id'
readonly=True
string='Spanish goods 369 lines'
spain_services_line_ids
One2many → l10n.es.aeat.mod369.line.grouped
comodel_name='l10n.es.aeat.mod369.line.grouped'
copy=False
domain=[('service_type', '=', 'services'), ('country_id.code', '=', 'ES'), ('is_page_8_line', '=', False), ('is_refund', '=', False)]
inverse_name='report_id'
readonly=True
string='Spanish services 369 lines'
total_amount
Float
compute='_compute_total_amount'
string='Total amount'
total_line_ids
One2many → l10n.es.aeat.mod369.line.grouped
comodel_name='l10n.es.aeat.mod369.line.grouped'
copy=False
domain=[('is_page_8_line', '=', True)]
inverse_name='report_id'
readonly=True
string='Total 369 lines'
calculate(self)
create_regularization_move(self)
mod369_line_id
Many2one → l10n.es.aeat.mod369.line
comodel_name='l10n.es.aeat.mod369.line'
string='369 extra info'
create(self, vals_list)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/l10n-spain |
| GIT | |
| GIT | https://github.com/OCA/l10n-spain.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/l10n-spain/tree/16.0/l10n_es_aeat_mod369 |
| VERSION | |
| VERSION | 1.1.2 |
| CATEGORY | |
| CATEGORY | Accounting |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Studio73 |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Studio73 |
| COMMITTERS | |
| COMMITTERS | Weblate, OCA-git-bot, oca-ci, Aritz Olea, Sergio Bustamante |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/l10n-spain |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:53:40 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/account-financial-reporting: - account_tax_balance OCA/account-fiscal-rule: - l10n_eu_oss_oca - account_fiscal_position_partner_type OCA/l10n-spain: - l10n_es_aeat OCA/server-ux: - date_range odoo/odoo: - l10n_es - account - base_setup - base - web - product - bus - web_tour - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - base_iban - base_vat |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
unidecode |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
view_l10n_es_aeat_mod369_line_grouped_page7_tree |
l10n_es.aeat.mod369.line.grouped.page7.tree | l10n.es.aeat.mod369.line.grouped | tree | New |
view_l10n_es_aeat_mod369_line_grouped_tree |
l10n_es.aeat.mod369.line.grouped.tree | l10n.es.aeat.mod369.line.grouped | tree | New |
view_l10n_es_aeat_mod369_report_form |
l10n_es.aeat.mod369.report.form | l10n.es.aeat.mod369.report | group | Inherits l10n_es_aeat.view_l10n_es_aeat_report_form |
view_l10n_es_aeat_mod369_report_tree |
l10n_es.aeat.mod369.report.tree | l10n.es.aeat.mod369.report | tree | Inherits l10n_es_aeat.view_l10n_es_aeat_report_tree |
view_tax_form |
account.tax.form | account.tax | field | Inherits account.view_tax_form |
service_type
Selection
default='goods'
selection=[('goods', 'Goods'), ('services', 'Services')]
string='Service type'
tax_reduction_type
Selection
selection=[('S', 'Standard'), ('R', 'Reduced')]
string='Tax type'
No public methods.
amount
Float
related='tax_line_id.amount'
string='Amount'
country_id
Many2one → res.country
comodel_name='res.country'
string='Country'
field_number
Integer
related='tax_line_id.field_number'
string='Field number'
group_ids
Many2many → l10n.es.aeat.mod369.line.grouped
comodel_name='l10n.es.aeat.mod369.line.grouped'
string='Group'
map_line_id
Many2one → l10n.es.aeat.map.tax.line
comodel_name='l10n.es.aeat.map.tax.line'
related='tax_line_id.map_line_id'
string='Map line'
oss_country_id
Many2one → res.country
comodel_name='res.country'
string='OSS Country'
oss_name
Char
string='OSS Name'
oss_sequence
Integer
string='OSS Sequence'
oss_tax_id
Many2one → account.tax
comodel_name='account.tax'
string='OSS Tax'
service_type
Selection
related='oss_tax_id.service_type'
string='Service type'
tax_line_id
Many2one → l10n.es.aeat.tax.line
comodel_name='l10n.es.aeat.tax.line'
ondelete='cascade'
string='Report tax line'
No public methods.
amount
Float
compute='_compute_totals'
string='Amount total'
amount_str
Char
compute='_compute_amount_str'
base
Float
compute='_compute_totals'
string='Base total'
base_str
Char
compute='_compute_base_str'
country_code
Char
compute='_compute_country_code'
store=True
string='Country code'
country_id
Many2one → res.country
comodel_name='res.country'
string='Country'
is_page_8_line
Boolean
help='Used to filter for grouped lines for page 8'
string='Is part of page 8'
is_refund
Boolean
mod369_line_ids
Many2many → l10n.es.aeat.mod369.line
comodel_name='l10n.es.aeat.mod369.line'
string='Mod369 lines'
neg_corrections
Float
string='Negative corrections'
oss_country_id
Many2one → res.country
comodel_name='res.country'
string='OSS Country'
page_3_4_total
Float
compute='_compute_totals'
string='Spanish services and goods'
page_3_total
Float
compute='_compute_totals'
string='Spanish services'
page_4_total
Float
compute='_compute_totals'
string='Spanish goods'
page_5_6_total
Float
compute='_compute_totals'
string='Non-Spanish services and goods'
page_5_total
Float
compute='_compute_totals'
string='Non-Spanish services'
page_6_total
Float
compute='_compute_totals'
string='Non-Spanish goods'
pos_corrections
Float
string='Positive corrections'
refund_fiscal_year
Integer
refund_line_ids
Many2many → account.move.line
comodel_name='account.move.line'
relation='refund_line_id_rel'
string='Refund lines'
refund_period
Char
report_id
Many2one → l10n.es.aeat.mod369.report
comodel_name='l10n.es.aeat.mod369.report'
string='Mod369 report'
result_total
Float
string='Total result'
service_type
Selection
related='tax_id.service_type'
string='Service type'
tax_correction
Float
tax_correction_str
Char
compute='_compute_tax_correction_str'
tax_id
Many2one → account.tax
comodel_name='account.tax'
string='Tax'
total_deposit
Float
string='Total to deposit ES'
total_return
Float
string='Total to return EM'
vat_type
Float
related='tax_id.amount'
string='VAT Type'
vat_type_str
Char
compute='_compute_vat_type_str'
get_calculated_move_lines(self)
get_calculated_refund_move_lines(self)
declaration_inactive
Boolean
readonly=True
states={'draft': [('readonly', False)]}
string='Declaration without activity'
declaration_type
Selection
default='union'
readonly=True
selection=[('union', 'Union'), ('export', 'Export'), ('import', 'Import')]
states={'draft': [('readonly', False)]}
string='Declaration type'
goods_line_ids
One2many → l10n.es.aeat.mod369.line.grouped
comodel_name='l10n.es.aeat.mod369.line.grouped'
copy=False
domain=[('service_type', '=', 'goods'), ('is_refund', '=', False)]
inverse_name='report_id'
readonly=True
string='Goods 369 lines'
nrc_reference
Char
copy=False
readonly=True
states={'draft': [('readonly', False)]}
string='NRC Reference'
payment_type
Selection
default='I'
readonly=True
selection=[('O', '[O] Reconocimiento de deuda con los Estados Miembros de Consumo con imposibilidad de pago'), ('S', '[S] Ingreso parcial y Reconocimiento de deuda con los Estados Miembros de Consumo con imposibilidad de pago'), ('I', '[I] A ingresar'), ('N', '[N] Negativa'), ('T', '[T] Ingreso por transferencia desde el extranjero')]
states={'draft': [('readonly', False)]}
string='Payment type'
refund_line_ids
One2many → l10n.es.aeat.mod369.line.grouped
comodel_name='l10n.es.aeat.mod369.line.grouped'
copy=False
domain=[('is_refund', '=', True)]
inverse_name='report_id'
readonly=True
string='Refunds from other periods 369 lines'
services_line_ids
One2many → l10n.es.aeat.mod369.line.grouped
comodel_name='l10n.es.aeat.mod369.line.grouped'
copy=False
domain=[('service_type', '=', 'services'), ('is_refund', '=', False)]
inverse_name='report_id'
readonly=True
string='Services 369 lines'
spain_goods_line_ids
One2many → l10n.es.aeat.mod369.line.grouped
comodel_name='l10n.es.aeat.mod369.line.grouped'
copy=False
domain=[('service_type', '=', 'goods'), ('country_id.code', '=', 'ES'), ('is_page_8_line', '=', False), ('is_refund', '=', False)]
inverse_name='report_id'
readonly=True
string='Spanish goods 369 lines'
spain_services_line_ids
One2many → l10n.es.aeat.mod369.line.grouped
comodel_name='l10n.es.aeat.mod369.line.grouped'
copy=False
domain=[('service_type', '=', 'services'), ('country_id.code', '=', 'ES'), ('is_page_8_line', '=', False), ('is_refund', '=', False)]
inverse_name='report_id'
readonly=True
string='Spanish services 369 lines'
total_amount
Float
compute='_compute_total_amount'
string='Total amount'
total_line_ids
One2many → l10n.es.aeat.mod369.line.grouped
comodel_name='l10n.es.aeat.mod369.line.grouped'
copy=False
domain=[('is_page_8_line', '=', True)]
inverse_name='report_id'
readonly=True
string='Total 369 lines'
calculate(self)
create_regularization_move(self)
get_taxes_from_map(self, map_line)
mod369_line_id
Many2one → l10n.es.aeat.mod369.line
comodel_name='l10n.es.aeat.mod369.line'
string='369 extra info'
create(self, vals_list)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/l10n-spain |
| GIT | |
| GIT | https://github.com/OCA/l10n-spain.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/l10n-spain/tree/15.0/l10n_es_aeat_mod369 |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | Accounting |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Studio73 |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Studio73 |
| COMMITTERS | |
| COMMITTERS | Weblate, OCA-git-bot, oca-ci, JuanjoA |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/l10n-spain |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:46:29 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/account-financial-reporting: - account_tax_balance OCA/account-fiscal-rule: - l10n_eu_oss_oca - account_fiscal_position_partner_type OCA/l10n-spain: - l10n_es_aeat OCA/server-ux: - date_range odoo/odoo: - l10n_es - account - base_setup - base - web - product - bus - web_tour - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - base_iban - base_vat |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
cryptography unidecode |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
view_l10n_es_aeat_mod369_line_grouped_tree |
l10n_es.aeat.mod369.line.grouped.tree | l10n.es.aeat.mod369.line.grouped | tree | New |
view_l10n_es_aeat_mod369_report_form |
l10n_es.aeat.mod369.report.form | l10n.es.aeat.mod369.report | group | Inherits l10n_es_aeat.view_l10n_es_aeat_report_form |
view_l10n_es_aeat_mod369_report_tree |
l10n_es.aeat.mod369.report.tree | l10n.es.aeat.mod369.report | tree | Inherits l10n_es_aeat.view_l10n_es_aeat_report_tree |
view_tax_form |
account.tax.form | account.tax | field | Inherits account.view_tax_form |
service_type
Selection
default='goods'
selection=[('goods', 'Goods'), ('services', 'Services')]
string='Service type'
tax_reduction_type
Selection
selection=[('S', 'Standard'), ('R', 'Reduced')]
string='Tax type'
No public methods.
amount
Float
related='tax_line_id.amount'
string='Amount'
field_number
Integer
related='tax_line_id.field_number'
string='Field number'
group_ids
Many2many → l10n.es.aeat.mod369.line.grouped
comodel_name='l10n.es.aeat.mod369.line.grouped'
string='Group'
map_line_id
Many2one → l10n.es.aeat.map.tax.line
comodel_name='l10n.es.aeat.map.tax.line'
related='tax_line_id.map_line_id'
string='Map line'
oss_country_id
Many2one → res.country
comodel_name='res.country'
string='OSS Country'
oss_name
Char
string='OSS Name'
oss_sequence
Integer
string='OSS Sequence'
oss_tax_id
Many2one → account.tax
comodel_name='account.tax'
string='OSS Tax'
service_type
Selection
related='oss_tax_id.service_type'
string='Service type'
tax_line_id
Many2one → l10n.es.aeat.tax.line
comodel_name='l10n.es.aeat.tax.line'
ondelete='cascade'
string='Report tax line'
No public methods.
amount
Float
compute='_compute_totals'
string='Amount total'
base
Float
compute='_compute_totals'
string='Base total'
country_code
Char
related='country_id.code'
string='Country code'
country_id
Many2one → res.country
comodel_name='res.country'
string='Country'
is_page_8_line
Boolean
help='Used to filter for grouped lines for page 8'
string='Is part of page 8'
mod369_line_ids
Many2many → l10n.es.aeat.mod369.line
comodel_name='l10n.es.aeat.mod369.line'
inverse_name='group_id'
string='Mod369 lines'
page_3_4_total
Float
compute='_compute_totals'
string='Spanish services and goods'
page_3_total
Float
compute='_compute_totals'
string='Spanish services'
page_4_total
Float
compute='_compute_totals'
string='Spanish goods'
page_5_6_total
Float
compute='_compute_totals'
string='Non-Spanish services and goods'
page_5_total
Float
compute='_compute_totals'
string='Non-Spanish services'
page_6_total
Float
compute='_compute_totals'
string='Non-Spanish goods'
report_id
Many2one → l10n.es.aeat.mod369.report
comodel_name='l10n.es.aeat.mod369.report'
string='Mod369 report'
service_type
Selection
related='tax_id.service_type'
string='Service type'
tax_id
Many2one → account.tax
comodel_name='account.tax'
string='Tax'
vat_type
Float
related='tax_id.amount'
string='VAT Type'
get_calculated_move_lines(self)
declaration_inactive
Boolean
readonly=True
states={'draft': [('readonly', False)]}
string='Declaration without activity'
declaration_type
Selection
readonly=True
selection=[('union', 'Union'), ('export', 'Export'), ('import', 'Import')]
states={'draft': [('readonly', False)]}
string='Declaration type'
goods_line_ids
One2many → l10n.es.aeat.mod369.line.grouped
comodel_name='l10n.es.aeat.mod369.line.grouped'
copy=False
domain=[('service_type', '=', 'goods')]
inverse_name='report_id'
readonly=True
string='Goods 369 lines'
nrc_reference
Char
copy=False
readonly=True
states={'draft': [('readonly', False)]}
string='NRC Reference'
payment_type
Selection
default='I'
readonly=True
selection=[('O', '[O] Reconocimiento de deuda con los Estados Miembros de Consumo con imposibilidad de pago'), ('S', '[S] Ingreso parcial y Reconocimiento de deuda con los Estados Miembros de Consumo con imposibilidad de pago'), ('I', '[I] A ingresar'), ('N', '[N] Negativa'), ('T', '[T] Ingreso por transferencia desde el extranjero')]
states={'draft': [('readonly', False)]}
string='Payment type'
services_line_ids
One2many → l10n.es.aeat.mod369.line.grouped
comodel_name='l10n.es.aeat.mod369.line.grouped'
copy=False
domain=[('service_type', '=', 'services')]
inverse_name='report_id'
readonly=True
string='Services 369 lines'
spain_goods_line_ids
One2many → l10n.es.aeat.mod369.line.grouped
comodel_name='l10n.es.aeat.mod369.line.grouped'
copy=False
domain=[('service_type', '=', 'goods'), ('country_id.code', '=', 'ES')]
inverse_name='report_id'
readonly=True
string='Spanish goods 369 lines'
spain_services_line_ids
One2many → l10n.es.aeat.mod369.line.grouped
comodel_name='l10n.es.aeat.mod369.line.grouped'
copy=False
domain=[('service_type', '=', 'services'), ('country_id.code', '=', 'ES')]
inverse_name='report_id'
readonly=True
string='Spanish services 369 lines'
total_amount
Float
compute='_compute_total_amount'
string='Total amount'
total_line_ids
One2many → l10n.es.aeat.mod369.line.grouped
comodel_name='l10n.es.aeat.mod369.line.grouped'
copy=False
domain=[('is_page_8_line', '=', True)]
inverse_name='report_id'
readonly=True
string='Total 369 lines'
calculate(self)
get_taxes_from_map(self, map_line)
mod369_line_id
Many2one → l10n.es.aeat.mod369.line
comodel_name='l10n.es.aeat.mod369.line'
string='369 extra info'
create(self, vals_list)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/l10n-spain |
| GIT | |
| GIT | https://github.com/OCA/l10n-spain.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/l10n-spain/tree/14.0/l10n_es_aeat_mod369 |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | Accounting |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Studio73 |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Studio73 |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, Víctor Martínez, Weblate, OCA-git-bot, oca-ci |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/l10n-spain |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:40:49 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/account-financial-reporting: - account_tax_balance OCA/account-fiscal-rule: - l10n_eu_oss - account_fiscal_position_partner_type OCA/l10n-spain: - l10n_es_aeat OCA/server-ux: - date_range odoo/odoo: - l10n_es - account - base_setup - base - web - product - bus - web_tour - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - base_iban - base_vat |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
cryptography<39 unidecode |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
view_l10n_es_aeat_mod369_line_grouped_tree |
l10n_es.aeat.mod369.line.grouped.tree | l10n.es.aeat.mod369.line.grouped | tree | New |
view_l10n_es_aeat_mod369_report_form |
l10n_es.aeat.mod369.report.form | l10n.es.aeat.mod369.report | group | Inherits l10n_es_aeat.view_l10n_es_aeat_report_form |
view_l10n_es_aeat_mod369_report_tree |
l10n_es.aeat.mod369.report.tree | l10n.es.aeat.mod369.report | tree | Inherits l10n_es_aeat.view_l10n_es_aeat_report_tree |
view_tax_form |
account.tax.form | account.tax | field | Inherits account.view_tax_form |
service_type
Selection
default='goods'
selection=[('goods', 'Goods'), ('services', 'Services')]
string='Service type'
tax_reduction_type
Selection
selection=[('S', 'Standard'), ('R', 'Reduced')]
string='Tax type'
No public methods.
amount
Float
related='tax_line_id.amount'
string='Amount'
field_number
Integer
related='tax_line_id.field_number'
string='Field number'
group_ids
Many2many → l10n.es.aeat.mod369.line.grouped
comodel_name='l10n.es.aeat.mod369.line.grouped'
string='Group'
map_line_id
Many2one → l10n.es.aeat.map.tax.line
comodel_name='l10n.es.aeat.map.tax.line'
related='tax_line_id.map_line_id'
string='Map line'
oss_country_id
Many2one → res.country
comodel_name='res.country'
string='OSS Country'
oss_name
Char
string='OSS Name'
oss_sequence
Integer
string='OSS Sequence'
oss_tax_id
Many2one → account.tax
comodel_name='account.tax'
string='OSS Tax'
service_type
Selection
related='oss_tax_id.service_type'
string='Service type'
tax_line_id
Many2one → l10n.es.aeat.tax.line
comodel_name='l10n.es.aeat.tax.line'
ondelete='cascade'
string='Report tax line'
No public methods.
amount
Float
compute='_compute_totals'
string='Amount'
base
Float
compute='_compute_totals'
string='Base'
country_code
Char
related='country_id.code'
string='Country code'
country_id
Many2one → res.country
comodel_name='res.country'
string='Country'
is_page_8_line
Boolean
help='Used to filter for grouped lines for page 8'
string='Is part of page 8'
mod369_line_ids
Many2many → l10n.es.aeat.mod369.line
comodel_name='l10n.es.aeat.mod369.line'
inverse_name='group_id'
string='Mod369 lines'
page_3_4_total
Float
compute='_compute_totals'
string='Spanish services and goods'
page_3_total
Float
compute='_compute_totals'
string='Spanish services'
page_4_total
Float
compute='_compute_totals'
string='Spanish goods'
page_5_6_total
Float
compute='_compute_totals'
string='Non-Spanish services and goods'
page_5_total
Float
compute='_compute_totals'
string='Non-Spanish services'
page_6_total
Float
compute='_compute_totals'
string='Non-Spanish goods'
report_id
Many2one → l10n.es.aeat.mod369.report
comodel_name='l10n.es.aeat.mod369.report'
string='Mod369 report'
service_type
Selection
related='tax_id.service_type'
string='Service type'
tax_id
Many2one → account.tax
comodel_name='account.tax'
string='Tax'
vat_type
Float
related='tax_id.amount'
string='VAT Type'
get_calculated_move_lines(self)
declaration_inactive
Boolean
readonly=True
states={'draft': [('readonly', False)]}
string='Declaration without activity'
declaration_type
Selection
readonly=True
selection=[('union', 'Union'), ('export', 'Export'), ('import', 'Import')]
states={'draft': [('readonly', False)]}
string='Declaration type'
goods_line_ids
One2many → l10n.es.aeat.mod369.line.grouped
comodel_name='l10n.es.aeat.mod369.line.grouped'
copy=False
domain=[('service_type', '=', 'goods')]
inverse_name='report_id'
readonly=True
string='Goods 369 lines'
nrc_reference
Char
copy=False
readonly=True
states={'draft': [('readonly', False)]}
string='NRC Reference'
payment_type
Selection
default='I'
readonly=True
selection=[('O', '[O] Reconocimiento de deuda con los Estados Miembros de Consumo con imposibilidad de pago'), ('S', '[S] Ingreso parcial y Reconocimiento de deuda con los Estados Miembros de Consumo con imposibilidad de pago'), ('I', '[I] A ingresar'), ('N', '[N] Negativa'), ('T', '[T] Ingreso por transferencia desde el extranjero')]
states={'draft': [('readonly', False)]}
string='Payment type'
services_line_ids
One2many → l10n.es.aeat.mod369.line.grouped
comodel_name='l10n.es.aeat.mod369.line.grouped'
copy=False
domain=[('service_type', '=', 'services')]
inverse_name='report_id'
readonly=True
string='Services 369 lines'
spain_goods_line_ids
One2many → l10n.es.aeat.mod369.line.grouped
comodel_name='l10n.es.aeat.mod369.line.grouped'
copy=False
domain=[('service_type', '=', 'goods'), ('country_id.code', '=', 'ES')]
inverse_name='report_id'
readonly=True
string='Spanish goods 369 lines'
spain_services_line_ids
One2many → l10n.es.aeat.mod369.line.grouped
comodel_name='l10n.es.aeat.mod369.line.grouped'
copy=False
domain=[('service_type', '=', 'services'), ('country_id.code', '=', 'ES')]
inverse_name='report_id'
readonly=True
string='Spanish services 369 lines'
total_amount
Float
compute='_compute_total_amount'
string='Total amount'
total_line_ids
One2many → l10n.es.aeat.mod369.line.grouped
comodel_name='l10n.es.aeat.mod369.line.grouped'
copy=False
domain=[('is_page_8_line', '=', True)]
inverse_name='report_id'
readonly=True
string='Total 369 lines'
calculate(self)
get_taxes_from_map(self, map_line)
mod369_line_id
Many2one → l10n.es.aeat.mod369.line
comodel_name='l10n.es.aeat.mod369.line'
string='369 extra info'
create(self, vals_list)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/l10n-spain |
| GIT | |
| GIT | https://github.com/OCA/l10n-spain.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/l10n-spain/tree/12.0/l10n_es_aeat_mod369 |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | Accounting |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Studio73 |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Studio73 |
| COMMITTERS | |
| COMMITTERS | Weblate, OCA-git-bot, oca-ci, JuanjoA |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/l10n-spain |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:29:13 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/account-financial-reporting: - account_tax_balance OCA/account-fiscal-rule: - l10n_eu_oss - account_fiscal_position_partner_type OCA/l10n-spain: - l10n_es_aeat OCA/server-ux: - date_range odoo/odoo: - account - base_setup - base - web - product - decimal_precision - bus - web_tour - uom - analytic - portal - http_routing - digest - base_iban - l10n_es - base_vat |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
OpenSSL requests unidecode zeep |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
invoice_form_aeat369 |
account.invoice.form.aeat369 | account.invoice | xpath | Inherits account.invoice_form |
view_account_position_form |
account.fiscal.position.form | account.fiscal.position | field | Inherits account.view_account_position_form |
view_country_form |
res.country.form | res.country | field | Inherits base.view_country_form |
view_l10n_es_aeat_mod369_line_grouped_tree |
l10n_es.aeat.mod369.line.grouped.tree | l10n.es.aeat.mod369.line.grouped | tree | New |
view_l10n_es_aeat_mod369_report_form |
l10n_es.aeat.mod369.report.form | l10n.es.aeat.mod369.report | group | Inherits l10n_es_aeat.view_l10n_es_aeat_report_form |
view_l10n_es_aeat_mod369_report_tree |
l10n_es.aeat.mod369.report.tree | l10n.es.aeat.mod369.report | tree | Inherits l10n_es_aeat.view_l10n_es_aeat_report_tree |
view_tax_form |
account.tax.form | account.tax | field | Inherits account.view_tax_form |
oss_regimen
Selection
help='Used to specify which page it will be used in the 369 model'
selection=[('union', 'Union'), ('exterior', 'Exterior'), ('import', 'Import')]
string='OSS Regimen'
outside_spain
Boolean
help='This field is to differentiate moves for the 369 model (union)'
string='Outside of Spain'
No public methods.
fp_outside_spain
Boolean
related='fiscal_position_id.outside_spain'
string='Outside of Spain'
origin_country_id
Many2one → res.country
comodel_name='res.country'
string='Origin country'
No public methods.
tax_reduction_type
Selection
selection=[('S', 'Standard'), ('R', 'Reduced')]
string='Tax type'
No public methods.
outside_spain
Boolean
string='Outside of Spain'
service_type
Selection
selection=[('goods', 'Goods'), ('services', 'Services')]
string='Service type'
No public methods.
amount
Float
related='tax_line_id.amount'
string='Amount'
field_number
Integer
related='tax_line_id.field_number'
string='Field number'
group_ids
Many2many → l10n.es.aeat.mod369.line.grouped
comodel_name='l10n.es.aeat.mod369.line.grouped'
string='Group'
map_line_id
Many2one → l10n.es.aeat.map.tax.line
comodel_name='l10n.es.aeat.map.tax.line'
related='tax_line_id.map_line_id'
string='Map line'
oss_country_id
Many2one → res.country
comodel_name='res.country'
string='OSS Country'
oss_name
Char
string='OSS Name'
oss_regimen
Selection
selection=[('union', 'Union'), ('exterior', 'Exterior'), ('import', 'Import')]
string='OSS Regimen'
oss_sequence
Integer
string='OSS Sequence'
oss_tax_id
Many2one → account.tax
comodel_name='account.tax'
string='OSS Tax'
outside_spain
Boolean
string='Outside of Spain'
service_type
Selection
selection=[('goods', 'Goods'), ('services', 'Services')]
string='Service type'
tax_line_id
Many2one → l10n.es.aeat.tax.line
comodel_name='l10n.es.aeat.tax.line'
ondelete='cascade'
string='Report tax line'
No public methods.
amount
Float
compute='_compute_totals'
string='Amount'
base
Float
compute='_compute_totals'
string='Base'
country_code
Char
related='country_id.code'
string='Country code'
country_id
Many2one → res.country
comodel_name='res.country'
string='Country'
is_page_8_line
Boolean
help='Used to filter for grouped lines for page 8'
string='Is part of page 8'
mod369_line_ids
Many2many → l10n.es.aeat.mod369.line
comodel_name='l10n.es.aeat.mod369.line'
inverse_name='group_id'
string='Mod369 lines'
outside_spain
Boolean
string='Outside of Spain'
page_3_4_total
Float
compute='_compute_totals'
string='Spanish services and goods'
page_3_total
Float
compute='_compute_totals'
string='Spanish services'
page_4_total
Float
compute='_compute_totals'
string='Spanish goods'
page_5_6_total
Float
compute='_compute_totals'
string='Non-Spanish services and goods'
page_5_total
Float
compute='_compute_totals'
string='Non-Spanish services'
page_6_total
Float
compute='_compute_totals'
string='Non-Spanish goods'
report_id
Many2one → l10n.es.aeat.mod369.report
comodel_name='l10n.es.aeat.mod369.report'
string='Mod369 report'
service_type
Selection
selection=[('goods', 'Goods'), ('services', 'Services')]
string='Service type'
tax_id
Many2one → account.tax
comodel_name='account.tax'
string='Tax'
vat_type
Float
related='tax_id.amount'
string='VAT Type'
get_calculated_move_lines(self)
declaration_inactive
Boolean
readonly=True
states={'draft': [('readonly', False)]}
string='Declaration without activity'
declaration_type
Selection
readonly=True
selection=[('union', 'Union'), ('export', 'Export'), ('import', 'Import')]
states={'draft': [('readonly', False)]}
string='Declaration type'
nrc_reference
Char
copy=False
readonly=True
states={'draft': [('readonly', False)]}
string='NRC Reference'
payment_type
Selection
default='I'
readonly=True
selection=[('O', '[O] Reconocimiento de deuda con los Estados Miembros de Consumo con imposibilidad de pago'), ('S', '[S] Ingreso parcial y Reconocimiento de deuda con los Estados Miembros de Consumo con imposibilidad de pago'), ('I', '[I] A ingresar'), ('N', '[N] Negativa'), ('T', '[T] Ingreso por transferencia desde el extranjero')]
states={'draft': [('readonly', False)]}
string='Payment type'
spain_goods_line_ids
One2many → l10n.es.aeat.mod369.line.grouped
comodel_name='l10n.es.aeat.mod369.line.grouped'
copy=False
domain=[('service_type', '=', 'goods'), ('outside_spain', '=', False)]
inverse_name='report_id'
readonly=True
string='Spanish goods 369 lines'
spain_services_line_ids
One2many → l10n.es.aeat.mod369.line.grouped
comodel_name='l10n.es.aeat.mod369.line.grouped'
copy=False
domain=[('service_type', '=', 'services'), ('outside_spain', '=', False)]
inverse_name='report_id'
readonly=True
string='Spanish services 369 lines'
total_amount
Float
compute='_compute_total_amount'
string='Total amount'
total_line_ids
One2many → l10n.es.aeat.mod369.line.grouped
comodel_name='l10n.es.aeat.mod369.line.grouped'
copy=False
domain=[('is_page_8_line', '=', True)]
inverse_name='report_id'
readonly=True
string='Total 369 lines'
calculate(self)
get_taxes_from_map(self, map_line)
mod369_line_id
Many2one → l10n.es.aeat.mod369.line
comodel_name='l10n.es.aeat.mod369.line'
string='369 extra info'
create(self, vals_list)
country_vat
Char
company_dependent=True
help="Your company's VAT number in this country"
string='VAT'
No public methods.