| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/l10n-spain |
| GIT | |
| GIT | https://github.com/OCA/l10n-spain.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/l10n-spain/tree/19.0/l10n_es_aeat_sii_oca |
| VERSION | |
| VERSION | 1.1.1 |
| CATEGORY | |
| CATEGORY | Accounting & Finance |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), Acysos S.L., Sygel, Diagram, Minorisa, Studio73, FactorLibre, Comunitea, Otherway, Javi Melendez |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), Acysos S.L., Sygel, Diagram, Minorisa, Studio73, FactorLibre, Comunitea, Otherway, Javi Melendez |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, OCA-git-bot, oca-ci, Emilio Pascual |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/l10n-spain |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 01:10:44 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/account-financial-reporting: - account_tax_balance OCA/account-invoicing: - account_invoice_refund_link OCA/l10n-spain: - l10n_es_aeat OCA/server-ux: - date_range odoo/odoo: - account - base_setup - base - web - onboarding - product - bus - web_tour - html_editor - uom - analytic - portal - http_routing - auth_signup - digest - resource - l10n_es - base_iban - base_vat - account_edi_ubl_cii |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
requests zeep unidecode |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
account_journal_dashboard_kanban_view |
account.journal.dashboard.kanban | account.journal | data | Inherits account.account_journal_dashboard_kanban_view |
aeat_sii_map_view_form |
aeat.sii.map.view.form | aeat.sii.map | form | New |
aeat_sii_map_view_tree |
aeat.sii.map.view.tree | aeat.sii.map | list | New |
aeat_sii_mapping_registration_keys_view_search |
aeat.sii.mapping.registration.keys.view.search | aeat.sii.mapping.registration.keys | search | New |
aeat_sii_mapping_registration_keys_view_tree |
aeat.sii.mapping.registration.keys.view.tree | aeat.sii.mapping.registration.keys | list | New |
aeat_sii_tax_agency_form_view |
aeat.tax.agency.form - l10n_es_aeat_sii_oca | aeat.tax.agency | notebook | Inherits l10n_es_aeat.aeat_tax_agency_form_view |
invoice_sii_form |
account.invoice.sii.form | account.move | xpath | Inherits l10n_es_aeat.view_move_form |
l10n_es_aeat_sii_map_lines_view_tree |
aeat.sii.map.lines.view.tree | aeat.sii.map.lines | list | New |
product_template_form_sii_view |
product.template.form.inherit.sii | product.template | group | Inherits account.product_template_form_view |
view_account_invoice_sii_filter |
account.invoice.select.sii | account.move | filter | Inherits account.view_account_invoice_filter |
view_account_journal_thirdparty_form |
account.journal | xpath | Inherits l10n_es_aeat.view_account_journal_form | |
view_account_move_reversal |
account.move.reversal | field | Inherits account.view_account_move_reversal | |
view_account_position_form |
account.fiscal.position.form | account.fiscal.position | xpath | Inherits account.view_account_position_form |
view_company_sii_form |
res.company.sii.form | res.company | notebook | Inherits base.view_company_form |
view_wizard_send_sii |
Send SII Wizard | wizard.send.sii | form | New |
No new fields.
Public methods (0)No public methods.
sii_enabled
Boolean
readonly=True
related='company_id.sii_enabled'
sii_exempt_cause
Selection
default=<expr>
selection='_get_selection_sii_exempt_cause'
string='SII Exempt Cause'
sii_no_taxable_cause
Selection
default='ImporteTAIReglasLocalizacion'
selection=[('ImportePorArticulos7_14_Otros', 'No sujeta - No sujeción artículo 7, 14, otros'), ('ImporteTAIReglasLocalizacion', 'Operaciones no sujetas en el TAI por reglas de localización')]
string='SII No taxable cause'
sii_partner_identification_type
Selection
selection=[('1', 'National'), ('2', 'Intracom'), ('3', 'Export')]
string='SII partner Identification Type'
sii_registration_key_purchase
Many2one → aeat.sii.mapping.registration.keys
domain=Domain('type', '=', 'purchase')
args: 'aeat.sii.mapping.registration.keys', 'Default SII Registration Key for Purchases'
sii_registration_key_sale
Many2one → aeat.sii.mapping.registration.keys
domain=Domain('type', '=', 'sale')
args: 'aeat.sii.mapping.registration.keys', 'Default SII Registration Key for Sales'
default_sii_exempt_cause(self)
company_sii_enabled
Boolean
related='company_id.sii_enabled'
string='Company enable SII'
sii_enabled
Boolean
default=True
string='Enable SII'
No public methods.
sii_dua_invoice
Boolean
compute='_compute_dua_invoice'
sii_lc_operation
Boolean
copy=False
help='Check this mark if this invoice represents a complementary settlement for customs.\nThe invoice number should start with LC, QZC, QRC, A01 or A02.'
string='Customs - Complementary settlement'
sii_property_cadastrial_code
Char
copy=False
string='Real property cadastrial code'
sii_property_location
Selection
copy=False
selection=[('1', '[1]-Real property with cadastral code located within the Spanish territory except Basque Country or Navarra'), ('2', '[2]-Real property located in the Basque Country or Navarra'), ('3', '[3]-Real property in any of the above situations but without cadastral code'), ('4', '[4]-Real property located in a foreign country')]
string='Real property location'
sii_refund_specific_invoice_type
Selection
help='Fill this field when the refund are one of the specific cases of article 80 of LIVA for notifying to SII with the proper invoice type.'
selection=[('R1', 'Error based on law and Art. 80 One and Two LIVA (R1)'), ('R2', 'Art. 80 Three LIVA - Bankruptcy (R2)'), ('R3', 'Art. 80 Four LIVA - Bad debt (R3)'), ('R4', 'Rest of causes (R4)')]
sii_registration_key_additional1
Many2one → aeat.sii.mapping.registration.keys
comodel_name='aeat.sii.mapping.registration.keys'
string='Additional SII registration key'
sii_registration_key_additional2
Many2one → aeat.sii.mapping.registration.keys
comodel_name='aeat.sii.mapping.registration.keys'
string='Additional 2 SII registration key'
button_cancel(self)
button_draft(self)
cancel_one_invoice(self)
cancel_sii(self)
is_sii_invoice(self)
process_send_sii(self)
write(self, vals)
sii_refund_type
Selection
selection=_selection_sii_refund_type
string='SII Refund Type'
sii_refund_type_required
Boolean
string='Is SII Refund Type required?'
supplier_invoice_number_refund
Char
string='Supplier Invoice Number'
supplier_invoice_number_refund_required
Boolean
string='Is Supplier Invoice Number Required?'
default_get(self, fields_list)
reverse_moves(self, is_modify=False)
date_from
Date
date_to
Date
map_lines
One2many → aeat.sii.map.lines
comodel_name='aeat.sii.map.lines'
inverse_name='sii_map_id'
string='Lines'
name
Char
required=True
string='Model'
tax_agency_id
Many2one → aeat.tax.agency
comodel_name='aeat.tax.agency'
string='Tax Agency'
No public methods.
code
Char
required=True
name
Char
sii_map_id
Many2one → aeat.sii.map
comodel_name='aeat.sii.map'
ondelete='cascade'
string='Aeat SII Map'
tax_xmlid_ids
Many2many → l10n.es.aeat.map.tax.line.tax
comodel_name='l10n.es.aeat.map.tax.line.tax'
string='Taxes templates'
No public methods.
code
Char
required=True
size=2
name
Char
required=True
type
Selection
required=True
selection=[('sale', 'Sale'), ('purchase', 'Purchase')]
No public methods.
sii_wsdl_ic
Char
string='SuministroOpIntracomunitarias WSDL'
sii_wsdl_ic_test_address
Char
string='SuministroOpIntracomunitarias Test Address'
sii_wsdl_in
Char
string='SuministroFactRecibidas WSDL'
sii_wsdl_in_test_address
Char
string='SuministroFactRecibidas Test Address'
sii_wsdl_ott
Char
string='SuministroOpTrascendTribu WSDL'
sii_wsdl_ott_test_address
Char
string='SuministroOpTrascendTribu Test Address'
sii_wsdl_out
Char
string='SuministroFactEmitidas WSDL'
sii_wsdl_out_test_address
Char
string='SuministroFactEmitidas Test Address'
sii_wsdl_pi
Char
string='SuministroBienesInversion WSDL'
sii_wsdl_pi_test_address
Char
string='SuministroBienesInversion Test Address'
sii_wsdl_pr
Char
string='SuministroCobrosEmitidas WSDL'
sii_wsdl_pr_test_address
Char
string='SuministroCobrosEmitidas Test Address'
sii_wsdl_ps
Char
string='SuministroPagosRecibidas WSDL'
sii_wsdl_ps_test_address
Char
string='SuministroPagosRecibidas Test Address'
No public methods.
sii_exempt_cause
Selection
selection=[('none', 'None'), ('E1', '[E1] Art. 20: Operaciones interiores exentas'), ('E2', '[E2] Art. 21: Exenciones en las exportaciones de bienes'), ('E3', '[E3] Art. 22: Exenciones en las operaciones asimiladas a las exportaciones'), ('E4', '[E4] Art. 23 y 24: Exenciones relativas a regímenes aduaneros y fiscales. Exenciones zonas francas, depósitos francos y otros depósitos.'), ('E5', '[E5] Art. 25: Exenciones en las entregas de bienes destinados a otro estado miembro.'), ('E6', '[E6] Otros')]
string='SII Exempt Cause'
No public methods.
delay_time
Float
send_mode
Selection
default='delayed'
selection=[('auto', 'On validate'), ('fixed', 'At fixed time'), ('delayed', 'With delay')]
sent_time
Float
sii_description
Char
help="The description for invoices. Only used when the field SII Description Method is 'Fixed'."
size=500
string='SII Description'
sii_description_method
Selection
default='manual'
help="Method for the SII invoices description, can be one of these:\n- Automatic: the description will be the join of the invoice lines description\n- Fixed: the description write on the below field 'SII Description'\n- Manual (by default): It will be necessary to manually enter the description on each invoice\n\nFor all the options you can append a header text using the below fields 'SII Sale header' and 'SII Purchase header'"
selection=[('auto', 'Automatic'), ('fixed', 'Fixed'), ('manual', 'Manual')]
string='SII Description Method'
sii_enabled
Boolean
string='Enable SII'
sii_header_customer
Char
help='An optional header description for customer invoices. Applied on all the SII description methods'
size=500
string='SII Customer header'
sii_header_supplier
Char
help='An optional header description for supplier invoices. Applied on all the SII description methods'
size=500
string='SII Supplier header'
sii_method
Selection
default='auto'
help="By default, the invoice is sent/queued in validation process. With manual method, there's a button to send the invoice."
selection=[('auto', 'Automatic'), ('manual', 'Manual')]
string='Method'
sii_period
Selection
default='monthly'
selection=[('monthly', 'Monthly'), ('quarterly', 'Quarterly')]
sii_start_date
Date
help="If this field is set, the sii won't be enabled on invoices with lower invoice date. If not set, the sii can be enabled on all invoice dates"
sii_test
Boolean
string='Is it the SII test environment?'
No public methods.
sii_enabled
Boolean
compute='_compute_aeat_sending_enabled'
No public methods.
aeat_state
Selection
selection_add=SII_STATES
company_id
Many2one → res.company
comodel_name='res.company'
string='Company'
sii_account_registration_date
Date
copy=False
help='Indicates the account registration date set at the SII, which must be the date when the document is recorded in the system and is independent of the date of the accounting entry of the document'
readonly=True
string='SII account registration date'
sii_csv
Char
copy=False
index=True
readonly=True
string='SII CSV'
sii_description
Char
compute='_compute_sii_description'
copy=False
default='/'
readonly=False
size=500
store=True
string='SII computed description'
sii_enabled
Boolean
compute='_compute_sii_enabled'
search='_search_sii_enabled'
string='Enable SII'
sii_macrodata
Boolean
compute='_compute_macrodata'
help='Check to confirm that the document has an absolute amount greater o equal to 100 000 000,00 euros.'
string='MacroData'
sii_needs_cancel
Boolean
copy=False
readonly=True
sii_refund_type
Selection
compute='_compute_sii_refund_type'
readonly=False
selection=[('I', 'By differences')]
store=True
string='SII Refund Type'
sii_registration_key
Many2one → aeat.sii.mapping.registration.keys
comodel_name='aeat.sii.mapping.registration.keys'
compute='_compute_sii_registration_key'
readonly=False
store=True
string='SII registration key'
sii_registration_key_code
Char
compute='_compute_sii_registration_key_code'
readonly=True
string='SII Code'
sii_registration_key_domain
Char
compute='_compute_sii_registration_key_domain'
string='SII registration key domain'
sii_return
Text
copy=False
readonly=True
string='SII Return'
sii_send_date
Datetime
copy=False
index=True
string='SII Send Date'
confirm_one_document(self)
send_sii(self)
send_sii_now(self)
account_move_ids
Many2many → account.move
string='Invoices'
args: 'account.move'
modified_number
Integer
moves_to_send
Integer
not_send_without_errors_number
Integer
with_errors_number
Integer
action_confirm(self)
default_get(self, fields)
| 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_sii_oca |
| VERSION | |
| VERSION | 2.2.2 |
| CATEGORY | |
| CATEGORY | Accounting & Finance |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), Acysos S.L., Sygel, Diagram, Minorisa, Studio73, FactorLibre, Comunitea, Otherway, Javi Melendez |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), Acysos S.L., Sygel, Diagram, Minorisa, Studio73, FactorLibre, Comunitea, Otherway, Javi Melendez |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, AaronHForgeFlow, Weblate, OCA-git-bot, oca-ci, Emilio Pascual, LauraCForgeFlow, sygel, FernandoRomera, pol, Sabrina Martín, christian-ramos-tecnativa |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/l10n-spain |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-05 23:09:21 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/account-financial-reporting: - account_tax_balance OCA/account-invoicing: - account_invoice_refund_link OCA/l10n-spain: - l10n_es_aeat OCA/server-ux: - date_range odoo/odoo: - account - base_setup - base - web - onboarding - product - bus - web_tour - html_editor - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - l10n_es - base_iban - base_vat |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
requests zeep unidecode |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
account_journal_dashboard_kanban_view |
account.journal.dashboard.kanban | account.journal | data | Inherits account.account_journal_dashboard_kanban_view |
aeat_sii_map_view_form |
aeat.sii.map.view.form | aeat.sii.map | form | New |
aeat_sii_map_view_tree |
aeat.sii.map.view.tree | aeat.sii.map | list | New |
aeat_sii_mapping_registration_keys_view_search |
aeat.sii.mapping.registration.keys.view.search | aeat.sii.mapping.registration.keys | search | New |
aeat_sii_mapping_registration_keys_view_tree |
aeat.sii.mapping.registration.keys.view.tree | aeat.sii.mapping.registration.keys | list | New |
aeat_sii_tax_agency_form_view |
aeat.tax.agency.form - l10n_es_aeat_sii_oca | aeat.tax.agency | notebook | Inherits l10n_es_aeat.aeat_tax_agency_form_view |
invoice_sii_form |
account.invoice.sii.form | account.move | xpath | Inherits l10n_es_aeat.view_move_form |
l10n_es_aeat_sii_map_lines_view_tree |
aeat.sii.map.lines.view.tree | aeat.sii.map.lines | list | New |
product_template_form_sii_view |
product.template.form.inherit.sii | product.template | group | Inherits account.product_template_form_view |
view_account_invoice_sii_filter |
account.invoice.select.sii | account.move | filter | Inherits account.view_account_invoice_filter |
view_account_journal_thirdparty_form |
account.journal | xpath | Inherits l10n_es_aeat.view_account_journal_form | |
view_account_move_reversal |
account.move.reversal | field | Inherits account.view_account_move_reversal | |
view_account_position_form |
account.fiscal.position.form | account.fiscal.position | xpath | Inherits account.view_account_position_form |
view_company_sii_form |
res.company.sii.form | res.company | notebook | Inherits base.view_company_form |
view_wizard_send_sii |
Send SII Wizard | wizard.send.sii | form | New |
No new fields.
Public methods (0)No public methods.
sii_enabled
Boolean
readonly=True
related='company_id.sii_enabled'
sii_exempt_cause
Selection
default=default_sii_exempt_cause
selection='_get_selection_sii_exempt_cause'
string='SII Exempt Cause'
sii_no_taxable_cause
Selection
default='ImporteTAIReglasLocalizacion'
selection=[('ImportePorArticulos7_14_Otros', 'No sujeta - No sujeción artículo 7, 14, otros'), ('ImporteTAIReglasLocalizacion', 'Operaciones no sujetas en el TAI por reglas de localización')]
string='SII No taxable cause'
sii_partner_identification_type
Selection
selection=[('1', 'National'), ('2', 'Intracom'), ('3', 'Export')]
string='SII partner Identification Type'
sii_registration_key_purchase
Many2one → aeat.sii.mapping.registration.keys
domain=[('type', '=', 'purchase')]
args: 'aeat.sii.mapping.registration.keys', 'Default SII Registration Key for Purchases'
sii_registration_key_sale
Many2one → aeat.sii.mapping.registration.keys
domain=[('type', '=', 'sale')]
args: 'aeat.sii.mapping.registration.keys', 'Default SII Registration Key for Sales'
default_sii_exempt_cause(self)
company_sii_enabled
Boolean
related='company_id.sii_enabled'
string='Company enable SII'
sii_enabled
Boolean
default=True
string='Enable SII'
No public methods.
sii_dua_invoice
Boolean
compute='_compute_dua_invoice'
sii_lc_operation
Boolean
copy=False
help='Check this mark if this invoice represents a complementary settlement for customs.\nThe invoice number should start with LC, QZC, QRC, A01 or A02.'
string='Customs - Complementary settlement'
sii_property_cadastrial_code
Char
copy=False
string='Real property cadastrial code'
sii_property_location
Selection
copy=False
selection=[('1', '[1]-Real property with cadastral code located within the Spanish territory except Basque Country or Navarra'), ('2', '[2]-Real property located in the Basque Country or Navarra'), ('3', '[3]-Real property in any of the above situations but without cadastral code'), ('4', '[4]-Real property located in a foreign country')]
string='Real property location'
sii_refund_specific_invoice_type
Selection
help='Fill this field when the refund are one of the specific cases of article 80 of LIVA for notifying to SII with the proper invoice type.'
selection=[('R1', 'Error based on law and Art. 80 One and Two LIVA (R1)'), ('R2', 'Art. 80 Three LIVA - Bankruptcy (R2)'), ('R3', 'Art. 80 Four LIVA - Bad debt (R3)'), ('R4', 'Rest of causes (R4)')]
sii_registration_key_additional1
Many2one → aeat.sii.mapping.registration.keys
comodel_name='aeat.sii.mapping.registration.keys'
string='Additional SII registration key'
sii_registration_key_additional2
Many2one → aeat.sii.mapping.registration.keys
comodel_name='aeat.sii.mapping.registration.keys'
string='Additional 2 SII registration key'
button_cancel(self)
button_draft(self)
cancel_one_invoice(self)
cancel_sii(self)
is_sii_invoice(self)
process_send_sii(self)
write(self, vals)
sii_refund_type
Selection
selection=_selection_sii_refund_type
string='SII Refund Type'
sii_refund_type_required
Boolean
string='Is SII Refund Type required?'
supplier_invoice_number_refund
Char
string='Supplier Invoice Number'
supplier_invoice_number_refund_required
Boolean
string='Is Supplier Invoice Number Required?'
default_get(self, fields_list)
reverse_moves(self, is_modify=False)
date_from
Date
date_to
Date
map_lines
One2many → aeat.sii.map.lines
comodel_name='aeat.sii.map.lines'
inverse_name='sii_map_id'
string='Lines'
name
Char
required=True
string='Model'
tax_agency_id
Many2one → aeat.tax.agency
comodel_name='aeat.tax.agency'
string='Tax Agency'
No public methods.
code
Char
required=True
name
Char
sii_map_id
Many2one → aeat.sii.map
comodel_name='aeat.sii.map'
ondelete='cascade'
string='Aeat SII Map'
tax_xmlid_ids
Many2many → l10n.es.aeat.map.tax.line.tax
comodel_name='l10n.es.aeat.map.tax.line.tax'
string='Taxes templates'
No public methods.
code
Char
required=True
size=2
name
Char
required=True
type
Selection
required=True
selection=[('sale', 'Sale'), ('purchase', 'Purchase')]
No public methods.
sii_wsdl_ic
Char
string='SuministroOpIntracomunitarias WSDL'
sii_wsdl_ic_test_address
Char
string='SuministroOpIntracomunitarias Test Address'
sii_wsdl_in
Char
string='SuministroFactRecibidas WSDL'
sii_wsdl_in_test_address
Char
string='SuministroFactRecibidas Test Address'
sii_wsdl_ott
Char
string='SuministroOpTrascendTribu WSDL'
sii_wsdl_ott_test_address
Char
string='SuministroOpTrascendTribu Test Address'
sii_wsdl_out
Char
string='SuministroFactEmitidas WSDL'
sii_wsdl_out_test_address
Char
string='SuministroFactEmitidas Test Address'
sii_wsdl_pi
Char
string='SuministroBienesInversion WSDL'
sii_wsdl_pi_test_address
Char
string='SuministroBienesInversion Test Address'
sii_wsdl_pr
Char
string='SuministroCobrosEmitidas WSDL'
sii_wsdl_pr_test_address
Char
string='SuministroCobrosEmitidas Test Address'
sii_wsdl_ps
Char
string='SuministroPagosRecibidas WSDL'
sii_wsdl_ps_test_address
Char
string='SuministroPagosRecibidas Test Address'
No public methods.
sii_exempt_cause
Selection
selection=[('none', 'None'), ('E1', '[E1] Art. 20: Operaciones interiores exentas'), ('E2', '[E2] Art. 21: Exenciones en las exportaciones de bienes'), ('E3', '[E3] Art. 22: Exenciones en las operaciones asimiladas a las exportaciones'), ('E4', '[E4] Art. 23 y 24: Exenciones relativas a regímenes aduaneros y fiscales. Exenciones zonas francas, depósitos francos y otros depósitos.'), ('E5', '[E5] Art. 25: Exenciones en las entregas de bienes destinados a otro estado miembro.'), ('E6', '[E6] Otros')]
string='SII Exempt Cause'
No public methods.
delay_time
Float
send_mode
Selection
default='delayed'
selection=[('auto', 'On validate'), ('fixed', 'At fixed time'), ('delayed', 'With delay')]
sent_time
Float
sii_description
Char
help="The description for invoices. Only used when the field SII Description Method is 'Fixed'."
size=500
string='SII Description'
sii_description_method
Selection
default='manual'
help="Method for the SII invoices description, can be one of these:\n- Automatic: the description will be the join of the invoice lines description\n- Fixed: the description write on the below field 'SII Description'\n- Manual (by default): It will be necessary to manually enter the description on each invoice\n\nFor all the options you can append a header text using the below fields 'SII Sale header' and 'SII Purchase header'"
selection=[('auto', 'Automatic'), ('fixed', 'Fixed'), ('manual', 'Manual')]
string='SII Description Method'
sii_enabled
Boolean
string='Enable SII'
sii_header_customer
Char
help='An optional header description for customer invoices. Applied on all the SII description methods'
size=500
string='SII Customer header'
sii_header_supplier
Char
help='An optional header description for supplier invoices. Applied on all the SII description methods'
size=500
string='SII Supplier header'
sii_method
Selection
default='auto'
help="By default, the invoice is sent/queued in validation process. With manual method, there's a button to send the invoice."
selection=[('auto', 'Automatic'), ('manual', 'Manual')]
string='Method'
sii_period
Selection
default='monthly'
selection=[('monthly', 'Monthly'), ('quarterly', 'Quarterly')]
sii_start_date
Date
help="If this field is set, the sii won't be enabled on invoices with lower invoice date. If not set, the sii can be enabled on all invoice dates"
sii_test
Boolean
string='Is it the SII test environment?'
No public methods.
sii_enabled
Boolean
compute='_compute_aeat_sending_enabled'
No public methods.
aeat_state
Selection
selection_add=SII_STATES
company_id
Many2one → res.company
comodel_name='res.company'
string='Company'
sii_account_registration_date
Date
copy=False
help='Indicates the account registration date set at the SII, which must be the date when the document is recorded in the system and is independent of the date of the accounting entry of the document'
readonly=True
string='SII account registration date'
sii_csv
Char
copy=False
index=True
readonly=True
string='SII CSV'
sii_description
Char
compute='_compute_sii_description'
copy=False
default='/'
readonly=False
size=500
store=True
string='SII computed description'
sii_enabled
Boolean
compute='_compute_sii_enabled'
search='_search_sii_enabled'
string='Enable SII'
sii_macrodata
Boolean
compute='_compute_macrodata'
help='Check to confirm that the document has an absolute amount greater o equal to 100 000 000,00 euros.'
string='MacroData'
sii_needs_cancel
Boolean
copy=False
readonly=True
sii_refund_type
Selection
compute='_compute_sii_refund_type'
readonly=False
selection=[('I', 'By differences')]
store=True
string='SII Refund Type'
sii_registration_key
Many2one → aeat.sii.mapping.registration.keys
comodel_name='aeat.sii.mapping.registration.keys'
compute='_compute_sii_registration_key'
readonly=False
store=True
string='SII registration key'
sii_registration_key_code
Char
compute='_compute_sii_registration_key_code'
readonly=True
string='SII Code'
sii_registration_key_domain
Char
compute='_compute_sii_registration_key_domain'
string='SII registration key domain'
sii_return
Text
copy=False
readonly=True
string='SII Return'
sii_send_date
Datetime
copy=False
index=True
string='SII Send Date'
confirm_one_document(self)
send_sii(self)
send_sii_now(self)
account_move_ids
Many2many → account.move
string='Invoices'
args: 'account.move'
modified_number
Integer
moves_to_send
Integer
not_send_without_errors_number
Integer
with_errors_number
Integer
action_confirm(self)
default_get(self, fields)
| 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_sii_oca |
| VERSION | |
| VERSION | 1.7.1 |
| CATEGORY | |
| CATEGORY | Accounting & Finance |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), Acysos S.L., Sygel, Diagram, Minorisa, Studio73, FactorLibre, Comunitea, Otherway, Javi Melendez |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), Acysos S.L., Sygel, Diagram, Minorisa, Studio73, FactorLibre, Comunitea, Otherway, Javi Melendez |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, Carlos Dauden, sergio-teruel, Weblate, OCA-git-bot, David Vidal, oca-ci, Emilio Pascual, sygel, pol, Manuel Regidor, Sabrina Martín, christian-ramos-tecnativa |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/l10n-spain |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:59:24 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/account-financial-reporting: - account_tax_balance OCA/account-invoicing: - account_invoice_refund_link OCA/l10n-spain: - l10n_es_aeat OCA/server-ux: - date_range odoo/odoo: - account - base_setup - base - web - onboarding - product - bus - web_tour - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - l10n_es - base_iban - base_vat |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
requests zeep unidecode |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
account_journal_dashboard_kanban_view |
account.journal.dashboard.kanban | account.journal | data | Inherits account.account_journal_dashboard_kanban_view |
aeat_sii_map_view_form |
aeat.sii.map.view.form | aeat.sii.map | form | New |
aeat_sii_map_view_tree |
aeat.sii.map.view.tree | aeat.sii.map | tree | New |
aeat_sii_mapping_registration_keys_view_search |
aeat.sii.mapping.registration.keys.view.search | aeat.sii.mapping.registration.keys | search | New |
aeat_sii_mapping_registration_keys_view_tree |
aeat.sii.mapping.registration.keys.view.tree | aeat.sii.mapping.registration.keys | tree | New |
aeat_sii_tax_agency_form_view |
aeat.tax.agency.form - l10n_es_aeat_sii_oca | aeat.tax.agency | notebook | Inherits l10n_es_aeat.aeat_tax_agency_form_view |
invoice_sii_form |
account.invoice.sii.form | account.move | xpath | Inherits l10n_es_aeat.view_move_form |
l10n_es_aeat_sii_map_lines_view_tree |
aeat.sii.map.lines.view.tree | aeat.sii.map.lines | tree | New |
product_template_form_sii_view |
product.template.form.inherit.sii | product.template | group | Inherits account.product_template_form_view |
view_account_invoice_sii_filter |
account.invoice.select.sii | account.move | filter | Inherits account.view_account_invoice_filter |
view_account_journal_thirdparty_form |
account.journal | xpath | Inherits l10n_es_aeat.view_account_journal_form | |
view_account_move_reversal |
account.move.reversal | field | Inherits account.view_account_move_reversal | |
view_account_position_form |
account.fiscal.position.form | account.fiscal.position | xpath | Inherits account.view_account_position_form |
view_company_sii_form |
res.company.sii.form | res.company | notebook | Inherits base.view_company_form |
view_partner_form |
res.partner | xpath | Inherits l10n_es_aeat.view_partner_form | |
view_wizard_send_sii |
Send SII Wizard | wizard.send.sii | form | New |
No new fields.
Public methods (0)No public methods.
sii_enabled
Boolean
readonly=True
related='company_id.sii_enabled'
sii_exempt_cause
Selection
default=default_sii_exempt_cause
selection='_get_selection_sii_exempt_cause'
string='SII Exempt Cause'
sii_no_taxable_cause
Selection
default='ImporteTAIReglasLocalizacion'
selection=[('ImportePorArticulos7_14_Otros', 'No sujeta - No sujeción artículo 7, 14, otros'), ('ImporteTAIReglasLocalizacion', 'Operaciones no sujetas en el TAI por reglas de localización')]
string='SII No taxable cause'
sii_partner_identification_type
Selection
selection=[('1', 'National'), ('2', 'Intracom'), ('3', 'Export')]
string='SII partner Identification Type'
sii_registration_key_purchase
Many2one → aeat.sii.mapping.registration.keys
domain=[('type', '=', 'purchase')]
args: 'aeat.sii.mapping.registration.keys', 'Default SII Registration Key for Purchases'
sii_registration_key_sale
Many2one → aeat.sii.mapping.registration.keys
domain=[('type', '=', 'sale')]
args: 'aeat.sii.mapping.registration.keys', 'Default SII Registration Key for Sales'
default_sii_exempt_cause(self)
company_sii_enabled
Boolean
related='company_id.sii_enabled'
string='Company enable SII'
sii_enabled
Boolean
default=True
string='Enable SII'
No public methods.
sii_dua_invoice
Boolean
compute='_compute_dua_invoice'
sii_lc_operation
Boolean
copy=False
help='Check this mark if this invoice represents a complementary settlement for customs.\nThe invoice number should start with LC, QZC, QRC, A01 or A02.'
string='Customs - Complementary settlement'
sii_property_cadastrial_code
Char
copy=False
string='Real property cadastrial code'
sii_property_location
Selection
copy=False
selection=[('1', '[1]-Real property with cadastral code located within the Spanish territory except Basque Country or Navarra'), ('2', '[2]-Real property located in the Basque Country or Navarra'), ('3', '[3]-Real property in any of the above situations but without cadastral code'), ('4', '[4]-Real property located in a foreign country')]
string='Real property location'
sii_refund_specific_invoice_type
Selection
help='Fill this field when the refund are one of the specific cases of article 80 of LIVA for notifying to SII with the proper invoice type.'
selection=[('R1', 'Error based on law and Art. 80 One and Two LIVA (R1)'), ('R2', 'Art. 80 Three LIVA - Bankruptcy (R2)'), ('R3', 'Art. 80 Four LIVA - Bad debt (R3)'), ('R4', 'Rest of causes (R4)')]
sii_registration_key_additional1
Many2one → aeat.sii.mapping.registration.keys
comodel_name='aeat.sii.mapping.registration.keys'
string='Additional SII registration key'
sii_registration_key_additional2
Many2one → aeat.sii.mapping.registration.keys
comodel_name='aeat.sii.mapping.registration.keys'
string='Additional 2 SII registration key'
button_cancel(self)
button_draft(self)
cancel_one_invoice(self)
cancel_sii(self)
is_sii_invoice(self)
process_send_sii(self)
write(self, vals)
sii_refund_type
Selection
selection=_selection_sii_refund_type
string='SII Refund Type'
sii_refund_type_required
Boolean
string='Is SII Refund Type required?'
supplier_invoice_number_refund
Char
string='Supplier Invoice Number'
supplier_invoice_number_refund_required
Boolean
string='Is Supplier Invoice Number Required?'
default_get(self, fields_list)
reverse_moves(self, is_modify=False)
date_from
Date
date_to
Date
map_lines
One2many → aeat.sii.map.lines
comodel_name='aeat.sii.map.lines'
inverse_name='sii_map_id'
string='Lines'
name
Char
required=True
string='Model'
tax_agency_id
Many2one → aeat.tax.agency
comodel_name='aeat.tax.agency'
string='Tax Agency'
No public methods.
code
Char
required=True
name
Char
sii_map_id
Many2one → aeat.sii.map
comodel_name='aeat.sii.map'
ondelete='cascade'
string='Aeat SII Map'
tax_xmlid_ids
Many2many → l10n.es.aeat.map.tax.line.tax
comodel_name='l10n.es.aeat.map.tax.line.tax'
string='Taxes templates'
No public methods.
code
Char
required=True
size=2
name
Char
required=True
type
Selection
required=True
selection=[('sale', 'Sale'), ('purchase', 'Purchase')]
name_get(self)
sii_wsdl_ic
Char
string='SuministroOpIntracomunitarias WSDL'
sii_wsdl_ic_test_address
Char
string='SuministroOpIntracomunitarias Test Address'
sii_wsdl_in
Char
string='SuministroFactRecibidas WSDL'
sii_wsdl_in_test_address
Char
string='SuministroFactRecibidas Test Address'
sii_wsdl_ott
Char
string='SuministroOpTrascendTribu WSDL'
sii_wsdl_ott_test_address
Char
string='SuministroOpTrascendTribu Test Address'
sii_wsdl_out
Char
string='SuministroFactEmitidas WSDL'
sii_wsdl_out_test_address
Char
string='SuministroFactEmitidas Test Address'
sii_wsdl_pi
Char
string='SuministroBienesInversion WSDL'
sii_wsdl_pi_test_address
Char
string='SuministroBienesInversion Test Address'
sii_wsdl_pr
Char
string='SuministroCobrosEmitidas WSDL'
sii_wsdl_pr_test_address
Char
string='SuministroCobrosEmitidas Test Address'
sii_wsdl_ps
Char
string='SuministroPagosRecibidas WSDL'
sii_wsdl_ps_test_address
Char
string='SuministroPagosRecibidas Test Address'
No public methods.
sii_exempt_cause
Selection
selection=[('none', 'None'), ('E1', '[E1] Art. 20: Operaciones interiores exentas'), ('E2', '[E2] Art. 21: Exenciones en las exportaciones de bienes'), ('E3', '[E3] Art. 22: Exenciones en las operaciones asimiladas a las exportaciones'), ('E4', '[E4] Art. 23 y 24: Exenciones relativas a regímenes aduaneros y fiscales. Exenciones zonas francas, depósitos francos y otros depósitos.'), ('E5', '[E5] Art. 25: Exenciones en las entregas de bienes destinados a otro estado miembro.'), ('E6', '[E6] Otros')]
string='SII Exempt Cause'
No public methods.
delay_time
Float
send_mode
Selection
default='delayed'
selection=[('auto', 'On validate'), ('fixed', 'At fixed time'), ('delayed', 'With delay')]
sent_time
Float
sii_description
Char
help="The description for invoices. Only used when the field SII Description Method is 'Fixed'."
size=500
string='SII Description'
sii_description_method
Selection
default='manual'
help="Method for the SII invoices description, can be one of these:\n- Automatic: the description will be the join of the invoice lines description\n- Fixed: the description write on the below field 'SII Description'\n- Manual (by default): It will be necessary to manually enter the description on each invoice\n\nFor all the options you can append a header text using the below fields 'SII Sale header' and 'SII Purchase header'"
selection=[('auto', 'Automatic'), ('fixed', 'Fixed'), ('manual', 'Manual')]
string='SII Description Method'
sii_enabled
Boolean
string='Enable SII'
sii_header_customer
Char
help='An optional header description for customer invoices. Applied on all the SII description methods'
size=500
string='SII Customer header'
sii_header_supplier
Char
help='An optional header description for supplier invoices. Applied on all the SII description methods'
size=500
string='SII Supplier header'
sii_method
Selection
default='auto'
help="By default, the invoice is sent/queued in validation process. With manual method, there's a button to send the invoice."
selection=[('auto', 'Automatic'), ('manual', 'Manual')]
string='Method'
sii_period
Selection
default='monthly'
selection=[('monthly', 'Monthly'), ('quarterly', 'Quarterly')]
sii_start_date
Date
help="If this field is set, the sii won't be enabled on invoices with lower invoice date. If not set, the sii can be enabled on all invoice dates"
sii_test
Boolean
string='Is it the SII test environment?'
No public methods.
sii_enabled
Boolean
compute='_compute_aeat_sending_enabled'
No public methods.
aeat_state
Selection
selection_add=SII_STATES
company_id
Many2one → res.company
comodel_name='res.company'
string='Company'
sii_account_registration_date
Date
copy=False
help='Indicates the account registration date set at the SII, which must be the date when the document is recorded in the system and is independent of the date of the accounting entry of the document'
readonly=True
string='SII account registration date'
sii_csv
Char
copy=False
readonly=True
string='SII CSV'
sii_description
Char
compute='_compute_sii_description'
copy=False
default='/'
readonly=False
store=True
string='SII computed description'
sii_enabled
Boolean
compute='_compute_sii_enabled'
search='_search_sii_enabled'
string='Enable SII'
sii_macrodata
Boolean
compute='_compute_macrodata'
help='Check to confirm that the document has an absolute amount greater o equal to 100 000 000,00 euros.'
string='MacroData'
sii_needs_cancel
Boolean
copy=False
readonly=True
sii_refund_type
Selection
compute='_compute_sii_refund_type'
readonly=False
selection=[('I', 'By differences')]
store=True
string='SII Refund Type'
sii_registration_key
Many2one → aeat.sii.mapping.registration.keys
comodel_name='aeat.sii.mapping.registration.keys'
compute='_compute_sii_registration_key'
readonly=False
store=True
string='SII registration key'
sii_registration_key_code
Char
compute='_compute_sii_registration_key_code'
readonly=True
string='SII Code'
sii_registration_key_domain
Char
compute='_compute_sii_registration_key_domain'
string='SII registration key domain'
sii_return
Text
copy=False
readonly=True
string='SII Return'
sii_send_date
Datetime
copy=False
index=True
string='SII Send Date'
confirm_one_document(self)
send_sii(self)
send_sii_now(self)
account_move_ids
Many2many → account.move
string='Invoices'
args: 'account.move'
modified_number
Integer
moves_to_send
Integer
not_send_without_errors_number
Integer
with_errors_number
Integer
action_confirm(self)
default_get(self, fields)
| 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_sii_oca |
| VERSION | |
| VERSION | 2.5.9 |
| CATEGORY | |
| CATEGORY | Accounting & Finance |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), Acysos S.L., Diagram, Minorisa, Studio73, FactorLibre, Comunitea, Otherway, Javi Melendez |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), Acysos S.L., Diagram, Minorisa, Studio73, FactorLibre, Comunitea, Otherway, Javi Melendez |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, GitHub, Jairo Llopis, Víctor Martínez, Omar (Comunitea), Weblate, OCA-git-bot, Luis J. Salvatierra, Rodrigo, David, Ethan Hildick, oca-ci, Aritz Olea, Eduardo De Miguel, David Alonso // Solvos, EmilioPascual, Jose Zambudio, almumu, Jose Zambudio Bernabeu, mde-spring, extrememicro, pol, Eduardo López Peñalver, Yadier A. De Quesada, Sabrina Martín |
| 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-invoicing: - account_invoice_refund_link OCA/l10n-spain: - l10n_es_aeat OCA/queue: - queue_job OCA/server-ux: - date_range odoo/odoo: - account - base_setup - base - web - product - bus - web_tour - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - l10n_es - base_iban - base_vat - base_sparse_field |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
unidecode requests |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
aeat_sii_map_view_form |
aeat.sii.map.view.form | aeat.sii.map | form | New |
aeat_sii_map_view_tree |
aeat.sii.map.view.tree | aeat.sii.map | tree | New |
aeat_sii_mapping_registration_keys_view_search |
aeat.sii.mapping.registration.keys.view.search | aeat.sii.mapping.registration.keys | search | New |
aeat_sii_mapping_registration_keys_view_tree |
aeat.sii.mapping.registration.keys.view.tree | aeat.sii.mapping.registration.keys | tree | New |
aeat_sii_tax_agency_form_view |
aeat.tax.agency.form - l10n_es_aeat_sii_oca | aeat.tax.agency | notebook | Inherits l10n_es_aeat.aeat_tax_agency_form_view |
invoice_sii_form |
account.invoice.sii.form | account.move | xpath | Inherits l10n_es_aeat.view_move_form |
invoice_sii_form_connector |
account.invoice.sii.form - Connector | account.move | group | Inherits invoice_sii_form |
l10n_es_aeat_sii_map_lines_view_tree |
aeat.sii.map.lines.view.tree | aeat.sii.map.lines | tree | New |
product_template_form_sii_view |
product.template.form.inherit.sii | product.template | group | Inherits account.product_template_form_view |
view_account_invoice_sii_filter |
account.invoice.select.sii | account.move | filter | Inherits account.view_account_invoice_filter |
view_account_journal_thirdparty_form |
account.journal | xpath | Inherits l10n_es_aeat.view_account_journal_form | |
view_account_move_reversal |
account.move.reversal | field | Inherits account.view_account_move_reversal | |
view_account_position_form |
account.fiscal.position.form | account.fiscal.position | xpath | Inherits account.view_account_position_form |
view_company_sii_form |
res.company.sii.form | res.company | notebook | Inherits base.view_company_form |
view_partner_form |
res.partner | xpath | Inherits l10n_es_aeat.view_partner_form | |
view_queue_job_sii |
queue.job | tree | New | |
view_wizard_send_sii |
Send SII Wizard | wizard.send.sii | form | New |
sii_enabled
Boolean
readonly=True
related='company_id.sii_enabled'
sii_exempt_cause
Selection
default=default_sii_exempt_cause
selection='_get_selection_sii_exempt_cause'
string='SII Exempt Cause'
sii_no_taxable_cause
Selection
default='ImporteTAIReglasLocalizacion'
selection=[('ImportePorArticulos7_14_Otros', 'No sujeta - No sujeción artículo 7, 14, otros'), ('ImporteTAIReglasLocalizacion', 'Operaciones no sujetas en el TAI por reglas de localización')]
string='SII No taxable cause'
sii_partner_identification_type
Selection
selection=[('1', 'National'), ('2', 'Intracom'), ('3', 'Export')]
string='SII partner Identification Type'
sii_registration_key_purchase
Many2one → aeat.sii.mapping.registration.keys
domain=[('type', '=', 'purchase')]
args: 'aeat.sii.mapping.registration.keys', 'Default SII Registration Key for Purchases'
sii_registration_key_sale
Many2one → aeat.sii.mapping.registration.keys
domain=[('type', '=', 'sale')]
args: 'aeat.sii.mapping.registration.keys', 'Default SII Registration Key for Sales'
default_sii_exempt_cause(self)
company_sii_enabled
Boolean
related='company_id.sii_enabled'
string='Company enable SII'
sii_enabled
Boolean
default=True
string='Enable SII'
No public methods.
invoice_jobs_ids
Many2many → queue.job
column1='invoice_id'
column2='job_id'
comodel_name='queue.job'
copy=False
relation='account_move_queue_job_rel'
string='Connector Jobs'
sii_lc_operation
Boolean
copy=False
help='Check this mark if this invoice represents a complementary settlement for customs.\nThe invoice number should start with LC, QZC, QRC, A01 or A02.'
string='Customs - Complementary settlement'
sii_property_cadastrial_code
Char
copy=False
string='Real property cadastrial code'
sii_property_location
Selection
copy=False
selection=[('1', '[1]-Real property with cadastral code located within the Spanish territory except Basque Country or Navarra'), ('2', '[2]-Real property located in the Basque Country or Navarra'), ('3', '[3]-Real property in any of the above situations but without cadastral code'), ('4', '[4]-Real property located in a foreign country')]
string='Real property location'
sii_refund_specific_invoice_type
Selection
help='Fill this field when the refund are one of the specific cases of article 80 of LIVA for notifying to SII with the proper invoice type.'
selection=[('R1', 'Error based on law and Art. 80 One and Two LIVA (R1)'), ('R2', 'Art. 80 Three LIVA - Bankruptcy (R2)'), ('R3', 'Art. 80 Four LIVA - Bad debt (R3)'), ('R4', 'Rest of causes (R4)')]
sii_registration_key_additional1
Many2one → aeat.sii.mapping.registration.keys
comodel_name='aeat.sii.mapping.registration.keys'
string='Additional SII registration key'
sii_registration_key_additional2
Many2one → aeat.sii.mapping.registration.keys
comodel_name='aeat.sii.mapping.registration.keys'
string='Additional 2 SII registration key'
button_cancel(self)
button_draft(self)
cancel_one_invoice(self)
cancel_sii(self)
is_sii_invoice(self)
process_send_sii(self)
write(self, vals)
sii_refund_type
Selection
selection=_selection_sii_refund_type
string='SII Refund Type'
sii_refund_type_required
Boolean
string='Is SII Refund Type required?'
supplier_invoice_number_refund
Char
string='Supplier Invoice Number'
supplier_invoice_number_refund_required
Boolean
string='Is Supplier Invoice Number Required?'
default_get(self, fields_list)
reverse_moves(self)
date_from
Date
date_to
Date
map_lines
One2many → aeat.sii.map.lines
comodel_name='aeat.sii.map.lines'
inverse_name='sii_map_id'
string='Lines'
name
Char
required=True
string='Model'
No public methods.
code
Char
required=True
name
Char
sii_map_id
Many2one → aeat.sii.map
comodel_name='aeat.sii.map'
ondelete='cascade'
string='Aeat SII Map'
taxes
Many2many → account.tax.template
comodel_name='account.tax.template'
No public methods.
code
Char
required=True
size=2
name
Char
required=True
type
Selection
required=True
selection=[('sale', 'Sale'), ('purchase', 'Purchase')]
name_get(self)
sii_wsdl_ic
Char
string='SuministroOpIntracomunitarias WSDL'
sii_wsdl_ic_test_address
Char
string='SuministroOpIntracomunitarias Test Address'
sii_wsdl_in
Char
string='SuministroFactRecibidas WSDL'
sii_wsdl_in_test_address
Char
string='SuministroFactRecibidas Test Address'
sii_wsdl_ott
Char
string='SuministroOpTrascendTribu WSDL'
sii_wsdl_ott_test_address
Char
string='SuministroOpTrascendTribu Test Address'
sii_wsdl_out
Char
string='SuministroFactEmitidas WSDL'
sii_wsdl_out_test_address
Char
string='SuministroFactEmitidas Test Address'
sii_wsdl_pi
Char
string='SuministroBienesInversion WSDL'
sii_wsdl_pi_test_address
Char
string='SuministroBienesInversion Test Address'
sii_wsdl_pr
Char
string='SuministroCobrosEmitidas WSDL'
sii_wsdl_pr_test_address
Char
string='SuministroCobrosEmitidas Test Address'
sii_wsdl_ps
Char
string='SuministroPagosRecibidas WSDL'
sii_wsdl_ps_test_address
Char
string='SuministroPagosRecibidas Test Address'
No public methods.
sii_exempt_cause
Selection
selection=[('none', 'None'), ('E1', '[E1] Art. 20: Operaciones interiores exentas'), ('E2', '[E2] Art. 21: Exenciones en las exportaciones de bienes'), ('E3', '[E3] Art. 22: Exenciones en las operaciones asimiladas a las exportaciones'), ('E4', '[E4] Art. 23 y 24: Exenciones relativas a regímenes aduaneros y fiscales. Exenciones zonas francas, depósitos francos y otros depósitos.'), ('E5', '[E5] Art. 25: Exenciones en las entregas de bienes destinados a otro estado miembro.'), ('E6', '[E6] Otros')]
string='SII Exempt Cause'
No public methods.
No new fields.
Public methods (3)cancel_now(self)
do_now(self)
requeue_sudo(self)
delay_time
Float
send_mode
Selection
default='auto'
selection=[('auto', 'On validate'), ('fixed', 'At fixed time'), ('delayed', 'With delay')]
sent_time
Float
sii_description
Char
help="The description for invoices. Only used when the field SII Description Method is 'Fixed'."
size=500
string='SII Description'
sii_description_method
Selection
default='manual'
help="Method for the SII invoices description, can be one of these:\n- Automatic: the description will be the join of the invoice lines description\n- Fixed: the description write on the below field 'SII Description'\n- Manual (by default): It will be necessary to manually enter the description on each invoice\n\nFor all the options you can append a header text using the below fields 'SII Sale header' and 'SII Purchase header'"
selection=[('auto', 'Automatic'), ('fixed', 'Fixed'), ('manual', 'Manual')]
string='SII Description Method'
sii_enabled
Boolean
string='Enable SII'
sii_header_customer
Char
help='An optional header description for customer invoices. Applied on all the SII description methods'
size=500
string='SII Customer header'
sii_header_supplier
Char
help='An optional header description for supplier invoices. Applied on all the SII description methods'
size=500
string='SII Supplier header'
sii_method
Selection
default='auto'
help="By default, the invoice is sent/queued in validation process. With manual method, there's a button to send the invoice."
selection=[('auto', 'Automatic'), ('manual', 'Manual')]
string='Method'
sii_period
Selection
default='monthly'
selection=[('monthly', 'Monthly'), ('quarterly', 'Quarterly')]
sii_start_date
Date
help="If this field is set, the sii won't be enabled on invoices with lower invoice date. If not set, the sii can be enabled on all invoice dates"
sii_test
Boolean
string='Is it the SII test environment?'
use_connector
Boolean
help="Check it to use connector instead of sending the invoice directly when it's validated"
No public methods.
sii_enabled
Boolean
compute='_compute_aeat_sending_enabled'
No public methods.
aeat_state
Selection
selection_add=SII_STATES
company_id
Many2one → res.company
comodel_name='res.company'
string='Company'
sii_account_registration_date
Date
copy=False
help='Indicates the account registration date set at the SII, which must be the date when the document is recorded in the system and is independent of the date of the accounting entry of the document'
readonly=True
string='SII account registration date'
sii_csv
Char
copy=False
readonly=True
string='SII CSV'
sii_description
Text
compute='_compute_sii_description'
copy=False
default='/'
readonly=False
store=True
string='SII computed description'
sii_enabled
Boolean
compute='_compute_sii_enabled'
search='_search_sii_enabled'
string='Enable SII'
sii_macrodata
Boolean
compute='_compute_macrodata'
help='Check to confirm that the document has an absolute amount greater o equal to 100 000 000,00 euros.'
string='MacroData'
sii_refund_type
Selection
compute='_compute_sii_refund_type'
readonly=False
selection=[('I', 'By differences')]
store=True
string='SII Refund Type'
sii_registration_key
Many2one → aeat.sii.mapping.registration.keys
comodel_name='aeat.sii.mapping.registration.keys'
compute='_compute_sii_registration_key'
readonly=False
store=True
string='SII registration key'
sii_registration_key_code
Char
compute='_compute_sii_registration_key_code'
readonly=True
string='SII Code'
sii_registration_key_domain
Char
compute='_compute_sii_registration_key_domain'
string='SII registration key domain'
sii_return
Text
copy=False
readonly=True
string='SII Return'
confirm_one_document(self)
send_sii(self)
account_move_ids
Many2many → account.move
string='Invoices'
args: 'account.move'
sending_number
Integer
string='Invoices Jobs Process Sending'
sent_number
Integer
string='Invoices SII Sent'
action_confirm(self)
default_get(self, fields)
| 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_sii_oca |
| VERSION | |
| VERSION | 2.22.2 |
| CATEGORY | |
| CATEGORY | Accounting & Finance |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), Acysos S.L., Diagram, Minorisa, Studio73, FactorLibre, Comunitea, Otherway, Javi Melendez |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), Acysos S.L., Diagram, Minorisa, Studio73, FactorLibre, Comunitea, Otherway, Javi Melendez |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, GitHub, Jairo Llopis, Enric Tobella, Lois Rilo, OCA Transbot, sergio-teruel, Víctor Martínez, Omar (Comunitea), Weblate, OCA-git-bot, David, Ethan Hildick, oca-ci, Eduardo De Miguel, David Ramia, Emilio Pascual, Valentin Vinagre Urteaga, David Alonso // Solvos, Ignacio Ibeas, Jose Zambudio, pol |
| 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-invoicing: - account_invoice_refund_link OCA/l10n-spain: - l10n_es_aeat OCA/queue: - queue_job OCA/server-ux: - date_range odoo/odoo: - account - base_setup - base - web - product - bus - web_tour - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - l10n_es - base_iban - base_vat - base_sparse_field |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
requests zeep cryptography unidecode |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
aeat_sii_map_view_form |
aeat.sii.map.view.form | aeat.sii.map | form | New |
aeat_sii_map_view_tree |
aeat.sii.map.view.tree | aeat.sii.map | tree | New |
aeat_sii_mapping_registration_keys_view_search |
aeat.sii.mapping.registration.keys.view.search | aeat.sii.mapping.registration.keys | search | New |
aeat_sii_mapping_registration_keys_view_tree |
aeat.sii.mapping.registration.keys.view.tree | aeat.sii.mapping.registration.keys | tree | New |
aeat_sii_tax_agency_form_view |
aeat.tax.agency.form - l10n_es_aeat_sii_oca | aeat.tax.agency | notebook | Inherits l10n_es_aeat.aeat_tax_agency_form_view |
invoice_sii_form |
account.invoice.sii.form | account.move | xpath | Inherits l10n_es_aeat.view_move_form |
invoice_sii_form_connector |
account.invoice.sii.form - Connector | account.move | group | Inherits invoice_sii_form |
l10n_es_aeat_sii_map_lines_view_tree |
aeat.sii.map.lines.view.tree | aeat.sii.map.lines | tree | New |
product_template_form_sii_view |
product.template.form.inherit.sii | product.template | group | Inherits account.product_template_form_view |
view_account_invoice_sii_filter |
account.invoice.select.sii | account.move | filter | Inherits account.view_account_invoice_filter |
view_account_journal_thirdparty_form |
account.journal | xpath | Inherits l10n_es_aeat.view_account_journal_form | |
view_account_move_reversal |
account.move.reversal | field | Inherits account.view_account_move_reversal | |
view_account_position_form |
account.fiscal.position.form | account.fiscal.position | xpath | Inherits account.view_account_position_form |
view_company_sii_form |
res.company.sii.form | res.company | notebook | Inherits base.view_company_form |
view_partner_form |
res.partner | xpath | Inherits base_vat.view_partner_form | |
view_queue_job_sii |
queue.job | tree | New | |
view_wizard_send_sii |
Send SII Wizard | wizard.send.sii | form | New |
sii_active
Boolean
copy=False
default=True
help='Enable SII for this fiscal position?'
string='SII Active'
sii_enabled
Boolean
readonly=True
related='company_id.sii_enabled'
sii_exempt_cause
Selection
default=default_sii_exempt_cause
selection='_get_selection_sii_exempt_cause'
string='SII Exempt Cause'
sii_no_taxable_cause
Selection
default='ImporteTAIReglasLocalizacion'
selection=[('ImportePorArticulos7_14_Otros', 'No sujeta - No sujeción artículo 7, 14, otros'), ('ImporteTAIReglasLocalizacion', 'Operaciones no sujetas en el TAI por reglas de localización')]
string='SII No taxable cause'
sii_partner_identification_type
Selection
selection=[('1', 'National'), ('2', 'Intracom'), ('3', 'Export')]
string='SII partner Identification Type'
sii_registration_key_purchase
Many2one → aeat.sii.mapping.registration.keys
domain=[('type', '=', 'purchase')]
args: 'aeat.sii.mapping.registration.keys', 'Default SII Registration Key for Purchases'
sii_registration_key_sale
Many2one → aeat.sii.mapping.registration.keys
domain=[('type', '=', 'sale')]
args: 'aeat.sii.mapping.registration.keys', 'Default SII Registration Key for Sales'
default_sii_exempt_cause(self)
company_sii_enabled
Boolean
related='company_id.sii_enabled'
string='Company enable SII'
sii_enabled
Boolean
default=True
string='Enable SII'
No public methods.
invoice_jobs_ids
Many2many → queue.job
column1='invoice_id'
column2='job_id'
comodel_name='queue.job'
copy=False
relation='account_move_queue_job_rel'
string='Connector Jobs'
sii_lc_operation
Boolean
copy=False
help='Check this mark if this invoice represents a complementary settlement for customs.\nThe invoice number should start with LC, QZC, QRC, A01 or A02.'
string='Customs - Complementary settlement'
sii_property_cadastrial_code
Char
copy=False
string='Real property cadastrial code'
sii_property_location
Selection
copy=False
selection=[('1', '[1]-Real property with cadastral code located within the Spanish territory except Basque Country or Navarra'), ('2', '[2]-Real property located in the Basque Country or Navarra'), ('3', '[3]-Real property in any of the above situations but without cadastral code'), ('4', '[4]-Real property located in a foreign country')]
string='Real property location'
sii_refund_specific_invoice_type
Selection
help='Fill this field when the refund are one of the specific cases of article 80 of LIVA for notifying to SII with the proper invoice type.'
selection=[('R1', 'Error based on law and Art. 80 One and Two LIVA (R1)'), ('R2', 'Art. 80 Three LIVA - Bankruptcy (R2)'), ('R3', 'Art. 80 Four LIVA - Bad debt (R3)'), ('R4', 'Rest of causes (R4)')]
sii_registration_key_additional1
Many2one → aeat.sii.mapping.registration.keys
comodel_name='aeat.sii.mapping.registration.keys'
string='Additional SII registration key'
sii_registration_key_additional2
Many2one → aeat.sii.mapping.registration.keys
comodel_name='aeat.sii.mapping.registration.keys'
string='Additional 2 SII registration key'
button_cancel(self)
button_draft(self)
cancel_one_invoice(self)
cancel_sii(self)
is_sii_invoice(self)
onchange_sii_refund_type(self)
process_send_sii(self)
write(self, vals)
sii_refund_type
Selection
selection=_selection_sii_refund_type
string='SII Refund Type'
sii_refund_type_required
Boolean
default=_default_sii_refund_type_required
string='Is SII Refund Type required?'
supplier_invoice_number_refund
Char
string='Supplier Invoice Number'
supplier_invoice_number_refund_required
Boolean
default=_default_supplier_invoice_number_refund_required
string='Is Supplier Invoice Number Required?'
reverse_moves(self)
date_from
Date
date_to
Date
map_lines
One2many → aeat.sii.map.lines
comodel_name='aeat.sii.map.lines'
inverse_name='sii_map_id'
string='Lines'
name
Char
required=True
string='Model'
No public methods.
code
Char
required=True
name
Char
sii_map_id
Many2one → aeat.sii.map
comodel_name='aeat.sii.map'
ondelete='cascade'
string='Aeat SII Map'
taxes
Many2many → account.tax.template
comodel_name='account.tax.template'
No public methods.
code
Char
required=True
size=2
name
Char
required=True
type
Selection
required=True
selection=[('sale', 'Sale'), ('purchase', 'Purchase')]
name_get(self)
sii_wsdl_ic
Char
string='SuministroOpIntracomunitarias WSDL'
sii_wsdl_ic_test_address
Char
string='SuministroOpIntracomunitarias Test Address'
sii_wsdl_in
Char
string='SuministroFactRecibidas WSDL'
sii_wsdl_in_test_address
Char
string='SuministroFactRecibidas Test Address'
sii_wsdl_ott
Char
string='SuministroOpTrascendTribu WSDL'
sii_wsdl_ott_test_address
Char
string='SuministroOpTrascendTribu Test Address'
sii_wsdl_out
Char
string='SuministroFactEmitidas WSDL'
sii_wsdl_out_test_address
Char
string='SuministroFactEmitidas Test Address'
sii_wsdl_pi
Char
string='SuministroBienesInversion WSDL'
sii_wsdl_pi_test_address
Char
string='SuministroBienesInversion Test Address'
sii_wsdl_pr
Char
string='SuministroCobrosEmitidas WSDL'
sii_wsdl_pr_test_address
Char
string='SuministroCobrosEmitidas Test Address'
sii_wsdl_ps
Char
string='SuministroPagosRecibidas WSDL'
sii_wsdl_ps_test_address
Char
string='SuministroPagosRecibidas Test Address'
No public methods.
sii_exempt_cause
Selection
selection=[('none', 'None'), ('E1', '[E1] Art. 20: Operaciones interiores exentas'), ('E2', '[E2] Art. 21: Exenciones en las exportaciones de bienes'), ('E3', '[E3] Art. 22: Exenciones en las operaciones asimiladas a las exportaciones'), ('E4', '[E4] Art. 23 y 24: Exenciones relativas a regímenes aduaneros y fiscales. Exenciones zonas francas, depósitos francos y otros depósitos.'), ('E5', '[E5] Art. 25: Exenciones en las entregas de bienes destinados a otro estado miembro.'), ('E6', '[E6] Otros')]
string='SII Exempt Cause'
No public methods.
No new fields.
Public methods (3)cancel_now(self)
do_now(self)
requeue_sudo(self)
delay_time
Float
send_mode
Selection
default='auto'
selection=[('auto', 'On validate'), ('fixed', 'At fixed time'), ('delayed', 'With delay')]
sent_time
Float
sii_description
Char
help="The description for invoices. Only used when the field SII Description Method is 'Fixed'."
size=500
string='SII Description'
sii_description_method
Selection
default='manual'
help="Method for the SII invoices description, can be one of these:\n- Automatic: the description will be the join of the invoice lines description\n- Fixed: the description write on the below field 'SII Description'\n- Manual (by default): It will be necessary to manually enter the description on each invoice\n\nFor all the options you can append a header text using the below fields 'SII Sale header' and 'SII Purchase header'"
selection=[('auto', 'Automatic'), ('fixed', 'Fixed'), ('manual', 'Manual')]
string='SII Description Method'
sii_enabled
Boolean
string='Enable SII'
sii_header_customer
Char
help='An optional header description for customer invoices. Applied on all the SII description methods'
size=500
string='SII Customer header'
sii_header_supplier
Char
help='An optional header description for supplier invoices. Applied on all the SII description methods'
size=500
string='SII Supplier header'
sii_method
Selection
default='auto'
help="By default, the invoice is sent/queued in validation process. With manual method, there's a button to send the invoice."
selection=[('auto', 'Automatic'), ('manual', 'Manual')]
string='Method'
sii_period
Selection
default='monthly'
selection=[('monthly', 'Monthly'), ('quarterly', 'Quarterly')]
sii_test
Boolean
string='Is Test Environment?'
use_connector
Boolean
help="Check it to use connector instead of sending the invoice directly when it's validated"
No public methods.
sii_enabled
Boolean
compute='_compute_sii_enabled'
sii_simplified_invoice
Boolean
help='Checking this mark, invoices done to this partner will be sent to SII as simplified invoices.'
string='Simplified invoices in SII?'
No public methods.
company_id
Many2one → res.company
comodel_name='res.company'
string='Company'
sii_account_registration_date
Date
copy=False
help='Indicates the account registration date set at the SII, which must be the date when the document is recorded in the system and is independent of the date of the accounting entry of the document'
readonly=True
string='SII account registration date'
sii_content_sent
Text
copy=False
readonly=True
string='SII last content sent'
sii_csv
Char
copy=False
readonly=True
string='SII CSV'
sii_description
Text
compute='_compute_sii_description'
copy=False
default='/'
readonly=False
store=True
string='SII computed description'
sii_enabled
Boolean
compute='_compute_sii_enabled'
string='Enable SII'
sii_header_sent
Text
copy=False
readonly=True
string='SII last header sent'
sii_macrodata
Boolean
compute='_compute_macrodata'
help='Check to confirm that the document has an absolute amount greater o equal to 100 000 000,00 euros.'
string='MacroData'
sii_refund_type
Selection
default=<expr>
selection=[('I', 'By differences')]
string='SII Refund Type'
sii_registration_key
Many2one → aeat.sii.mapping.registration.keys
comodel_name='aeat.sii.mapping.registration.keys'
compute='_compute_sii_registration_key'
readonly=False
store=True
string='SII registration key'
sii_registration_key_code
Char
compute='_compute_sii_registration_key_code'
readonly=True
string='SII Code'
sii_registration_key_domain
Char
compute='_compute_sii_registration_key_domain'
string='SII registration key domain'
sii_return
Text
copy=False
readonly=True
string='SII Return'
sii_send_error
Text
copy=False
readonly=True
string='SII Send Error'
sii_send_failed
Boolean
copy=False
help='Indicates that the last attempt to communicate this document to the SII has failed. See SII return for details'
string='SII send failed'
sii_state
Selection
copy=False
default='not_sent'
help='Indicates the state of this document in relation with the presentation at the SII'
readonly=True
selection=SII_STATES
string='SII send state'
confirm_one_document(self)
confirm_one_invoice(self)
send_sii(self)
account_move_ids
Many2many → account.move
string='Invoices'
args: 'account.move'
sending_number
Integer
string='Invoices Jobs Process Sending'
sent_number
Integer
string='Invoices SII Sent'
action_confirm(self)
default_get(self, fields)
| 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_sii_oca |
| VERSION | |
| VERSION | 2.10.2 |
| CATEGORY | |
| CATEGORY | Accounting & Finance |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), Acysos S.L., Diagram, Minorisa, Studio73, FactorLibre, Comunitea, Otherway, Javi Melendez |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), Acysos S.L., Diagram, Minorisa, Studio73, FactorLibre, Comunitea, Otherway, Javi Melendez |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, GitHub, Jairo Llopis, Enric Tobella, Harald Panten, Lois Rilo, David Alonso, OCA Transbot, Víctor Martínez, João Marques, Omar (Comunitea), oca-travis, Weblate, OCA-git-bot, Eric Antones, Ethan Hildick, JesusVMayor, oca-ci, Eduardo De Miguel, David Ramia, Ioan Galan, David Alonso // Solvos, Ignacio |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/l10n-spain |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:40:48 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/account-financial-reporting: - account_tax_balance OCA/account-invoicing: - account_invoice_refund_link OCA/l10n-spain: - l10n_es_aeat OCA/queue: - queue_job OCA/server-ux: - date_range odoo/odoo: - account - base_setup - base - web - product - bus - web_tour - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - l10n_es - base_iban - base_vat - base_sparse_field |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
cryptography<39 requests zeep unidecode |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
aeat_sii_map_view_form |
aeat.sii.map.view.form | aeat.sii.map | form | New |
aeat_sii_map_view_tree |
aeat.sii.map.view.tree | aeat.sii.map | tree | New |
aeat_sii_mapping_registration_keys_view_search |
aeat.sii.mapping.registration.keys.view.search | aeat.sii.mapping.registration.keys | search | New |
aeat_sii_mapping_registration_keys_view_tree |
aeat.sii.mapping.registration.keys.view.tree | aeat.sii.mapping.registration.keys | tree | New |
aeat_sii_tax_agency_form_view |
aeat.tax.agency.form - l10n_es_aeat_sii_oca | aeat.tax.agency | notebook | Inherits l10n_es_aeat.aeat_tax_agency_form_view |
invoice_sii_form |
account.invoice.sii.form | account.move | xpath | Inherits l10n_es_aeat.view_move_form |
invoice_sii_form_connector |
account.invoice.sii.form - Connector | account.move | group | Inherits invoice_sii_form |
l10n_es_aeat_sii_map_lines_view_tree |
aeat.sii.map.lines.view.tree | aeat.sii.map.lines | tree | New |
product_template_form_sii_view |
product.template.form.inherit.sii | product.template | group | Inherits account.product_template_form_view |
view_account_invoice_sii_filter |
account.invoice.select.sii | account.move | filter | Inherits account.view_account_invoice_filter |
view_account_journal_thirdparty_form |
account.journal | xpath | Inherits l10n_es_aeat.view_account_journal_form | |
view_account_move_reversal |
account.move.reversal | field | Inherits account.view_account_move_reversal | |
view_account_position_form |
account.fiscal.position.form | account.fiscal.position | xpath | Inherits account.view_account_position_form |
view_company_sii_form |
res.company.sii.form | res.company | notebook | Inherits base.view_company_form |
view_partner_form |
res.partner | xpath | Inherits base_vat.view_partner_form | |
view_queue_job_sii |
queue.job | tree | New |
sii_active
Boolean
copy=False
default=True
help='Enable SII for this fiscal position?'
string='SII Active'
sii_enabled
Boolean
readonly=True
related='company_id.sii_enabled'
sii_exempt_cause
Selection
default=default_sii_exempt_cause
selection='_get_selection_sii_exempt_cause'
string='SII Exempt Cause'
sii_no_taxable_cause
Selection
default='ImporteTAIReglasLocalizacion'
selection=[('ImportePorArticulos7_14_Otros', 'No sujeta - No sujeción artículo 7, 14, otros'), ('ImporteTAIReglasLocalizacion', 'Operaciones no sujetas en el TAI por reglas de localización')]
string='SII No taxable cause'
sii_partner_identification_type
Selection
selection=[('1', 'National'), ('2', 'Intracom'), ('3', 'Export')]
string='SII partner Identification Type'
sii_registration_key_purchase
Many2one → aeat.sii.mapping.registration.keys
domain=[('type', '=', 'purchase')]
args: 'aeat.sii.mapping.registration.keys', 'Default SII Registration Key for Purchases'
sii_registration_key_sale
Many2one → aeat.sii.mapping.registration.keys
domain=[('type', '=', 'sale')]
args: 'aeat.sii.mapping.registration.keys', 'Default SII Registration Key for Sales'
default_sii_exempt_cause(self)
invoice_jobs_ids
Many2many → queue.job
column1='invoice_id'
column2='job_id'
comodel_name='queue.job'
copy=False
relation='account_move_queue_job_rel'
string='Connector Jobs'
sii_account_registration_date
Date
copy=False
help='Indicates the account registration date set at the SII, which must be the date when the invoice is recorded in the system and is independent of the date of the accounting entry of the invoice'
readonly=True
string='SII account registration date'
sii_content_sent
Text
copy=False
readonly=True
string='SII last content sent'
sii_csv
Char
copy=False
readonly=True
string='SII CSV'
sii_description
Text
compute='_compute_sii_description'
copy=False
default='/'
readonly=False
store=True
string='SII computed description'
sii_enabled
Boolean
compute='_compute_sii_enabled'
string='Enable SII'
sii_header_sent
Text
copy=False
readonly=True
string='SII last header sent'
sii_lc_operation
Boolean
copy=False
help='Check this mark if this invoice represents a complementary settlement for customs.\nThe invoice number should start with LC, QZC, QRC, A01 or A02.'
string='Customs - Complementary settlement'
sii_macrodata
Boolean
compute='_compute_macrodata'
help='Check to confirm that the invoice has an absolute amount greater o equal to 100 000 000,00 euros.'
string='MacroData'
sii_property_cadastrial_code
Char
copy=False
string='Real property cadastrial code'
sii_property_location
Selection
copy=False
selection=[('1', '[1]-Real property with cadastral code located within the Spanish territory except Basque Country or Navarra'), ('2', '[2]-Real property located in the Basque Country or Navarra'), ('3', '[3]-Real property in any of the above situations but without cadastral code'), ('4', '[4]-Real property located in a foreign country')]
string='Real property location'
sii_refund_specific_invoice_type
Selection
help='Fill this field when the refund are one of the specific cases of article 80 of LIVA for notifying to SII with the proper invoice type.'
selection=[('R1', 'Error based on law and Art. 80 One and Two LIVA (R1)'), ('R2', 'Art. 80 Three LIVA - Bankruptcy (R2)'), ('R3', 'Art. 80 Four LIVA - Bad debt (R3)'), ('R4', 'Rest of causes (R4)')]
sii_refund_type
Selection
default=<expr>
selection=[('I', 'By differences')]
string='SII Refund Type'
sii_registration_key
Many2one → aeat.sii.mapping.registration.keys
comodel_name='aeat.sii.mapping.registration.keys'
compute='_compute_sii_registration_key'
readonly=False
store=True
string='SII registration key'
sii_registration_key_additional1
Many2one → aeat.sii.mapping.registration.keys
comodel_name='aeat.sii.mapping.registration.keys'
string='Additional SII registration key'
sii_registration_key_additional2
Many2one → aeat.sii.mapping.registration.keys
comodel_name='aeat.sii.mapping.registration.keys'
string='Additional 2 SII registration key'
sii_registration_key_code
Char
compute='_compute_sii_registration_key_code'
readonly=True
string='SII Code'
sii_registration_key_domain
Char
compute='_compute_sii_registration_key_domain'
string='SII registration key domain'
sii_return
Text
copy=False
readonly=True
string='SII Return'
sii_send_error
Text
copy=False
readonly=True
string='SII Send Error'
sii_send_failed
Boolean
copy=False
help='Indicates that the last attempt to communicate this invoice to the SII has failed. See SII return for details'
string='SII send failed'
sii_state
Selection
copy=False
default='not_sent'
help='Indicates the state of this invoice in relation with the presentation at the SII'
readonly=True
selection=SII_STATES
string='SII send state'
button_cancel(self)
button_draft(self)
cancel_one_invoice(self)
cancel_sii(self)
confirm_one_invoice(self)
is_sii_invoice(self)
onchange_sii_refund_type(self)
send_sii(self)
unlink(self)
write(self, vals)
sii_refund_type
Selection
selection=_selection_sii_refund_type
string='SII Refund Type'
sii_refund_type_required
Boolean
default=_default_sii_refund_type_required
string='Is SII Refund Type required?'
supplier_invoice_number_refund
Char
string='Supplier Invoice Number'
supplier_invoice_number_refund_required
Boolean
default=_default_supplier_invoice_number_refund_required
string='Is Supplier Invoice Number Required?'
reverse_moves(self)
date_from
Date
string='Date from'
date_to
Date
string='Date to'
map_lines
One2many → aeat.sii.map.lines
comodel_name='aeat.sii.map.lines'
inverse_name='sii_map_id'
string='Lines'
name
Char
required=True
string='Model'
No public methods.
code
Char
required=True
string='Code'
name
Char
string='Name'
sii_map_id
Many2one → aeat.sii.map
comodel_name='aeat.sii.map'
ondelete='cascade'
string='Aeat SII Map'
taxes
Many2many → account.tax.template
comodel_name='account.tax.template'
string='Taxes'
No public methods.
code
Char
required=True
size=2
string='Code'
name
Char
required=True
string='Name'
type
Selection
required=True
selection=[('sale', 'Sale'), ('purchase', 'Purchase')]
string='Type'
name_get(self)
sii_wsdl_ic
Char
string='SuministroOpIntracomunitarias WSDL'
sii_wsdl_ic_test_address
Char
string='SuministroOpIntracomunitarias Test Address'
sii_wsdl_in
Char
string='SuministroFactRecibidas WSDL'
sii_wsdl_in_test_address
Char
string='SuministroFactRecibidas Test Address'
sii_wsdl_ott
Char
string='SuministroOpTrascendTribu WSDL'
sii_wsdl_ott_test_address
Char
string='SuministroOpTrascendTribu Test Address'
sii_wsdl_out
Char
string='SuministroFactEmitidas WSDL'
sii_wsdl_out_test_address
Char
string='SuministroFactEmitidas Test Address'
sii_wsdl_pi
Char
string='SuministroBienesInversion WSDL'
sii_wsdl_pi_test_address
Char
string='SuministroBienesInversion Test Address'
sii_wsdl_pr
Char
string='SuministroCobrosEmitidas WSDL'
sii_wsdl_pr_test_address
Char
string='SuministroCobrosEmitidas Test Address'
sii_wsdl_ps
Char
string='SuministroPagosRecibidas WSDL'
sii_wsdl_ps_test_address
Char
string='SuministroPagosRecibidas Test Address'
No public methods.
sii_exempt_cause
Selection
selection=[('none', 'None'), ('E1', '[E1] Art. 20: Operaciones interiores exentas'), ('E2', '[E2] Art. 21: Exenciones en las exportaciones de bienes'), ('E3', '[E3] Art. 22: Exenciones en las operaciones asimiladas a las exportaciones'), ('E4', '[E4] Art. 23 y 24: Exenciones relativas a regímenes aduaneros y fiscales. Exenciones zonas francas, depósitos francos y otros depósitos.'), ('E5', '[E5] Art. 25: Exenciones en las entregas de bienes destinados a otro estado miembro.'), ('E6', '[E6] Otros')]
string='SII Exempt Cause'
No public methods.
No new fields.
Public methods (3)cancel_now(self)
do_now(self)
requeue_sudo(self)
delay_time
Float
string='Delay time'
send_mode
Selection
default='auto'
selection=[('auto', 'On validate'), ('fixed', 'At fixed time'), ('delayed', 'With delay')]
string='Send mode'
sent_time
Float
string='Sent time'
sii_description
Char
help="The description for invoices. Only used when the field SII Description Method is 'Fixed'."
size=500
string='SII Description'
sii_description_method
Selection
default='manual'
help="Method for the SII invoices description, can be one of these:\n- Automatic: the description will be the join of the invoice lines description\n- Fixed: the description write on the below field 'SII Description'\n- Manual (by default): It will be necessary to manually enter the description on each invoice\n\nFor all the options you can append a header text using the below fields 'SII Sale header' and 'SII Purchase header'"
selection=[('auto', 'Automatic'), ('fixed', 'Fixed'), ('manual', 'Manual')]
string='SII Description Method'
sii_enabled
Boolean
string='Enable SII'
sii_header_customer
Char
help='An optional header description for customer invoices. Applied on all the SII description methods'
size=500
string='SII Customer header'
sii_header_supplier
Char
help='An optional header description for supplier invoices. Applied on all the SII description methods'
size=500
string='SII Supplier header'
sii_method
Selection
default='auto'
help="By default, the invoice is sent/queued in validation process. With manual method, there's a button to send the invoice."
selection=[('auto', 'Automatic'), ('manual', 'Manual')]
string='Method'
sii_test
Boolean
string='Is Test Environment?'
use_connector
Boolean
help="Check it to use connector instead of sending the invoice directly when it's validated"
string='Use connector'
No public methods.
sii_enabled
Boolean
compute='_compute_sii_enabled'
sii_simplified_invoice
Boolean
help='Checking this mark, invoices done to this partner will be sent to SII as simplified invoices.'
string='Simplified invoices in SII?'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/l10n-spain |
| GIT | |
| GIT | https://github.com/OCA/l10n-spain.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/l10n-spain/tree/13.0/l10n_es_aeat_sii_oca |
| VERSION | |
| VERSION | 2.6.1 |
| CATEGORY | |
| CATEGORY | Accounting & Finance |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), Acysos S.L., Diagram, Minorisa, Studio73, FactorLibre, Comunitea, Otherway, Javi Melendez |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), Acysos S.L., Diagram, Minorisa, Studio73, FactorLibre, Comunitea, Otherway, Javi Melendez |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, GitHub, Enric Tobella, Harald Panten, manu, OCA Transbot, Víctor Martínez, João Marques, Omar (Comunitea), oca-travis, Weblate, OCA-git-bot, oca-ci, alvaro, David Ramia, David Alonso // Solvos |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/l10n-spain |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:34:09 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/account-financial-reporting: - account_tax_balance OCA/account-invoicing: - account_invoice_refund_link OCA/l10n-spain: - l10n_es_aeat OCA/queue: - queue_job OCA/server-ux: - date_range odoo/odoo: - account - base_setup - base - web - product - bus - web_tour - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - l10n_es - base_iban - base_vat |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
pyOpenSSL requests zeep unidecode |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
aeat_sii_map_view_form |
aeat.sii.map.view.form | aeat.sii.map | form | New |
aeat_sii_map_view_tree |
aeat.sii.map.view.tree | aeat.sii.map | tree | New |
aeat_sii_mapping_registration_keys_view_search |
aeat.sii.mapping.registration.keys.view.search | aeat.sii.mapping.registration.keys | search | New |
aeat_sii_mapping_registration_keys_view_tree |
aeat.sii.mapping.registration.keys.view.tree | aeat.sii.mapping.registration.keys | tree | New |
aeat_sii_tax_agency_form_view |
aeat.sii.tax.agency.form.view | aeat.sii.tax.agency | form | New |
aeat_sii_tax_agency_tree_view |
aeat.sii.tax.agency.tree,view | aeat.sii.tax.agency | tree | New |
invoice_sii_form |
account.invoice.sii.form | account.move | xpath | Inherits l10n_es_aeat.view_move_form |
invoice_sii_form_connector |
account.invoice.sii.form - Connector | account.move | group | Inherits invoice_sii_form |
l10n_es_aeat_sii_map_lines_view_tree |
aeat.sii.map.lines.view.tree | aeat.sii.map.lines | tree | New |
l10n_es_sii_form_view |
l10n.es.aeat.sii.form | l10n.es.aeat.sii | form | New |
l10n_es_sii_password_wizard_view |
l10n.es.aeat.sii.password.wizard | l10n.es.aeat.sii.password | form | New |
l10n_es_sii_tree_view |
l10n.es.aeat.sii.tree | l10n.es.aeat.sii | tree | New |
product_template_form_sii_view |
product.template.form.inherit.sii | product.template | group | Inherits product.product_template_form_view |
view_account_invoice_sii_filter |
account.invoice.select.sii | account.move | filter | Inherits account.view_account_invoice_filter |
view_account_journal_thirdparty_form |
account.journal | xpath | Inherits l10n_es_aeat.view_account_journal_form | |
view_account_move_reversal |
account.move.reversal | field | Inherits account.view_account_move_reversal | |
view_account_position_form |
account.fiscal.position.form | account.fiscal.position | xpath | Inherits account.view_account_position_form |
view_company_sii_form |
res.company.sii.form | res.company | notebook | Inherits base.view_company_form |
view_partner_form |
res.partner | xpath | Inherits base_vat.view_partner_form | |
view_queue_job_sii |
queue.job | tree | New |
sii_active
Boolean
copy=False
default=True
help='Enable SII for this fiscal position?'
string='SII Active'
sii_enabled
Boolean
readonly=True
related='company_id.sii_enabled'
sii_exempt_cause
Selection
default=default_sii_exempt_cause
selection='_get_selection_sii_exempt_cause'
string='SII Exempt Cause'
sii_no_taxable_cause
Selection
default='ImporteTAIReglasLocalizacion'
selection=[('ImportePorArticulos7_14_Otros', 'No sujeta - No sujeción artículo 7, 14, otros'), ('ImporteTAIReglasLocalizacion', 'Operaciones no sujetas en el TAI por reglas de localización')]
string='SII No taxable cause'
sii_partner_identification_type
Selection
selection=[('1', 'National'), ('2', 'Intracom'), ('3', 'Export')]
string='SII partner Identification Type'
sii_registration_key_purchase
Many2one → aeat.sii.mapping.registration.keys
domain=[('type', '=', 'purchase')]
args: 'aeat.sii.mapping.registration.keys', 'Default SII Registration Key for Purchases'
sii_registration_key_sale
Many2one → aeat.sii.mapping.registration.keys
domain=[('type', '=', 'sale')]
args: 'aeat.sii.mapping.registration.keys', 'Default SII Registration Key for Sales'
default_sii_exempt_cause(self)
invoice_jobs_ids
Many2many → queue.job
column1='invoice_id'
column2='job_id'
comodel_name='queue.job'
copy=False
relation='account_move_queue_job_rel'
string='Connector Jobs'
sii_account_registration_date
Date
copy=False
help='Indicates the account registration date set at the SII, which must be the date when the invoice is recorded in the system and is independent of the date of the accounting entry of the invoice'
readonly=True
string='SII account registration date'
sii_content_sent
Text
copy=False
readonly=True
string='SII last content sent'
sii_csv
Char
copy=False
readonly=True
string='SII CSV'
sii_description
Text
compute='_compute_sii_description'
copy=False
default='/'
readonly=False
size=500
store=True
string='SII computed description'
sii_enabled
Boolean
compute='_compute_sii_enabled'
string='Enable SII'
sii_header_sent
Text
copy=False
readonly=True
string='SII last header sent'
sii_lc_operation
Boolean
copy=False
help='Check this mark if this invoice represents a complementary settlement for customs.\nThe invoice number should start with LC, QZC, QRC, A01 or A02.'
string='Customs - Complementary settlement'
sii_macrodata
Boolean
compute='_compute_macrodata'
help='Check to confirm that the invoice has an absolute amount greater o equal to 100 000 000,00 euros.'
string='MacroData'
sii_property_cadastrial_code
Char
copy=False
size=25
string='Real property cadastrial code'
sii_property_location
Selection
copy=False
selection=[('1', '[1]-Real property with cadastral code located within the Spanish territory except Basque Country or Navarra'), ('2', '[2]-Real property located in the Basque Country or Navarra'), ('3', '[3]-Real property in any of the above situations but without cadastral code'), ('4', '[4]-Real property located in a foreign country')]
string='Real property location'
sii_refund_specific_invoice_type
Selection
help='Fill this field when the refund are one of the specific cases of article 80 of LIVA for notifying to SII with the proper invoice type.'
selection=[('R1', 'Error based on law and Art. 80 One and Two LIVA (R1)'), ('R2', 'Art. 80 Three LIVA - Bankruptcy (R2)'), ('R3', 'Art. 80 Four LIVA - Bad debt (R3)'), ('R4', 'Rest of causes (R4)')]
sii_refund_type
Selection
default=<expr>
selection=[('I', 'By differences')]
string='SII Refund Type'
sii_registration_key
Many2one → aeat.sii.mapping.registration.keys
comodel_name='aeat.sii.mapping.registration.keys'
default=_default_sii_registration_key
string='SII registration key'
sii_registration_key_additional1
Many2one → aeat.sii.mapping.registration.keys
comodel_name='aeat.sii.mapping.registration.keys'
string='Additional SII registration key'
sii_registration_key_additional2
Many2one → aeat.sii.mapping.registration.keys
comodel_name='aeat.sii.mapping.registration.keys'
string='Additional 2 SII registration key'
sii_registration_key_code
Char
readonly=True
related='sii_registration_key.code'
sii_registration_key_domain
Char
compute='_compute_sii_registration_key_domain'
string='SII registration key domain'
sii_return
Text
copy=False
readonly=True
string='SII Return'
sii_send_error
Text
copy=False
readonly=True
string='SII Send Error'
sii_send_failed
Boolean
copy=False
help='Indicates that the last attempt to communicate this invoice to the SII has failed. See SII return for details'
string='SII send failed'
sii_state
Selection
copy=False
default='not_sent'
help='Indicates the state of this invoice in relation with the presentation at the SII'
readonly=True
selection=SII_STATES
string='SII send state'
button_cancel(self)
button_draft(self)
cancel_one_invoice(self)
cancel_sii(self)
confirm_one_invoice(self)
create(self, vals)
is_sii_invoice(self)
onchange_fiscal_position_id_l10n_es_aeat_sii(self)
onchange_sii_refund_type(self)
post(self)
send_sii(self)
unlink(self)
write(self, vals)
sii_refund_type
Selection
selection=_selection_sii_refund_type
string='SII Refund Type'
sii_refund_type_required
Boolean
default=_default_sii_refund_type_required
string='Is SII Refund Type required?'
supplier_invoice_number_refund
Char
string='Supplier Invoice Number'
supplier_invoice_number_refund_required
Boolean
default=_default_supplier_invoice_number_refund_required
string='Is Supplier Invoice Number Required?'
reverse_moves(self)
date_from
Date
string='Date from'
date_to
Date
string='Date to'
map_lines
One2many → aeat.sii.map.lines
comodel_name='aeat.sii.map.lines'
inverse_name='sii_map_id'
string='Lines'
name
Char
required=True
string='Model'
No public methods.
code
Char
required=True
string='Code'
name
Char
string='Name'
sii_map_id
Many2one → aeat.sii.map
comodel_name='aeat.sii.map'
ondelete='cascade'
string='Aeat SII Map'
taxes
Many2many → account.tax.template
comodel_name='account.tax.template'
string='Taxes'
No public methods.
code
Char
required=True
size=2
string='Code'
name
Char
required=True
string='Name'
type
Selection
required=True
selection=[('sale', 'Sale'), ('purchase', 'Purchase')]
string='Type'
name_get(self)
name
Char
required=True
string='Tax Agency'
wsdl_ic
Char
required=True
string='SuministroOpIntracomunitarias WSDL'
wsdl_ic_test_address
Char
string='SuministroOpIntracomunitarias Test Address'
wsdl_in
Char
required=True
string='SuministroFactRecibidas WSDL'
wsdl_in_test_address
Char
string='SuministroFactRecibidas Test Address'
wsdl_ott
Char
required=True
string='SuministroOpTrascendTribu WSDL'
wsdl_ott_test_address
Char
string='SuministroOpTrascendTribu Test Address'
wsdl_out
Char
required=True
string='SuministroFactEmitidas WSDL'
wsdl_out_test_address
Char
string='SuministroFactEmitidas Test Address'
wsdl_pi
Char
required=True
string='SuministroBienesInversion WSDL'
wsdl_pi_test_address
Char
string='SuministroBienesInversion Test Address'
wsdl_pr
Char
required=True
string='SuministroCobrosEmitidas WSDL'
wsdl_pr_test_address
Char
string='SuministroCobrosEmitidas Test Address'
wsdl_ps
Char
required=True
string='SuministroPagosRecibidas WSDL'
wsdl_ps_test_address
Char
string='SuministroPagosRecibidas Test Address'
No public methods.
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
required=True
string='Company'
date_end
Date
string='End Date'
date_start
Date
string='Start Date'
file
Binary
required=True
string='File'
name
Char
string='Name'
private_key
Char
readonly=True
string='Private Key'
public_key
Char
readonly=True
string='Public Key'
state
Selection
default='draft'
string='State'
args: [('draft', 'Draft'), ('active', 'Active')]
action_activate(self)
load_password_wizard(self)
folder
Char
required=True
string='Folder Name'
password
Char
required=True
string='Password'
get_keys(self)
sii_exempt_cause
Selection
selection=[('none', 'None'), ('E1', '[E1] Art. 20: Operaciones interiores exentas'), ('E2', '[E2] Art. 21: Exenciones en las exportaciones de bienes'), ('E3', '[E3] Art. 22: Exenciones en las operaciones asimiladas a las exportaciones'), ('E4', '[E4] Art. 23 y 24: Exenciones relativas a regímenes aduaneros y fiscales. Exenciones zonas francas, depósitos francos y otros depósitos.'), ('E5', '[E5] Art. 25: Exenciones en las entregas de bienes destinados a otro estado miembro.'), ('E6', '[E6] Otros')]
string='SII Exempt Cause'
No public methods.
No new fields.
Public methods (3)cancel_now(self)
do_now(self)
requeue_sudo(self)
delay_time
Float
string='Delay time'
send_mode
Selection
default='auto'
selection=[('auto', 'On validate'), ('fixed', 'At fixed time'), ('delayed', 'With delay')]
string='Send mode'
sent_time
Float
string='Sent time'
sii_description
Char
help="The description for invoices. Only used when the field SII Description Method is 'Fixed'."
size=500
string='SII Description'
sii_description_method
Selection
default='manual'
help="Method for the SII invoices description, can be one of these:\n- Automatic: the description will be the join of the invoice lines description\n- Fixed: the description write on the below field 'SII Description'\n- Manual (by default): It will be necessary to manually enter the description on each invoice\n\nFor all the options you can append a header text using the below fields 'SII Sale header' and 'SII Purchase header'"
selection=[('auto', 'Automatic'), ('fixed', 'Fixed'), ('manual', 'Manual')]
string='SII Description Method'
sii_enabled
Boolean
string='Enable SII'
sii_header_customer
Char
help='An optional header description for customer invoices. Applied on all the SII description methods'
size=500
string='SII Customer header'
sii_header_supplier
Char
help='An optional header description for supplier invoices. Applied on all the SII description methods'
size=500
string='SII Supplier header'
sii_method
Selection
default='auto'
help="By default, the invoice is sent/queued in validation process. With manual method, there's a button to send the invoice."
selection=[('auto', 'Automatic'), ('manual', 'Manual')]
string='Method'
sii_tax_agency_id
Many2one → aeat.sii.tax.agency
string='SII Tax Agency'
args: 'aeat.sii.tax.agency'
sii_test
Boolean
string='Is Test Environment?'
use_connector
Boolean
help="Check it to use connector instead of sending the invoice directly when it's validated"
string='Use connector'
No public methods.
sii_enabled
Boolean
compute='_compute_sii_enabled'
sii_simplified_invoice
Boolean
help='Checking this mark, invoices done to this partner will be sent to SII as simplified invoices.'
string='Simplified invoices in SII?'
No public methods.