TicketBAI (API) - Batuz - declaración de todas las operaciones de venta realizadas por las personas y entidades que desarrollan actividades económicas en Bizkaia

l10n_es_ticketbai_api_batuz
REPOSITORY
REPOSITORYOCA/l10n-spain
GIT
GIThttps://github.com/OCA/l10n-spain.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-spain/tree/16.0/l10n_es_ticketbai_api_batuz
VERSION
VERSION 1.0.5
CATEGORY
CATEGORYAccounting & Finance
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Binovo
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Binovo
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, oca-ci, Aritz Olea, r.perez, extrememicro
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-spain
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:53:39
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/l10n-spain:
    - l10n_es_ticketbai_api
odoo/odoo:
    - base
    - base_setup
    - web
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES requests_pkcs12==1.22
xmltodict
qrcode
xmlsig
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (9)
XML IDNameModelTypeStatus
lroe_chapter_form_view lroe.chapter.form.view lroe.chapter form New
lroe_chapter_search_view lroe.chapter.search.view lroe.chapter search New
lroe_chapter_tree_view lroe.chapter.tree.view lroe.chapter tree New
lroe_operation_form_view lroe.operation.form.view lroe.operation form New
lroe_operation_response_form_view lroe.operation.response.form.view lroe.operation.response form New
lroe_operation_response_tree_view lroe.operation.response.tree.view lroe.operation.response tree New
lroe_operation_search_view lroe.operation.search.view lroe.operation search New
lroe_operation_tree_view lroe.operation.tree.view lroe.operation tree New
view_company_form_tbai_batuz view.company.form.tbai.batuz res.company xpath Inherits l10n_es_ticketbai_api.view_company_form_inherit
Models touched (6)

New fields (4)
  • code Char
    required=True
  • lroe_chapter_id Many2one → lroe.chapter
    comodel_name='lroe.chapter' string='Parent chapter'
  • model Selection
    default=LROEModelEnum.model_pj_240.value required=True string='LROE Model' args: [(LROEModelEnum.model_pj_240.value, 'LROE PJ 240'), (LROEModelEnum.model_pf_140.value, 'LROE PF 140')]
  • name Char
    required=True
Public methods (0)

No public methods.

New fields (15)
  • company_id Many2one → res.company
    required=True args: 'res.company'
  • lroe_chapter_id Many2one → lroe.chapter
    comodel_name='lroe.chapter' required=True string='Chapter'
  • lroe_subchapter_id Many2one → lroe.chapter
    comodel_name='lroe.chapter' string='Subchapter'
  • model Selection
    readonly=True related='company_id.lroe_model' required=True
  • name Char
    compute='_compute_lroe_operation_name' store=True
  • response_ids One2many → lroe.operation.response
    comodel_name='lroe.operation.response' inverse_name='lroe_operation_id' string='Operation global responses'
  • state Selection
    default=LROEOperationStateEnum.DRAFT.value selection=[(LROEOperationStateEnum.DRAFT.value, 'Draft'), (LROEOperationStateEnum.ERROR.value, 'Error'), (LROEOperationStateEnum.CANCEL.value, 'Cancel'), (LROEOperationStateEnum.RECORDED_WARNING.value, 'Recorded Warning'), (LROEOperationStateEnum.RECORDED.value, 'Recorded')]
  • tbai_invoice_ids One2many → tbai.invoice
    comodel_name='tbai.invoice' inverse_name='lroe_operation_id' string='TBai Customer Invoices'
  • trx_gzip_file Binary
  • trx_gzip_fname Char
    args: 'GZIP File Name'
  • trx_gzip_fsize Integer
    args: 'GZIP File Size'
  • type Selection
    default=LROEOperationEnum.create.value required=True args: [(LROEOperationEnum.create.value, 'Create'), (LROEOperationEnum.cancel.value, 'Cancel'), (LROEOperationEnum.update.value, 'Update'), (LROEOperationEnum.query.value, 'Query')]
  • xml_datas Binary
  • xml_datas_fname Char
    args: 'XML File Name'
  • xml_file_size Integer
    args: 'XML File Size'
Public methods (14)
  • build_cabecera_ejercicio(self)
  • build_cabecera_pf_140(self)
  • build_cabecera_pj_240(self)
  • build_facturas_emitidas(self)
  • build_facturas_recibidas(self)
  • build_ingresos(self)
  • build_obligado_tributario(self)
  • build_xml_140_1_1(self)
  • build_xml_140_2_1(self)
  • build_xml_240_1_1(self)
  • build_xml_240_2(self)
  • build_xml_file(self)
  • get_lroe_operations_xml(self)
    Se concatena el modelo + capitulo/subcatpitulo y se busca el metodo especifico para crear el xml
  • set_trx_gzip_file(self)

New fields (10)
  • code Char
  • description Char
  • lroe_operation_id Many2one → lroe.operation
    comodel_name='lroe.operation' ondelete='cascade' required=True
  • lroe_record_date Char
  • lroe_record_id Char
  • lroe_record_number Char
  • response_line_ids One2many → lroe.operation.response.line
    comodel_name='lroe.operation.response.line' inverse_name='lroe_response_id' string='Response Line'
  • state Selection
    required=True selection=[(LROEOperationResponseState.BUILD_ERROR.value, 'Build error'), (LROEOperationResponseState.REQUEST_ERROR.value, 'Request error'), (LROEOperationResponseState.CORRECT.value, 'Correct'), (LROEOperationResponseState.PARTIALLY_CORRECT.value, 'Partially correct'), (LROEOperationResponseState.INCORRECT.value, 'Incorrect')]
  • xml Binary
    string='XML Response'
  • xml_fname Char
    args: 'XML File Name'
