Repository
OCA/l10n-portugal · module folder · Try on Runboat
Module version
Category
Accounting/Localizations/EDI
Folder size
0.3 MB
License
AGPL-3
Application
Yes
Auto-installable
No
Website
https://github.com/OCA/l10n-portugal
Last tracking update
2026-08-17 11:36:00
Authors
Odoo Community Association (OCA), Open Source Integrators
Maintainers
Odoo Community Association (OCA), Open Source Integrators
Committers
Daniel Reis, OCA-git-bot, oca-ci, Devin AI
Odoo dependencies
Python dependencies
None
System dependencies
None
Required by
l10n_pt_stock_invoicexpress
Description
Generate Portuguese tax authority legal Invoices ("Faturas") using
InvoiceXpress.


InvoiceXpress is a paid service. Visit <https://invoicexpress.com> for
more details.

Once the InvoiceXpress connection is configured, the invoice CONFIRM
button automatically generates the InvoiceXpress invoice.

If the InvoiceXpress Invoice email template is configured, the
InvoiceXpress service will also send the invoice by email, using the
details in Odoo configured email template.

This replaces the Odoo SEND & PRINT button, since only the InvoiceXpress
generated document should be used. Having other print layouts for the
invoice is not allowed by the Portuguese Tax Authority.

Legal transport documents ("Guias de Transporte" e "Guias de Remessa)
are also supported through an extension module. For this please ensure that
"l10n_pt_stock_invoicexpress" is installed.

Code Analysis

Views touched (7)
XML IDNameModelTypeStatus
res_compnay_form_invoicexpress InvoiceXpress Company Configuration res.company form Inherits base.view_company_form
res_config_settings_view_form res.config.settings.view.form.invoicexpress res.config.settings form Inherits account.res_config_settings_view_form
view_account_journal_form Journal Form: add Invoicexpress account.journal form Inherits account.view_account_journal_form
view_account_move_form account.move.form account.move form Inherits account.view_move_form
view_account_tax_form account.tax.form account.tax form Inherits account.view_tax_form
view_partner_form_invoicexpress res.partner.form.invoicexpress res.partner form Inherits account.view_partner_property_form
view_res_country_form Country: add InvoiceXpress name res.country form Inherits base.view_country_form
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (9)

New fields (0)

No new fields.

Public methods (1)
  • call(self, company, endpoint, verb='GET', headers=None, params=None, payload=None, raise_errors=True)

New fields (2)
  • invoicexpress_doc_type Selection
    help='Select the type of legal invoice document to be created by InvoiceXpress.' args: [('invoice', 'Invoice'), ('invoice_receipt', 'Invoices Receipt'), ('simplified_invoice', 'Simplified Invoice'), ('none', 'No InvoiceXpress document')]
  • use_invoicexpress Boolean
    compute='_compute_use_invoicexpress' help='Invoicexpress service is only used if checked. Only relevant for Sales journals.'
Public methods (0)

No public methods.

New fields (6)
  • can_invoicexpress Boolean
    compute='_compute_can_invoicexpress'
  • can_invoicexpress_email Boolean
    compute='_compute_can_invoicexpress_email'
  • invoicexpress_doc_type Selection
    compute='_compute_invoicexpress_doc_type' copy=False help='Select the type of legal invoice document to be created by InvoiceXpress. If unset, InvoiceXpress will not be used.' readonly=False store=True args: [('invoice', 'Invoice'), ('invoice_receipt', 'Invoice and Receipt'), ('simplified_invoice', 'Simplified Invoice'), ('vat_moss_invoice', 'Europe VAT MOSS Invoice'), ('vat_moss_credit_note', 'Europe VAT MOSS Credit Note'), ('debit_note', 'Debit Note'), ('credit_note', 'Credit Note')]
  • invoicexpress_id Char
    copy=False readonly=True args: 'InvoiceXpress ID'
  • invoicexpress_permalink Char
    copy=False readonly=True args: 'InvoiceXpress Doc Link'
  • journal_type Selection
    readonly=True related='journal_id.type' string='Journal Type'
Public methods (2)
  • action_create_invoicexpress_invoice(self)
  • action_send_invoicexpress_email(self, ignore_no_config=False)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • invoicexpress_id Char
    copy=False readonly=True args: 'InvoiceXpress ID'
Public methods (1)
  • action_invoicexpress_tax_create(self)

New fields (4)
  • has_invoicexpress Boolean
    compute='_compute_has_invoicexpress' help='Easy to use indicator if InvoiceXpress is enabled and can be used'
  • invoicexpress_account_name Char
    string='InvoiceXpress Account Name'
  • invoicexpress_api_key Char
    string='InvoiceXpress API Key'
  • invoicexpress_template_id Many2one → mail.template
    default=<expr> domain="[('model', '=', 'account.move')]" help='Used to generate the To, Cc, Subject and Body for the email sent by the InvoiceXpress service' args: 'mail.template', 'InvoiceXpress Email Template'
Public methods (0)

No public methods.

New fields (3)
  • invoicexpress_account_name Char
    readonly=False related='company_id.invoicexpress_account_name'
  • invoicexpress_api_key Char
    readonly=False related='company_id.invoicexpress_api_key'
  • invoicexpress_template_id Many2one
    readonly=False related='company_id.invoicexpress_template_id'
Public methods (0)

No public methods.

New fields (1)
  • invoicexpress_name Char
Public methods (0)

No public methods.

New fields (2)
  • invoicexpress_code Char
    company_dependent=True copy=False help='Company-specific identifier used for this partner in InvoiceXpress.' args: 'InvoiceXpress Code'
  • invoicexpress_id Char
    copy=False help='Deprecated: will be removed in future versions' readonly=True args: 'InvoiceXpress ID'
Public methods (1)
  • set_invoicexpress_contact(self, company=False)

Loading…

Loading…

Loading…

Loading…