| 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_facturae |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | Accounting & Finance |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), FactorLibre, Comunitea, ASR-OSS, Tecon, Dixmit |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), FactorLibre, Comunitea, ASR-OSS, Tecon, Dixmit |
| COMMITTERS | |
| COMMITTERS | OCA-git-bot, oca-ci, AlexGarS73 |
| 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/bank-payment: - account_payment_mode OCA/community-data-files: - base_bank_from_iban - base_iso3166 OCA/l10n-spain: - l10n_es_partner - l10n_es_aeat OCA/reporting-engine: - report_xml - report_qweb_parameter 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 - base_iban - base_vat - l10n_es - account_edi_ubl_cii |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
pycountry xmlsig schwifty==2024.4.0 unidecode |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
address_contact |
address_contact | ir.ui.view | qweb | New |
administrative_center |
administrative_center | ir.ui.view | qweb | New |
entity |
entity | ir.ui.view | qweb | New |
facturae_header |
facturae_header | ir.ui.view | qweb | New |
facturae_signed |
facturae_signed | ir.ui.view | qweb | New |
template_facturae |
template_facturae | ir.ui.view | qweb | New |
view_account_journal_thirdparty_form |
account.journal | xpath | Inherits l10n_es_aeat.view_account_journal_form | |
view_account_move_reversal |
account.move.reversal.form | account.move.reversal | field | Inherits account.view_account_move_reversal |
view_company_form |
res.company.form | res.company | notebook | Inherits base.view_company_form |
view_facturae_fields |
account.move.line.form (in l10n_es_facturae_fields) | account.move.line | form | New |
view_move_form |
account.move.form | account.move | xpath | Inherits l10n_es_aeat.view_move_form |
view_partner_form |
res.partner.form | res.partner | xpath | Inherits account.view_partner_property_form |
view_payment_mode_form_add_face_code |
payment.mode.form.add_face_code | account.payment.mode | field | Inherits account_payment_mode.account_payment_mode_form |
view_tax_form |
account.tax.search | account.tax | field | Inherits account.view_tax_form |
wizard_create_facturae |
create.facturae.form | create.facturae | form | New |
No new fields.
Public methods (0)No public methods.
correction_method
Selection
selection=[('01', 'Rectificación íntegra'), ('02', 'Rectificación por diferencias'), ('03', 'Rectificación por descuento por volumen de operaciones durante un periodo'), ('04', 'Autorizadas por la Agencia Tributaria')]
facturae
Boolean
compute='_compute_facturae'
facturae_end_date
Date
readonly=True
facturae_file_reference
Char
facturae_receiver_contract_reference
Char
facturae_receiver_transaction_reference
Char
facturae_refund_reason
Selection
selection=[('01', 'Número de la factura'), ('02', 'Serie de la factura'), ('03', 'Fecha expedición'), ('04', 'Nombre y apellidos/Razón social - Emisor'), ('05', 'Nombre y apellidos/Razón social - Receptor'), ('06', 'Identificación fiscal Emisor/Obligado'), ('07', 'Identificación fiscal Receptor'), ('08', 'Domicilio Emisor/Obligado'), ('09', 'Domicilio Receptor'), ('10', 'Detalle Operación'), ('11', 'Porcentaje impositivo a aplicar'), ('12', 'Cuota tributaria a aplicar'), ('13', 'Fecha/Periodo a aplicar'), ('14', 'Clase de factura'), ('15', 'Literales legales'), ('16', 'Base imponible'), ('80', 'Cálculo de cuotas repercutidas'), ('81', 'Cálculo de cuotas retenidas'), ('82', 'Base imponible modificada por devolución de envases/embalajes'), ('83', 'Base imponible modificada por descuentos y bonificaciones'), ('84', 'Base imponible modificada por resolución firme, judicial o administrativa'), ('85', 'Base imponible modificada cuotas repercutidas no satisfechas. Auto de declaración de concurso')]
facturae_start_date
Date
readonly=True
facturae_withheld_amount
Monetary
compute='_compute_facturae_withheld_amount'
readonly=False
store=True
string='Withheld Amount'
facturae_withheld_percent
Float
string='Withheld Percent'
facturae_withheld_reason
Char
string='Withheld Reason'
l10n_es_facturae_attachment_ids
One2many → l10n.es.facturae.attachment
copy=False
inverse_name='move_id'
args: 'l10n.es.facturae.attachment'
get_correction_method_string(self)
get_exchange_rate(self, euro_rate, currency_rate)
get_facturae_hide_discount(self)
get_facturae_version(self)
get_narration(self)
get_refund_reason_string(self)
validate_company_facturae_fields(self, company_id)
validate_facturae_fields(self)
facturae_end_date
Date
facturae_file_date
Date
facturae_file_reference
Char
facturae_issuer_contract_date
Date
facturae_issuer_contract_reference
Char
facturae_issuer_transaction_date
Date
facturae_issuer_transaction_reference
Char
facturae_receiver_contract_date
Date
facturae_receiver_contract_reference
Char
facturae_receiver_transaction_date
Date
facturae_receiver_transaction_reference
Char
facturae_start_date
Date
facturae_transaction_date
Date
button_edit_facturae_fields(self)
correction_method
Selection
default='02'
selection=[('01', 'Rectificación íntegra'), ('02', 'Rectificación por diferencias'), ('03', 'Rectificación por descuento por volumen de operaciones durante un periodo'), ('04', 'Autorizadas por la Agencia Tributaria')]
refund_reason
Selection
default='10'
selection=[('01', 'Número de la factura'), ('02', 'Serie de la factura'), ('03', 'Fecha expedición'), ('04', 'Nombre y apellidos/Razón social - Emisor'), ('05', 'Nombre y apellidos/Razón social - Receptor'), ('06', 'Identificación fiscal Emisor/Obligado'), ('07', 'Identificación fiscal Receptor'), ('08', 'Domicilio Emisor/Obligado'), ('09', 'Domicilio Receptor'), ('10', 'Detalle Operación'), ('11', 'Porcentaje impositivo a aplicar'), ('12', 'Cuota tributaria a aplicar'), ('13', 'Fecha/Periodo a aplicar'), ('14', 'Clase de factura'), ('15', 'Literales legales'), ('16', 'Base imponible'), ('80', 'Cálculo de cuotas repercutidas'), ('81', 'Cálculo de cuotas retenidas'), ('82', 'Base imponible modificada por devolución de envases/embalajes'), ('83', 'Base imponible modificada por descuentos y bonificaciones'), ('84', 'Base imponible modificada por resolución firme, judicial o administrativa'), ('85', 'Base imponible modificada cuotas repercutidas no satisfechas. Auto de declaración de concurso')]
reverse_moves(self, is_modify=False)
facturae_code
Selection
default='04'
selection=[('01', '[01] Al contado'), ('02', '[02] Recibo Domiciliado'), ('03', '[03] Recibo'), ('04', '[04] Transferencia'), ('05', '[05] Letra Aceptada'), ('06', '[06] Crédito Documentario'), ('07', '[07] Contrato Adjudicación'), ('08', '[08] Letra de cambio'), ('09', '[09] Pagaré a la Orden'), ('10', '[10] Pagaré No a la Orden'), ('11', '[11] Cheque'), ('12', '[12] Reposición'), ('13', '[13] Especiales'), ('14', '[14] Compensación'), ('15', '[15] Giro postal'), ('16', '[16] Cheque conformado'), ('17', '[17] Cheque bancario'), ('18', '[18] Pago contra reembolso'), ('19', '[19] Pago mediante tarjeta')]
No public methods.
facturae_code
Selection
selection=[('01', 'IVA: Impuesto sobre el valor añadido'), ('02', 'IPSI: Impuesto sobre la producción, los servicios y la importación'), ('03', 'IGIC: Impuesto general indirecto de Canarias'), ('04', 'IRPF: Impuesto sobre la Renta de las personas físicas'), ('05', 'Otro'), ('06', 'ITPAJD: Impuesto sobre transmisiones patrimoniales y actos jurídicos documentados'), ('07', 'IE: Impuestos especiales'), ('08', 'Ra: Renta aduanas'), ('09', 'IGTECM: Impuesto general sobre el tráfico de empresas que se aplica en Ceuta y Melilla'), ('10', 'IECDPCAC: Impuesto especial sobre los combustibles derivados del petróleo en la Comunidad Autonoma Canaria'), ('11', 'IIIMAB: Impuesto sobre las instalaciones que inciden sobre el medio ambiente en la Baleares'), ('12', 'ICIO: Impuesto sobre las construcciones, instalaciones y obras'), ('13', 'IMVDN: Impuesto municipal sobre las viviendas desocupadas en Navarra'), ('14', 'IMSN: Impuesto municipal sobre solares en Navarra'), ('15', 'IMGSN: Impuesto municipal sobre gastos suntuarios en Navarra'), ('16', 'IMPN: Impuesto municipal sobre publicidad en Navarra'), ('17', 'REIVA: Régimen especial de IVA para agencias de viajes'), ('18', 'REIGIC: Régimen especial de IGIC: para agencias de viajes'), ('19', 'REIPSI: Régimen especial de IPSI para agencias de viajes')]
No public methods.
facturae
Binary
readonly=True
args: 'Facturae file'
facturae_fname
Char
size=64
args: 'File name'
firmar_facturae
Boolean
default=True
help='Requires certificate in the company file'
args: 'Do you want to digitally sign the generated file?'
note
Text
state
Selection
default='first'
readonly=True
args: [('first', 'First'), ('second', 'Second')]
create_facturae_file(self)
file
Binary
required=True
filename
Char
move_id
Many2one → account.move
ondelete='cascade'
required=True
args: 'account.move'
No public methods.
No new fields.
Public methods (1)generate_report(self, ir_report, docids, data=None)
No new fields.
Public methods (1)generate_report(self, ir_report, docids, data=None)
facturae_hide_discount
Boolean
help='The unit price will be recalculated applying the discount'
string='Hide Facturae discount'
facturae_registration_additional
Char
size=20
facturae_registration_book
Char
size=20
facturae_registration_folio
Char
size=20
facturae_registration_location
Char
size=20
facturae_registration_section
Char
size=20
facturae_registration_sheet
Char
size=20
facturae_registration_volume
Char
size=20
facturae_version
Selection
No public methods.
No new fields.
Public methods (1)get_current_rate(self)
attach_invoice_as_annex
Boolean
facturae
Boolean
copy=False
args: 'Factura electrónica'
facturae_hide_discount
Boolean
help='The unit price will be recalculated applying the discount'
string='Hide Facturae discount'
facturae_version
Selection
oficina_contable
Char
size=10
organo_gestor
Char
size=10
organo_proponente
Char
size=10
args: 'Órgano proponente'
unidad_tramitadora
Char
size=10
check_facturae(self)
get_facturae_residence(self)
| 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_facturae |
| VERSION | |
| VERSION | 1.2.3 |
| CATEGORY | |
| CATEGORY | Accounting & Finance |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), FactorLibre, Comunitea, ASR-OSS, Tecon, Dixmit |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), FactorLibre, Comunitea, ASR-OSS, Tecon, Dixmit |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, Enric Tobella, Weblate, OCA-git-bot, oca-ci, Luis Rodriguez |
| 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/bank-payment: - account_payment_partner - account_payment_mode OCA/community-data-files: - base_bank_from_iban - base_iso3166 OCA/l10n-spain: - l10n_es_partner - l10n_es_aeat OCA/reporting-engine: - report_xml - report_qweb_parameter 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 - base_iban - base_vat - l10n_es |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
pycountry xmlsig schwifty==2024.4.0 unidecode |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
address_contact |
address_contact | ir.ui.view | qweb | New |
administrative_center |
administrative_center | ir.ui.view | qweb | New |
entity |
entity | ir.ui.view | qweb | New |
facturae_header |
facturae_header | ir.ui.view | qweb | New |
facturae_signed |
facturae_signed | ir.ui.view | qweb | New |
template_facturae |
template_facturae | ir.ui.view | qweb | New |
view_account_journal_thirdparty_form |
account.journal | xpath | Inherits l10n_es_aeat.view_account_journal_form | |
view_account_move_reversal |
account.move.reversal.form | account.move.reversal | field | Inherits account.view_account_move_reversal |
view_company_form |
res.company.form | res.company | notebook | Inherits base.view_company_form |
view_facturae_fields |
account.move.line.form (in l10n_es_facturae_fields) | account.move.line | form | New |
view_move_form |
account.move.form | account.move | xpath | Inherits l10n_es_aeat.view_move_form |
view_partner_form |
res.partner.form | res.partner | xpath | Inherits account.view_partner_property_form |
view_payment_mode_form_add_face_code |
payment.mode.form.add_face_code | account.payment.mode | field | Inherits account_payment_mode.account_payment_mode_form |
view_tax_form |
account.tax.search | account.tax | field | Inherits account.view_tax_form |
wizard_create_facturae |
create.facturae.form | create.facturae | form | New |
No new fields.
Public methods (0)No public methods.
correction_method
Selection
selection=[('01', 'Rectificación íntegra'), ('02', 'Rectificación por diferencias'), ('03', 'Rectificación por descuento por volumen de operaciones durante un periodo'), ('04', 'Autorizadas por la Agencia Tributaria')]
facturae
Boolean
compute='_compute_facturae'
facturae_end_date
Date
readonly=True
facturae_file_reference
Char
facturae_receiver_contract_reference
Char
facturae_receiver_transaction_reference
Char
facturae_refund_reason
Selection
selection=[('01', 'Número de la factura'), ('02', 'Serie de la factura'), ('03', 'Fecha expedición'), ('04', 'Nombre y apellidos/Razón social - Emisor'), ('05', 'Nombre y apellidos/Razón social - Receptor'), ('06', 'Identificación fiscal Emisor/Obligado'), ('07', 'Identificación fiscal Receptor'), ('08', 'Domicilio Emisor/Obligado'), ('09', 'Domicilio Receptor'), ('10', 'Detalle Operación'), ('11', 'Porcentaje impositivo a aplicar'), ('12', 'Cuota tributaria a aplicar'), ('13', 'Fecha/Periodo a aplicar'), ('14', 'Clase de factura'), ('15', 'Literales legales'), ('16', 'Base imponible'), ('80', 'Cálculo de cuotas repercutidas'), ('81', 'Cálculo de cuotas retenidas'), ('82', 'Base imponible modificada por devolución de envases/embalajes'), ('83', 'Base imponible modificada por descuentos y bonificaciones'), ('84', 'Base imponible modificada por resolución firme, judicial o administrativa'), ('85', 'Base imponible modificada cuotas repercutidas no satisfechas. Auto de declaración de concurso')]
facturae_start_date
Date
readonly=True
facturae_withheld_amount
Monetary
compute='_compute_facturae_withheld_amount'
readonly=False
store=True
string='Withheld Amount'
facturae_withheld_percent
Float
string='Withheld Percent'
facturae_withheld_reason
Char
string='Withheld Reason'
l10n_es_facturae_attachment_ids
One2many → l10n.es.facturae.attachment
copy=False
inverse_name='move_id'
args: 'l10n.es.facturae.attachment'
get_correction_method_string(self)
get_exchange_rate(self, euro_rate, currency_rate)
get_facturae_hide_discount(self)
get_facturae_version(self)
get_narration(self)
get_refund_reason_string(self)
validate_company_facturae_fields(self, company_id)
validate_facturae_fields(self)
facturae_end_date
Date
facturae_file_date
Date
facturae_file_reference
Char
facturae_issuer_contract_date
Date
facturae_issuer_contract_reference
Char
facturae_issuer_transaction_date
Date
facturae_issuer_transaction_reference
Char
facturae_receiver_contract_date
Date
facturae_receiver_contract_reference
Char
facturae_receiver_transaction_date
Date
facturae_receiver_transaction_reference
Char
facturae_start_date
Date
facturae_transaction_date
Date
button_edit_facturae_fields(self)
correction_method
Selection
default='02'
selection=[('01', 'Rectificación íntegra'), ('02', 'Rectificación por diferencias'), ('03', 'Rectificación por descuento por volumen de operaciones durante un periodo'), ('04', 'Autorizadas por la Agencia Tributaria')]
refund_reason
Selection
default='10'
selection=[('01', 'Número de la factura'), ('02', 'Serie de la factura'), ('03', 'Fecha expedición'), ('04', 'Nombre y apellidos/Razón social - Emisor'), ('05', 'Nombre y apellidos/Razón social - Receptor'), ('06', 'Identificación fiscal Emisor/Obligado'), ('07', 'Identificación fiscal Receptor'), ('08', 'Domicilio Emisor/Obligado'), ('09', 'Domicilio Receptor'), ('10', 'Detalle Operación'), ('11', 'Porcentaje impositivo a aplicar'), ('12', 'Cuota tributaria a aplicar'), ('13', 'Fecha/Periodo a aplicar'), ('14', 'Clase de factura'), ('15', 'Literales legales'), ('16', 'Base imponible'), ('80', 'Cálculo de cuotas repercutidas'), ('81', 'Cálculo de cuotas retenidas'), ('82', 'Base imponible modificada por devolución de envases/embalajes'), ('83', 'Base imponible modificada por descuentos y bonificaciones'), ('84', 'Base imponible modificada por resolución firme, judicial o administrativa'), ('85', 'Base imponible modificada cuotas repercutidas no satisfechas. Auto de declaración de concurso')]
reverse_moves(self, is_modify=False)
facturae_code
Selection
default='04'
selection=[('01', '[01] Al contado'), ('02', '[02] Recibo Domiciliado'), ('03', '[03] Recibo'), ('04', '[04] Transferencia'), ('05', '[05] Letra Aceptada'), ('06', '[06] Crédito Documentario'), ('07', '[07] Contrato Adjudicación'), ('08', '[08] Letra de cambio'), ('09', '[09] Pagaré a la Orden'), ('10', '[10] Pagaré No a la Orden'), ('11', '[11] Cheque'), ('12', '[12] Reposición'), ('13', '[13] Especiales'), ('14', '[14] Compensación'), ('15', '[15] Giro postal'), ('16', '[16] Cheque conformado'), ('17', '[17] Cheque bancario'), ('18', '[18] Pago contra reembolso'), ('19', '[19] Pago mediante tarjeta')]
No public methods.
facturae_code
Selection
selection=[('01', 'IVA: Impuesto sobre el valor añadido'), ('02', 'IPSI: Impuesto sobre la producción, los servicios y la importación'), ('03', 'IGIC: Impuesto general indirecto de Canarias'), ('04', 'IRPF: Impuesto sobre la Renta de las personas físicas'), ('05', 'Otro'), ('06', 'ITPAJD: Impuesto sobre transmisiones patrimoniales y actos jurídicos documentados'), ('07', 'IE: Impuestos especiales'), ('08', 'Ra: Renta aduanas'), ('09', 'IGTECM: Impuesto general sobre el tráfico de empresas que se aplica en Ceuta y Melilla'), ('10', 'IECDPCAC: Impuesto especial sobre los combustibles derivados del petróleo en la Comunidad Autonoma Canaria'), ('11', 'IIIMAB: Impuesto sobre las instalaciones que inciden sobre el medio ambiente en la Baleares'), ('12', 'ICIO: Impuesto sobre las construcciones, instalaciones y obras'), ('13', 'IMVDN: Impuesto municipal sobre las viviendas desocupadas en Navarra'), ('14', 'IMSN: Impuesto municipal sobre solares en Navarra'), ('15', 'IMGSN: Impuesto municipal sobre gastos suntuarios en Navarra'), ('16', 'IMPN: Impuesto municipal sobre publicidad en Navarra'), ('17', 'REIVA: Régimen especial de IVA para agencias de viajes'), ('18', 'REIGIC: Régimen especial de IGIC: para agencias de viajes'), ('19', 'REIPSI: Régimen especial de IPSI para agencias de viajes')]
No public methods.
facturae
Binary
readonly=True
args: 'Facturae file'
facturae_fname
Char
size=64
args: 'File name'
firmar_facturae
Boolean
default=True
help='Requires certificate in the company file'
args: 'Do you want to digitally sign the generated file?'
note
Text
state
Selection
default='first'
readonly=True
args: [('first', 'First'), ('second', 'Second')]
create_facturae_file(self)
file
Binary
required=True
filename
Char
move_id
Many2one → account.move
ondelete='cascade'
required=True
args: 'account.move'
No public methods.
No new fields.
Public methods (1)generate_report(self, ir_report, docids, data=None)
No new fields.
Public methods (1)generate_report(self, ir_report, docids, data=None)
facturae_hide_discount
Boolean
help='The unit price will be recalculated applying the discount'
string='Hide Facturae discount'
facturae_registration_additional
Char
size=20
facturae_registration_book
Char
size=20
facturae_registration_folio
Char
size=20
facturae_registration_location
Char
size=20
facturae_registration_section
Char
size=20
facturae_registration_sheet
Char
size=20
facturae_registration_volume
Char
size=20
facturae_version
Selection
No public methods.
No new fields.
Public methods (1)get_current_rate(self)
attach_invoice_as_annex
Boolean
facturae
Boolean
copy=False
args: 'Factura electrónica'
facturae_hide_discount
Boolean
help='The unit price will be recalculated applying the discount'
string='Hide Facturae discount'
facturae_version
Selection
oficina_contable
Char
size=10
organo_gestor
Char
size=10
organo_proponente
Char
size=10
args: 'Órgano proponente'
unidad_tramitadora
Char
size=10
check_facturae(self)
get_facturae_residence(self)
| 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_facturae |
| VERSION | |
| VERSION | 1.5.1 |
| CATEGORY | |
| CATEGORY | Accounting & Finance |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), FactorLibre, Comunitea, Creu Blanca, ASR-OSS, Tecon |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), FactorLibre, Comunitea, Creu Blanca, ASR-OSS, Tecon |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, GitHub, Enric Tobella, sergio-teruel, Víctor Martínez, Weblate, OCA-git-bot, David, oca-ci, David Ramia, Luis Rodriguez, Christian-RB, extrememicro, bobrador, Manuel Regidor, Hermi |
| 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/bank-payment: - account_payment_partner - account_payment_mode OCA/community-data-files: - base_bank_from_iban - base_iso3166 OCA/l10n-spain: - l10n_es_partner - l10n_es_aeat OCA/reporting-engine: - report_xml - report_qweb_parameter 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 - base_iban - base_vat - l10n_es |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
pycountry xmlsig schwifty==2024.4.0 lxml unidecode |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
address_contact |
address_contact | ir.ui.view | qweb | New |
administrative_center |
administrative_center | ir.ui.view | qweb | New |
entity |
entity | ir.ui.view | qweb | New |
facturae_header |
facturae_header | ir.ui.view | qweb | New |
facturae_signed |
facturae_signed | ir.ui.view | qweb | New |
template_facturae |
template_facturae | ir.ui.view | qweb | New |
view_account_journal_thirdparty_form |
account.journal | xpath | Inherits l10n_es_aeat.view_account_journal_form | |
view_account_move_reversal |
account.move.reversal.form | account.move.reversal | field | Inherits account.view_account_move_reversal |
view_company_form |
res.company.form | res.company | notebook | Inherits base.view_company_form |
view_facturae_fields |
account.move.line.form (in l10n_es_facturae_fields) | account.move.line | form | New |
view_move_form |
account.move.form | account.move | xpath | Inherits l10n_es_aeat.view_move_form |
view_partner_form |
res.partner.form | res.partner | xpath | Inherits account.view_partner_property_form |
view_payment_mode_form_add_face_code |
payment.mode.form.add_face_code | account.payment.mode | field | Inherits account_payment_mode.account_payment_mode_form |
view_tax_form |
account.tax.search | account.tax | field | Inherits account.view_tax_form |
wizard_create_facturae |
create.facturae.form | create.facturae | form | New |
No new fields.
Public methods (0)No public methods.
correction_method
Selection
selection=[('01', 'Rectificación íntegra'), ('02', 'Rectificación por diferencias'), ('03', 'Rectificación por descuento por volumen de operaciones durante un periodo'), ('04', 'Autorizadas por la Agencia Tributaria')]
facturae
Boolean
compute='_compute_facturae'
facturae_end_date
Date
readonly=True
facturae_file_reference
Char
facturae_receiver_contract_reference
Char
facturae_receiver_transaction_reference
Char
facturae_refund_reason
Selection
selection=[('01', 'Número de la factura'), ('02', 'Serie de la factura'), ('03', 'Fecha expedición'), ('04', 'Nombre y apellidos/Razón social - Emisor'), ('05', 'Nombre y apellidos/Razón social - Receptor'), ('06', 'Identificación fiscal Emisor/Obligado'), ('07', 'Identificación fiscal Receptor'), ('08', 'Domicilio Emisor/Obligado'), ('09', 'Domicilio Receptor'), ('10', 'Detalle Operación'), ('11', 'Porcentaje impositivo a aplicar'), ('12', 'Cuota tributaria a aplicar'), ('13', 'Fecha/Periodo a aplicar'), ('14', 'Clase de factura'), ('15', 'Literales legales'), ('16', 'Base imponible'), ('80', 'Cálculo de cuotas repercutidas'), ('81', 'Cálculo de cuotas retenidas'), ('82', 'Base imponible modificada por devolución de envases/embalajes'), ('83', 'Base imponible modificada por descuentos y bonificaciones'), ('84', 'Base imponible modificada por resolución firme, judicial o administrativa'), ('85', 'Base imponible modificada cuotas repercutidas no satisfechas. Auto de declaración de concurso')]
facturae_start_date
Date
readonly=True
facturae_withheld_amount
Monetary
compute='_compute_facturae_withheld_amount'
readonly=False
store=True
string='Withheld Amount'
facturae_withheld_percent
Float
string='Withheld Percent'
facturae_withheld_reason
Char
string='Withheld Reason'
l10n_es_facturae_attachment_ids
One2many → l10n.es.facturae.attachment
copy=False
inverse_name='move_id'
args: 'l10n.es.facturae.attachment'
get_correction_method_string(self)
get_exchange_rate(self, euro_rate, currency_rate)
get_facturae_hide_discount(self)
get_facturae_version(self)
get_narration(self)
get_refund_reason_string(self)
validate_company_facturae_fields(self, company_id)
validate_facturae_fields(self)
facturae_end_date
Date
facturae_file_date
Date
facturae_file_reference
Char
facturae_issuer_contract_date
Date
facturae_issuer_contract_reference
Char
facturae_issuer_transaction_date
Date
facturae_issuer_transaction_reference
Char
facturae_receiver_contract_date
Date
facturae_receiver_contract_reference
Char
facturae_receiver_transaction_date
Date
facturae_receiver_transaction_reference
Char
facturae_start_date
Date
facturae_transaction_date
Date
button_edit_facturae_fields(self)
correction_method
Selection
default='02'
selection=[('01', 'Rectificación íntegra'), ('02', 'Rectificación por diferencias'), ('03', 'Rectificación por descuento por volumen de operaciones durante un periodo'), ('04', 'Autorizadas por la Agencia Tributaria')]
refund_reason
Selection
default='10'
selection=[('01', 'Número de la factura'), ('02', 'Serie de la factura'), ('03', 'Fecha expedición'), ('04', 'Nombre y apellidos/Razón social - Emisor'), ('05', 'Nombre y apellidos/Razón social - Receptor'), ('06', 'Identificación fiscal Emisor/Obligado'), ('07', 'Identificación fiscal Receptor'), ('08', 'Domicilio Emisor/Obligado'), ('09', 'Domicilio Receptor'), ('10', 'Detalle Operación'), ('11', 'Porcentaje impositivo a aplicar'), ('12', 'Cuota tributaria a aplicar'), ('13', 'Fecha/Periodo a aplicar'), ('14', 'Clase de factura'), ('15', 'Literales legales'), ('16', 'Base imponible'), ('80', 'Cálculo de cuotas repercutidas'), ('81', 'Cálculo de cuotas retenidas'), ('82', 'Base imponible modificada por devolución de envases/embalajes'), ('83', 'Base imponible modificada por descuentos y bonificaciones'), ('84', 'Base imponible modificada por resolución firme, judicial o administrativa'), ('85', 'Base imponible modificada cuotas repercutidas no satisfechas. Auto de declaración de concurso')]
reverse_moves(self, is_modify=False)
facturae_code
Selection
default='04'
selection=[('01', '[01] Al contado'), ('02', '[02] Recibo Domiciliado'), ('03', '[03] Recibo'), ('04', '[04] Transferencia'), ('05', '[05] Letra Aceptada'), ('06', '[06] Crédito Documentario'), ('07', '[07] Contrato Adjudicación'), ('08', '[08] Letra de cambio'), ('09', '[09] Pagaré a la Orden'), ('10', '[10] Pagaré No a la Orden'), ('11', '[11] Cheque'), ('12', '[12] Reposición'), ('13', '[13] Especiales'), ('14', '[14] Compensación'), ('15', '[15] Giro postal'), ('16', '[16] Cheque conformado'), ('17', '[17] Cheque bancario'), ('18', '[18] Pago contra reembolso'), ('19', '[19] Pago mediante tarjeta')]
No public methods.
facturae_code
Selection
selection=[('01', 'IVA: Impuesto sobre el valor añadido'), ('02', 'IPSI: Impuesto sobre la producción, los servicios y la importación'), ('03', 'IGIC: Impuesto general indirecto de Canarias'), ('04', 'IRPF: Impuesto sobre la Renta de las personas físicas'), ('05', 'Otro'), ('06', 'ITPAJD: Impuesto sobre transmisiones patrimoniales y actos jurídicos documentados'), ('07', 'IE: Impuestos especiales'), ('08', 'Ra: Renta aduanas'), ('09', 'IGTECM: Impuesto general sobre el tráfico de empresas que se aplica en Ceuta y Melilla'), ('10', 'IECDPCAC: Impuesto especial sobre los combustibles derivados del petróleo en la Comunidad Autonoma Canaria'), ('11', 'IIIMAB: Impuesto sobre las instalaciones que inciden sobre el medio ambiente en la Baleares'), ('12', 'ICIO: Impuesto sobre las construcciones, instalaciones y obras'), ('13', 'IMVDN: Impuesto municipal sobre las viviendas desocupadas en Navarra'), ('14', 'IMSN: Impuesto municipal sobre solares en Navarra'), ('15', 'IMGSN: Impuesto municipal sobre gastos suntuarios en Navarra'), ('16', 'IMPN: Impuesto municipal sobre publicidad en Navarra'), ('17', 'REIVA: Régimen especial de IVA para agencias de viajes'), ('18', 'REIGIC: Régimen especial de IGIC: para agencias de viajes'), ('19', 'REIPSI: Régimen especial de IPSI para agencias de viajes')]
No public methods.
facturae
Binary
readonly=True
args: 'Facturae file'
facturae_fname
Char
size=64
args: 'File name'
firmar_facturae
Boolean
default=True
help='Requires certificate in the company file'
args: 'Do you want to digitally sign the generated file?'
note
Text
state
Selection
default='first'
readonly=True
args: [('first', 'First'), ('second', 'Second')]
create_facturae_file(self)
file
Binary
required=True
filename
Char
move_id
Many2one → account.move
ondelete='cascade'
required=True
args: 'account.move'
No public methods.
No new fields.
Public methods (1)generate_report(self, ir_report, docids, data=None)
facturae_hide_discount
Boolean
help='The unit price will be recalculated applying the discount'
string='Hide Facturae discount'
facturae_registration_additional
Char
size=20
facturae_registration_book
Char
size=20
facturae_registration_folio
Char
size=20
facturae_registration_location
Char
size=20
facturae_registration_section
Char
size=20
facturae_registration_sheet
Char
size=20
facturae_registration_volume
Char
size=20
facturae_version
Selection
No public methods.
No new fields.
Public methods (1)get_current_rate(self)
attach_invoice_as_annex
Boolean
facturae
Boolean
copy=False
args: 'Factura electrónica'
facturae_hide_discount
Boolean
help='The unit price will be recalculated applying the discount'
string='Hide Facturae discount'
facturae_version
Selection
oficina_contable
Char
size=10
organo_gestor
Char
size=10
organo_proponente
Char
size=10
args: 'Órgano proponente'
unidad_tramitadora
Char
size=10
check_facturae(self)
get_facturae_residence(self)
| 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_facturae |
| VERSION | |
| VERSION | 1.13.1 |
| CATEGORY | |
| CATEGORY | Accounting & Finance |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), FactorLibre, Comunitea, Creu Blanca, ASR-OSS, Tecon |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), FactorLibre, Comunitea, Creu Blanca, ASR-OSS, Tecon |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, Enric Tobella, sergio-teruel, Víctor Martínez, Weblate, OCA-git-bot, David, oca-ci, Carlos, David Ramia, ferran-S73, Carolina Fernandez, Alberto Martínez, Luis Rodriguez, extrememicro, pol, Angel Rivas, Hermi, Pol Canelles, Dani Strk |
| 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/bank-payment: - account_payment_partner - account_payment_mode OCA/community-data-files: - base_bank_from_iban - base_iso3166 OCA/l10n-spain: - l10n_es_partner - l10n_es_aeat OCA/reporting-engine: - report_xml - report_qweb_parameter 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 - base_iban - base_vat - l10n_es |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
pycountry xmlsig schwifty==2024.4.0 unidecode |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
address_contact |
address_contact | ir.ui.view | qweb | New |
administrative_center |
administrative_center | ir.ui.view | qweb | New |
entity |
entity | ir.ui.view | qweb | New |
facturae_header |
facturae_header | ir.ui.view | qweb | New |
facturae_signed |
facturae_signed | ir.ui.view | qweb | New |
template_facturae |
template_facturae | ir.ui.view | qweb | New |
view_account_journal_thirdparty_form |
account.journal | xpath | Inherits l10n_es_aeat.view_account_journal_form | |
view_account_move_reversal |
account.move.reversal .form | account.move.reversal | field | Inherits account.view_account_move_reversal |
view_company_form |
res.company.form | res.company | notebook | Inherits base.view_company_form |
view_facturae_fields |
account.move.line.form (in l10n_es_facturae_fields) | account.move.line | form | New |
view_move_form |
account.move.form | account.move | xpath | Inherits l10n_es_aeat.view_move_form |
view_partner_form |
res.partner.form | res.partner | xpath | Inherits account.view_partner_property_form |
view_payment_mode_form_add_face_code |
payment.mode.form.add_face_code | account.payment.mode | field | Inherits account_payment_mode.account_payment_mode_form |
view_tax_form |
account.tax.search | account.tax | field | Inherits account.view_tax_form |
wizard_create_facturae |
create.facturae.form | create.facturae | form | New |
correction_method
Selection
selection=[('01', 'Rectificación íntegra'), ('02', 'Rectificación por diferencias'), ('03', 'Rectificación por descuento por volumen de operaciones durante un periodo'), ('04', 'Autorizadas por la Agencia Tributaria')]
facturae
Boolean
compute='_compute_facturae'
facturae_end_date
Date
readonly=True
states={'draft': [('readonly', False)]}
facturae_file_reference
Char
facturae_receiver_contract_reference
Char
facturae_receiver_transaction_reference
Char
facturae_refund_reason
Selection
selection=[('01', 'Número de la factura'), ('02', 'Serie de la factura'), ('03', 'Fecha expedición'), ('04', 'Nombre y apellidos/Razón social - Emisor'), ('05', 'Nombre y apellidos/Razón social - Receptor'), ('06', 'Identificación fiscal Emisor/Obligado'), ('07', 'Identificación fiscal Receptor'), ('08', 'Domicilio Emisor/Obligado'), ('09', 'Domicilio Receptor'), ('10', 'Detalle Operación'), ('11', 'Porcentaje impositivo a aplicar'), ('12', 'Cuota tributaria a aplicar'), ('13', 'Fecha/Periodo a aplicar'), ('14', 'Clase de factura'), ('15', 'Literales legales'), ('16', 'Base imponible'), ('80', 'Cálculo de cuotas repercutidas'), ('81', 'Cálculo de cuotas retenidas'), ('82', 'Base imponible modificada por devolución de envases/embalajes'), ('83', 'Base imponible modificada por descuentos y bonificaciones'), ('84', 'Base imponible modificada por resolución firme, judicial o administrativa'), ('85', 'Base imponible modificada cuotas repercutidas no satisfechas. Auto de declaración de concurso')]
facturae_start_date
Date
readonly=True
states={'draft': [('readonly', False)]}
facturae_withheld_amount
Monetary
compute='_compute_facturae_withheld_amount'
readonly=False
store=True
string='Withheld Amount'
facturae_withheld_percent
Float
string='Withheld Percent'
facturae_withheld_reason
Char
string='Withheld Reason'
l10n_es_facturae_attachment_ids
One2many → l10n.es.facturae.attachment
copy=False
inverse_name='move_id'
args: 'l10n.es.facturae.attachment'
get_correction_method_string(self)
get_exchange_rate(self, euro_rate, currency_rate)
get_facturae_hide_discount(self)
get_facturae_version(self)
get_narration(self)
get_refund_reason_string(self)
validate_company_facturae_fields(self, company_id)
validate_facturae_fields(self)
facturae_end_date
Date
facturae_file_date
Date
facturae_file_reference
Char
facturae_issuer_contract_date
Date
facturae_issuer_contract_reference
Char
facturae_issuer_transaction_date
Date
facturae_issuer_transaction_reference
Char
facturae_receiver_contract_date
Date
facturae_receiver_contract_reference
Char
facturae_receiver_transaction_date
Date
facturae_receiver_transaction_reference
Char
facturae_start_date
Date
facturae_transaction_date
Date
button_edit_facturae_fields(self)
correction_method
Selection
default='02'
selection=[('01', 'Rectificación íntegra'), ('02', 'Rectificación por diferencias'), ('03', 'Rectificación por descuento por volumen de operaciones durante un periodo'), ('04', 'Autorizadas por la Agencia Tributaria')]
refund_reason
Selection
default='10'
selection=[('01', 'Número de la factura'), ('02', 'Serie de la factura'), ('03', 'Fecha expedición'), ('04', 'Nombre y apellidos/Razón social - Emisor'), ('05', 'Nombre y apellidos/Razón social - Receptor'), ('06', 'Identificación fiscal Emisor/Obligado'), ('07', 'Identificación fiscal Receptor'), ('08', 'Domicilio Emisor/Obligado'), ('09', 'Domicilio Receptor'), ('10', 'Detalle Operación'), ('11', 'Porcentaje impositivo a aplicar'), ('12', 'Cuota tributaria a aplicar'), ('13', 'Fecha/Periodo a aplicar'), ('14', 'Clase de factura'), ('15', 'Literales legales'), ('16', 'Base imponible'), ('80', 'Cálculo de cuotas repercutidas'), ('81', 'Cálculo de cuotas retenidas'), ('82', 'Base imponible modificada por devolución de envases/embalajes'), ('83', 'Base imponible modificada por descuentos y bonificaciones'), ('84', 'Base imponible modificada por resolución firme, judicial o administrativa'), ('85', 'Base imponible modificada cuotas repercutidas no satisfechas. Auto de declaración de concurso')]
reverse_moves(self)
facturae_code
Selection
default='04'
selection=[('01', '[01] Al contado'), ('02', '[02] Recibo Domiciliado'), ('03', '[03] Recibo'), ('04', '[04] Transferencia'), ('05', '[05] Letra Aceptada'), ('06', '[06] Crédito Documentario'), ('07', '[07] Contrato Adjudicación'), ('08', '[08] Letra de cambio'), ('09', '[09] Pagaré a la Orden'), ('10', '[10] Pagaré No a la Orden'), ('11', '[11] Cheque'), ('12', '[12] Reposición'), ('13', '[13] Especiales'), ('14', '[14] Compensación'), ('15', '[15] Giro postal'), ('16', '[16] Cheque conformado'), ('17', '[17] Cheque bancario'), ('18', '[18] Pago contra reembolso'), ('19', '[19] Pago mediante tarjeta')]
No public methods.
facturae_code
Selection
default='01'
selection=[('01', 'IVA: Impuesto sobre el valor añadido'), ('02', 'IPSI: Impuesto sobre la producción, los servicios y la importación'), ('03', 'IGIC: Impuesto general indirecto de Canarias'), ('04', 'IRPF: Impuesto sobre la Renta de las personas físicas'), ('05', 'Otro'), ('06', 'ITPAJD: Impuesto sobre transmisiones patrimoniales y actos jurídicos documentados'), ('07', 'IE: Impuestos especiales'), ('08', 'Ra: Renta aduanas'), ('09', 'IGTECM: Impuesto general sobre el tráfico de empresas que se aplica en Ceuta y Melilla'), ('10', 'IECDPCAC: Impuesto especial sobre los combustibles derivados del petróleo en la Comunidad Autonoma Canaria'), ('11', 'IIIMAB: Impuesto sobre las instalaciones que inciden sobre el medio ambiente en la Baleares'), ('12', 'ICIO: Impuesto sobre las construcciones, instalaciones y obras'), ('13', 'IMVDN: Impuesto municipal sobre las viviendas desocupadas en Navarra'), ('14', 'IMSN: Impuesto municipal sobre solares en Navarra'), ('15', 'IMGSN: Impuesto municipal sobre gastos suntuarios en Navarra'), ('16', 'IMPN: Impuesto municipal sobre publicidad en Navarra'), ('17', 'REIVA: Régimen especial de IVA para agencias de viajes'), ('18', 'REIGIC: Régimen especial de IGIC: para agencias deviajes'), ('19', 'REIPSI: Régimen especial de IPSI para agencias de viajes')]
No public methods.
facturae_code
Selection
selection=[('01', 'IVA: Impuesto sobre el valor añadido'), ('02', 'IPSI: Impuesto sobre la producción, los servicios y la importación'), ('03', 'IGIC: Impuesto general indirecto de Canarias'), ('04', 'IRPF: Impuesto sobre la Renta de las personas físicas'), ('05', 'Otro'), ('06', 'ITPAJD: Impuesto sobre transmisiones patrimoniales y actos jurídicos documentados'), ('07', 'IE: Impuestos especiales'), ('08', 'Ra: Renta aduanas'), ('09', 'IGTECM: Impuesto general sobre el tráfico de empresas que se aplica en Ceuta y Melilla'), ('10', 'IECDPCAC: Impuesto especial sobre los combustibles derivados del petróleo en la Comunidad Autonoma Canaria'), ('11', 'IIIMAB: Impuesto sobre las instalaciones que inciden sobre el medio ambiente en la Baleares'), ('12', 'ICIO: Impuesto sobre las construcciones, instalaciones y obras'), ('13', 'IMVDN: Impuesto municipal sobre las viviendas desocupadas en Navarra'), ('14', 'IMSN: Impuesto municipal sobre solares en Navarra'), ('15', 'IMGSN: Impuesto municipal sobre gastos suntuarios en Navarra'), ('16', 'IMPN: Impuesto municipal sobre publicidad en Navarra'), ('17', 'REIVA: Régimen especial de IVA para agencias de viajes'), ('18', 'REIGIC: Régimen especial de IGIC: para agencias deviajes'), ('19', 'REIPSI: Régimen especial de IPSI para agencias de viajes')]
No public methods.
facturae
Binary
readonly=True
args: 'Facturae file'
facturae_fname
Char
size=64
args: 'File name'
firmar_facturae
Boolean
default=True
help='Requires certificate in the company file'
args: 'Do you want to digitally sign the generated file?'
note
Text
state
Selection
default='first'
readonly=True
args: [('first', 'First'), ('second', 'Second')]
create_facturae_file(self)
file
Binary
required=True
filename
Char
move_id
Many2one → account.move
ondelete='cascade'
required=True
args: 'account.move'
No public methods.
No new fields.
Public methods (1)generate_report(self, ir_report, docids, data=None)
facturae_hide_discount
Boolean
help='The unit price will be recalculated applying the discount'
string='Hide Facturae discount'
facturae_registration_additional
Char
size=20
facturae_registration_book
Char
size=20
facturae_registration_folio
Char
size=20
facturae_registration_location
Char
size=20
facturae_registration_section
Char
size=20
facturae_registration_sheet
Char
size=20
facturae_registration_volume
Char
size=20
facturae_version
Selection
No public methods.
No new fields.
Public methods (1)get_current_rate(self)
attach_invoice_as_annex
Boolean
facturae
Boolean
copy=False
args: 'Factura electrónica'
facturae_hide_discount
Boolean
help='The unit price will be recalculated applying the discount'
string='Hide Facturae discount'
facturae_version
Selection
oficina_contable
Char
size=10
organo_gestor
Char
size=10
organo_proponente
Char
size=10
args: 'Órgano proponente'
unidad_tramitadora
Char
size=10
check_facturae(self)
get_facturae_residence(self)
| 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_facturae |
| VERSION | |
| VERSION | 1.13.2 |
| CATEGORY | |
| CATEGORY | Accounting & Finance |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), FactorLibre, Comunitea, Creu Blanca, ASR-OSS, Tecon |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), FactorLibre, Comunitea, Creu Blanca, ASR-OSS, Tecon |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, GitHub, Jairo Llopis, Enric Tobella, Lois Rilo, OCA Transbot, Miquel Raïch, sergio-teruel, Víctor Martínez, Weblate, OCA-git-bot, David, oca-ci, Aritz Olea, Eduardo De Miguel, pilarvargas-tecnativa, Manuel Calero, angel, Alberto Martínez, almumu, 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/bank-payment: - account_payment_partner - account_payment_mode OCA/community-data-files: - base_bank_from_iban - base_iso3166 OCA/l10n-spain: - l10n_es_partner - l10n_es_aeat OCA/reporting-engine: - report_xml - report_qweb_parameter 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 - base_iban - base_vat - l10n_es |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
cryptography pycountry xmlsig requests schwifty==2024.4.0 lxml unidecode |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
address_contact |
address_contact | ir.ui.view | qweb | New |
administrative_center |
administrative_center | ir.ui.view | qweb | New |
entity |
entity | ir.ui.view | qweb | New |
facturae_header |
facturae_header | ir.ui.view | qweb | New |
facturae_signed |
facturae_signed | ir.ui.view | qweb | New |
template_facturae |
template_facturae | ir.ui.view | qweb | New |
view_account_journal_thirdparty_form |
account.journal | xpath | Inherits l10n_es_aeat.view_account_journal_form | |
view_account_move_reversal |
account.move.reversal .form | account.move.reversal | field | Inherits account.view_account_move_reversal |
view_company_form |
res.company.form | res.company | notebook | Inherits base.view_company_form |
view_facturae_fields |
account.move.line.form (in l10n_es_facturae_fields) | account.move.line | form | New |
view_move_form |
account.move.form | account.move | xpath | Inherits l10n_es_aeat.view_move_form |
view_partner_form |
res.partner.form | res.partner | xpath | Inherits account.view_partner_property_form |
view_payment_mode_form_add_face_code |
payment.mode.form.add_face_code | account.payment.mode | field | Inherits account_payment_mode.account_payment_mode_form |
view_tax_form |
account.tax.search | account.tax | field | Inherits account.view_tax_form |
wizard_create_facturae |
create.facturae.form | create.facturae | form | New |
correction_method
Selection
selection=[('01', 'Rectificación íntegra'), ('02', 'Rectificación por diferencias'), ('03', 'Rectificación por descuento por volumen de operaciones durante un periodo'), ('04', 'Autorizadas por la Agencia Tributaria')]
facturae
Boolean
compute='_compute_facturae'
facturae_end_date
Date
readonly=True
states={'draft': [('readonly', False)]}
facturae_file_reference
Char
facturae_receiver_contract_reference
Char
facturae_receiver_transaction_reference
Char
facturae_refund_reason
Selection
selection=[('01', 'Número de la factura'), ('02', 'Serie de la factura'), ('03', 'Fecha expedición'), ('04', 'Nombre y apellidos/Razón social - Emisor'), ('05', 'Nombre y apellidos/Razón social - Receptor'), ('06', 'Identificación fiscal Emisor/Obligado'), ('07', 'Identificación fiscal Receptor'), ('08', 'Domicilio Emisor/Obligado'), ('09', 'Domicilio Receptor'), ('10', 'Detalle Operación'), ('11', 'Porcentaje impositivo a aplicar'), ('12', 'Cuota tributaria a aplicar'), ('13', 'Fecha/Periodo a aplicar'), ('14', 'Clase de factura'), ('15', 'Literales legales'), ('16', 'Base imponible'), ('80', 'Cálculo de cuotas repercutidas'), ('81', 'Cálculo de cuotas retenidas'), ('82', 'Base imponible modificada por devolución de envases/embalajes'), ('83', 'Base imponible modificada por descuentos y bonificaciones'), ('84', 'Base imponible modificada por resolución firme, judicial o administrativa'), ('85', 'Base imponible modificada cuotas repercutidas no satisfechas. Auto de declaración de concurso')]
facturae_start_date
Date
readonly=True
states={'draft': [('readonly', False)]}
l10n_es_facturae_attachment_ids
One2many → l10n.es.facturae.attachment
copy=False
inverse_name='move_id'
args: 'l10n.es.facturae.attachment'
get_correction_method_string(self)
get_exchange_rate(self, euro_rate, currency_rate)
get_facturae_hide_discount(self)
get_facturae_version(self)
get_narration(self)
get_refund_reason_string(self)
validate_company_facturae_fields(self, company_id)
validate_facturae_fields(self)
facturae_end_date
Date
facturae_file_date
Date
facturae_file_reference
Char
facturae_issuer_contract_date
Date
facturae_issuer_contract_reference
Char
facturae_issuer_transaction_date
Date
facturae_issuer_transaction_reference
Char
facturae_receiver_contract_date
Date
facturae_receiver_contract_reference
Char
facturae_receiver_transaction_date
Date
facturae_receiver_transaction_reference
Char
facturae_start_date
Date
facturae_transaction_date
Date
button_edit_facturae_fields(self)
correction_method
Selection
default='02'
selection=[('01', 'Rectificación íntegra'), ('02', 'Rectificación por diferencias'), ('03', 'Rectificación por descuento por volumen de operaciones durante un periodo'), ('04', 'Autorizadas por la Agencia Tributaria')]
refund_reason
Selection
default='10'
selection=[('01', 'Número de la factura'), ('02', 'Serie de la factura'), ('03', 'Fecha expedición'), ('04', 'Nombre y apellidos/Razón social - Emisor'), ('05', 'Nombre y apellidos/Razón social - Receptor'), ('06', 'Identificación fiscal Emisor/Obligado'), ('07', 'Identificación fiscal Receptor'), ('08', 'Domicilio Emisor/Obligado'), ('09', 'Domicilio Receptor'), ('10', 'Detalle Operación'), ('11', 'Porcentaje impositivo a aplicar'), ('12', 'Cuota tributaria a aplicar'), ('13', 'Fecha/Periodo a aplicar'), ('14', 'Clase de factura'), ('15', 'Literales legales'), ('16', 'Base imponible'), ('80', 'Cálculo de cuotas repercutidas'), ('81', 'Cálculo de cuotas retenidas'), ('82', 'Base imponible modificada por devolución de envases/embalajes'), ('83', 'Base imponible modificada por descuentos y bonificaciones'), ('84', 'Base imponible modificada por resolución firme, judicial o administrativa'), ('85', 'Base imponible modificada cuotas repercutidas no satisfechas. Auto de declaración de concurso')]
reverse_moves(self)
facturae_code
Selection
default='04'
selection=[('01', '[01] Al contado'), ('02', '[02] Recibo Domiciliado'), ('03', '[03] Recibo'), ('04', '[04] Transferencia'), ('05', '[05] Letra Aceptada'), ('06', '[06] Crédito Documentario'), ('07', '[07] Contrato Adjudicación'), ('08', '[08] Letra de cambio'), ('09', '[09] Pagaré a la Orden'), ('10', '[10] Pagaré No a la Orden'), ('11', '[11] Cheque'), ('12', '[12] Reposición'), ('13', '[13] Especiales'), ('14', '[14] Compensación'), ('15', '[15] Giro postal'), ('16', '[16] Cheque conformado'), ('17', '[17] Cheque bancario'), ('18', '[18] Pago contra reembolso'), ('19', '[19] Pago mediante tarjeta')]
No public methods.
facturae_code
Selection
default='01'
selection=[('01', 'IVA: Impuesto sobre el valor añadido'), ('02', 'IPSI: Impuesto sobre la producción, los servicios y la importación'), ('03', 'IGIC: Impuesto general indirecto de Canarias'), ('04', 'IRPF: Impuesto sobre la Renta de las personas físicas'), ('05', 'Otro'), ('06', 'ITPAJD: Impuesto sobre transmisiones patrimoniales y actos jurídicos documentados'), ('07', 'IE: Impuestos especiales'), ('08', 'Ra: Renta aduanas'), ('09', 'IGTECM: Impuesto general sobre el tráfico de empresas que se aplica en Ceuta y Melilla'), ('10', 'IECDPCAC: Impuesto especial sobre los combustibles derivados del petróleo en la Comunidad Autonoma Canaria'), ('11', 'IIIMAB: Impuesto sobre las instalaciones que inciden sobre el medio ambiente en la Baleares'), ('12', 'ICIO: Impuesto sobre las construcciones, instalaciones y obras'), ('13', 'IMVDN: Impuesto municipal sobre las viviendas desocupadas en Navarra'), ('14', 'IMSN: Impuesto municipal sobre solares en Navarra'), ('15', 'IMGSN: Impuesto municipal sobre gastos suntuarios en Navarra'), ('16', 'IMPN: Impuesto municipal sobre publicidad en Navarra'), ('17', 'REIVA: Régimen especial de IVA para agencias de viajes'), ('18', 'REIGIC: Régimen especial de IGIC: para agencias deviajes'), ('19', 'REIPSI: Régimen especial de IPSI para agencias de viajes')]
No public methods.
facturae_code
Selection
selection=[('01', 'IVA: Impuesto sobre el valor añadido'), ('02', 'IPSI: Impuesto sobre la producción, los servicios y la importación'), ('03', 'IGIC: Impuesto general indirecto de Canarias'), ('04', 'IRPF: Impuesto sobre la Renta de las personas físicas'), ('05', 'Otro'), ('06', 'ITPAJD: Impuesto sobre transmisiones patrimoniales y actos jurídicos documentados'), ('07', 'IE: Impuestos especiales'), ('08', 'Ra: Renta aduanas'), ('09', 'IGTECM: Impuesto general sobre el tráfico de empresas que se aplica en Ceuta y Melilla'), ('10', 'IECDPCAC: Impuesto especial sobre los combustibles derivados del petróleo en la Comunidad Autonoma Canaria'), ('11', 'IIIMAB: Impuesto sobre las instalaciones que inciden sobre el medio ambiente en la Baleares'), ('12', 'ICIO: Impuesto sobre las construcciones, instalaciones y obras'), ('13', 'IMVDN: Impuesto municipal sobre las viviendas desocupadas en Navarra'), ('14', 'IMSN: Impuesto municipal sobre solares en Navarra'), ('15', 'IMGSN: Impuesto municipal sobre gastos suntuarios en Navarra'), ('16', 'IMPN: Impuesto municipal sobre publicidad en Navarra'), ('17', 'REIVA: Régimen especial de IVA para agencias de viajes'), ('18', 'REIGIC: Régimen especial de IGIC: para agencias deviajes'), ('19', 'REIPSI: Régimen especial de IPSI para agencias de viajes')]
No public methods.
facturae
Binary
readonly=True
args: 'Facturae file'
facturae_fname
Char
size=64
args: 'File name'
firmar_facturae
Boolean
default=True
help='Requires certificate in the company file'
args: 'Do you want to digitally sign the generated file?'
move_id
Many2one → account.move
note
Text
state
Selection
default='first'
readonly=True
args: [('first', 'First'), ('second', 'Second')]
create_facturae_file(self)
default_get(self, fields)
file
Binary
required=True
filename
Char
move_id
Many2one → account.move
ondelete='cascade'
required=True
args: 'account.move'
No public methods.
No new fields.
Public methods (1)generate_report(self, ir_report, docids, data=None)
facturae_hide_discount
Boolean
help='The unit price will be recalculated applying the discount'
string='Hide Facturae discount'
facturae_version
Selection
No public methods.
No new fields.
Public methods (1)get_current_rate(self)
attach_invoice_as_annex
Boolean
facturae
Boolean
copy=False
args: 'Factura electrónica'
facturae_hide_discount
Boolean
help='The unit price will be recalculated applying the discount'
string='Hide Facturae discount'
facturae_version
Selection
oficina_contable
Char
size=10
organo_gestor
Char
size=10
organo_proponente
Char
size=10
args: 'Órgano proponente'
parent_facturae
Boolean
related='commercial_partner_id.facturae'
unidad_tramitadora
Char
size=10
check_facturae(self)
get_facturae_residence(self)
| 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_facturae |
| VERSION | |
| VERSION | 2.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), FactorLibre, Comunitea, Creu Blanca, ASR-OSS, Tecon |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), FactorLibre, Comunitea, Creu Blanca, ASR-OSS, Tecon |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, Enric Tobella, Lois Rilo, manu, OCA Transbot, Miquel Raïch, Víctor Martínez, oca-travis, Weblate, OCA-git-bot, Eric Antones, oca-ci, Aritz Olea, Ioan Galan, almumu |
| 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/bank-payment: - account_payment_partner - account_payment_mode OCA/community-data-files: - base_bank_from_iban - base_iso3166 OCA/l10n-spain: - l10n_es_partner - l10n_es_aeat OCA/reporting-engine: - report_xml - report_qweb_parameter 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 - base_iban - base_vat - l10n_es |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
cryptography<39 pyOpenSSL pycountry xmlsig requests unidecode |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
address_contact |
address_contact | ir.ui.view | qweb | New |
administrative_center |
administrative_center | ir.ui.view | qweb | New |
entity |
entity | ir.ui.view | qweb | New |
facturae_header |
facturae_header | ir.ui.view | qweb | New |
facturae_signed |
facturae_signed | ir.ui.view | qweb | New |
template_facturae |
template_facturae | ir.ui.view | qweb | New |
view_account_journal_thirdparty_form |
account.journal | xpath | Inherits l10n_es_aeat.view_account_journal_form | |
view_account_move_reversal |
account.move.reversal .form | account.move.reversal | field | Inherits account.view_account_move_reversal |
view_company_form |
res.company.form | res.company | notebook | Inherits base.view_company_form |
view_facturae_fields |
account.move.line.form (in l10n_es_facturae_fields) | account.move.line | form | New |
view_move_form |
account.move.form | account.move | xpath | Inherits l10n_es_aeat.view_move_form |
view_partner_form |
res.partner.form | res.partner | xpath | Inherits account.view_partner_property_form |
view_payment_mode_form_add_face_code |
payment.mode.form.add_face_code | account.payment.mode | field | Inherits account_payment_mode.account_payment_mode_form |
view_tax_form |
account.tax.search | account.tax | field | Inherits account.view_tax_form |
wizard_create_facturae |
create.facturae.form | create.facturae | form | New |
correction_method
Selection
selection=[('01', 'Rectificación íntegra'), ('02', 'Rectificación por diferencias'), ('03', 'Rectificación por descuento por volumen de operaciones durante un periodo'), ('04', 'Autorizadas por la Agencia Tributaria')]
facturae
Boolean
compute='_compute_facturae'
facturae_end_date
Date
readonly=True
states={'draft': [('readonly', False)]}
facturae_file_reference
Char
facturae_receiver_contract_reference
Char
facturae_receiver_transaction_reference
Char
facturae_refund_reason
Selection
selection=[('01', 'Número de la factura'), ('02', 'Serie de la factura'), ('03', 'Fecha expedición'), ('04', 'Nombre y apellidos/Razón social - Emisor'), ('05', 'Nombre y apellidos/Razón social - Receptor'), ('06', 'Identificación fiscal Emisor/Obligado'), ('07', 'Identificación fiscal Receptor'), ('08', 'Domicilio Emisor/Obligado'), ('09', 'Domicilio Receptor'), ('10', 'Detalle Operación'), ('11', 'Porcentaje impositivo a aplicar'), ('12', 'Cuota tributaria a aplicar'), ('13', 'Fecha/Periodo a aplicar'), ('14', 'Clase de factura'), ('15', 'Literales legales'), ('16', 'Base imponible'), ('80', 'Cálculo de cuotas repercutidas'), ('81', 'Cálculo de cuotas retenidas'), ('82', 'Base imponible modificada por devolución de envases/embalajes'), ('83', 'Base imponible modificada por descuentos y bonificaciones'), ('84', 'Base imponible modificada por resolución firme, judicial o administrativa'), ('85', 'Base imponible modificada cuotas repercutidas no satisfechas. Auto de declaración de concurso')]
facturae_start_date
Date
readonly=True
states={'draft': [('readonly', False)]}
l10n_es_facturae_attachment_ids
One2many → l10n.es.facturae.attachment
copy=False
inverse_name='move_id'
args: 'l10n.es.facturae.attachment'
get_correction_method_string(self)
get_exchange_rate(self, euro_rate, currency_rate)
get_facturae_version(self)
get_refund_reason_string(self)
validate_facturae_fields(self)
facturae_end_date
Date
facturae_file_date
Date
facturae_file_reference
Char
facturae_issuer_contract_date
Date
facturae_issuer_contract_reference
Char
facturae_issuer_transaction_date
Date
facturae_issuer_transaction_reference
Char
facturae_receiver_contract_date
Date
facturae_receiver_contract_reference
Char
facturae_receiver_transaction_date
Date
facturae_receiver_transaction_reference
Char
facturae_start_date
Date
facturae_transaction_date
Date
button_edit_facturae_fields(self)
correction_method
Selection
default='02'
selection=[('01', 'Rectificación íntegra'), ('02', 'Rectificación por diferencias'), ('03', 'Rectificación por descuento por volumen de operaciones durante un periodo'), ('04', 'Autorizadas por la Agencia Tributaria')]
refund_reason
Selection
default='10'
selection=[('01', 'Número de la factura'), ('02', 'Serie de la factura'), ('03', 'Fecha expedición'), ('04', 'Nombre y apellidos/Razón social - Emisor'), ('05', 'Nombre y apellidos/Razón social - Receptor'), ('06', 'Identificación fiscal Emisor/Obligado'), ('07', 'Identificación fiscal Receptor'), ('08', 'Domicilio Emisor/Obligado'), ('09', 'Domicilio Receptor'), ('10', 'Detalle Operación'), ('11', 'Porcentaje impositivo a aplicar'), ('12', 'Cuota tributaria a aplicar'), ('13', 'Fecha/Periodo a aplicar'), ('14', 'Clase de factura'), ('15', 'Literales legales'), ('16', 'Base imponible'), ('80', 'Cálculo de cuotas repercutidas'), ('81', 'Cálculo de cuotas retenidas'), ('82', 'Base imponible modificada por devolución de envases/embalajes'), ('83', 'Base imponible modificada por descuentos y bonificaciones'), ('84', 'Base imponible modificada por resolución firme, judicial o administrativa'), ('85', 'Base imponible modificada cuotas repercutidas no satisfechas. Auto de declaración de concurso')]
reverse_moves(self)
facturae_code
Selection
default='04'
selection=[('01', '[01] Al contado'), ('02', '[02] Recibo Domiciliado'), ('03', '[03] Recibo'), ('04', '[04] Transferencia'), ('05', '[05] Letra Aceptada'), ('06', '[06] Crédito Documentario'), ('07', '[07] Contrato Adjudicación'), ('08', '[08] Letra de cambio'), ('09', '[09] Pagaré a la Orden'), ('10', '[10] Pagaré No a la Orden'), ('11', '[11] Cheque'), ('12', '[12] Reposición'), ('13', '[13] Especiales'), ('14', '[14] Compensación'), ('15', '[15] Giro postal'), ('16', '[16] Cheque conformado'), ('17', '[17] Cheque bancario'), ('18', '[18] Pago contra reembolso'), ('19', '[19] Pago mediante tarjeta')]
string='Facturae code'
No public methods.
facturae_code
Selection
default='01'
selection=[('01', 'IVA: Impuesto sobre el valor añadido'), ('02', 'IPSI: Impuesto sobre la producción, los servicios y la importación'), ('03', 'IGIC: Impuesto general indirecto de Canarias'), ('04', 'IRPF: Impuesto sobre la Renta de las personas físicas'), ('05', 'Otro'), ('06', 'ITPAJD: Impuesto sobre transmisiones patrimoniales y actos jurídicos documentados'), ('07', 'IE: Impuestos especiales'), ('08', 'Ra: Renta aduanas'), ('09', 'IGTECM: Impuesto general sobre el tráfico de empresas que se aplica en Ceuta y Melilla'), ('10', 'IECDPCAC: Impuesto especial sobre los combustibles derivados del petróleo en la Comunidad Autonoma Canaria'), ('11', 'IIIMAB: Impuesto sobre las instalaciones que inciden sobre el medio ambiente en la Baleares'), ('12', 'ICIO: Impuesto sobre las construcciones, instalaciones y obras'), ('13', 'IMVDN: Impuesto municipal sobre las viviendas desocupadas en Navarra'), ('14', 'IMSN: Impuesto municipal sobre solares en Navarra'), ('15', 'IMGSN: Impuesto municipal sobre gastos suntuarios en Navarra'), ('16', 'IMPN: Impuesto municipal sobre publicidad en Navarra'), ('17', 'REIVA: Régimen especial de IVA para agencias de viajes'), ('18', 'REIGIC: Régimen especial de IGIC: para agencias deviajes'), ('19', 'REIPSI: Régimen especial de IPSI para agencias de viajes')]
string='Facturae code'
No public methods.
facturae_code
Selection
selection=[('01', 'IVA: Impuesto sobre el valor añadido'), ('02', 'IPSI: Impuesto sobre la producción, los servicios y la importación'), ('03', 'IGIC: Impuesto general indirecto de Canarias'), ('04', 'IRPF: Impuesto sobre la Renta de las personas físicas'), ('05', 'Otro'), ('06', 'ITPAJD: Impuesto sobre transmisiones patrimoniales y actos jurídicos documentados'), ('07', 'IE: Impuestos especiales'), ('08', 'Ra: Renta aduanas'), ('09', 'IGTECM: Impuesto general sobre el tráfico de empresas que se aplica en Ceuta y Melilla'), ('10', 'IECDPCAC: Impuesto especial sobre los combustibles derivados del petróleo en la Comunidad Autonoma Canaria'), ('11', 'IIIMAB: Impuesto sobre las instalaciones que inciden sobre el medio ambiente en la Baleares'), ('12', 'ICIO: Impuesto sobre las construcciones, instalaciones y obras'), ('13', 'IMVDN: Impuesto municipal sobre las viviendas desocupadas en Navarra'), ('14', 'IMSN: Impuesto municipal sobre solares en Navarra'), ('15', 'IMGSN: Impuesto municipal sobre gastos suntuarios en Navarra'), ('16', 'IMPN: Impuesto municipal sobre publicidad en Navarra'), ('17', 'REIVA: Régimen especial de IVA para agencias de viajes'), ('18', 'REIGIC: Régimen especial de IGIC: para agencias deviajes'), ('19', 'REIPSI: Régimen especial de IPSI para agencias de viajes')]
string='Facturae code'
No public methods.
facturae
Binary
readonly=True
args: 'Facturae file'
facturae_fname
Char
size=64
args: 'File name'
firmar_facturae
Boolean
default=True
help='Requiere certificado en la ficha de la compañía'
args: '¿Desea firmar digitalmente el fichero generado?'
note
Text
state
Selection
default='first'
readonly=True
args: [('first', 'First'), ('second', 'Second')], 'State'
create_facturae_file(self)
file
Binary
required=True
filename
Char
move_id
Many2one → account.move
ondelete='cascade'
required=True
args: 'account.move'
No public methods.
No new fields.
Public methods (1)generate_report(self, ir_report, docids, data=None)
facturae_version
Selection
No public methods.
No new fields.
Public methods (1)get_current_rate(self)
attach_invoice_as_annex
Boolean
facturae
Boolean
facturae_version
Selection
oficina_contable
Char
size=10
args: 'Oficina contable'
organo_gestor
Char
size=10
args: 'Órgano gestor'
organo_proponente
Char
size=10
args: 'Órgano proponente'
unidad_tramitadora
Char
size=10
args: 'Unidad tramitadora'
check_facturae(self)
get_facturae_residence(self)
| 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_facturae |
| VERSION | |
| VERSION | 2.5.1 |
| CATEGORY | |
| CATEGORY | Accounting & Finance |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), FactorLibre, Comunitea, Creu Blanca, ASR-OSS, Tecon |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), FactorLibre, Comunitea, Creu Blanca, ASR-OSS, Tecon |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, Enric Tobella, manu, OCA Transbot, Víctor Martínez, oca-travis, Weblate, OCA-git-bot, oca-ci, César López Ramírez, Stefan |
| 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/bank-payment: - account_payment_partner - account_payment_mode OCA/community-data-files: - base_bank_from_iban - base_iso3166 OCA/l10n-spain: - l10n_es_partner - l10n_es_aeat OCA/reporting-engine: - report_xml - report_qweb_parameter 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 - base_iban - base_vat - l10n_es |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
OpenSSL xmlsig requests pycountry pyOpenSSL unidecode |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
address_contact |
address_contact | ir.ui.view | qweb | New |
administrative_center |
administrative_center | ir.ui.view | qweb | New |
entity |
entity | ir.ui.view | qweb | New |
facturae_header |
facturae_header | ir.ui.view | qweb | New |
template_facturae |
template_facturae | ir.ui.view | qweb | New |
view_account_journal_thirdparty_form |
account.journal | xpath | Inherits l10n_es_aeat.view_account_journal_form | |
view_account_move_reversal |
account.move.reversal .form | account.move.reversal | field | Inherits account.view_account_move_reversal |
view_company_form |
res.company.form | res.company | notebook | Inherits base.view_company_form |
view_facturae_fields |
account.move.line.form (in l10n_es_facturae_fields) | account.move.line | form | New |
view_move_form |
account.move.form | account.move | xpath | Inherits l10n_es_aeat.view_move_form |
view_partner_form |
res.partner.form | res.partner | xpath | Inherits account.view_partner_property_form |
view_payment_mode_form_add_face_code |
payment.mode.form.add_face_code | account.payment.mode | field | Inherits account_payment_mode.account_payment_mode_form |
view_tax_form |
account.tax.search | account.tax | field | Inherits account.view_tax_form |
wizard_create_facturae |
create.facturae.form | create.facturae | form | New |
correction_method
Selection
selection=[('01', 'Rectificación íntegra'), ('02', 'Rectificación por diferencias'), ('03', 'Rectificación por descuento por volumen de operaciones durante un periodo'), ('04', 'Autorizadas por la Agencia Tributaria')]
facturae
Boolean
compute='_compute_facturae'
facturae_end_date
Date
readonly=True
states={'draft': [('readonly', False)]}
facturae_refund_reason
Selection
selection=[('01', 'Número de la factura'), ('02', 'Serie de la factura'), ('03', 'Fecha expedición'), ('04', 'Nombre y apellidos/Razón social - Emisor'), ('05', 'Nombre y apellidos/Razón social - Receptor'), ('06', 'Identificación fiscal Emisor/Obligado'), ('07', 'Identificación fiscal Receptor'), ('08', 'Domicilio Emisor/Obligado'), ('09', 'Domicilio Receptor'), ('10', 'Detalle Operación'), ('11', 'Porcentaje impositivo a aplicar'), ('12', 'Cuota tributaria a aplicar'), ('13', 'Fecha/Periodo a aplicar'), ('14', 'Clase de factura'), ('15', 'Literales legales'), ('16', 'Base imponible'), ('80', 'Cálculo de cuotas repercutidas'), ('81', 'Cálculo de cuotas retenidas'), ('82', 'Base imponible modificada por devolución de envases/embalajes'), ('83', 'Base imponible modificada por descuentos y bonificaciones'), ('84', 'Base imponible modificada por resolución firme, judicial o administrativa'), ('85', 'Base imponible modificada cuotas repercutidas no satisfechas. Auto de declaración de concurso')]
facturae_start_date
Date
readonly=True
states={'draft': [('readonly', False)]}
l10n_es_facturae_attachment_ids
One2many → l10n.es.facturae.attachment
copy=False
inverse_name='move_id'
args: 'l10n.es.facturae.attachment'
get_correction_method_string(self)
get_exchange_rate(self, euro_rate, currency_rate)
get_facturae(self, firmar_facturae)
get_facturae_version(self)
get_refund_reason_string(self)
validate_facturae_fields(self)
facturae_end_date
Date
facturae_file_date
Date
facturae_file_reference
Char
facturae_issuer_contract_date
Date
facturae_issuer_contract_reference
Char
facturae_issuer_transaction_date
Date
facturae_issuer_transaction_reference
Char
facturae_receiver_contract_date
Date
facturae_receiver_contract_reference
Char
facturae_receiver_transaction_date
Date
facturae_receiver_transaction_reference
Char
facturae_start_date
Date
facturae_transaction_date
Date
button_edit_facturae_fields(self)
correction_method
Selection
default='02'
selection=[('01', 'Rectificación íntegra'), ('02', 'Rectificación por diferencias'), ('03', 'Rectificación por descuento por volumen de operaciones durante un periodo'), ('04', 'Autorizadas por la Agencia Tributaria')]
refund_reason
Selection
default='10'
selection=[('01', 'Número de la factura'), ('02', 'Serie de la factura'), ('03', 'Fecha expedición'), ('04', 'Nombre y apellidos/Razón social - Emisor'), ('05', 'Nombre y apellidos/Razón social - Receptor'), ('06', 'Identificación fiscal Emisor/Obligado'), ('07', 'Identificación fiscal Receptor'), ('08', 'Domicilio Emisor/Obligado'), ('09', 'Domicilio Receptor'), ('10', 'Detalle Operación'), ('11', 'Porcentaje impositivo a aplicar'), ('12', 'Cuota tributaria a aplicar'), ('13', 'Fecha/Periodo a aplicar'), ('14', 'Clase de factura'), ('15', 'Literales legales'), ('16', 'Base imponible'), ('80', 'Cálculo de cuotas repercutidas'), ('81', 'Cálculo de cuotas retenidas'), ('82', 'Base imponible modificada por devolución de envases/embalajes'), ('83', 'Base imponible modificada por descuentos y bonificaciones'), ('84', 'Base imponible modificada por resolución firme, judicial o administrativa'), ('85', 'Base imponible modificada cuotas repercutidas no satisfechas. Auto de declaración de concurso')]
reverse_moves(self)
facturae_code
Selection
default='04'
selection=[('01', '[01] Al contado'), ('02', '[02] Recibo Domiciliado'), ('03', '[03] Recibo'), ('04', '[04] Transferencia'), ('05', '[05] Letra Aceptada'), ('06', '[06] Crédito Documentario'), ('07', '[07] Contrato Adjudicación'), ('08', '[08] Letra de cambio'), ('09', '[09] Pagaré a la Orden'), ('10', '[10] Pagaré No a la Orden'), ('11', '[11] Cheque'), ('12', '[12] Reposición'), ('13', '[13] Especiales'), ('14', '[14] Compensación'), ('15', '[15] Giro postal'), ('16', '[16] Cheque conformado'), ('17', '[17] Cheque bancario'), ('18', '[18] Pago contra reembolso'), ('19', '[19] Pago mediante tarjeta')]
string='Facturae code'
No public methods.
facturae_code
Selection
default='01'
selection=[('01', 'IVA: Impuesto sobre el valor añadido'), ('02', 'IPSI: Impuesto sobre la producción, los servicios y la importación'), ('03', 'IGIC: Impuesto general indirecto de Canarias'), ('04', 'IRPF: Impuesto sobre la Renta de las personas físicas'), ('05', 'Otro'), ('06', 'ITPAJD: Impuesto sobre transmisiones patrimoniales y actos jurídicos documentados'), ('07', 'IE: Impuestos especiales'), ('08', 'Ra: Renta aduanas'), ('09', 'IGTECM: Impuesto general sobre el tráfico de empresas que se aplica en Ceuta y Melilla'), ('10', 'IECDPCAC: Impuesto especial sobre los combustibles derivados del petróleo en la Comunidad Autonoma Canaria'), ('11', 'IIIMAB: Impuesto sobre las instalaciones que inciden sobre el medio ambiente en la Baleares'), ('12', 'ICIO: Impuesto sobre las construcciones, instalaciones y obras'), ('13', 'IMVDN: Impuesto municipal sobre las viviendas desocupadas en Navarra'), ('14', 'IMSN: Impuesto municipal sobre solares en Navarra'), ('15', 'IMGSN: Impuesto municipal sobre gastos suntuarios en Navarra'), ('16', 'IMPN: Impuesto municipal sobre publicidad en Navarra'), ('17', 'REIVA: Régimen especial de IVA para agencias de viajes'), ('18', 'REIGIC: Régimen especial de IGIC: para agencias deviajes'), ('19', 'REIPSI: Régimen especial de IPSI para agencias de viajes')]
string='Facturae code'
No public methods.
facturae_code
Selection
selection=[('01', 'IVA: Impuesto sobre el valor añadido'), ('02', 'IPSI: Impuesto sobre la producción, los servicios y la importación'), ('03', 'IGIC: Impuesto general indirecto de Canarias'), ('04', 'IRPF: Impuesto sobre la Renta de las personas físicas'), ('05', 'Otro'), ('06', 'ITPAJD: Impuesto sobre transmisiones patrimoniales y actos jurídicos documentados'), ('07', 'IE: Impuestos especiales'), ('08', 'Ra: Renta aduanas'), ('09', 'IGTECM: Impuesto general sobre el tráfico de empresas que se aplica en Ceuta y Melilla'), ('10', 'IECDPCAC: Impuesto especial sobre los combustibles derivados del petróleo en la Comunidad Autonoma Canaria'), ('11', 'IIIMAB: Impuesto sobre las instalaciones que inciden sobre el medio ambiente en la Baleares'), ('12', 'ICIO: Impuesto sobre las construcciones, instalaciones y obras'), ('13', 'IMVDN: Impuesto municipal sobre las viviendas desocupadas en Navarra'), ('14', 'IMSN: Impuesto municipal sobre solares en Navarra'), ('15', 'IMGSN: Impuesto municipal sobre gastos suntuarios en Navarra'), ('16', 'IMPN: Impuesto municipal sobre publicidad en Navarra'), ('17', 'REIVA: Régimen especial de IVA para agencias de viajes'), ('18', 'REIGIC: Régimen especial de IGIC: para agencias deviajes'), ('19', 'REIPSI: Régimen especial de IPSI para agencias de viajes')]
string='Facturae code'
No public methods.
facturae
Binary
readonly=True
args: 'Factura-E file'
facturae_fname
Char
size=64
args: 'File name'
firmar_facturae
Boolean
default=True
help='Requiere certificado en la ficha de la compañía'
args: '¿Desea firmar digitalmente el fichero generado?'
note
Text
state
Selection
default='first'
readonly=True
args: [('first', 'First'), ('second', 'Second')], 'State'
create_facturae_file(self)
file
Binary
required=True
filename
Char
move_id
Many2one → account.move
ondelete='cascade'
required=True
args: 'account.move'
No public methods.
facturae_cert
Binary
attachment=False
filters='*.pfx'
string='Certificado firma electrónica'
facturae_cert_password
Char
string='Contraseña certificado'
facturae_version
Selection
No public methods.
No new fields.
Public methods (1)get_current_rate(self)
attach_invoice_as_annex
Boolean
facturae
Boolean
facturae_version
Selection
oficina_contable
Char
size=10
args: 'Oficina contable'
organo_gestor
Char
size=10
args: 'Órgano gestor'
organo_proponente
Char
size=10
args: 'Órgano proponente'
unidad_tramitadora
Char
size=10
args: 'Unidad tramitadora'
check_facturae(self)
get_facturae_residence(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/l10n-spain |
| GIT | |
| GIT | https://github.com/OCA/l10n-spain.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/l10n-spain/tree/12.0/l10n_es_facturae |
| VERSION | |
| VERSION | 3.2.0 |
| CATEGORY | |
| CATEGORY | Accounting & Finance |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), FactorLibre, Comunitea, Creu Blanca, ASR-OSS, Tecon |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), FactorLibre, Comunitea, Creu Blanca, ASR-OSS, Tecon |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, GitHub, mreficent, Enric Tobella, OCA Transbot, oca-travis, Weblate, OCA-git-bot, JesusVMayor, oca-ci, Jaime Arroyo, César López Ramírez, Joaquin Gutierrez Pedrosa, Valentin Vinagre Urteaga |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/l10n-spain |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:29:13 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/bank-payment: - account_payment_partner - account_payment_mode OCA/community-data-files: - base_bank_from_iban - base_iso3166 OCA/l10n-spain: - l10n_es_partner OCA/reporting-engine: - report_xml - report_qweb_parameter odoo/odoo: - account - base_setup - base - web - product - decimal_precision - bus - web_tour - uom - analytic - portal - http_routing - digest - base_iban - base_vat - l10n_es |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
OpenSSL xmlsig requests pycountry |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
account_invoice_integration_form |
account.invoice.integration.form | account.invoice.integration | form | New |
account_invoice_integration_tree |
account.invoice.integration.tree | account.invoice.integration | tree | New |
address_contact |
address_contact | ir.ui.view | qweb | New |
administrative_center |
administrative_center | ir.ui.view | qweb | New |
entity |
entity | ir.ui.view | qweb | New |
facturae_header |
facturae_header | ir.ui.view | qweb | New |
invoice_form |
account.invoice.form | account.invoice | button | Inherits account.invoice_form |
template_facturae |
template_facturae | ir.ui.view | qweb | New |
view_account_invoice_filter |
account.invoice.select | account.invoice | filter | Inherits account.view_account_invoice_filter |
view_account_invoice_integration_cancel |
account.invoice.integration.cancel.form | account.invoice.integration.cancel | form | New |
view_account_invoice_refund |
account.invoice.refund.form | account.invoice.refund | field | Inherits account.view_account_invoice_refund |
view_company_form |
res.company.form | res.company | notebook | Inherits base.view_company_form |
view_facturae_fields |
account.invoice.line.form (in l10n_es_facturae_fields) | account.invoice.line | form | New |
view_partner_form |
res.partner.form | res.partner | field | Inherits base.view_partner_form |
view_payment_mode_form_add_face_code |
payment.mode.form.add_face_code | account.payment.mode | field | Inherits account_payment_mode.account_payment_mode_form |
view_tax_form |
account.tax.search | account.tax | field | Inherits account.view_tax_form |
wizard_create_facturae |
create.facturae.form | create.facturae | form | New |
can_integrate
Boolean
compute='_compute_can_integrate'
correction_method
Selection
selection=[('01', 'Rectificación íntegra'), ('02', 'Rectificación por diferencias'), ('03', 'Rectificación por descuento por volumen de operaciones durante un periodo'), ('04', 'Autorizadas por la Agencia Tributaria')]
facturae
Boolean
readonly=True
related='partner_id.facturae'
facturae_end_date
Date
readonly=True
states={'draft': [('readonly', False)]}
facturae_refund_reason
Selection
selection=[('01', 'Número de la factura'), ('02', 'Serie de la factura'), ('03', 'Fecha expedición'), ('04', 'Nombre y apellidos/Razón social - Emisor'), ('05', 'Nombre y apellidos/Razón social - Receptor'), ('06', 'Identificación fiscal Emisor/Obligado'), ('07', 'Identificación fiscal Receptor'), ('08', 'Domicilio Emisor/Obligado'), ('09', 'Domicilio Receptor'), ('10', 'Detalle Operación'), ('11', 'Porcentaje impositivo a aplicar'), ('12', 'Cuota tributaria a aplicar'), ('13', 'Fecha/Periodo a aplicar'), ('14', 'Clase de factura'), ('15', 'Literales legales'), ('16', 'Base imponible'), ('80', 'Cálculo de cuotas repercutidas'), ('81', 'Cálculo de cuotas retenidas'), ('82', 'Base imponible modificada por devolución de envases/embalajes'), ('83', 'Base imponible modificada por descuentos y bonificaciones'), ('84', 'Base imponible modificada por resolución firme, judicial o administrativa'), ('85', 'Base imponible modificada cuotas repercutidas no satisfechas. Auto de declaración de concurso')]
facturae_start_date
Date
readonly=True
states={'draft': [('readonly', False)]}
integration_count
Integer
compute='_compute_integrations_count'
copy=False
default=0
string='# of Integrations'
integration_ids
One2many → account.invoice.integration
comodel_name='account.invoice.integration'
copy=False
inverse_name='invoice_id'
integration_issue
Boolean
compute='_compute_integration_issue'
help='This field should show if the invoice has been integrated and has any issues'
store=True
action_integrations(self)
action_view_integrations(self)
get_correction_method_string(self)
get_exchange_rate(self, euro_rate, currency_rate)
get_facturae(self, firmar_facturae)
get_facturae_version(self)
get_refund_reason_string(self)
validate_facturae_fields(self)
attachment_id
Many2one → ir.attachment
comodel_name='ir.attachment'
string='Main file'
attachment_ids
Many2many → ir.attachment
comodel_name='ir.attachment'
string='Annexes'
can_cancel
Boolean
default=False
readonly=True
can_send
Boolean
default=True
readonly=True
can_update
Boolean
default=False
readonly=True
cancellation_description
Char
readonly=True
cancellation_status
Selection
readonly=True
selection=[]
integration_description
Char
readonly=True
integration_status
Selection
readonly=True
selection=[]
invoice_id
Many2one → account.invoice
comodel_name='account.invoice'
readonly=True
required=True
log_ids
One2many → account.invoice.integration.log
comodel_name='account.invoice.integration.log'
inverse_name='integration_id'
method_id
Many2one → account.invoice.integration.method
comodel_name='account.invoice.integration.method'
readonly=True
required=True
string='Method'
name
Char
default='/'
readonly=True
register_number
Char
readonly=True
state
Selection
default='pending'
readonly=True
selection=[('pending', 'Pending'), ('sent', 'Sent'), ('cancelled', 'Cancelled'), ('failed', 'Failed')]
update_date
Datetime
readonly=True
cancel_values(self)
create(self, vals)
log_values(self)
send_action(self)
send_values(self)
update_action(self)
update_values(self)
integration_id
Many2one → account.invoice.integration
comodel_name='account.invoice.integration'
cancel_integration(self)
cancel_values(self)
cancellation_motive
Char
integration_id
Many2one → account.invoice.integration
comodel_name='account.invoice.integration'
readonly=True
required=True
log
Text
name
Char
default='/'
readonly=True
result_code
Char
state
Selection
selection=[('pending', 'Pending'), ('sent', 'Sent'), ('failed', 'Failed')]
type
Selection
selection=[('send', 'Send'), ('update', 'Update'), ('cancel', 'Cancel')]
update_date
Datetime
cancel(self)
cancel_method(self)
create(self, vals)
send(self)
send_method(self)
update(self)
update_method(self)
code
Char
readonly=True
name
Char
sequence_id
Many2one → ir.sequence
comodel_name='ir.sequence'
readonly=True
required=True
create_integration(self, invoice)
integration_values(self, invoice)
facturae_end_date
Date
facturae_file_date
Date
facturae_file_reference
Char
facturae_issuer_contract_date
Date
facturae_issuer_contract_reference
Char
facturae_issuer_transaction_date
Date
facturae_issuer_transaction_reference
Char
facturae_receiver_contract_date
Date
facturae_receiver_contract_reference
Char
facturae_receiver_transaction_date
Date
facturae_receiver_transaction_reference
Char
facturae_start_date
Date
facturae_transaction_date
Date
invoice_state
Selection
readonly=True
related='invoice_id.state'
button_edit_facturae_fields(self)
correction_method
Selection
default='02'
selection=[('01', 'Rectificación íntegra'), ('02', 'Rectificación por diferencias'), ('03', 'Rectificación por descuento por volumen de operaciones durante un periodo'), ('04', 'Autorizadas por la Agencia Tributaria')]
refund_reason
Selection
default='10'
selection=[('01', 'Número de la factura'), ('02', 'Serie de la factura'), ('03', 'Fecha expedición'), ('04', 'Nombre y apellidos/Razón social - Emisor'), ('05', 'Nombre y apellidos/Razón social - Receptor'), ('06', 'Identificación fiscal Emisor/Obligado'), ('07', 'Identificación fiscal Receptor'), ('08', 'Domicilio Emisor/Obligado'), ('09', 'Domicilio Receptor'), ('10', 'Detalle Operación'), ('11', 'Porcentaje impositivo a aplicar'), ('12', 'Cuota tributaria a aplicar'), ('13', 'Fecha/Periodo a aplicar'), ('14', 'Clase de factura'), ('15', 'Literales legales'), ('16', 'Base imponible'), ('80', 'Cálculo de cuotas repercutidas'), ('81', 'Cálculo de cuotas retenidas'), ('82', 'Base imponible modificada por devolución de envases/embalajes'), ('83', 'Base imponible modificada por descuentos y bonificaciones'), ('84', 'Base imponible modificada por resolución firme, judicial o administrativa'), ('85', 'Base imponible modificada cuotas repercutidas no satisfechas. Auto de declaración de concurso')]
invoice_refund(self)
facturae_code
Selection
default='04'
selection=[('01', '[01] Al contado'), ('02', '[02] Recibo Domiciliado'), ('03', '[03] Recibo'), ('04', '[04] Transferencia'), ('05', '[05] Letra Aceptada'), ('06', '[06] Crédito Documentario'), ('07', '[07] Contrato Adjudicación'), ('08', '[08] Letra de cambio'), ('09', '[09] Pagaré a la Orden'), ('10', '[10] Pagaré No a la Orden'), ('11', '[11] Cheque'), ('12', '[12] Reposición'), ('13', '[13] Especiales'), ('14', '[14] Compensación'), ('15', '[15] Giro postal'), ('16', '[16] Cheque conformado'), ('17', '[17] Cheque bancario'), ('18', '[18] Pago contra reembolso'), ('19', '[19] Pago mediante tarjeta')]
string='Facturae code'
No public methods.
facturae_code
Selection
default='01'
selection=[('01', 'IVA: Impuesto sobre el valor añadido'), ('02', 'IPSI: Impuesto sobre la producción, los servicios y la importación'), ('03', 'IGIC: Impuesto general indirecto de Canarias'), ('04', 'IRPF: Impuesto sobre la Renta de las personas físicas'), ('05', 'Otro'), ('06', 'ITPAJD: Impuesto sobre transmisiones patrimoniales y actos jurídicos documentados'), ('07', 'IE: Impuestos especiales'), ('08', 'Ra: Renta aduanas'), ('09', 'IGTECM: Impuesto general sobre el tráfico de empresas que se aplica en Ceuta y Melilla'), ('10', 'IECDPCAC: Impuesto especial sobre los combustibles derivados del petróleo en la Comunidad Autonoma Canaria'), ('11', 'IIIMAB: Impuesto sobre las instalaciones que inciden sobre el medio ambiente en la Baleares'), ('12', 'ICIO: Impuesto sobre las construcciones, instalaciones y obras'), ('13', 'IMVDN: Impuesto municipal sobre las viviendas desocupadas en Navarra'), ('14', 'IMSN: Impuesto municipal sobre solares en Navarra'), ('15', 'IMGSN: Impuesto municipal sobre gastos suntuarios en Navarra'), ('16', 'IMPN: Impuesto municipal sobre publicidad en Navarra'), ('17', 'REIVA: Régimen especial de IVA para agencias de viajes'), ('18', 'REIGIC: Régimen especial de IGIC: para agencias deviajes'), ('19', 'REIPSI: Régimen especial de IPSI para agencias de viajes')]
string='Facturae code'
No public methods.
facturae_code
Selection
selection=[('01', 'IVA: Impuesto sobre el valor añadido'), ('02', 'IPSI: Impuesto sobre la producción, los servicios y la importación'), ('03', 'IGIC: Impuesto general indirecto de Canarias'), ('04', 'IRPF: Impuesto sobre la Renta de las personas físicas'), ('05', 'Otro'), ('06', 'ITPAJD: Impuesto sobre transmisiones patrimoniales y actos jurídicos documentados'), ('07', 'IE: Impuestos especiales'), ('08', 'Ra: Renta aduanas'), ('09', 'IGTECM: Impuesto general sobre el tráfico de empresas que se aplica en Ceuta y Melilla'), ('10', 'IECDPCAC: Impuesto especial sobre los combustibles derivados del petróleo en la Comunidad Autonoma Canaria'), ('11', 'IIIMAB: Impuesto sobre las instalaciones que inciden sobre el medio ambiente en la Baleares'), ('12', 'ICIO: Impuesto sobre las construcciones, instalaciones y obras'), ('13', 'IMVDN: Impuesto municipal sobre las viviendas desocupadas en Navarra'), ('14', 'IMSN: Impuesto municipal sobre solares en Navarra'), ('15', 'IMGSN: Impuesto municipal sobre gastos suntuarios en Navarra'), ('16', 'IMPN: Impuesto municipal sobre publicidad en Navarra'), ('17', 'REIVA: Régimen especial de IVA para agencias de viajes'), ('18', 'REIGIC: Régimen especial de IGIC: para agencias deviajes'), ('19', 'REIPSI: Régimen especial de IPSI para agencias de viajes')]
string='Facturae code'
No public methods.
facturae
Binary
readonly=True
args: 'Factura-E file'
facturae_fname
Char
size=64
args: 'File name'
firmar_facturae
Boolean
default=True
help='Requiere certificado en la ficha de la compañía'
args: '¿Desea firmar digitalmente el fichero generado?'
note
Text
state
Selection
default='first'
readonly=True
args: [('first', 'First'), ('second', 'Second')], 'State'
create_facturae_file(self)
facturae_cert
Binary
filters='*.pfx'
string='Certificado firma electrónica'
facturae_cert_password
Char
string='Contraseña certificado'
facturae_version
Selection
No public methods.
No new fields.
Public methods (1)get_current_rate(self)
attach_invoice_as_annex
Boolean
facturae
Boolean
facturae_version
Selection
invoice_integration_method_ids
Many2many → account.invoice.integration.method
comodel_name='account.invoice.integration.method'
string='Integration Methods'
oficina_contable
Char
size=10
args: 'Oficina contable'
organo_gestor
Char
size=10
args: 'Órgano gestor'
organo_proponente
Char
size=10
args: 'Órgano proponente'
unidad_tramitadora
Char
size=10
args: 'Unidad tramitadora'
check_facturae(self)
get_facturae_residence(self)
| 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/11.0/l10n_es_facturae |
| 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), FactorLibre, Comunitea, Creu Blanca, ASR-OSS, Tecon |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), FactorLibre, Comunitea, Creu Blanca, ASR-OSS, Tecon |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, GitHub, Enric Tobella, Stéphane Bidoul (ACSONE), Jordi Ballester Alomar, Jordi Ballester, OCA Transbot, Sergio Teruel, oca-travis, Weblate, OCA-git-bot, oca-ci, Adrián Gómez |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/l10n-spain |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:23:55 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/bank-payment: - account_payment_partner - account_payment_mode - account_banking_mandate - account_payment_order OCA/community-data-files: - base_bank_from_iban - base_iso3166 OCA/l10n-spain: - l10n_es_partner OCA/partner-contact: - partner_firstname OCA/reporting-engine: - report_xml - report_qweb_parameter odoo/odoo: - account - base_setup - base - web - product - decimal_precision - bus - web_tour - analytic - web_planner - portal - http_routing - base_iban - base_vat - l10n_es - document |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
OpenSSL xmlsig requests pycountry |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
account_invoice_integration_form |
account.invoice.integration.form | account.invoice.integration | form | New |
account_invoice_integration_tree |
account.invoice.integration.tree | account.invoice.integration | tree | New |
address_contact |
address_contact | ir.ui.view | qweb | New |
administrative_center |
administrative_center | ir.ui.view | qweb | New |
entity |
entity | ir.ui.view | qweb | New |
facturae_header |
facturae_header | ir.ui.view | qweb | New |
invoice_form |
account.invoice.form | account.invoice | button | Inherits account.invoice_form |
template_facturae |
template_facturae | ir.ui.view | qweb | New |
view_account_invoice_integration_cancel |
account.invoice.integration.cancel.form | account.invoice.integration.cancel | form | New |
view_account_invoice_refund |
account.invoice.refund.form | account.invoice.refund | field | Inherits account.view_account_invoice_refund |
view_company_form |
res.company.form | res.company | notebook | Inherits base.view_company_form |
view_facturae_fields |
account.invoice.line.form (in l10n_es_facturae_fields) | account.invoice.line | form | New |
view_partner_form |
res.partner.form | res.partner | field | Inherits base.view_partner_form |
view_payment_mode_form_add_face_code |
payment.mode.form.add_face_code | account.payment.mode | field | Inherits account_payment_mode.account_payment_mode_form |
view_tax_form |
account.tax.search | account.tax | field | Inherits account.view_tax_form |
wizard_create_facturae |
create.facturae.form | create.facturae | form | New |
can_integrate
Boolean
compute='_compute_can_integrate'
correction_method
Selection
selection=[('01', 'Rectificación íntegra'), ('02', 'Rectificación por diferencias'), ('03', 'Rectificación por descuento por volumen de operaciones durante un periodo'), ('04', 'Autorizadas por la Agencia Tributaria')]
facturae
Boolean
readonly=True
related='partner_id.facturae'
facturae_end_date
Date
readonly=True
states={'draft': [('readonly', False)]}
facturae_refund_reason
Selection
selection=[('01', 'Número de la factura'), ('02', 'Serie de la factura'), ('03', 'Fecha expedición'), ('04', 'Nombre y apellidos/Razón social - Emisor'), ('05', 'Nombre y apellidos/Razón social - Receptor'), ('06', 'Identificación fiscal Emisor/Obligado'), ('07', 'Identificación fiscal Receptor'), ('08', 'Domicilio Emisor/Obligado'), ('09', 'Domicilio Receptor'), ('10', 'Detalle Operación'), ('11', 'Porcentaje impositivo a aplicar'), ('12', 'Cuota tributaria a aplicar'), ('13', 'Fecha/Periodo a aplicar'), ('14', 'Clase de factura'), ('15', 'Literales legales'), ('16', 'Base imponible'), ('80', 'Cálculo de cuotas repercutidas'), ('81', 'Cálculo de cuotas retenidas'), ('82', 'Base imponible modificada por devolución de envases/embalajes'), ('83', 'Base imponible modificada por descuentos y bonificaciones'), ('84', 'Base imponible modificada por resolución firme, judicial o administrativa'), ('85', 'Base imponible modificada cuotas repercutidas no satisfechas. Auto de declaración de concurso')]
facturae_start_date
Date
readonly=True
states={'draft': [('readonly', False)]}
integration_count
Integer
compute='_compute_integrations_count'
copy=False
default=0
string='# of Integrations'
integration_ids
One2many → account.invoice.integration
comodel_name='account.invoice.integration'
copy=False
inverse_name='invoice_id'
action_integrations(self)
action_view_integrations(self)
get_correction_method_string(self)
get_exchange_rate(self, euro_rate, currency_rate)
get_facturae(self, firmar_facturae)
get_refund_reason_string(self)
validate_facturae_fields(self)
attachment_id
Many2one → ir.attachment
comodel_name='ir.attachment'
string='Main file'
attachment_ids
Many2many → ir.attachment
comodel_name='ir.attachment'
string='Annexes'
can_cancel
Boolean
default=False
readonly=True
can_send
Boolean
default=True
readonly=True
can_update
Boolean
default=False
readonly=True
cancellation_description
Char
readonly=True
cancellation_status
Selection
readonly=True
selection=[]
integration_description
Char
readonly=True
integration_status
Selection
readonly=True
selection=[]
invoice_id
Many2one → account.invoice
comodel_name='account.invoice'
readonly=True
required=True
log_ids
One2many → account.invoice.integration.log
comodel_name='account.invoice.integration.log'
inverse_name='integration_id'
method_id
Many2one → account.invoice.integration.method
comodel_name='account.invoice.integration.method'
readonly=True
required=True
string='Method'
name
Char
default='/'
readonly=True
register_number
Char
readonly=True
state
Selection
default='pending'
readonly=True
selection=[('pending', 'Pending'), ('sent', 'Sent'), ('cancelled', 'Cancelled'), ('failed', 'Failed')]
update_date
Datetime
readonly=True
cancel_values(self)
create(self, vals)
log_values(self)
send_action(self)
send_values(self)
update_action(self)
update_values(self)
integration_id
Many2one → account.invoice.integration
comodel_name='account.invoice.integration'
cancel_integration(self)
cancel_values(self)
cancellation_motive
Char
integration_id
Many2one → account.invoice.integration
comodel_name='account.invoice.integration'
readonly=True
required=True
log
Text
name
Char
default='/'
readonly=True
result_code
Char
state
Selection
selection=[('pending', 'Pending'), ('sent', 'Sent'), ('failed', 'Failed')]
type
Selection
selection=[('send', 'Send'), ('update', 'Update'), ('cancel', 'Cancel')]
update_date
Datetime
cancel(self)
cancel_method(self)
create(self, vals)
send(self)
send_method(self)
update(self)
update_method(self)
code
Char
readonly=True
name
Char
sequence_id
Many2one → ir.sequence
comodel_name='ir.sequence'
readonly=True
required=True
create_integration(self, invoice)
integration_values(self, invoice)
facturae_end_date
Date
facturae_file_date
Date
facturae_file_reference
Char
facturae_issuer_contract_date
Date
facturae_issuer_contract_reference
Char
facturae_issuer_transaction_date
Date
facturae_issuer_transaction_reference
Char
facturae_receiver_contract_date
Date
facturae_receiver_contract_reference
Char
facturae_receiver_transaction_date
Date
facturae_receiver_transaction_reference
Char
facturae_start_date
Date
facturae_transaction_date
Date
invoice_state
Selection
readonly=True
related='invoice_id.state'
button_edit_facturae_fields(self)
correction_method
Selection
default='02'
selection=[('01', 'Rectificación íntegra'), ('02', 'Rectificación por diferencias'), ('03', 'Rectificación por descuento por volumen de operaciones durante un periodo'), ('04', 'Autorizadas por la Agencia Tributaria')]
refund_reason
Selection
default='10'
selection=[('01', 'Número de la factura'), ('02', 'Serie de la factura'), ('03', 'Fecha expedición'), ('04', 'Nombre y apellidos/Razón social - Emisor'), ('05', 'Nombre y apellidos/Razón social - Receptor'), ('06', 'Identificación fiscal Emisor/Obligado'), ('07', 'Identificación fiscal Receptor'), ('08', 'Domicilio Emisor/Obligado'), ('09', 'Domicilio Receptor'), ('10', 'Detalle Operación'), ('11', 'Porcentaje impositivo a aplicar'), ('12', 'Cuota tributaria a aplicar'), ('13', 'Fecha/Periodo a aplicar'), ('14', 'Clase de factura'), ('15', 'Literales legales'), ('16', 'Base imponible'), ('80', 'Cálculo de cuotas repercutidas'), ('81', 'Cálculo de cuotas retenidas'), ('82', 'Base imponible modificada por devolución de envases/embalajes'), ('83', 'Base imponible modificada por descuentos y bonificaciones'), ('84', 'Base imponible modificada por resolución firme, judicial o administrativa'), ('85', 'Base imponible modificada cuotas repercutidas no satisfechas. Auto de declaración de concurso')]
invoice_refund(self)
facturae_code
Selection
default='04'
selection=[('01', '[01] Al contado'), ('02', '[02] Recibo Domiciliado'), ('03', '[03] Recibo'), ('04', '[04] Transferencia'), ('05', '[05] Letra Aceptada'), ('06', '[06] Crédito Documentario'), ('07', '[07] Contrato Adjudicación'), ('08', '[08] Letra de cambio'), ('09', '[09] Pagaré a la Orden'), ('10', '[10] Pagaré No a la Orden'), ('11', '[11] Cheque'), ('12', '[12] Reposición'), ('13', '[13] Especiales'), ('14', '[14] Compensación'), ('15', '[15] Giro postal'), ('16', '[16] Cheque conformado'), ('17', '[17] Cheque bancario'), ('18', '[18] Pago contra reembolso'), ('19', '[19] Pago mediante tarjeta')]
string='Facturae code'
No public methods.
facturae_code
Selection
default='01'
selection=[('01', 'IVA: Impuesto sobre el valor añadido'), ('02', 'IPSI: Impuesto sobre la producción, los servicios y la importación'), ('03', 'IGIC: Impuesto general indirecto de Canarias'), ('04', 'IRPF: Impuesto sobre la Renta de las personas físicas'), ('05', 'Otro'), ('06', 'ITPAJD: Impuesto sobre transmisiones patrimoniales y actos jurídicos documentados'), ('07', 'IE: Impuestos especiales'), ('08', 'Ra: Renta aduanas'), ('09', 'IGTECM: Impuesto general sobre el tráfico de empresas que se aplica en Ceuta y Melilla'), ('10', 'IECDPCAC: Impuesto especial sobre los combustibles derivados del petróleo en la Comunidad Autonoma Canaria'), ('11', 'IIIMAB: Impuesto sobre las instalaciones que inciden sobre el medio ambiente en la Baleares'), ('12', 'ICIO: Impuesto sobre las construcciones, instalaciones y obras'), ('13', 'IMVDN: Impuesto municipal sobre las viviendas desocupadas en Navarra'), ('14', 'IMSN: Impuesto municipal sobre solares en Navarra'), ('15', 'IMGSN: Impuesto municipal sobre gastos suntuarios en Navarra'), ('16', 'IMPN: Impuesto municipal sobre publicidad en Navarra'), ('17', 'REIVA: Régimen especial de IVA para agencias de viajes'), ('18', 'REIGIC: Régimen especial de IGIC: para agencias deviajes'), ('19', 'REIPSI: Régimen especial de IPSI para agencias de viajes')]
string='Facturae code'
No public methods.
facturae_code
Selection
selection=[('01', 'IVA: Impuesto sobre el valor añadido'), ('02', 'IPSI: Impuesto sobre la producción, los servicios y la importación'), ('03', 'IGIC: Impuesto general indirecto de Canarias'), ('04', 'IRPF: Impuesto sobre la Renta de las personas físicas'), ('05', 'Otro'), ('06', 'ITPAJD: Impuesto sobre transmisiones patrimoniales y actos jurídicos documentados'), ('07', 'IE: Impuestos especiales'), ('08', 'Ra: Renta aduanas'), ('09', 'IGTECM: Impuesto general sobre el tráfico de empresas que se aplica en Ceuta y Melilla'), ('10', 'IECDPCAC: Impuesto especial sobre los combustibles derivados del petróleo en la Comunidad Autonoma Canaria'), ('11', 'IIIMAB: Impuesto sobre las instalaciones que inciden sobre el medio ambiente en la Baleares'), ('12', 'ICIO: Impuesto sobre las construcciones, instalaciones y obras'), ('13', 'IMVDN: Impuesto municipal sobre las viviendas desocupadas en Navarra'), ('14', 'IMSN: Impuesto municipal sobre solares en Navarra'), ('15', 'IMGSN: Impuesto municipal sobre gastos suntuarios en Navarra'), ('16', 'IMPN: Impuesto municipal sobre publicidad en Navarra'), ('17', 'REIVA: Régimen especial de IVA para agencias de viajes'), ('18', 'REIGIC: Régimen especial de IGIC: para agencias deviajes'), ('19', 'REIPSI: Régimen especial de IPSI para agencias de viajes')]
string='Facturae code'
No public methods.
facturae
Binary
readonly=True
args: 'Factura-E file'
facturae_fname
Char
size=64
args: 'File name'
firmar_facturae
Boolean
default=True
help='Requiere certificado en la ficha de la compañía'
args: '¿Desea firmar digitalmente el fichero generado?'
note
Text
state
Selection
default='first'
readonly=True
args: [('first', 'First'), ('second', 'Second')], 'State'
create_facturae_file(self)
facturae_cert
Binary
filters='*.pfx'
string='Certificado firma electrónica'
facturae_cert_password
Char
string='Contraseña certificado'
No public methods.
No new fields.
Public methods (1)get_current_rate(self)
facturae
Boolean
invoice_integration_method_ids
Many2many → account.invoice.integration.method
comodel_name='account.invoice.integration.method'
string='Integration Methods'
oficina_contable
Char
size=10
args: 'Oficina contable'
organo_gestor
Char
size=10
args: 'Órgano gestor'
organo_proponente
Char
size=10
args: 'Órgano proponente'
unidad_tramitadora
Char
size=10
args: 'Unidad tramitadora'
check_facturae(self)
get_facturae_residence(self)
| 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/6.1/l10n_es_facturae |
| VERSION | |
| VERSION | 1.0 |
| CATEGORY | |
| CATEGORY | Localisation/Accounting |
| LICENSE | |
| LICENSE | GPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Alejandro Sanchez |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Alejandro Sanchez |
| COMMITTERS | |
| COMMITTERS | Alexandre Fayolle |
| WEBSITE | |
| WEBSITE | www.asr-oss.com |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:04:05 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - account - base_setup - base - product - process - decimal_precision - analytic - board - edi - email_template - base_tools |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | NOTA: NO ADAPTADO TODAVÍA A LA VERSIÓN 6.0 This module creates Factura-e files from invoices. ******* Module under development ******* Successfully passes format and account validation tests from AEAT: http://www11.mityc.es/FacturaE/ValidarCompleto |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
invoice_tree_l10n_ES1 |
account.invoice.tree.l10n_ES1 | account.invoice | field | Inherits account.invoice_tree |
invoice_tree_l10n_ES2 |
account.invoice.tree.l10n_ES2 | account.invoice | field | Inherits account.invoice_tree |
view_country_form_ext |
res.country.form_ext | res.country | form | Inherits base.view_country_form |
No models found for this module.