Public methods (6)
  • get_lroe_response_xml_records(self, xml_root)
    @api.model
  • get_lroe_xml_schema(self, lroe_operation)
    @api.model
  • get_tbai_state(lroe_response_operation)
    @staticmethod
  • prepare_lroe_error_values(self, lroe_operation, msg, **kwargs)
    @api.model
  • prepare_lroe_response_values(self, lroe_srv_response, lroe_operation, **kwargs)
    @api.model
  • validate_response_line_state(self, response_line_record_state)
    @api.model

New fields (8)
  • code Char
  • description Char
  • lroe_operation_id Many2one → lroe.operation
    comodel_name='lroe.operation' related='lroe_response_id.lroe_operation_id'
  • lroe_response_id Many2one → lroe.operation.response
    comodel_name='lroe.operation.response' ondelete='cascade' required=True
  • response_message Char
    compute='_compute_line_message' string='LROE Response Message'
  • state Selection
    required=True selection=[(LROEOperationResponseLineState.CORRECT.value, 'Correct'), (LROEOperationResponseLineState.CORRECT_WITH_ERRORS.value, 'Correct with errors'), (LROEOperationResponseLineState.INCORRECT.value, 'Incorrect')]
  • tbai_invoice_id Many2one → tbai.invoice
    comodel_name='tbai.invoice' ondelete='cascade' related='tbai_response_id.tbai_invoice_id' required=True
  • tbai_response_id Many2one → tbai.response
    comodel_name='tbai.response' ondelete='cascade'
Public methods (0)

No public methods.

New fields (2)
  • lroe_model Selection
    default=LROEModelEnum.model_pj_240.value required=True string='LROE Model' args: [(LROEModelEnum.model_pj_240.value, 'LROE PJ 240'), (LROEModelEnum.model_pf_140.value, 'LROE PF 140')]
  • main_activity_iae Char
    size=7 string='Epígrafe I.A.E. actividad principal'
Public methods (0)

No public methods.

New fields (1)
  • lroe_operation_id Many2one → lroe.operation
    comodel_name='lroe.operation' string='TicketBAI-Batuz LROE Operation'
Public methods (4)
  • create_tbai_lroe_operation(self)
  • get_lroe_ticketbai_api(self, **kwargs)
  • send(self, **kwargs)
  • send_lroe_ticketbai(self, **kwargs)
REPOSITORY
REPOSITORYOCA/l10n-spain
GIT
GIThttps://github.com/OCA/l10n-spain.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-spain/tree/15.0/l10n_es_ticketbai_api_batuz
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYAccounting & Finance
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Binovo
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Binovo
COMMITTERS
COMMITTERSOCA Transbot, Weblate, OCA-git-bot, oca-ci, Aritz Olea, jfernandezbusman
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-spain
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:46:29
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/l10n-spain:
    - l10n_es_ticketbai_api
odoo/odoo:
    - base
    - base_setup
    - web
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES requests_pkcs12
xmltodict
cryptography
qrcode
xmlsig
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (9)
XML IDNameModelTypeStatus
lroe_chapter_form_view lroe.chapter.form.view lroe.chapter form New
lroe_chapter_search_view lroe.chapter.search.view lroe.chapter search New
lroe_chapter_tree_view lroe.chapter.tree.view lroe.chapter tree New
lroe_operation_form_view lroe.operation.form.view lroe.operation form New
lroe_operation_response_form_view lroe.operation.response.form.view lroe.operation.response form New
lroe_operation_response_tree_view lroe.operation.response.tree.view lroe.operation.response tree New
lroe_operation_search_view lroe.operation.search.view lroe.operation search New
lroe_operation_tree_view lroe.operation.tree.view lroe.operation tree New
view_company_form_tbai_batuz view.company.form.tbai.batuz res.company xpath Inherits l10n_es_ticketbai_api.view_company_form_inherit
Models touched (6)

New fields (4)
  • code Char
    required=True
  • lroe_chapter_id Many2one → lroe.chapter
    comodel_name='lroe.chapter' string='Parent chapter'
  • model Selection
    default=LROEModelEnum.model_pj_240.value required=True string='LROE Model' args: [(LROEModelEnum.model_pj_240.value, 'LROE PJ 240'), (LROEModelEnum.model_pf_140.value, 'LROE PF 140')]
  • name Char
    required=True
Public methods (0)

No public methods.

New fields (15)
  • company_id Many2one → res.company
    required=True args: 'res.company'
  • lroe_chapter_id Many2one → lroe.chapter
    comodel_name='lroe.chapter' required=True string='Chapter'
  • lroe_subchapter_id Many2one → lroe.chapter
    comodel_name='lroe.chapter' string='Subchapter'
  • model Selection
    readonly=True related='company_id.lroe_model' required=True args: 'Model'
  • name Char
    compute='_compute_lroe_operation_name' store=True
  • response_ids One2many → lroe.operation.response
    comodel_name='lroe.operation.response' inverse_name='lroe_operation_id' string='Operation global responses'
  • state Selection
    default=LROEOperationStateEnum.DRAFT.value selection=[(LROEOperationStateEnum.DRAFT.value, 'Draft'), (LROEOperationStateEnum.ERROR.value, 'Error'), (LROEOperationStateEnum.CANCEL.value, 'Cancel'), (LROEOperationStateEnum.RECORDED_WARNING.value, 'Recorded Warning'), (LROEOperationStateEnum.RECORDED.value, 'Recorded')]
  • tbai_invoice_ids One2many → tbai.invoice
    comodel_name='tbai.invoice' inverse_name='lroe_operation_id' string='TBai Customer Invoices'
  • trx_gzip_file Binary
  • trx_gzip_fname Char
    args: 'XML File Name'
  • trx_gzip_fsize Integer
    args: 'File Size'
  • type Selection
    default=LROEOperationEnum.create.value required=True args: [(LROEOperationEnum.create.value, 'Create'), (LROEOperationEnum.cancel.value, 'Cancel'), (LROEOperationEnum.update.value, 'Update'), (LROEOperationEnum.query.value, 'Query')]
  • xml_datas Binary
  • xml_datas_fname Char
    args: 'XML File Name'
  • xml_file_size Integer
    args: 'File Size'
