OdooWiki OCA HUB

Portugal InvoiceXpress Integration

l10n_pt_account_invoicexpress folder_open OCA/l10n-portugal open_in_new
Accounting/Localizations/EDI License: AGPL-3

Generate Portuguese tax authority legal Invoices ("Faturas") using InvoiceXpress.

InvoiceXpress is a paid service. Visit 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.

auto_awesome What this module does

AI-generated from the code · Odoo 19.0

Connects Odoo to the InvoiceXpress service so Portuguese legal invoices are created automatically when you confirm a customer invoice, and can be emailed to the customer by InvoiceXpress.

Once your company is set up with an InvoiceXpress account name and API key (in Settings or on the company form), sales journals can be given an InvoiceXpress document type: Invoice, Invoices Receipt, Simplified Invoice or No InvoiceXpress document. Only journals with a document type use the service.

When you confirm a customer invoice on such a journal, Odoo sends the data to InvoiceXpress, which creates and finalises the legal document, returns its number (for example FT 123) and link, and Odoo stores that number as the invoice number. The document link and ID appear on an InvoiceXpress tab on the invoice, and a message is logged. The standard Send & Print button is hidden for these invoices, and an Email InvoiceXpress button sends the document through InvoiceXpress using the configured email template. Resetting a posted InvoiceXpress invoice to draft is blocked.

When the invoice is marked as paid, its InvoiceXpress state is changed to settled. Customer contacts are created or updated in InvoiceXpress automatically, and sales taxes are created or matched there. A warning is raised if a sales journal is missing its document type.

Depends on

Required by other modules

Models and fields (9)
  • account.tax · extends an existing modelinvoicexpress_id (InvoiceXpress ID)
  • res.company · extends an existing modelhas_invoicexpress, invoicexpress_api_key (InvoiceXpress API Key), invoicexpress_template_id, invoicexpress_account_name (InvoiceXpress Account Name)
  • res.country · extends an existing modelinvoicexpress_name
  • res.partner · extends an existing modelinvoicexpress_id (InvoiceXpress ID), invoicexpress_code (InvoiceXpress Code)
  • account.move · extends an existing modeljournal_type (Journal Type), invoicexpress_id (InvoiceXpress ID), can_invoicexpress, invoicexpress_doc_type, can_invoicexpress_email, invoicexpress_permalink (InvoiceXpress Doc Link)
  • account.journal · extends an existing modeluse_invoicexpress, invoicexpress_doc_type
  • account.move.line · extends an existing model
  • res.config.settings · extends an existing modelinvoicexpress_api_key, invoicexpress_template_id, invoicexpress_account_name
  • account.invoicexpress · new model

Text generated by AI (DeepSeek) from reading the Odoo 19.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 5 confirmed, 4 with no information of 9 versions.

Sources · Odoo 14.0

Confirmed on 2026-11-03 in branch 14.0 of OCA/l10n-portugal.

terminal Installation and usage

OCA documentation · Odoo 19.0

To configure:

  • Navigate to Settings/General Settings.
  • In the "Invoicing" configuration section, locate the "InvoiceXpress" subsection: There you can set:
  • InvoiceXpress Account Name
  • InvoiceXpress API Key
  • InvoiceXpress Invoice Email Template
  • In "Invoicing/Accounting" configuration section, locate the Sales Journals, and set the "InvoiceXpress Doc Type". This is required before invoices before any invoice can be created.

The email template is used to prepare the details for the email the InvoiceXpress service sends with the invoice:

  • "To" email address
  • "Cc" email address
  • Subject
  • Body

Translations are supported, and the customer language is used to render the email details.

The InvoiceXpress configuration is per company, and can also be modified directly on the Company form, if the Developer Mode is enabled.

On the Journal form, for sales journals, a flag is available to allow disabling the InvoiceXpress integration. This can be useful for a journal that was used temporarily to import invoice history, for reporting purposes, ond was then disabled, or to allow that journal to use a different legal invoicing system.

Note that all invoices generated MUST use a certified invoicing system. For a portuguese company, you cannot have some of the invoices being generated by Odoo itself. So use this option at your own risk, and only in the cases you are sure to be compliant with TPortugues Tax Authority invoicing regulations.

On an Invoice, the CONFIRM button automatically generates an invoice on the InvoiceXpress service.

The "Email InvoiceXpress" button requests the InvoiceXpress service to send an email with a copy of the legal document.

The Invoice form shows an "InvoiceXpress" tab containing details for the corresponding InvoiceXpress document.

Invoices:

  • Added support to the different documents types: Invoice, Invoice Receipt, Simplified Invoice. The default document type is set on the Journal, and can be changed on the Invoice form.
  • Use the invoice commercial partner for the name and address, instead of the invoice contact.
  • Added support for the Terms and Conditions/Observations field
  • Added to Credit Notes the link to the source Invoice
  • For standalone credit notes (invoices created outside InvoiceXpress), fill the Reference field with the invoice series/number (e.g., "FT A/1") before posting

The monthly SAF-T file should be downloaded from the InvoiceXpress website.

No verified information in OCA: Installation.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.