TIP: You can type at any time to perform a new search.

Security findings

Repository
odoo/odoo · module folder
Module version
0.2
Category
account
Folder size
0.32 MB
License
LGPL-3
Application
No
Auto-installable
No
Website
https://www.odoo.com/documentation/latest/applications/finance/fiscal_localizations/egypt.html
Last tracking update
2026-09-28 18:31:22
Authors
Odoo S.A.
Maintainers
Odoo S.A.
Committers
Xavier Morel, Raphael Collet, Thibault Delavallée, odoo, Odoo Translation Bot, Christophe Matthieu, Julien Castiaux, Victor Feyens, Ali Alfie (alal), Yosua Nicolaus, Dylan Kiss (dyki), Chong Wang (cwg), khfa, Khushi Vakil, Louis Travaux, Max Whale, Khumam Alzagim, Abdo Mongy, Ahmed Abdelaziz Hasaneen, elhayyany, Michaël Mattiello, Krzysztof Magusiak (krma), sawer, Julien Launois (jula), Omar Assouma, Adnan Sabbir, Nisarg (nipl), Louis, Omar Khalid, Moamen(msho)
Odoo dependencies
Python dependencies
asn1crypto
System dependencies
None
Required by
l10n_eg_edi_pos
Description
Egypt Tax Authority Invoice Integration
==============================================================================
Integrates with the ETA portal to automatically send and sign the Invoices to the Tax Authority.
    

Code Analysis info_outline

Views touched (16)
XML IDNameModelTypeStatus
eg_partner_address_form eg.partner.form.address res.partner form New
egyptian_invoice egyptian_invoice ir.ui.view qweb Inherits account.report_invoice_document
l10n_eg_edi_cancel_wizard_form l10n_eg_edi.cancel.wizard.form l10n_eg_edi.cancel.wizard form New
l10n_eg_edi_view_account_invoice_filter l10n_eg_edi.view.account.invoice.filter account.move Inherits account.view_account_invoice_filter
l10n_eg_edi_view_out_credit_note_tree_inherit l10n_eg_edi.view.out.credit.note.tree.inherit account.move tree Inherits account.view_out_credit_note_tree
l10n_eg_edi_view_out_invoice_tree_inherit l10n_eg_edi.view.out.invoice.tree.inherit account.move tree Inherits account.view_out_invoice_tree
product_normal_form_view_inherit_l10n_eg_eta_edi product.product.form.l10n_eg_eta_edi product.product form Inherits product.product_normal_form_view
product_template_only_form_view_inherit_l10n_eg_eta_edi product.template.form.l10n_eg_eta_edi product.template form Inherits product.product_template_only_form_view
res_config_settings_view_form res.config.settings.view.form.inherit.l10n_eg_edi_eta res.config.settings form Inherits account.res_config_settings_view_form
uom_uom_view_form uom.uom.view.form.inherit.l10n.eg.edi.eta uom.uom form Inherits uom.uom_uom_view_form
view_account_journal_form_inherit_l10n_eg_edi account.journal.form.inherit.l10n_eg_edi account.journal form Inherits account.view_account_journal_form
view_company_form_inherit_l10n_eg_edi company.form.inherit.l10n_eg_edi res.company form Inherits base.view_company_form
view_l10n_eg_edi_activity_type_list l10n_eg_edi.activity.type.list l10n_eg_edi.activity.type list New
view_l10n_eg_edi_activity_type_search l10n_eg_edi.activity.type.search l10n_eg_edi.activity.type search New
view_l10n_eg_edi_thumb_drive_tree view_l10n_eg_edi_thumb_drive_tree l10n_eg_edi.thumb.drive list New
view_move_form_inherit view_move_form_inherit account.move form Inherits account.view_move_form
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (16)

New fields (3)
  • l10n_eg_activity_type_id Many2one → l10n_eg_edi.activity.type
    copy=False help='This is the activity type of the branch according to Egyptian Tax Authority' args: 'l10n_eg_edi.activity.type', 'Activity Code'
  • l10n_eg_branch_id Many2one → res.partner
    copy=False help='Address of the subdivision of the company. You can just put the company partner if this is used for the main branch.' string='Branch' args: 'res.partner'
  • l10n_eg_branch_identifier Char
    copy=False help='This number can be found on the taxpayer profile on the eInvoicing portal. ' args: 'Branch ID'
Public methods (0)

No public methods.