Public methods (14)
  • build_cabecera_ejercicio(self)
  • build_cabecera_pf_140(self)
  • build_cabecera_pj_240(self)
  • build_facturas_emitidas(self)
  • build_facturas_recibidas(self)
  • build_ingresos(self)
  • build_obligado_tributario(self)
  • build_xml_140_1_1(self)
  • build_xml_140_2_1(self)
  • build_xml_240_1_1(self)
  • build_xml_240_2(self)
  • build_xml_file(self)
  • get_lroe_operations_xml(self)
    Se concatena el modelo + capitulo/subcatpitulo y se busca el metodo especifico para crear el xml
  • set_trx_gzip_file(self)

New fields (10)
  • code Char
  • description Char
  • lroe_operation_id Many2one → lroe.operation
    comodel_name='lroe.operation' ondelete='cascade' required=True
  • lroe_record_date Char
  • lroe_record_id Char
  • lroe_record_number Char
  • response_line_ids One2many → lroe.operation.response.line
    comodel_name='lroe.operation.response.line' inverse_name='lroe_response_id' string='Response Line'
  • state Selection
    required=True selection=[(LROEOperationResponseState.BUILD_ERROR.value, 'Build error'), (LROEOperationResponseState.REQUEST_ERROR.value, 'Request error'), (LROEOperationResponseState.CORRECT.value, 'Correct'), (LROEOperationResponseState.PARTIALLY_CORRECT.value, 'Partially correct'), (LROEOperationResponseState.INCORRECT.value, 'Incorrect')]
  • xml Binary
    string='XML Response'
  • xml_fname Char
    args: 'XML File Name'
Public methods (6)
  • get_lroe_response_xml_records(self, xml_root)
    @api.model
  • get_lroe_xml_schema(self, lroe_operation)
    @api.model
  • get_tbai_state(lroe_response_operation)
    @staticmethod
  • prepare_lroe_error_values(self, lroe_operation, msg, **kwargs)
    @api.model
  • prepare_lroe_response_values(self, lroe_srv_response, lroe_operation, **kwargs)
    @api.model
  • validate_response_line_state(self, response_line_record_state)
    @api.model

New fields (8)
  • code Char
  • description Char
  • lroe_operation_id Many2one → lroe.operation
    comodel_name='lroe.operation' related='lroe_response_id.lroe_operation_id'
  • lroe_response_id Many2one → lroe.operation.response
    comodel_name='lroe.operation.response' ondelete='cascade' required=True
  • response_message Char
    compute='_compute_line_message' string='LROE Response Message'
  • state Selection
    required=True selection=[(LROEOperationResponseLineState.CORRECT.value, 'Correct'), (LROEOperationResponseLineState.CORRECT_WITH_ERRORS.value, 'Correct with errors'), (LROEOperationResponseLineState.INCORRECT.value, 'Incorrect')]
  • tbai_invoice_id Many2one → tbai.invoice
    comodel_name='tbai.invoice' ondelete='cascade' related='tbai_response_id.tbai_invoice_id' required=True
  • tbai_response_id Many2one → tbai.response
    comodel_name='tbai.response' ondelete='cascade'
Public methods (0)

No public methods.

New fields (2)
  • lroe_model Selection
    default=LROEModelEnum.model_pj_240.value required=True string='LROE Model' args: [(LROEModelEnum.model_pj_240.value, 'LROE PJ 240'), (LROEModelEnum.model_pf_140.value, 'LROE PF 140')]
  • main_activity_iae Char
    size=7 string='Epígrafe I.A.E. actividad principal'
Public methods (0)

No public methods.

New fields (1)
  • lroe_operation_id Many2one → lroe.operation
    comodel_name='lroe.operation' string='TicketBAI-Batuz LROE Operation'
Public methods (4)
  • create_tbai_lroe_operation(self)
  • get_lroe_ticketbai_api(self, **kwargs)
  • send(self, **kwargs)
  • send_lroe_ticketbai(self, **kwargs)
REPOSITORY
REPOSITORYOCA/l10n-spain
GIT
GIThttps://github.com/OCA/l10n-spain.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-spain/tree/14.0/l10n_es_ticketbai_api_batuz
VERSION
VERSION 1.0.2
CATEGORY
CATEGORYAccounting & Finance
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Binovo
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Binovo
COMMITTERS
COMMITTERSPedro M. Baeza, OCA Transbot, Weblate, OCA-git-bot, oca-ci, Enrique Martín, Aritz Olea, jfernandezbusman
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-spain
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:40:48
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/l10n-spain:
    - l10n_es_ticketbai_api
odoo/odoo:
    - base
    - base_setup
    - web
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES requests_pkcs12
xmltodict
cryptography<39
pyOpenSSL
qrcode
xmlsig
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (9)
XML IDNameModelTypeStatus
lroe_chapter_form_view lroe.chapter.form.view lroe.chapter form New
lroe_chapter_search_view lroe.chapter.search.view lroe.chapter search New
lroe_chapter_tree_view lroe.chapter.tree.view lroe.chapter tree New
lroe_operation_form_view lroe.operation.form.view lroe.operation form New
lroe_operation_response_form_view lroe.operation.response.form.view lroe.operation.response form New
lroe_operation_response_tree_view lroe.operation.response.tree.view lroe.operation.response tree New
lroe_operation_search_view lroe.operation.search.view lroe.operation search New
lroe_operation_tree_view lroe.operation.tree.view lroe.operation tree New
view_company_form_tbai_batuz view.company.form.tbai.batuz res.company xpath Inherits l10n_es_ticketbai_api.view_company_form_inherit
Models touched (6)

New fields (4)
  • code Char
    required=True
  • lroe_chapter_id Many2one → lroe.chapter
    comodel_name='lroe.chapter' string='Parent chapter'
  • model Selection
    default=LROEModelEnum.model_pj_240.value required=True string='LROE Model' args: [(LROEModelEnum.model_pj_240.value, 'LROE PJ 240'), (LROEModelEnum.model_pf_140.value, 'LROE PF 140')]
  • name Char
    required=True
