Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
116 changes: 0 additions & 116 deletions apps/invoicexpress-portugal.mdx

This file was deleted.

2 changes: 0 additions & 2 deletions assets/other/llms.txt
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,6 @@
- [Google Drive](https://docs.invopop.com/apps/google-drive.md): Store your assets and data in Google Drive
- [ILYDA Greece](https://docs.invopop.com/apps/ilyda-greece.md): Submit invoices to the Greek IAPR via the myDATA platform.
- [Discover Invopop Apps](https://docs.invopop.com/apps/index.md): Explore Invopop apps that extend platform functionality with government integrations, third-party services, and workflow automation tools.
- [InvoiceXpress Portugal](https://docs.invopop.com/apps/invoicexpress-portugal.md): Submit certified invoices and periodic SAF-T data to Portugal’s Autoridade Tributária through InvoiceXpress
- [KSeF Poland](https://docs.invopop.com/apps/ksef-poland.md): Submit FA_VAT invoices to Poland's KSeF system.
- [NetSuite](https://docs.invopop.com/apps/netsuite.md): Generate legally compliant invoices from Netsuite
- [OASIS UBL](https://docs.invopop.com/apps/oasis-ubl.md): Convert GOBL to the OASIS UBL format.
Expand Down Expand Up @@ -141,7 +140,6 @@
- [Peppol Guide](https://docs.invopop.com/guides/peppol.md): How to issue and receive electronic invoices through the global Peppol network
- [KSeF Poland Guide](https://docs.invopop.com/guides/pl-ksef.md): Generate and issue electronic invoices through Poland's KSeF system
- [AT Portugal Guide](https://docs.invopop.com/guides/pt-at.md): Issue documents in Portugal using Invopop's certified implementation.
- [InvoiceXpress Guide](https://docs.invopop.com/guides/pt-invoicexpress.md): Issue invoices in Portugal using InvoiceXpress as a provider.
- [Related Documents](https://docs.invopop.com/guides/related-docs.md): Configure linked documents using UUIDs.
- [Series Guide](https://docs.invopop.com/guides/series.md): Learn how to create and use series to generate sequential codes for your documents.
- [Slack](https://docs.invopop.com/guides/slack.md): Simple connection to Slack for sending messages.
Expand Down
4 changes: 2 additions & 2 deletions compliance/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -112,8 +112,8 @@ layout: wide
| | | | |
| --------------------- | --------------------- | ----------------------------- | ---------------------------- |
| B2C | – | - | [PDF Invoice](/) |
| B2B | – | Jan 1, 2026 · ATCUD/QR | [AT Portugal](/apps/at-portugal)<br /> [InvoiceXpress](/apps/invoicexpress-portugal) |
| B2G | – | Jan 1, 2026 · ATCUD/QR | [AT Portugal](/apps/at-portugal)<br /> [InvoiceXpress](/apps/invoicexpress-portugal) |
| B2B | – | Jan 1, 2026 · ATCUD/QR | [AT Portugal](/apps/at-portugal) |
| B2G | – | Jan 1, 2026 · ATCUD/QR | [AT Portugal](/apps/at-portugal) |


<div class="country">🇷🇴 Romania</div>
Expand Down
4 changes: 2 additions & 2 deletions compliance/portugal.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ Portugal also requires **SAF-T (Standard Audit File for Tax)** reporting, an XML

This article provides comprehensive guidance on [ATCUD/QR invoicing requirements](#ATCUDqr-b2b-b2g), [SAF-T reporting](#saft-pt-b2b-b2g), and [Portuguese invoicing regulations](#regulation).

Invopop provides comprehensive coverage for Portuguese invoicing through dedicated apps for AT Portugal and InvoiceXpress Portugal, as well as integrations with platforms like Stripe and Chargebee. This allows businesses to issue compliant ATCUD invoices efficiently and manage white-label (B2B2B) operations.
Invopop provides comprehensive coverage for Portuguese invoicing through its AT Portugal app, as well as integrations with platforms like Stripe and Chargebee. This allows businesses to issue compliant ATCUD invoices efficiently and manage white-label (B2B2B) operations.

## Invoicing in Portugal

Expand Down Expand Up @@ -51,7 +51,7 @@ Although no format is required, all invoices must include ATCUD and a QR code.
| **Model** | Centralized |
| **Scope & Deadline** | All B2B invoices from **Jan 1, 2026** |
| **Agency** | [AT Portugal](https://www.portaldasfinancas.gov.pt) |
| **Invopop Support** | [AT Portugal App](/apps/at-portugal)<br />[InvoiceXpress Portugal App](/apps/invoicexpress-portugal) (deprecated) |
| **Invopop Support** | [AT Portugal App](/apps/at-portugal) |


<Columns cols="2">
Expand Down
2 changes: 1 addition & 1 deletion console/doc-content.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ Best Practices:
#### Meta
Structured metadata and key-value pairs attached to the envelope that provide enhanced context:
Examples:
- Regime Addons: `es-verifactu-v1`, `pt-invoicexpress-v1`.
- Regime Addons: `es-verifactu-v1`, `pt-saft-v4`.
- Submission Protocols: `submission.protocol`, `ksef.hash`, `cfdi.uuid`.
- Signature Fingerprints: `signature.sha256`, `chain.previous_hash`.
- Workflow Tracking: `workflow.id`, `job.id`, `attempt`.
Expand Down
16 changes: 10 additions & 6 deletions docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -306,10 +306,7 @@
]
},
"/guides/pl-ksef",
{
"group": "🇵🇹 Portugal",
"pages": ["/guides/pt-at", "/guides/pt-invoicexpress"]
},
"/guides/pt-at",
{
"group": "🇪🇸 Spain",
"pages": [
Expand Down Expand Up @@ -380,7 +377,6 @@
"/apps/choruspro-france",
"/apps/dian-colombia",
"/apps/ilyda-greece",
"/apps/invoicexpress-portugal",
"/apps/poland",
"/apps/documentos-fiscais-electronicos-brazil",
"/apps/sat-mexico",
Expand Down Expand Up @@ -828,12 +824,20 @@
},
{
"source": "/guides/countries/pt-invoicexpress",
"destination": "/guides/pt-invoicexpress"
"destination": "/guides/pt-at"
},
{
"source": "/guides/pt-invoicexpress",
"destination": "/guides/pt-at"
},
{
"source": "/guides/countries/pt-at",
"destination": "/guides/pt-at"
},
{
"source": "/apps/invoicexpress-portugal",
"destination": "/apps/at-portugal"
},
{
"source": "/guides/countries/es-ticketbai",
"destination": "/guides/es-ticketbai"
Expand Down
26 changes: 1 addition & 25 deletions faq/portugal.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,7 @@ sidebarTitle: "FAQ"
1. **SAF-T monthly export** – a single XML file including all documents for the month. This file is generated by the invoicing software and then uploaded manually to the AT portal, as there is no API available for submitting it automatically.
2. **Real-time transmission** – instead of a monthly file, each invoice is sent individually to the AT at the time of issuance, using the authority's API.

Whether one model or the other is used usually depends on the issuers accountant's preference (who typically upload the SAF-T monthly report should they choose that model)
If you're using our [InvoiceXpress solution](/apps/invoicexpress-portugal), then each supplier can configure SAF-T generation or real-time submission directly in the InvoiceXpress portal.
If instead you're using [our own certified solution](/apps/at-portugal), at this moment we support SAF-T generation. We will also enable real-time AT reporting as an alternative in Q4, 2025.
Whether one model or the other is used usually depends on the issuer's accountant's preference (who typically uploads the SAF-T monthly report should they choose that model). Invopop's [AT Portugal app](/apps/at-portugal) supports both reporting methods, so each supplier can pick the one that best fits their needs.
</Accordion>

<Accordion title="What is supplier registration information in invoices and other documents?">
Expand Down Expand Up @@ -45,28 +43,6 @@ sidebarTitle: "FAQ"
</Accordion>
</AccordionGroup>

## InvoiceXpress

<AccordionGroup>

<Accordion title="Error: 'An account for the provided tax ID code and name already exists…'">
When you run the supplier registration workflow for a new supplier, you may get the following KO error:

> An account for the provided tax ID code and name already exists under a different supplier UUID. The same tax code ID can be used with multiple suppliers as long as they have different names.

#### What does this mean?

InvoiceXpress allows you to register the same tax ID (_Número de Identificação Fiscal_) for multiple suppliers. This is useful if, for example, a single invoice issuer wants to segregate invoices by branch or location. In these cases, you can create multiple suppliers with the same tax ID but different names.

However, there is a limitation in InvoiceXpress: you must provide a unique name for each supplier when registering a new account with the same tax ID. If InvoiceXpress detects that both the tax ID and the name match an existing account, it assumes you want to use the existing account instead of creating a new one. To prevent confusion, our system checks for this scenario and displays the error above if it occurs.

**How to resolve this issue:**
- Make sure the `name` you provide for the new supplier is different from any existing supplier with the same tax ID in InvoiceXpress.
- The `supplier` UUID must also be unique for each supplier you register.
</Accordion>

</AccordionGroup>

<Card title="Participate in our community"
icon="forumbee"
href="https://community.invopop.com"
Expand Down
2 changes: 1 addition & 1 deletion guides/pt-at.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "AT Portugal Guide"
sidebarTitle: "AT Portugal"
sidebarTitle: "🇵🇹 Portugal"
description: Issue documents in Portugal using Invopop's certified implementation.
---

Expand Down
Loading
Loading