New fields (9)
  • l10n_eg_edi_api_mode Selection
    related='company_id.l10n_eg_edi_api_mode' string='ETA Mode'
  • l10n_eg_edi_submission_state Selection
    compute='_compute_l10n_eg_edi_submission_values' selection=ETA_INVOICE_SUBMISSION_STATES store=True string='ETA State'
  • l10n_eg_eta_json_doc_file Binary
    attachment=True copy=False string='ETA JSON Document'
  • l10n_eg_eta_submission_ids One2many → l10n_eg_edi.eta.submission
    comodel_name='l10n_eg_edi.eta.submission' copy=False inverse_name='move_id' string='ETA Submissions'
  • l10n_eg_is_signed Boolean
    copy=False string='Is Signed'
  • l10n_eg_long_id Char
    compute='_compute_eta_long_id' string='ETA Long ID'
  • l10n_eg_qr_code Char
    compute='_compute_eta_qr_code_str' string='ETA QR Code'
  • l10n_eg_signing_time Datetime
    copy=False string='Signing Time'
  • l10n_eg_uuid Char
    compute='_compute_l10n_eg_edi_uuid' copy=False init_storage=<expr> store=True string='Document UUID'
Public methods (4)
  • action_l10n_eg_cancel_invoice(self)
  • action_post_sign_invoices(self)
  • button_draft(self)
  • l10n_eg_log_on_sign_failure(self)
    Method called from client side when signing with thumb drive fails.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (2)
  • code Char
    required=True
  • name Char
    required=True translate=True
Public methods (0)

No public methods.

New fields (2)
  • l10n_eg_eta_cancellation_reason Char
    required=True string='ETA Reason'
  • move_ids Many2many → account.move
    comodel_name='account.move' required=True
Public methods (1)
  • action_cancel_invoice(self)

New fields (7)
  • eta_document_longid Char
    string='Document Long ID'
  • eta_document_uuid Char
    string='Document UUID'
  • eta_json_filename Char
    string='File'
  • eta_submission_id Char
    string='Submission ID'
  • message Char
    string='Response Message'
  • move_id Many2one → account.move
    comodel_name='account.move' readonly=True string='Invoice'
  • state Selection
    selection=ETA_SUBMISSION_STATES string='State'
Public methods (2)
  • action_resign(self)
  • action_retry(self)

New fields (5)
  • access_token Char
    required=True
  • certificate Binary
    args: 'ETA Certificate'
  • company_id Many2one → res.company
    default=<expr> required=True args: 'res.company'
  • pin Char
    required=True args: 'ETA USB Pin'
  • user_id Many2one → res.users
    default=<expr> required=True args: 'res.users'
Public methods (4)
  • action_set_certificate_from_usb(self)
  • action_sign_invoices(self, invoice_json_list)
  • set_certificate(self, certificate)
    This is called from the browser to set the certificate. :param certificate: base64-encoded bytes
  • set_signature_data(self, invoices)
    This is called from the browser with the signed data from the local server

New fields (2)
  • code Char
    required=True
  • name Char
    required=True translate=True
Public methods (0)

No public methods.

New fields (1)
  • l10n_eg_eta_code Char
    company_dependent=True copy=False help='This can be an EGS or GS1 product code, which is needed for the e-invoice. The best practice however is to use that code also as barcode and in that case, you should put it in the Barcode field instead and leave this field empty. ' args: 'ETA Code'
Public methods (1)
  • action_open_eta_codes_portal(self)

New fields (1)
  • l10n_eg_eta_code Char
    compute='_compute_l10n_eg_eta_code' help='This can be an EGS or GS1 product code, which is needed for the e-invoice. The best practice however is to use that code also as barcode and in that case, you should put it in the Barcode field instead and leave this field empty.' inverse='_set_l10n_eg_eta_code' args: 'Item code'
Public methods (2)
  • action_open_eta_codes_portal(self)
  • create(self, vals_list)
    @api.model_create_multi

New fields (4)
  • l10n_eg_building_no Char
    compute='_compute_address' inverse='_inverse_l10n_eg_building_no' args: 'Building No.'
  • l10n_eg_client_identifier Char
    groups='base.group_erp_manager' string='ETA Client ID'
  • l10n_eg_client_secret Char
    groups='base.group_erp_manager' string='ETA Client Secret'
  • l10n_eg_edi_api_mode Selection
    selection=[('demo', 'Demo'), ('preproduction', 'Pre-production (Testing)'), ('production', 'Production (Live)')] string='ETA Invoice Sending Mode'
Public methods (0)

No public methods.

New fields (3)
  • l10n_eg_client_identifier Char
    readonly=False related='company_id.l10n_eg_client_identifier'
  • l10n_eg_client_secret Char
    readonly=False related='company_id.l10n_eg_client_secret'
  • l10n_eg_edi_api_mode Selection
    readonly=False related='company_id.l10n_eg_edi_api_mode'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • l10n_eg_building_no Char
    args: 'Building No.'
Public methods (0)

No public methods.

New fields (1)
  • l10n_eg_unit_code_id Many2one → l10n_eg_edi.uom.code
    help='This is the type of unit according to egyptian tax authority' string='ETA Unit Code' args: 'l10n_eg_edi.uom.code'
Public methods (0)

No public methods.

Loading…

Loading…

Loading…

Loading…

Loading…