Public methods (0)

No public methods.

New fields (15)
  • company_id Many2one → res.company
    required=True args: 'res.company'
  • lroe_chapter_id Many2one → lroe.chapter
    comodel_name='lroe.chapter' required=True string='Chapter'
  • lroe_subchapter_id Many2one → lroe.chapter
    comodel_name='lroe.chapter' string='Subchapter'
  • model Selection
    readonly=True related='company_id.lroe_model' required=True args: 'Model'
  • name Char
    compute='_compute_lroe_operation_name' store=True
  • response_ids One2many → lroe.operation.response
    comodel_name='lroe.operation.response' inverse_name='lroe_operation_id' string='Operation global responses'
  • state Selection
    default=LROEOperationStateEnum.DRAFT.value selection=[(LROEOperationStateEnum.DRAFT.value, 'Draft'), (LROEOperationStateEnum.ERROR.value, 'Error'), (LROEOperationStateEnum.CANCEL.value, 'Cancel'), (LROEOperationStateEnum.RECORDED_WARNING.value, 'Recorded Warning'), (LROEOperationStateEnum.RECORDED.value, 'Recorded')] string='State'
  • tbai_invoice_ids One2many → tbai.invoice
    comodel_name='tbai.invoice' inverse_name='lroe_operation_id' string='TBai Customer Invoices'
  • trx_gzip_file Binary
  • trx_gzip_fname Char
    args: 'XML File Name'
  • trx_gzip_fsize Integer
    args: 'File Size'
  • type Selection
    default=LROEOperationEnum.create.value required=True string='Type' args: [(LROEOperationEnum.create.value, 'Create'), (LROEOperationEnum.cancel.value, 'Cancel'), (LROEOperationEnum.update.value, 'Update'), (LROEOperationEnum.query.value, 'Query')]
  • xml_datas Binary
  • xml_datas_fname Char
    args: 'XML File Name'
  • xml_file_size Integer
    args: 'File Size'
Public methods (14)
  • build_cabecera_ejercicio(self)
  • build_cabecera_pf_140(self)
  • build_cabecera_pj_240(self)
  • build_facturas_emitidas(self)
  • build_facturas_recibidas(self)
  • build_ingresos(self)
  • build_obligado_tributario(self)
  • build_xml_140_1_1(self)
  • build_xml_140_2_1(self)
  • build_xml_240_1_1(self)
  • build_xml_240_2(self)
  • build_xml_file(self)
  • get_lroe_operations_xml(self)
    Se concatena el modelo + capitulo/subcatpitulo y se busca el metodo especifico para crear el xml
  • set_trx_gzip_file(self)

New fields (10)
  • code Char
  • description Char
  • lroe_operation_id Many2one → lroe.operation
    comodel_name='lroe.operation' ondelete='cascade' required=True
  • lroe_record_date Char
  • lroe_record_id Char
  • lroe_record_number Char
  • response_line_ids One2many → lroe.operation.response.line
    comodel_name='lroe.operation.response.line' inverse_name='lroe_response_id' string='Response Line'
  • state Selection
    required=True selection=[(LROEOperationResponseState.BUILD_ERROR.value, 'Build error'), (LROEOperationResponseState.REQUEST_ERROR.value, 'Request error'), (LROEOperationResponseState.CORRECT.value, 'Correct'), (LROEOperationResponseState.PARTIALLY_CORRECT.value, 'Partially correct'), (LROEOperationResponseState.INCORRECT.value, 'Incorrect')]
  • xml Binary
    string='XML Response'
  • xml_fname Char
    args: 'XML File Name'
Public methods (6)
  • get_lroe_response_xml_records(self, xml_root)
    @api.model
  • get_lroe_xml_schema(self, lroe_operation)
    @api.model
  • get_tbai_state(lroe_response_operation)
    @staticmethod
  • prepare_lroe_error_values(self, lroe_operation, msg, **kwargs)
    @api.model
  • prepare_lroe_response_values(self, lroe_srv_response, lroe_operation, **kwargs)
    @api.model
  • validate_response_line_state(self, response_line_record_state)
    @api.model

New fields (8)
  • code Char
  • description Char
  • lroe_operation_id Many2one → lroe.operation
    comodel_name='lroe.operation' related='lroe_response_id.lroe_operation_id'
  • lroe_response_id Many2one → lroe.operation.response
    comodel_name='lroe.operation.response' ondelete='cascade' required=True
  • response_message Char
    compute='_compute_line_message' string='LROE Response Message'
  • state Selection
    required=True selection=[(LROEOperationResponseLineState.CORRECT.value, 'Correct'), (LROEOperationResponseLineState.CORRECT_WITH_ERRORS.value, 'Correct with errors'), (LROEOperationResponseLineState.INCORRECT.value, 'Incorrect')]
  • tbai_invoice_id Many2one → tbai.invoice
    comodel_name='tbai.invoice' ondelete='cascade' related='tbai_response_id.tbai_invoice_id' required=True
  • tbai_response_id Many2one → tbai.response
    comodel_name='tbai.response' ondelete='cascade'
Public methods (0)

No public methods.

New fields (2)
  • lroe_model Selection
    default=LROEModelEnum.model_pj_240.value required=True string='LROE Model' args: [(LROEModelEnum.model_pj_240.value, 'LROE PJ 240'), (LROEModelEnum.model_pf_140.value, 'LROE PF 140')]
  • main_activity_iae Char
    size=7 string='Epígrafe I.A.E. actividad principal'
Public methods (0)

No public methods.

New fields (1)
  • lroe_operation_id Many2one → lroe.operation
    comodel_name='lroe.operation' string='TicketBAI-Batuz LROE Operation'
Public methods (4)
  • create_tbai_lroe_operation(self)
  • get_lroe_ticketbai_api(self, **kwargs)
  • send(self, **kwargs)
  • send_lroe_ticketbai(self, **kwargs)
REPOSITORY
REPOSITORYOCA/l10n-spain
GIT
GIThttps://github.com/OCA/l10n-spain.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-spain/tree/13.0/l10n_es_ticketbai_api_batuz
VERSION
VERSION 1.0.3
CATEGORY
CATEGORYAccounting & Finance
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Binovo
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Binovo
COMMITTERS
COMMITTERSOCA-git-bot, oca-ci, Aritz Olea
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-spain
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:34:09
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/l10n-spain:
    - l10n_es_ticketbai_api
odoo/odoo:
    - base
    - base_setup
    - web
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES requests_pkcs12
xmltodict
OpenSSL
cryptography<39
qrcode
xmlsig
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (9)
XML IDNameModelTypeStatus
lroe_chapter_form_view lroe.chapter.form.view lroe.chapter form New
lroe_chapter_search_view lroe.chapter.search.view lroe.chapter search New
lroe_chapter_tree_view lroe.chapter.tree.view lroe.chapter tree New
lroe_operation_form_view lroe.operation.form.view lroe.operation form New
lroe_operation_response_form_view lroe.operation.response.form.view lroe.operation.response form New
lroe_operation_response_tree_view lroe.operation.response.tree.view lroe.operation.response tree New
lroe_operation_search_view lroe.operation.search.view lroe.operation search New
lroe_operation_tree_view lroe.operation.tree.view lroe.operation tree New
view_company_form_tbai_batuz view.company.form.tbai.batuz res.company xpath Inherits l10n_es_ticketbai_api.view_company_form_inherit
Models touched (6)

New fields (4)
  • code Char
    required=True
  • lroe_chapter_id Many2one → lroe.chapter
    comodel_name='lroe.chapter' string='Parent chapter'
  • model Selection
    default=LROEModelEnum.model_pj_240.value required=True string='LROE Model' args: [(LROEModelEnum.model_pj_240.value, 'LROE PJ 240'), (LROEModelEnum.model_pf_140.value, 'LROE PF 140')]
  • name Char
    required=True
Public methods (0)

No public methods.

New fields (15)
  • company_id Many2one → res.company
    required=True args: 'res.company'
  • lroe_chapter_id Many2one → lroe.chapter
    comodel_name='lroe.chapter' required=True string='Chapter'
  • lroe_subchapter_id Many2one → lroe.chapter
    comodel_name='lroe.chapter' string='Subchapter'
  • model Selection
    readonly=True related='company_id.lroe_model' required=True args: 'Model'
  • name Char
    compute='_compute_lroe_operation_name' store=True
  • response_ids One2many → lroe.operation.response
    comodel_name='lroe.operation.response' inverse_name='lroe_operation_id' string='Operation global responses'
  • state Selection
    default=LROEOperationStateEnum.DRAFT.value selection=[(LROEOperationStateEnum.DRAFT.value, 'Draft'), (LROEOperationStateEnum.ERROR.value, 'Error'), (LROEOperationStateEnum.CANCEL.value, 'Cancel'), (LROEOperationStateEnum.RECORDED_WARNING.value, 'Recorded Warning'), (LROEOperationStateEnum.RECORDED.value, 'Recorded')] string='State'
  • tbai_invoice_ids One2many → tbai.invoice
    comodel_name='tbai.invoice' inverse_name='lroe_operation_id' string='TBai Customer Invoices'
  • trx_gzip_file Binary
  • trx_gzip_fname Char
    args: 'XML File Name'
  • trx_gzip_fsize Integer
    args: 'File Size'
  • type Selection
    default=LROEOperationEnum.create.value required=True string='Type' args: [(LROEOperationEnum.create.value, 'Create'), (LROEOperationEnum.cancel.value, 'Cancel'), (LROEOperationEnum.update.value, 'Update'), (LROEOperationEnum.query.value, 'Query')]
  • xml_datas Binary
  • xml_datas_fname Char
    args: 'XML File Name'
  • xml_file_size Integer
    args: 'File Size'
Public methods (14)
  • build_cabecera_ejercicio(self)
  • build_cabecera_pf_140(self)
  • build_cabecera_pj_240(self)
  • build_facturas_emitidas(self)
  • build_facturas_recibidas(self)
  • build_ingresos(self)
  • build_obligado_tributario(self)
  • build_xml_140_1_1(self)
  • build_xml_140_2_1(self)
  • build_xml_240_1_1(self)
  • build_xml_240_2(self)
  • build_xml_file(self)
  • get_lroe_operations_xml(self)
    Se concatena el modelo + capitulo/subcatpitulo y se busca el metodo especifico para crear el xml
  • set_trx_gzip_file(self)

New fields (10)
  • code Char
  • description Char
  • lroe_operation_id Many2one → lroe.operation
    comodel_name='lroe.operation' ondelete='cascade' required=True
  • lroe_record_date Char
  • lroe_record_id Char
  • lroe_record_number Char
  • response_line_ids One2many → lroe.operation.response.line
    comodel_name='lroe.operation.response.line' inverse_name='lroe_response_id' string='Response Line'
  • state Selection
    required=True selection=[(LROEOperationResponseState.BUILD_ERROR.value, 'Build error'), (LROEOperationResponseState.REQUEST_ERROR.value, 'Request error'), (LROEOperationResponseState.CORRECT.value, 'Correct'), (LROEOperationResponseState.PARTIALLY_CORRECT.value, 'Partially correct'), (LROEOperationResponseState.INCORRECT.value, 'Incorrect')]
  • xml Binary
    string='XML Response'
  • xml_fname Char
    args: 'XML File Name'
Public methods (6)
  • get_lroe_response_xml_records(self, xml_root)
    @api.model
  • get_lroe_xml_schema(self, lroe_operation)
    @api.model
  • get_tbai_state(lroe_response_operation)
    @staticmethod
  • prepare_lroe_error_values(self, lroe_operation, msg, **kwargs)
    @api.model
  • prepare_lroe_response_values(self, lroe_srv_response, lroe_operation, **kwargs)
    @api.model
  • validate_response_line_state(self, response_line_record_state)
    @api.model

New fields (8)
  • code Char
  • description Char
  • lroe_operation_id Many2one → lroe.operation
    comodel_name='lroe.operation' related='lroe_response_id.lroe_operation_id'
  • lroe_response_id Many2one → lroe.operation.response
    comodel_name='lroe.operation.response' ondelete='cascade' required=True
  • response_message Char
    compute='_compute_line_message' string='LROE Response Message'
  • state Selection
    required=True selection=[(LROEOperationResponseLineState.CORRECT.value, 'Correct'), (LROEOperationResponseLineState.CORRECT_WITH_ERRORS.value, 'Correct with errors'), (LROEOperationResponseLineState.INCORRECT.value, 'Incorrect')]
  • tbai_invoice_id Many2one → tbai.invoice
    comodel_name='tbai.invoice' ondelete='cascade' related='tbai_response_id.tbai_invoice_id' required=True
  • tbai_response_id Many2one → tbai.response
    comodel_name='tbai.response' ondelete='cascade'
Public methods (0)

No public methods.

New fields (2)
  • lroe_model Selection
    default=LROEModelEnum.model_pj_240.value required=True string='LROE Model' args: [(LROEModelEnum.model_pj_240.value, 'LROE PJ 240'), (LROEModelEnum.model_pf_140.value, 'LROE PF 140')]
  • main_activity_iae Char
    size=7 string='Epígrafe I.A.E. actividad principal'
Public methods (0)

No public methods.

New fields (1)
  • lroe_operation_id Many2one → lroe.operation
    comodel_name='lroe.operation' string='TicketBAI-Batuz LROE Operation'
Public methods (4)
  • create_tbai_lroe_operation(self)
  • get_lroe_ticketbai_api(self, **kwargs)
  • send(self, **kwargs)
  • send_lroe_ticketbai(self, **kwargs)
REPOSITORY
REPOSITORYOCA/l10n-spain
GIT
GIThttps://github.com/OCA/l10n-spain.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-spain/tree/12.0/l10n_es_ticketbai_api_batuz
VERSION
VERSION 1.1.3
CATEGORY
CATEGORYAccounting & Finance
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Binovo
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Binovo
COMMITTERS
COMMITTERSOCA Transbot, oca-travis, Weblate, OCA-git-bot, JesusVMayor, oca-ci, Enrique Martín, Aritz Olea, xAdrianC, bilbonet
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-spain
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:29:12
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/l10n-spain:
    - l10n_es_ticketbai_api
odoo/odoo:
    - base
    - base_setup
    - web
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES requests_pkcs12
xmltodict
OpenSSL
cryptography
qrcode
xmlsig
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (9)
XML IDNameModelTypeStatus
lroe_chapter_form_view lroe.chapter.form.view lroe.chapter form New
lroe_chapter_search_view lroe.chapter.search.view lroe.chapter search New
lroe_chapter_tree_view lroe.chapter.tree.view lroe.chapter tree New
lroe_operation_form_view lroe.operation.form.view lroe.operation form New
lroe_operation_response_form_view lroe.operation.response.form.view lroe.operation.response form New
lroe_operation_response_tree_view lroe.operation.response.tree.view lroe.operation.response tree New
lroe_operation_search_view lroe.operation.search.view lroe.operation search New
lroe_operation_tree_view lroe.operation.tree.view lroe.operation tree New
view_company_form_tbai_batuz view.company.form.tbai.batuz res.company xpath Inherits l10n_es_ticketbai_api.view_company_form_inherit
Models touched (6)

New fields (4)
  • code Char
    required=True
  • lroe_chapter_id Many2one → lroe.chapter
    comodel_name='lroe.chapter' string='Parent chapter'
  • model Selection
    default=LROEModelEnum.model_pj_240.value required=True string='LROE Model' args: [(LROEModelEnum.model_pj_240.value, 'LROE PJ 240'), (LROEModelEnum.model_pf_140.value, 'LROE PF 140')]
  • name Char
    required=True
Public methods (0)

No public methods.

New fields (15)
  • company_id Many2one → res.company
    required=True args: 'res.company'
  • lroe_chapter_id Many2one → lroe.chapter
    comodel_name='lroe.chapter' required=True string='Chapter'
  • lroe_subchapter_id Many2one → lroe.chapter
    comodel_name='lroe.chapter' string='Subchapter'
  • model Selection
    readonly=True related='company_id.lroe_model' required=True args: 'Model'
  • name Char
    compute='_compute_lroe_operation_name' store=True
  • response_ids One2many → lroe.operation.response
    comodel_name='lroe.operation.response' inverse_name='lroe_operation_id' string='Operation global responses'
  • state Selection
    default=LROEOperationStateEnum.DRAFT.value selection=[(LROEOperationStateEnum.DRAFT.value, 'Draft'), (LROEOperationStateEnum.ERROR.value, 'Error'), (LROEOperationStateEnum.CANCEL.value, 'Cancel'), (LROEOperationStateEnum.RECORDED_WARNING.value, 'Recorded Warning'), (LROEOperationStateEnum.RECORDED.value, 'Recorded')] string='State'
  • tbai_invoice_ids One2many → tbai.invoice
    comodel_name='tbai.invoice' inverse_name='lroe_operation_id' string='TBai Customer Invoices'
  • trx_gzip_file Binary
  • trx_gzip_fname Char
    args: 'File Name'
  • trx_gzip_fsize Integer
    args: 'File Size'
  • type Selection
    default=LROEOperationEnum.create.value required=True string='Type' args: [(LROEOperationEnum.create.value, 'Create'), (LROEOperationEnum.cancel.value, 'Cancel'), (LROEOperationEnum.update.value, 'Update'), (LROEOperationEnum.query.value, 'Query')]
  • xml_datas Binary
  • xml_datas_fname Char
    args: 'XML File Name'
  • xml_file_size Integer
    args: 'XML File Size'
Public methods (14)
  • build_cabecera_ejercicio(self)
  • build_cabecera_pf_140(self)
  • build_cabecera_pj_240(self)
  • build_facturas_emitidas(self)
  • build_facturas_recibidas(self)
  • build_ingresos(self)
  • build_obligado_tributario(self)
  • build_xml_140_1_1(self)
  • build_xml_140_2_1(self)
  • build_xml_240_1_1(self)
  • build_xml_240_2(self)
  • build_xml_file(self)
  • get_lroe_operations_xml(self)
    Se concatena el modelo + capitulo/subcatpitulo y se busca el metodo especifico para crear el xml
  • set_trx_gzip_file(self)
    @api.multi

New fields (10)
  • code Char
  • description Char
  • lroe_operation_id Many2one → lroe.operation
    comodel_name='lroe.operation' ondelete='cascade' required=True
  • lroe_record_date Char
  • lroe_record_id Char
  • lroe_record_number Char
  • response_line_ids One2many → lroe.operation.response.line
    comodel_name='lroe.operation.response.line' inverse_name='lroe_response_id' string='Response Line'
  • state Selection
    required=True selection=[(LROEOperationResponseState.BUILD_ERROR.value, 'Build error'), (LROEOperationResponseState.REQUEST_ERROR.value, 'Request error'), (LROEOperationResponseState.CORRECT.value, 'Correct'), (LROEOperationResponseState.PARTIALLY_CORRECT.value, 'Partially correct'), (LROEOperationResponseState.INCORRECT.value, 'Incorrect')]
  • xml Binary
    string='XML Response'
  • xml_fname Char
    args: 'XML File Name'
Public methods (3)
  • get_tbai_state(lroe_response_operation)
    @staticmethod
  • prepare_lroe_error_values(self, lroe_operation, msg, **kwargs)
    @api.model
  • prepare_lroe_response_values(self, lroe_srv_response, lroe_operation, **kwargs)
    @api.model

New fields (8)
  • code Char
  • description Char
  • lroe_operation_id Many2one → lroe.operation
    comodel_name='lroe.operation' related='lroe_response_id.lroe_operation_id'
  • lroe_response_id Many2one → lroe.operation.response
    comodel_name='lroe.operation.response' ondelete='cascade' required=True
  • response_message Char
    compute='_compute_line_message' string='LROE Response Message'
  • state Selection
    required=True selection=[(LROEOperationResponseLineState.CORRECT.value, 'Correct'), (LROEOperationResponseLineState.CORRECT_WITH_ERRORS.value, 'Correct with errors'), (LROEOperationResponseLineState.INCORRECT.value, 'Incorrect')]
  • tbai_invoice_id Many2one → tbai.invoice
    comodel_name='tbai.invoice' ondelete='cascade' related='tbai_response_id.tbai_invoice_id' required=True
  • tbai_response_id Many2one → tbai.response
    comodel_name='tbai.response' ondelete='cascade'
Public methods (0)

No public methods.

New fields (2)
  • lroe_model Selection
    default=LROEModelEnum.model_pj_240.value required=True string='LROE Model' args: [(LROEModelEnum.model_pj_240.value, 'LROE PJ 240'), (LROEModelEnum.model_pf_140.value, 'LROE PF 140')]
  • main_activity_iae Char
    size=7 string='Epígrafe I.A.E. actividad principal'
Public methods (0)

No public methods.

New fields (1)
  • lroe_operation_id Many2one → lroe.operation
    comodel_name='lroe.operation' string='TicketBAI-Batuz LROE Operation'
Public methods (4)
  • create_tbai_lroe_operation(self)
    @api.multi
  • get_lroe_ticketbai_api(self, **kwargs)
    @api.multi
  • send(self, **kwargs)
    @api.multi
  • send_lroe_ticketbai(self, **kwargs)
    @api.multi
REPOSITORY
REPOSITORYOCA/l10n-spain
GIT
GIThttps://github.com/OCA/l10n-spain.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-spain/tree/11.0/l10n_es_ticketbai_api_batuz
VERSION
VERSION 2.0.5
CATEGORY
CATEGORYAccounting & Finance
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Binovo
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Binovo
COMMITTERS
COMMITTERSPedro M. Baeza, OCA Transbot, oca-travis, Weblate, OCA-git-bot, oca-ci, Victor Laskurain, Enrique Martín, arodriguez, Aritz Olea, Ugaitz Olaizola
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-spain
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:23:55
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/l10n-spain:
    - l10n_es_ticketbai_api
odoo/odoo:
    - base
    - base_setup
    - web
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES requests_pkcs12
xmltodict
OpenSSL
cryptography
qrcode
xmlsig
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (9)
XML IDNameModelTypeStatus
lroe_chapter_form_view lroe.chapter.form.view lroe.chapter form New
lroe_chapter_search_view lroe.chapter.search.view lroe.chapter search New
lroe_chapter_tree_view lroe.chapter.tree.view lroe.chapter tree New
lroe_operation_form_view lroe.operation.form.view lroe.operation form New
lroe_operation_response_form_view lroe.operation.response.form.view lroe.operation.response form New
lroe_operation_response_tree_view lroe.operation.response.tree.view lroe.operation.response tree New
lroe_operation_search_view lroe.operation.search.view lroe.operation search New
lroe_operation_tree_view lroe.operation.tree.view lroe.operation tree New
view_company_form_tbai_batuz view.company.form.tbai.batuz res.company xpath Inherits l10n_es_ticketbai_api.view_company_form_inherit
Models touched (6)

New fields (4)
  • code Char
    required=True
  • lroe_chapter_id Many2one → lroe.chapter
    comodel_name='lroe.chapter' string='Parent chapter'
  • model Selection
    default=LROEModelEnum.model_pj_240.value required=True string='LROE Model' args: [(LROEModelEnum.model_pj_240.value, 'LROE PJ 240'), (LROEModelEnum.model_pf_140.value, 'LROE PF 140')]
  • name Char
    required=True
Public methods (0)

No public methods.

New fields (15)
  • company_id Many2one → res.company
    required=True args: 'res.company'
  • lroe_chapter_id Many2one → lroe.chapter
    comodel_name='lroe.chapter' required=True string='Chapter'
  • lroe_subchapter_id Many2one → lroe.chapter
    comodel_name='lroe.chapter' string='Subchapter'
  • model Selection
    readonly=True related='company_id.lroe_model' required=True args: 'Model'
  • name Char
    compute='_compute_lroe_operation_name' store=True
  • response_ids One2many → lroe.operation.response
    comodel_name='lroe.operation.response' inverse_name='lroe_operation_id' string='Operation global responses'
  • state Selection
    default=LROEOperationStateEnum.DRAFT.value selection=[(LROEOperationStateEnum.DRAFT.value, 'Draft'), (LROEOperationStateEnum.ERROR.value, 'Error'), (LROEOperationStateEnum.CANCEL.value, 'Cancel'), (LROEOperationStateEnum.RECORDED_WARNING.value, 'Recorded Warning'), (LROEOperationStateEnum.RECORDED.value, 'Recorded')] string='State'
  • tbai_invoice_ids One2many → tbai.invoice
    comodel_name='tbai.invoice' inverse_name='lroe_operation_id' string='TBai Customer Invoices'
  • trx_gzip_file Binary
  • trx_gzip_fname Char
    args: 'XML File Name'
  • trx_gzip_fsize Integer
    args: 'File Size'
  • type Selection
    default=LROEOperationEnum.create.value required=True string='Type' args: [(LROEOperationEnum.create.value, 'Create'), (LROEOperationEnum.cancel.value, 'Cancel'), (LROEOperationEnum.update.value, 'Update'), (LROEOperationEnum.query.value, 'Query')]
  • xml_datas Binary
  • xml_datas_fname Char
    args: 'XML File Name'
  • xml_file_size Integer
    args: 'File Size'
Public methods (14)
  • build_cabecera_ejercicio(self)
  • build_cabecera_pf_140(self)
  • build_cabecera_pj_240(self)
  • build_facturas_emitidas(self)
  • build_facturas_recibidas(self)
  • build_ingresos(self)
  • build_obligado_tributario(self)
  • build_xml_140_1_1(self)
  • build_xml_140_2_1(self)
  • build_xml_240_1_1(self)
  • build_xml_240_2(self)
  • build_xml_file(self)
  • get_lroe_operations_xml(self)
    Se concatena el modelo + capitulo/subcatpitulo y se busca el metodo especifico para crear el xml
  • set_trx_gzip_file(self)
    @api.multi

New fields (10)
  • code Char
  • description Char
  • lroe_operation_id Many2one → lroe.operation
    comodel_name='lroe.operation' ondelete='cascade' required=True
  • lroe_record_date Char
  • lroe_record_id Char
  • lroe_record_number Char
  • response_line_ids One2many → lroe.operation.response.line
    comodel_name='lroe.operation.response.line' inverse_name='lroe_response_id' string='Response Line'
  • state Selection
    required=True selection=[(LROEOperationResponseState.BUILD_ERROR.value, 'Build error'), (LROEOperationResponseState.REQUEST_ERROR.value, 'Request error'), (LROEOperationResponseState.CORRECT.value, 'Correct'), (LROEOperationResponseState.PARTIALLY_CORRECT.value, 'Partially correct'), (LROEOperationResponseState.INCORRECT.value, 'Incorrect')]
  • xml Binary
    string='XML Response'
  • xml_fname Char
    args: 'XML File Name'
Public methods (3)
  • get_tbai_state(lroe_response_operation)
    @staticmethod
  • prepare_lroe_error_values(self, lroe_operation, msg, **kwargs)
    @api.model
  • prepare_lroe_response_values(self, lroe_srv_response, lroe_operation, **kwargs)
    @api.model

New fields (8)
  • code Char
  • description Char
  • lroe_operation_id Many2one → lroe.operation
    comodel_name='lroe.operation' related='lroe_response_id.lroe_operation_id'
  • lroe_response_id Many2one → lroe.operation.response
    comodel_name='lroe.operation.response' ondelete='cascade' required=True
  • response_message Char
    compute='_compute_line_message' string='LROE Response Message'
  • state Selection
    required=True selection=[(LROEOperationResponseLineState.CORRECT.value, 'Correct'), (LROEOperationResponseLineState.CORRECT_WITH_ERRORS.value, 'Correct with errors'), (LROEOperationResponseLineState.INCORRECT.value, 'Incorrect')]
  • tbai_invoice_id Many2one → tbai.invoice
    comodel_name='tbai.invoice' ondelete='cascade' related='tbai_response_id.tbai_invoice_id' required=True
  • tbai_response_id Many2one → tbai.response
    comodel_name='tbai.response' ondelete='cascade'
Public methods (0)

No public methods.

New fields (2)
  • lroe_model Selection
    default=LROEModelEnum.model_pj_240.value required=True string='LROE Model' args: [(LROEModelEnum.model_pj_240.value, 'LROE PJ 240'), (LROEModelEnum.model_pf_140.value, 'LROE PF 140')]
  • main_activity_iae Char
    size=7 string='Epígrafe I.A.E. actividad principal'
Public methods (0)

No public methods.

New fields (1)
  • lroe_operation_id Many2one → lroe.operation
    comodel_name='lroe.operation' string='TicketBAI-Batuz LROE Operation'
Public methods (4)
  • create_tbai_lroe_operation(self)
    @api.multi
  • get_lroe_ticketbai_api(self, **kwargs)
    @api.multi
  • send(self, **kwargs)
    @api.multi
  • send_lroe_ticketbai(self, **kwargs)
    @api.multi