> ## Documentation Index
> Fetch the complete documentation index at: https://docs.invopop.com/llms.txt
> Use this file to discover all available pages before exploring further.

# AT Portugal

> Submit certified invoices and periodic SAF-T data to Portugal’s Autoridade Tributária.

<Tabs>
  <Tab title="Description">
    <Columns cols="2">
      <div class="flex flex-col grow items-center justify-center">
        <Card title="AT Portugal Guide" icon="https://assets.invopop.com/apps/at-pt/icon.svg" href="/guides/pt-at" horizontal>
          View implementation guide ›
        </Card>
      </div>

      |           |                                  |
      | --------- | -------------------------------- |
      | Developer | [Invopop](https://invopop.com)   |
      | Category  | Government                       |
      | Scope     | B2B, B2C                         |
      | Country   | [Portugal](/compliance/portugal) |
    </Columns>

    Invopop is an officially certified invoice provider in Portugal. Our **AT Portugal app** supports invoice, receipt and delivery note compliance with Portugal’s AT e-invoicing regulation. Automate supplier onboarding, SAF-T report generation, invoice generation with ATCUD, and more. This app enables businesses (and their suppliers) to issue invoices and other document types in accordance with Portuguese law.

    **Key Features**

    * **Workflow automation:** This app provides automated workflows for issuing invoices, onboarding suppliers, and managing fiscal submissions to the Autoridade Tributária e Aduaneira (AT).
    * **Legally compliant PDF documents:** Invoices, payments and delivery notes are generated with a certified ATCUD and QR codes, as required by the Portuguese tax legislation.
    * **SAF-T (PT):** The app makes workflow steps available to manage SAF-T (PT) entries for each supplier.
    * **Realtime and manual reporting options:** Report in real-time via webservice or generate a file to upload through the AT's portal.
    * **Supplier portal:** Suppliers can generate SAF-T PT reports and create authorized series via the [Supplier Portal](https://at-pt.invopop.com/portal).
    * **Supplier registration:** Automatic registration (no onboarding process) with a single workflow step.
    * **White-label support:** Invoicing can be performed either under a client’s brand (white-label) or directly by the issuing organization, according to operational needs.

    #### Supported Document Types

    The current integration supports the following document types for reporting to the AT:

    | Category                | Code   | Portuguese Name       | English Translation |
    | ----------------------- | ------ | --------------------- | ------------------- |
    | **Invoices**            | **FT** | *Fatura*              | Standard Invoice    |
    |                         | **FS** | *Fatura Simplificada* | Simplified Invoice  |
    |                         | **FR** | *Fatura-Recibo*       | Invoice-Receipt     |
    |                         | **ND** | *Nota de Débito*      | Debit Note          |
    |                         | **NC** | *Nota de Crédito*     | Credit Note         |
    | **Payment receipts**    | **RG** | *Outro Recibo*        | Other Receipt       |
    | **Transport documents** | **GR** | *Guia de Remessa*     | Delivery Note       |
    |                         | **GT** | *Guia de Transporte*  | Waybill             |
    |                         | **GD** | *Guia de Devolução*   | Return Guide        |
    |                         | **GC** | *Guia de Consignação* | Consignment Guide   |

    Other SAF-T document types beyond those listed above are not currently supported. If you require support for additional document types, please contact us so we can analyze and consider prioritizing their development.

    Make sure to check out our [AT Portugal Guide](/guides/pt-at) for instructions on how to issue invoices and onboard suppliers.

    ## FAQ

    Invoicing questions

    <AccordionGroup>
      <Accordion title="Should our customers upload their SAF-T files manually?">
        In Portugal, fiscally relevant documents issued through invoicing software must be reported to the Tax Authority (AT). There are two possible reporting models:

        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 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="How do I configure my workspace for Portuguese invoicing?">
        Install the AT Portugal app, register the supplier with their NIF, and pick a reporting model (monthly SAF-T or real-time submission). Run invoices through the AT Issue Invoice workflow — Invopop generates the ATCUD, QR, and signature automatically.
      </Accordion>

      <Accordion title="Why does recording fail with 'payable: too high according to Artigo 40.º do CIVA'?">
        When issuing in Portugal you may see an error similar to:

        > `recording envelope: totals: (payable: too high according to Artigo 40.º do CIVA.)`

        **What it means:** Article 40 of the Portuguese VAT Code (*Código do IVA*) sets limits and rules for **simplified invoices** (*faturas simplificadas*). If the payable amount exceeds what is allowed for a simplified invoice in your situation, the rules effectively require a **full invoice** (*fatura completa*) with proper buyer identification—not an anonymous or minimal customer.

        **What to do:**

        * Treat the document as a **full invoice** and supply **real customer tax data** when you have it.
        * If you **do not** have the buyer's tax information, Portuguese practice allows the generic retail customer: set the customer **name** to `Consumidor final` and the **tax ID** to `999999990`.
        * For transactions **above €1,000**, the law also expects **name and address** on the document. The AT may not always reject submissions that omit some of that detail, but you should follow the rule for full compliance.

        Adjust your GOBL customer block (or equivalent) accordingly and re-run the workflow.
      </Accordion>

      <Accordion title="Why does my payment workflow fail with 'payment type RG is not supported for real-time reporting'?">
        This error means your workflow includes the **Send to the AT** step for a payment receipt. Payment receipts are not supported for real-time reporting — the AT does not accept them via the real-time webservice.

        **The fix:** remove the **Send to the AT** step from your payment workflow. RG receipts are only reportable through the monthly SAF-T file — the AT does not accept them via the real-time webservice. The **Record for SAF-T reporting** step alone is all you need for full compliance.
      </Accordion>

      <Accordion title="What payment receipt types are supported in Portugal?">
        Portugal defines two payment receipt types:

        * **RG — Outros Recibos**: Standard payment receipts, reported through the monthly SAF-T file only. Real-time reporting is not available for this type.
        * **RC — Recibo no âmbito do regime de IVA de Caixa**: Receipts specific to the VAT Cash accounting regime. RC payments are not currently supported by the AT Portugal app.
      </Accordion>

      <Accordion title="Where do I find Portugal-specific GOBL documentation?">
        See the [Portugal tax regime in GOBL](https://docs.gobl.org/regimes/pt) for tax categories, NIF rules, and AT-specific extensions. The [`pt-saft-v1`](https://docs.gobl.org/addons/pt-saft-v1) addon documents fields required by the SAF-T schema.
      </Accordion>
    </AccordionGroup>

    Registering supplier questions

    <AccordionGroup>
      <Accordion title="How do I register a supplier with AT?">
        Run the AT Register Supplier workflow with the supplier's NIF and chosen reporting model. Invopop registers the issuance series with AT and generates the ATCUD prefix to be embedded in every issued document.
      </Accordion>

      <Accordion title="What credentials does AT require to authenticate a supplier?">
        For real-time submission, an AT API username/password is required (issued through the AT portal). For SAF-T monthly export, no live credentials are needed — only the supplier's NIF and series registration.
      </Accordion>

      <Accordion title="How are supplier credentials stored in Invopop for Portugal?">
        For real-time submission, Invopop stores AT API credentials encrypted at rest. For SAF-T export model, no live credentials are needed — the supplier (or their accountant) downloads the SAF-T file and uploads it manually to AT's portal.
      </Accordion>
    </AccordionGroup>

    Reporting questions

    <AccordionGroup>
      <Accordion title="How often must I submit AT reports?">
        Real-time model: per invoice. SAF-T model: once per month, by the 5th of the following month. The choice is set at supplier registration and can be changed by re-registering.
      </Accordion>

      <Accordion title="How do I schedule periodic reports for Portugal?">
        For invoice-level reporting, choose the model at supplier registration: real-time (Invopop submits per invoice) or monthly SAF-T (Invopop generates the file by the 5th of the following month, accountant uploads). Periodic VAT and IES are filed separately by the accountant.
      </Accordion>

      <Accordion title="What format does AT expect for periodic reports?">
        Monthly SAF-T-PT XML uploaded to AT's portal (no API for this), or real-time WebService XML calls per invoice. Both follow the same SAF-T schema; real-time submits one document at a time, SAF-T submits an aggregated file covering the month.
      </Accordion>
    </AccordionGroup>

    More answers in our [Portugal FAQ](/faq/portugal) section
  </Tab>

  <Tab title="Actions">
    The following workflow actions will be available once you install and enable this app:

    <Card title="Record document for SAF-T" icon="https://assets.invopop.com/apps/at-pt/icon.svg" horizontal>
      <div class="pop-count"><Icon icon="https://assets.invopop.com/icons/pops.svg" /> 1</div>
      Record a GOBL document for SAF-T PT reporting.
    </Card>

    <Card title="Send document to AT" icon="https://assets.invopop.com/apps/at-pt/icon.svg" horizontal>
      Send document to the AT in realtime via web service.
    </Card>

    <Card title="Register supplier with AT" icon="https://assets.invopop.com/apps/at-pt/icon.svg" horizontal>
      Register a GOBL party to report taxes to the AT in their name.
    </Card>

    <Card title="Cancel SAF-T record" icon="https://assets.invopop.com/apps/at-pt/icon.svg" horizontal>
      Cancel a previously recorded GOBL document for SAF-T PT reporting.
    </Card>
  </Tab>

  <Tab title="Workflows">
    These workflows are essential sequences for processing and issuing AT Portugal documents. You can augment them with webhooks, email, storage actions and more.

    Issuing document workflows:

    <AccordionGroup>
      <Accordion title="AT Portugal issue invoice">
        ```json Example AT issue invoice workflow theme={"system"}
        {
          "name": "AT issue invoice",
          "description": "Issue an invoice through AT and generate PDF",
          "schema": "bill/invoice",
          "steps": [
            {
              "id": "6f884d90-f2b9-11ef-acb2-cd64e858247e",
              "name": "Set state",
              "provider": "silo.state",
              "config": {
                "state": "processing"
              }
            },
            {
              "id": "76f194b0-f2b9-11ef-acb2-cd64e858247e",
              "name": "Record document for SAF-T",
              "provider": "at-pt.record"
            },
            {
              "id": "59174840-c09a-11f0-b8a2-b531dbe0da3c",
              "name": "Send document to AT",
              "provider": "at-pt.send"
            },
            {
              "id": "93795a50-f2b9-11ef-acb2-cd64e858247e",
              "name": "Generate PDF",
              "provider": "pdf",
              "summary": "Portuguese · A4 · Original",
              "config": {
                "date_format": "%Y-%m-%d",
                "hide_promo": true,
                "label": "Original",
                "layout": "A4",
                "locale": "pt",
                "logo_height": 40,
                "watermark": ""
              }
            },
            {
              "id": "ce7c50c0-9d55-11f0-b3a4-87562f21f508",
              "name": "Generate PDF",
              "provider": "pdf",
              "summary": "Portuguese · A4 · Duplicado",
              "config": {
                "date_format": "%Y-%m-%d",
                "label": "Duplicado",
                "layout": "A4",
                "locale": "pt",
                "logo_height": 40,
                "watermark": "",
                "duplicate": true
              }
            },
            {
              "id": "7a708240-f2b9-11ef-acb2-cd64e858247e",
              "name": "Set state",
              "provider": "silo.state",
              "config": {
                "state": "sent"
              }
            }
          ],
          "rescue": [
            {
              "id": "805bdbf0-f2b9-11ef-acb2-cd64e858247e",
              "name": "Set state",
              "provider": "silo.state",
              "config": {
                "state": "error"
              }
            }
          ]
        }
        ```
      </Accordion>

      <Accordion title="AT Portugal issue delivery note">
        ```json Example AT issue delivery workflow theme={"system"}
        {
          "name": "AT issue delivery",
          "description": "Issue a delivery document through AT and generate PDF",
          "schema": "bill/delivery",
          "steps": [
            {
              "id": "6f884d90-f2b9-11ef-acb2-cd64e858247e",
              "name": "Set state",
              "provider": "silo.state",
              "config": {
                "state": "processing"
              }
            },
            {
              "id": "76f194b0-f2b9-11ef-acb2-cd64e858247e",
              "name": "Record document for SAF-T",
              "provider": "at-pt.record"
            },
            {
              "id": "59174840-c09a-11f0-b8a2-b531dbe0da3c",
              "name": "Send document to AT",
              "provider": "at-pt.send"
            },
            {
              "id": "93795a50-f2b9-11ef-acb2-cd64e858247e",
              "name": "Generate PDF",
              "provider": "pdf",
              "summary": "Portuguese · A4 · Original",
              "config": {
                "date_format": "%Y-%m-%d",
                "hide_promo": true,
                "label": "Original",
                "layout": "A4",
                "locale": "pt",
                "logo_height": 40,
                "watermark": ""
              }
            },
            {
              "id": "ce7c50c0-9d55-11f0-b3a4-87562f21f508",
              "name": "Generate PDF",
              "provider": "pdf",
              "summary": "Portuguese · A4 · Duplicado",
              "config": {
                "date_format": "%Y-%m-%d",
                "label": "Duplicado",
                "layout": "A4",
                "locale": "pt",
                "logo_height": 40,
                "watermark": "",
                "duplicate": true
              }
            },
            {
              "id": "7a708240-f2b9-11ef-acb2-cd64e858247e",
              "name": "Set state",
              "provider": "silo.state",
              "config": {
                "state": "sent"
              }
            }
          ],
          "rescue": [
            {
              "id": "805bdbf0-f2b9-11ef-acb2-cd64e858247e",
              "name": "Set state",
              "provider": "silo.state",
              "config": {
                "state": "error"
              }
            }
          ]
        }
        ```
      </Accordion>

      <Accordion title="AT Portugal issue payment">
        ```json Example AT issue payment workflow theme={"system"}
        {
          "name": "AT issue payment",
          "description": "Issue a payment through AT and generate PDF",
          "schema": "bill/payment",
          "steps": [
            {
              "id": "6f884d90-f2b9-11ef-acb2-cd64e858247e",
              "name": "Set state",
              "provider": "silo.state",
              "config": {
                "state": "processing"
              }
            },
            {
              "id": "76f194b0-f2b9-11ef-acb2-cd64e858247e",
              "name": "Record document for SAF-T",
              "provider": "at-pt.record"
            },
            {
              "id": "93795a50-f2b9-11ef-acb2-cd64e858247e",
              "name": "Generate PDF",
              "provider": "pdf",
              "summary": "Portuguese · A4 · Original",
              "config": {
                "date_format": "%Y-%m-%d",
                "hide_promo": true,
                "label": "Original",
                "layout": "A4",
                "locale": "pt",
                "logo_height": 40,
                "watermark": ""
              }
            },
            {
              "id": "ce7c50c0-9d55-11f0-b3a4-87562f21f508",
              "name": "Generate PDF",
              "provider": "pdf",
              "summary": "Portuguese · A4 · Duplicado",
              "config": {
                "date_format": "%Y-%m-%d",
                "label": "Duplicado",
                "layout": "A4",
                "locale": "pt",
                "logo_height": 40,
                "watermark": "",
                "duplicate": true
              }
            },
            {
              "id": "7a708240-f2b9-11ef-acb2-cd64e858247e",
              "name": "Set state",
              "provider": "silo.state",
              "config": {
                "state": "sent"
              }
            }
          ],
          "rescue": [
            {
              "id": "805bdbf0-f2b9-11ef-acb2-cd64e858247e",
              "name": "Set state",
              "provider": "silo.state",
              "config": {
                "state": "error"
              }
            }
          ]
        }
        ```
      </Accordion>
    </AccordionGroup>

    Supplier workflows:

    <AccordionGroup>
      <Accordion title="AT Portugal register supplier">
        ```json Example AT register supplier workflow theme={"system"}
        {
          "name": "AT register supplier",
          "description": "Register a supplier with AT",
          "schema": "org/party",
          "steps": [
            {
              "id": "6f9282a0-3870-11ef-af29-4533d56cea03",
              "name": "Set state",
              "config": {
                "state": "processing"
              },
              "summary": "Set state to `processing`{.state .processing}",
              "provider": "silo.state"
            },
            {
              "id": "1a9bcde0-a816-11ef-87b2-fd751e6d3b88",
              "name": "Sign envelope",
              "provider": "silo.close"
            },
            {
              "id": "5b6ca7e0-ad93-11ef-a7da-83137f995008",
              "name": "Register supplier with AT",
              "provider": "at-pt.register"
            }
          ],
          "rescue": []
        }
        ```
      </Accordion>

      <Accordion title="AT Portugal post-registration workflow">
        ```json Example AT supplier post-registration workflow theme={"system"}
        {
          "name": "AT supplier post-registration",
          "description": "Mark an AT supplier as registered",
          "schema": "org/party",
          "steps": [
            {
              "id": "7e8d8070-3870-11ef-af29-4533d56cea03",
              "name": "Set state",
              "config": {
                "state": "registered"
              },
              "summary": "Set state to `registered`{.state .registered}",
              "provider": "silo.state"
            }
          ],
          "rescue": []
        }
        ```
      </Accordion>
    </AccordionGroup>

    Cancelling document workflows:

    <AccordionGroup>
      <Accordion title="AT Portugal cancel invoice">
        ```json Example AT cancel invoice workflow theme={"system"}
        {
          "name": "AT cancel invoice",
          "description": "Cancel an invoice through AT and generate PDF",
          "schema": "bill/invoice",
          "steps": [
            {
              "id": "6f884d90-f2b9-11ef-acb2-cd64e858247e",
              "name": "Set state",
              "provider": "silo.state",
              "config": {
                "state": "processing"
              }
            },
            {
              "id": "cc0002a0-927f-11f0-8cd1-bd9f2c371090",
              "name": "Cancel SAF-T record",
              "provider": "at-pt.cancel"
            },
            {
              "id": "59174840-c09a-11f0-b8a2-b531dbe0da3c",
              "name": "Send document to AT",
              "provider": "at-pt.send"
            },
            {
              "id": "7a708240-f2b9-11ef-acb2-cd64e858247e",
              "name": "Set state",
              "provider": "silo.state",
              "config": {
                "state": "void"
              }
            },
            {
              "id": "93795a50-f2b9-11ef-acb2-cd64e858247e",
              "name": "Generate PDF",
              "provider": "pdf",
              "summary": "Portuguese · A4 · Original",
              "config": {
                "date_format": "%Y-%m-%d",
                "hide_promo": true,
                "label": "Original",
                "layout": "A4",
                "locale": "pt",
                "logo_height": 40,
                "watermark": ""
              }
            },
            {
              "id": "ce7c50c0-9d55-11f0-b3a4-87562f21f508",
              "name": "Generate PDF",
              "provider": "pdf",
              "summary": "Portuguese · A4 · Duplicado",
              "config": {
                "date_format": "%Y-%m-%d",
                "label": "Duplicado",
                "layout": "A4",
                "locale": "pt",
                "logo_height": 40,
                "watermark": "",
                "duplicate": true
              }
            }
          ],
          "rescue": [
            {
              "id": "805bdbf0-f2b9-11ef-acb2-cd64e858247e",
              "name": "Set state",
              "provider": "silo.state",
              "config": {
                "state": "error"
              }
            }
          ]
        }
        ```
      </Accordion>

      <Accordion title="AT Portugal cancel delivery note">
        ```json Example AT cancel delivery workflow theme={"system"}
        {
          "name": "AT cancel delivery",
          "description": "Cancel a delivery document through AT and generate PDF",
          "schema": "bill/delivery",
          "steps": [
            {
              "id": "6f884d90-f2b9-11ef-acb2-cd64e858247e",
              "name": "Set state",
              "provider": "silo.state",
              "config": {
                "state": "processing"
              }
            },
            {
              "id": "cc0002a0-927f-11f0-8cd1-bd9f2c371090",
              "name": "Cancel SAF-T record",
              "provider": "at-pt.cancel"
            },
            {
              "id": "59174840-c09a-11f0-b8a2-b531dbe0da3c",
              "name": "Send document to AT",
              "provider": "at-pt.send"
            },
            {
              "id": "7a708240-f2b9-11ef-acb2-cd64e858247e",
              "name": "Set state",
              "provider": "silo.state",
              "config": {
                "state": "void"
              }
            },
            {
              "id": "93795a50-f2b9-11ef-acb2-cd64e858247e",
              "name": "Generate PDF",
              "provider": "pdf",
              "summary": "Portuguese · A4 · Original",
              "config": {
                "date_format": "%Y-%m-%d",
                "hide_promo": true,
                "label": "Original",
                "layout": "A4",
                "locale": "pt",
                "logo_height": 40,
                "watermark": ""
              }
            },
            {
              "id": "ce7c50c0-9d55-11f0-b3a4-87562f21f508",
              "name": "Generate PDF",
              "provider": "pdf",
              "summary": "Portuguese · A4 · Duplicado",
              "config": {
                "date_format": "%Y-%m-%d",
                "label": "Duplicado",
                "layout": "A4",
                "locale": "pt",
                "logo_height": 40,
                "watermark": "",
                "duplicate": true
              }
            }
          ],
          "rescue": [
            {
              "id": "805bdbf0-f2b9-11ef-acb2-cd64e858247e",
              "name": "Set state",
              "provider": "silo.state",
              "config": {
                "state": "error"
              }
            }
          ]
        }
        ```
      </Accordion>

      <Accordion title="AT Portugal cancel payment">
        ```json Example AT cancel payment workflow theme={"system"}
        {
          "name": "AT cancel payment",
          "description": "Cancel a payment through AT and generate PDF",
          "schema": "bill/payment",
          "steps": [
            {
              "id": "6f884d90-f2b9-11ef-acb2-cd64e858247e",
              "name": "Set state",
              "provider": "silo.state",
              "config": {
                "state": "processing"
              }
            },
            {
              "id": "cc0002a0-927f-11f0-8cd1-bd9f2c371090",
              "name": "Cancel SAF-T record",
              "provider": "at-pt.cancel"
            },
            {
              "id": "7a708240-f2b9-11ef-acb2-cd64e858247e",
              "name": "Set state",
              "provider": "silo.state",
              "config": {
                "state": "void"
              }
            },
            {
              "id": "93795a50-f2b9-11ef-acb2-cd64e858247e",
              "name": "Generate PDF",
              "provider": "pdf",
              "summary": "Portuguese · A4 · Original",
              "config": {
                "date_format": "%Y-%m-%d",
                "hide_promo": true,
                "label": "Original",
                "layout": "A4",
                "locale": "pt",
                "logo_height": 40,
                "watermark": ""
              }
            },
            {
              "id": "ce7c50c0-9d55-11f0-b3a4-87562f21f508",
              "name": "Generate PDF",
              "provider": "pdf",
              "summary": "Portuguese · A4 · Duplicado",
              "config": {
                "date_format": "%Y-%m-%d",
                "label": "Duplicado",
                "layout": "A4",
                "locale": "pt",
                "logo_height": 40,
                "watermark": "",
                "duplicate": true
              }
            }
          ],
          "rescue": [
            {
              "id": "805bdbf0-f2b9-11ef-acb2-cd64e858247e",
              "name": "Set state",
              "provider": "silo.state",
              "config": {
                "state": "error"
              }
            }
          ]
        }
        ```
      </Accordion>
    </AccordionGroup>

    New to workflows? Read more in our [workflows guide](/guides/features/workflows).
  </Tab>

  <Tab title="Documents">
    <AccordionGroup>
      <Accordion title="AT B2B invoice">
        In this example, we're issuing a simple invoice from a Portuguese supplier to another Portuguese business.

        Notice:

        * the minimal version in the first tab contains only the essential fields required to create the invoice, without totals or calculations,
        * the [`pt-saft-v1`](https://docs.gobl.org/addons/pt-saft-v1) addon ensures the document will be validated and normalized using the SAF-T PT v1 rules built into the [GOBL](https://docs.gobl.org) library,
        * the `supplier` and `series` fields are set to example values; you'll need to replace them with the details of supplier and series registered as per the previous sections. The series must be registered in the Supplier Portal and follow Portuguese naming conventions (see [Series Management](/guides/pt-at#series-management) for details),
        * when running `gobl build`, or uploading the file, the system automatically calculates totals, assigns the [`pt-saft-invoice-type`](https://docs.gobl.org/addons/pt-saft-v1#invoice-type) extension to `FT` (Fatura), sets the [`pt-saft-payment-means`](https://docs.gobl.org/addons/pt-saft-v1#payment-means) extension to `CC` for card payment, and applies the [`pt-saft-tax-rate`](https://docs.gobl.org/addons/pt-saft-v1#tax-rate-code) extension to `NOR` for standard VAT,
        * the built version in the second tab shows the normalized document with calculated totals, line item sums (including advance payment deductions), tax breakdowns, and automatically generated fields, and,
        * the `h` item unit causes the [`pt-saft-product-type`](https://docs.gobl.org/addons/pt-saft-v1#product-type) extension to be set to `S` (Serviço), and the [`pt-region`](https://docs.gobl.org/regimes/pt#region-code) extension is automatically set to `PT`.

        <CodeGroup>
          ```json AT B2B Invoice (minimal) theme={"system"}
          {
          	"$schema": "https://gobl.org/draft-0/bill/invoice",
          	"$regime": "PT",
          	"$addons": [
          		"pt-saft-v1"
          	],
          	"type": "standard",
          	"series": "FT SERIES-A",
          	"issue_date": "2024-12-23",
          	"currency": "EUR",
          	"supplier": {
          		"name": "Innovatech Lda",
          		"tax_id": {
          			"country": "PT",
          			"code": "504614240"
          		},
          		"addresses": [
          			{
          				"num": "156",
          				"street": "Avenida da República",
          				"locality": "Lisboa",
          				"code": "1050-045",
          				"country": "PT"
          			}
          		],
          		"emails": [
          			{
          				"addr": "maria@example.com"
          			}
          		],
          		"registration": {
          			"capital": "150000.00",
          			"office": "CRC Lisboa",
          			"other": "sob NIF 770013813"
          		}
          	},
          	"customer": {
          		"name": "Gusto Unipessoal Lda",
          		"tax_id": {
          			"country": "PT",
          			"code": "514329874"
          		},
          		"addresses": [
          			{
          				"street": "Avenida da Liberdade 152 2º Direito",
          				"locality": "Lisboa",
          				"code": "1250-146",
          				"country": "PT"
          			}
          		],
          		"emails": [
          			{
          				"addr": "gusto@example.com"
          			}
          		],
          		"websites": [
          			{
          				"url": "https://gusto.example.com"
          			}
          		],
          		"telephones": [
          			{
          				"num": "+351912345678"
          			}
          		]
          	},
          	"lines": [
          		{
          			"quantity": "20.0",
          			"item": {
          				"name": "Development services",
          				"price": "50.00",
          				"unit": "h"
          			},
          			"taxes": [
          				{
          					"cat": "VAT",
          					"rate": "standard"
          				}
          			]
          		}
          	],
          	"payment": {
          		"advances": [
          			{
          				"date": "2024-12-23",
          				"key": "card",
          				"description": "Advance payment",
          				"amount": "12.34"
          			}
          		]
          	}
          }
          ```

          ```json Built version theme={"system"}
          {
          	"$schema": "https://gobl.org/draft-0/bill/invoice",
          	"$regime": "PT",
          	"$addons": [
          		"pt-saft-v1"
          	],
          	"type": "standard",
          	"series": "FT SERIES-A",
          	"issue_date": "2024-12-23",
          	"value_date": "2024-12-23",
          	"currency": "EUR",
          	"tax": {
          		"ext": {
          			"pt-saft-invoice-type": "FT",
          			"pt-saft-source": "P"
          		}
          	},
          	"supplier": {
          		"name": "Innovatech Lda",
          		"tax_id": {
          			"country": "PT",
          			"code": "504614240"
          		},
          		"addresses": [
          			{
          				"num": "156",
          				"street": "Avenida da República",
          				"locality": "Lisboa",
          				"code": "1050-045",
          				"country": "PT"
          			}
          		],
          		"emails": [
          			{
          				"addr": "maria@example.com"
          			}
          		],
          		"registration": {
          			"capital": "150000.00",
          			"office": "CRC Lisboa",
          			"other": "sob NIF 770013813"
          		}
          	},
          	"customer": {
          		"name": "Gusto Unipessoal Lda",
          		"tax_id": {
          			"country": "PT",
          			"code": "514329874"
          		},
          		"addresses": [
          			{
          				"street": "Avenida da Liberdade 152 2º Direito",
          				"locality": "Lisboa",
          				"code": "1250-146",
          				"country": "PT"
          			}
          		],
          		"emails": [
          			{
          				"addr": "gusto@example.com"
          			}
          		],
          		"websites": [
          			{
          				"url": "https://gusto.example.com"
          			}
          		],
          		"telephones": [
          			{
          				"num": "+351912345678"
          			}
          		]
          	},
          	"lines": [
          		{
          			"i": 1,
          			"quantity": "20.0",
          			"item": {
          				"name": "Development services",
          				"price": "50.00",
          				"unit": "h",
          				"ext": {
          					"pt-saft-product-type": "S"
          				}
          			},
          			"sum": "1000.00",
          			"taxes": [
          				{
          					"cat": "VAT",
          					"key": "standard",
          					"rate": "general",
          					"percent": "23.0%",
          					"ext": {
          						"pt-region": "PT",
          						"pt-saft-tax-rate": "NOR"
          					}
          				}
          			],
          			"total": "1000.00"
          		}
          	],
          	"payment": {
          		"advances": [
          			{
          				"date": "2024-12-23",
          				"key": "card",
          				"description": "Advance payment",
          				"amount": "12.34",
          				"ext": {
          					"pt-saft-payment-means": "CC"
          				}
          			}
          		]
          	},
          	"totals": {
          		"sum": "1000.00",
          		"total": "1000.00",
          		"taxes": {
          			"categories": [
          				{
          					"code": "VAT",
          					"rates": [
          						{
          							"key": "standard",
          							"ext": {
          								"pt-region": "PT",
          								"pt-saft-tax-rate": "NOR"
          							},
          							"base": "1000.00",
          							"percent": "23.0%",
          							"amount": "230.00"
          						}
          					],
          					"amount": "230.00"
          				}
          			],
          			"sum": "230.00"
          		},
          		"tax": "230.00",
          		"total_with_tax": "1230.00",
          		"payable": "1230.00",
          		"advance": "12.34",
          		"due": "1217.66"
          	}
          }
          ```
        </CodeGroup>
      </Accordion>

      <Accordion title="AT delivery note">
        In this example, we're issuing a delivery note from a Portuguese supplier to another Portuguese receiver.

        Notice:

        * the first tab shows the minimal version containing only the essential fields required to create the delivery document; there are no totals or calculations,
        * the [`pt-saft-v1`](https://docs.gobl.org/addons/pt-saft-v1) addon ensures the document will be validated and normalized using the SAF-T PT v1 rules built into the [GOBL](https://docs.gobl.org) library,
        * the `supplier` and `series` fields are set to example values; you'll need to replace them with the details of supplier and series registered as per the previous sections. The series must be registered in the Supplier Portal and follow Portuguese naming conventions (see [Series Management](/guides/pt-at#series-management) for details),
        * this is an `note` document type with the [`pt-saft-movement-type`](https://docs.gobl.org/addons/pt-saft-v1#movement-type) extension set to `GR` (Guia de Remessa),
        * when running `gobl build`, or uploading the document, the system automatically calculates totals, applies the standard VAT rate with the [`pt-saft-tax-rate`](https://docs.gobl.org/addons/pt-saft-v1#tax-rate-code) extension set to `NOR`, and normalizes all fields,
        * the second tab shows the built version of the document with the calculated totals, line item sums, tax breakdowns, and automatically generated fields, and,delivery
        * the [`pt-region`](https://docs.gobl.org/regimes/pt#region-code) extension is automatically set to `PT`.

        <CodeGroup>
          ```json AT Delivery (minimal) theme={"system"}
          {
          	"$schema": "https://gobl.org/draft-0/bill/delivery",
          	"$regime": "PT",
          	"$addons": [
          			"pt-saft-v1"
          	],
          	"type": "note",
          	"series": "GR SERIES-A",
          	"issue_date": "2026-04-01",
          	"currency": "EUR",
          	"despatch_date": "2026-04-02",
          	"receive_date": "2026-04-03",
          	"supplier": {
          			"name": "Innovatech Lda",
          			"tax_id": {
          					"country": "PT",
          					"code": "770013813"
          			},
          			"addresses": [
          					{
          							"street": "Rua das Flores 200 3º Esquerdo",
          							"locality": "Porto",
          							"code": "4050-265",
          							"country": "PT"
          					}
          			],
          			"registration": {
          					"capital": "100000.00",
          					"office": "Porto"
          			}
          	},
          	"customer": {
          			"name": "Gusto Unipessoal Lda",
          			"tax_id": {
          					"country": "PT",
          					"code": "514329874"
          			},
          			"addresses": [
          					{
          							"street": "Avenida da Liberdade 152 2º Direito",
          							"locality": "Lisboa",
          							"code": "1250-146",
          							"country": "PT"
          					}
          			]
          	},
          	"despatcher": {
          			"name": "Innovatech Logistics",
          			"addresses": [
          					{
          							"street": "Rua da Indústria 45",
          							"locality": "Porto",
          							"code": "4050-300",
          							"country": "PT"
          					}
          			]
          	},
          	"receiver": {
          			"name": "Gusto Armazém",
          			"addresses": [
          					{
          							"street": "Zona Industrial, Lote 23",
          							"locality": "Lisboa",
          							"code": "1300-300",
          							"country": "PT"
          					}
          			]
          	},
          	"lines": [
          			{
          					"quantity": "10",
          					"item": {
          							"name": "Product A",
          							"price": "5.00",
          							"unit": "unit",
          							"ext": {
          									"pt-saft-product-type": "P"
          							}
          					},
          					"taxes": [
          							{
          									"cat": "VAT",
          									"rate": "standard"
          							}
          					]
          			}
          	],
          	"notes": [
          			{
          					"text": "Delivery note for products"
          			}
          	]
          }
          ```

          ```json Built version theme={"system"}
          {
          	"$schema": "https://gobl.org/draft-0/bill/delivery",
          	"$regime": "PT",
          	"$addons": [
          		"pt-saft-v1"
          	],
          	"type": "note",
          	"series": "GR SERIES-A",
          	"issue_date": "2026-04-01",
          	"currency": "EUR",
          	"despatch_date": "2026-04-02",
          	"receive_date": "2026-04-03",
          	"tax": {
          		"ext": {
          			"pt-saft-movement-type": "GR"
          		}
          	},
          	"supplier": {
          		"name": "Innovatech Lda",
          		"tax_id": {
          			"country": "PT",
          			"code": "770013813"
          		},
          		"addresses": [
          			{
          				"street": "Rua das Flores 200 3º Esquerdo",
          				"locality": "Porto",
          				"code": "4050-265",
          				"country": "PT"
          			}
          		],
          		"registration": {
          			"capital": "100000.00",
          			"office": "Porto"
          		}
          	},
          	"customer": {
          		"name": "Gusto Unipessoal Lda",
          		"tax_id": {
          			"country": "PT",
          			"code": "514329874"
          		},
          		"addresses": [
          			{
          				"street": "Avenida da Liberdade 152 2º Direito",
          				"locality": "Lisboa",
          				"code": "1250-146",
          				"country": "PT"
          			}
          		]
          	},
          	"despatcher": {
          		"name": "Innovatech Logistics",
          		"addresses": [
          			{
          				"street": "Rua da Indústria 45",
          				"locality": "Porto",
          				"code": "4050-300",
          				"country": "PT"
          			}
          		]
          	},
          	"receiver": {
          		"name": "Gusto Armazém",
          		"addresses": [
          			{
          				"street": "Zona Industrial, Lote 23",
          				"locality": "Lisboa",
          				"code": "1300-300",
          				"country": "PT"
          			}
          		]
          	},
          	"lines": [
          		{
          			"i": 1,
          			"quantity": "10",
          			"item": {
          				"name": "Product A",
          				"price": "5.00",
          				"unit": "unit",
          				"ext": {
          					"pt-saft-product-type": "P"
          				}
          			},
          			"sum": "50.00",
          			"taxes": [
          				{
          					"cat": "VAT",
          					"key": "standard",
          					"rate": "general",
          					"percent": "23.0%",
          					"ext": {
          						"pt-region": "PT",
          						"pt-saft-tax-rate": "NOR"
          					}
          				}
          			],
          			"total": "50.00"
          		}
          	],
          	"totals": {
          		"sum": "50.00",
          		"total": "50.00",
          		"taxes": {
          			"categories": [
          				{
          					"code": "VAT",
          					"rates": [
          						{
          							"key": "standard",
          							"ext": {
          								"pt-region": "PT",
          								"pt-saft-tax-rate": "NOR"
          							},
          							"base": "50.00",
          							"percent": "23.0%",
          							"amount": "11.50"
          						}
          					],
          					"amount": "11.50"
          				}
          			],
          			"sum": "11.50"
          		},
          		"tax": "11.50",
          		"total_with_tax": "61.50",
          		"payable": "61.50"
          	},
          	"notes": [
          		{
          			"text": "Delivery note for products"
          		}
          	]
          }
          ```
        </CodeGroup>
      </Accordion>

      <Accordion title="AT return guide">
        A return guide (*Guia de Devolução*) records goods being returned to the supplier — for example, defective items, unsold stock, or any other scenario where previously delivered goods are sent back.

        Notice:

        * the document carries the `return` tag (`$tags: ["return"]`), which the [`pt-saft-v1`](https://docs.gobl.org/addons/pt-saft-v1) addon uses to automatically set the [`pt-saft-movement-type`](https://docs.gobl.org/addons/pt-saft-v1#movement-type) extension to `GD` (Guia de Devolução),
        * the `series` follows the `GD ` prefix convention and must be registered through the Supplier Portal, and,
        * the flow of goods is reversed compared to a delivery note: the `customer` is the party returning the goods, and the `supplier` is the one receiving them back.

        <CodeGroup>
          ```json AT Return guide (minimal) theme={"system"}
          {
          	"$schema": "https://gobl.org/draft-0/bill/delivery",
          	"$regime": "PT",
          	"$addons": [
          			"pt-saft-v1"
          	],
          	"$tags": ["return"],
          	"type": "note",
          	"series": "GD SERIES-A",
          	"issue_date": "2026-04-03",
          	"currency": "EUR",
          	"despatch_date": "2026-04-03",
          	"receive_date": "2026-04-03",
          	"supplier": {
          			"name": "Innovatech Lda",
          			"tax_id": {
          					"country": "PT",
          					"code": "770013813"
          			},
          			"addresses": [
          					{
          							"street": "Rua das Flores 200 3º Esquerdo",
          							"locality": "Porto",
          							"code": "4050-265",
          							"country": "PT"
          					}
          			],
          			"registration": {
          					"capital": "100000.00",
          					"office": "Porto"
          			}
          	},
          	"customer": {
          			"name": "Gusto Unipessoal Lda",
          			"tax_id": {
          					"country": "PT",
          					"code": "514329874"
          			},
          			"addresses": [
          					{
          							"street": "Avenida da Liberdade 152 2º Direito",
          							"locality": "Lisboa",
          							"code": "1250-146",
          							"country": "PT"
          					}
          			]
          	},
          	"despatcher": {
          			"name": "Gusto Armazém",
          			"addresses": [
          					{
          							"street": "Zona Industrial, Lote 23",
          							"locality": "Lisboa",
          							"code": "1300-300",
          							"country": "PT"
          					}
          			]
          	},
          	"receiver": {
          			"name": "Innovatech Logistics",
          			"addresses": [
          					{
          							"street": "Rua da Indústria 45",
          							"locality": "Porto",
          							"code": "4050-300",
          							"country": "PT"
          					}
          			]
          	},
          	"lines": [
          			{
          					"quantity": "3",
          					"item": {
          							"name": "Product A",
          							"price": "5.00",
          							"unit": "unit",
          							"ext": {
          									"pt-saft-product-type": "P"
          							}
          					},
          					"taxes": [
          							{
          									"cat": "VAT",
          									"rate": "standard"
          							}
          					]
          			}
          	],
          	"notes": [
          			{
          					"text": "Goods returned by the customer."
          			}
          	]
          }
          ```

          ```json Built version theme={"system"}
          {
          	"$schema": "https://gobl.org/draft-0/bill/delivery",
          	"$regime": "PT",
          	"$addons": [
          		"pt-saft-v1"
          	],
          	"$tags": [
          		"return"
          	],
          	"type": "note",
          	"series": "GD SERIES-A",
          	"issue_date": "2026-04-03",
          	"currency": "EUR",
          	"despatch_date": "2026-04-03",
          	"receive_date": "2026-04-03",
          	"tax": {
          		"ext": {
          			"pt-saft-movement-type": "GD"
          		}
          	},
          	"supplier": {
          		"name": "Innovatech Lda",
          		"tax_id": {
          			"country": "PT",
          			"code": "770013813"
          		},
          		"addresses": [
          			{
          				"street": "Rua das Flores 200 3º Esquerdo",
          				"locality": "Porto",
          				"code": "4050-265",
          				"country": "PT"
          			}
          		],
          		"registration": {
          			"capital": "100000.00",
          			"office": "Porto"
          		}
          	},
          	"customer": {
          		"name": "Gusto Unipessoal Lda",
          		"tax_id": {
          			"country": "PT",
          			"code": "514329874"
          		},
          		"addresses": [
          			{
          				"street": "Avenida da Liberdade 152 2º Direito",
          				"locality": "Lisboa",
          				"code": "1250-146",
          				"country": "PT"
          			}
          		]
          	},
          	"despatcher": {
          		"name": "Gusto Armazém",
          		"addresses": [
          			{
          				"street": "Zona Industrial, Lote 23",
          				"locality": "Lisboa",
          				"code": "1300-300",
          				"country": "PT"
          			}
          		]
          	},
          	"receiver": {
          		"name": "Innovatech Logistics",
          		"addresses": [
          			{
          				"street": "Rua da Indústria 45",
          				"locality": "Porto",
          				"code": "4050-300",
          				"country": "PT"
          			}
          		]
          	},
          	"lines": [
          		{
          			"i": 1,
          			"quantity": "3",
          			"item": {
          				"name": "Product A",
          				"price": "5.00",
          				"unit": "unit",
          				"ext": {
          					"pt-saft-product-type": "P"
          				}
          			},
          			"sum": "15.00",
          			"taxes": [
          				{
          					"cat": "VAT",
          					"key": "standard",
          					"rate": "general",
          					"percent": "23.0%",
          					"ext": {
          						"pt-region": "PT",
          						"pt-saft-tax-rate": "NOR"
          					}
          				}
          			],
          			"total": "15.00"
          		}
          	],
          	"totals": {
          		"sum": "15.00",
          		"total": "15.00",
          		"taxes": {
          			"categories": [
          				{
          					"code": "VAT",
          					"rates": [
          						{
          							"key": "standard",
          							"ext": {
          								"pt-region": "PT",
          								"pt-saft-tax-rate": "NOR"
          							},
          							"base": "15.00",
          							"percent": "23.0%",
          							"amount": "3.45"
          						}
          					],
          					"amount": "3.45"
          				}
          			],
          			"sum": "3.45"
          		},
          		"tax": "3.45",
          		"total_with_tax": "18.45",
          		"payable": "18.45"
          	},
          	"notes": [
          		{
          			"text": "Goods returned by the customer."
          		}
          	]
          }
          ```
        </CodeGroup>
      </Accordion>

      <Accordion title="AT global waybill">
        For shipments where the specific recipient is not known upfront — for example, multi-stop delivery runs — issuers can emit a global waybill (*Guia de Transporte Global*) to cover the goods in transport.

        Notice:

        * the document `type` is set to `waybill`, which the [`pt-saft-v1`](https://docs.gobl.org/addons/pt-saft-v1) addon normalizes to the [`pt-saft-movement-type`](https://docs.gobl.org/addons/pt-saft-v1#movement-type) extension `GT` (Guia de Transporte),
        * the `series` follows the `GT ` prefix convention required by the AT and must be registered through the Supplier Portal, and,
        * the `customer` field is omitted: when no customer is provided on a `GT`, the SAF-T submission auto-fills the AT-prescribed generic entry *Consumidor final* with NIF `999999990` and address *Desconhecido*.

        <CodeGroup>
          ```json AT Global waybill (minimal) theme={"system"}
          {
          	"$schema": "https://gobl.org/draft-0/bill/delivery",
          	"$regime": "PT",
          	"$addons": [
          			"pt-saft-v1"
          	],
          	"type": "waybill",
          	"series": "GT SERIES-A",
          	"issue_date": "2026-04-01",
          	"currency": "EUR",
          	"despatch_date": "2026-04-02",
          	"supplier": {
          			"name": "Innovatech Lda",
          			"tax_id": {
          					"country": "PT",
          					"code": "770013813"
          			},
          			"addresses": [
          					{
          							"street": "Rua das Flores 200 3º Esquerdo",
          							"locality": "Porto",
          							"code": "4050-265",
          							"country": "PT"
          					}
          			],
          			"registration": {
          					"capital": "100000.00",
          					"office": "Porto"
          			}
          	},
          	"despatcher": {
          			"name": "Innovatech Logistics",
          			"addresses": [
          					{
          							"street": "Rua da Indústria 45",
          							"locality": "Porto",
          							"code": "4050-300",
          							"country": "PT"
          					}
          			]
          	},
          	"lines": [
          			{
          					"quantity": "100",
          					"item": {
          							"name": "Product A",
          							"price": "5.00",
          							"unit": "unit",
          							"ext": {
          									"pt-saft-product-type": "P"
          							}
          					},
          					"taxes": [
          							{
          									"cat": "VAT",
          									"rate": "standard"
          							}
          					]
          			}
          	],
          	"notes": [
          			{
          					"text": "Global waybill for multi-stop delivery"
          			}
          	]
          }
          ```

          ```json Built version theme={"system"}
          {
          	"$schema": "https://gobl.org/draft-0/bill/delivery",
          	"$regime": "PT",
          	"$addons": [
          		"pt-saft-v1"
          	],
          	"type": "waybill",
          	"series": "GT SERIES-A",
          	"issue_date": "2026-04-01",
          	"currency": "EUR",
          	"despatch_date": "2026-04-02",
          	"tax": {
          		"ext": {
          			"pt-saft-movement-type": "GT"
          		}
          	},
          	"supplier": {
          		"name": "Innovatech Lda",
          		"tax_id": {
          			"country": "PT",
          			"code": "770013813"
          		},
          		"addresses": [
          			{
          				"street": "Rua das Flores 200 3º Esquerdo",
          				"locality": "Porto",
          				"code": "4050-265",
          				"country": "PT"
          			}
          		],
          		"registration": {
          			"capital": "100000.00",
          			"office": "Porto"
          		}
          	},
          	"despatcher": {
          		"name": "Innovatech Logistics",
          		"addresses": [
          			{
          				"street": "Rua da Indústria 45",
          				"locality": "Porto",
          				"code": "4050-300",
          				"country": "PT"
          			}
          		]
          	},
          	"lines": [
          		{
          			"i": 1,
          			"quantity": "100",
          			"item": {
          				"name": "Product A",
          				"price": "5.00",
          				"unit": "unit",
          				"ext": {
          					"pt-saft-product-type": "P"
          				}
          			},
          			"sum": "500.00",
          			"taxes": [
          				{
          					"cat": "VAT",
          					"key": "standard",
          					"rate": "general",
          					"percent": "23.0%",
          					"ext": {
          						"pt-region": "PT",
          						"pt-saft-tax-rate": "NOR"
          					}
          				}
          			],
          			"total": "500.00"
          		}
          	],
          	"totals": {
          		"sum": "500.00",
          		"total": "500.00",
          		"taxes": {
          			"categories": [
          				{
          					"code": "VAT",
          					"rates": [
          						{
          							"key": "standard",
          							"ext": {
          								"pt-region": "PT",
          								"pt-saft-tax-rate": "NOR"
          							},
          							"base": "500.00",
          							"percent": "23.0%",
          							"amount": "115.00"
          						}
          					],
          					"amount": "115.00"
          				}
          			],
          			"sum": "115.00"
          		},
          		"tax": "115.00",
          		"total_with_tax": "615.00",
          		"payable": "615.00"
          	},
          	"notes": [
          		{
          			"text": "Global waybill for multi-stop delivery"
          		}
          	]
          }
          ```
        </CodeGroup>
      </Accordion>

      <Accordion title="AT delivery from global waybill">
        Once the recipient of part of the goods covered by a global waybill is known, a concrete document — typically a `GR` (Guia de Remessa) — must be issued with the full transaction details, including the `customer` and a cross-reference back to the originating `GT` so the AT can correlate both records.

        Notice:

        * the `customer` is now populated with the actual recipient of the goods, and,
        * the `preceding` array carries one entry with the `series`, `code`, and `issue_date` of the originating `GT`.

        <CodeGroup>
          ```json AT Delivery note from global waybill (minimal) theme={"system"}
          {
          	"$schema": "https://gobl.org/draft-0/bill/delivery",
          	"$regime": "PT",
          	"$addons": [
          			"pt-saft-v1"
          	],
          	"type": "note",
          	"series": "GR SERIES-A",
          	"issue_date": "2026-04-02",
          	"currency": "EUR",
          	"despatch_date": "2026-04-02",
          	"receive_date": "2026-04-02",
          	"preceding": [
          			{
          					"series": "GT SERIES-A",
          					"code": "1",
          					"issue_date": "2026-04-01"
          			}
          	],
          	"supplier": {
          			"name": "Innovatech Lda",
          			"tax_id": {
          					"country": "PT",
          					"code": "770013813"
          			},
          			"addresses": [
          					{
          							"street": "Rua das Flores 200 3º Esquerdo",
          							"locality": "Porto",
          							"code": "4050-265",
          							"country": "PT"
          					}
          			],
          			"registration": {
          					"capital": "100000.00",
          					"office": "Porto"
          			}
          	},
          	"customer": {
          			"name": "Gusto Unipessoal Lda",
          			"tax_id": {
          					"country": "PT",
          					"code": "514329874"
          			},
          			"addresses": [
          					{
          							"street": "Avenida da Liberdade 152 2º Direito",
          							"locality": "Lisboa",
          							"code": "1250-146",
          							"country": "PT"
          					}
          			]
          	},
          	"despatcher": {
          			"name": "Innovatech Logistics",
          			"addresses": [
          					{
          							"street": "Rua da Indústria 45",
          							"locality": "Porto",
          							"code": "4050-300",
          							"country": "PT"
          					}
          			]
          	},
          	"receiver": {
          			"name": "Gusto Armazém",
          			"addresses": [
          					{
          							"street": "Zona Industrial, Lote 23",
          							"locality": "Lisboa",
          							"code": "1300-300",
          							"country": "PT"
          					}
          			]
          	},
          	"lines": [
          			{
          					"quantity": "10",
          					"item": {
          							"name": "Product A",
          							"price": "5.00",
          							"unit": "unit",
          							"ext": {
          									"pt-saft-product-type": "P"
          							}
          					},
          					"taxes": [
          							{
          									"cat": "VAT",
          									"rate": "standard"
          							}
          					]
          			}
          	],
          	"notes": [
          			{
          					"text": "Stop delivery from global waybill GT SERIES-A/1"
          			}
          	]
          }
          ```

          ```json Built version theme={"system"}
          {
          	"$schema": "https://gobl.org/draft-0/bill/delivery",
          	"$regime": "PT",
          	"$addons": [
          		"pt-saft-v1"
          	],
          	"type": "note",
          	"series": "GR SERIES-A",
          	"issue_date": "2026-04-02",
          	"currency": "EUR",
          	"preceding": [
          		{
          			"issue_date": "2026-04-01",
          			"series": "GT SERIES-A",
          			"code": "1"
          		}
          	],
          	"despatch_date": "2026-04-02",
          	"receive_date": "2026-04-02",
          	"tax": {
          		"ext": {
          			"pt-saft-movement-type": "GR"
          		}
          	},
          	"supplier": {
          		"name": "Innovatech Lda",
          		"tax_id": {
          			"country": "PT",
          			"code": "770013813"
          		},
          		"addresses": [
          			{
          				"street": "Rua das Flores 200 3º Esquerdo",
          				"locality": "Porto",
          				"code": "4050-265",
          				"country": "PT"
          			}
          		],
          		"registration": {
          			"capital": "100000.00",
          			"office": "Porto"
          		}
          	},
          	"customer": {
          		"name": "Gusto Unipessoal Lda",
          		"tax_id": {
          			"country": "PT",
          			"code": "514329874"
          		},
          		"addresses": [
          			{
          				"street": "Avenida da Liberdade 152 2º Direito",
          				"locality": "Lisboa",
          				"code": "1250-146",
          				"country": "PT"
          			}
          		]
          	},
          	"despatcher": {
          		"name": "Innovatech Logistics",
          		"addresses": [
          			{
          				"street": "Rua da Indústria 45",
          				"locality": "Porto",
          				"code": "4050-300",
          				"country": "PT"
          			}
          		]
          	},
          	"receiver": {
          		"name": "Gusto Armazém",
          		"addresses": [
          			{
          				"street": "Zona Industrial, Lote 23",
          				"locality": "Lisboa",
          				"code": "1300-300",
          				"country": "PT"
          			}
          		]
          	},
          	"lines": [
          		{
          			"i": 1,
          			"quantity": "10",
          			"item": {
          				"name": "Product A",
          				"price": "5.00",
          				"unit": "unit",
          				"ext": {
          					"pt-saft-product-type": "P"
          				}
          			},
          			"sum": "50.00",
          			"taxes": [
          				{
          					"cat": "VAT",
          					"key": "standard",
          					"rate": "general",
          					"percent": "23.0%",
          					"ext": {
          						"pt-region": "PT",
          						"pt-saft-tax-rate": "NOR"
          					}
          				}
          			],
          			"total": "50.00"
          		}
          	],
          	"totals": {
          		"sum": "50.00",
          		"total": "50.00",
          		"taxes": {
          			"categories": [
          				{
          					"code": "VAT",
          					"rates": [
          						{
          							"key": "standard",
          							"ext": {
          								"pt-region": "PT",
          								"pt-saft-tax-rate": "NOR"
          							},
          							"base": "50.00",
          							"percent": "23.0%",
          							"amount": "11.50"
          						}
          					],
          					"amount": "11.50"
          				}
          			],
          			"sum": "11.50"
          		},
          		"tax": "11.50",
          		"total_with_tax": "61.50",
          		"payable": "61.50"
          	},
          	"notes": [
          		{
          			"text": "Stop delivery from global waybill GT SERIES-A/1"
          		}
          	]
          }
          ```
        </CodeGroup>
      </Accordion>

      <Accordion title="AT return from global waybill">
        A return can also be linked back to a global waybill — for example, when surplus goods that were not delivered to any customer come back to the depot at the end of a delivery run.

        Notice:

        * as in the standalone return guide, the `return` tag drives the [`pt-saft-movement-type`](https://docs.gobl.org/addons/pt-saft-v1#movement-type) extension to `GD`,
        * the `preceding` array references the originating `GT`, and,
        * the `customer` is omitted, since the goods are returning to the issuer's own depot rather than to a specific party.

        <CodeGroup>
          ```json AT Return from global waybill (minimal) theme={"system"}
          {
          	"$schema": "https://gobl.org/draft-0/bill/delivery",
          	"$regime": "PT",
          	"$addons": [
          			"pt-saft-v1"
          	],
          	"$tags": ["return"],
          	"type": "note",
          	"series": "GD SERIES-A",
          	"issue_date": "2026-04-03",
          	"currency": "EUR",
          	"preceding": [
          			{
          					"issue_date": "2026-04-01",
          					"series": "GT SERIES-A",
          					"code": "1"
          			}
          	],
          	"despatch_date": "2026-04-03",
          	"supplier": {
          			"name": "Innovatech Lda",
          			"tax_id": {
          					"country": "PT",
          					"code": "770013813"
          			},
          			"addresses": [
          					{
          							"street": "Rua das Flores 200 3º Esquerdo",
          							"locality": "Porto",
          							"code": "4050-265",
          							"country": "PT"
          					}
          			],
          			"registration": {
          					"capital": "100000.00",
          					"office": "Porto"
          			}
          	},
          	"despatcher": {
          			"name": "Innovatech Logistics",
          			"addresses": [
          					{
          							"street": "Rua da Indústria 45",
          							"locality": "Porto",
          							"code": "4050-300",
          							"country": "PT"
          					}
          			]
          	},
          	"receiver": {
          			"name": "Innovatech Depot",
          			"addresses": [
          					{
          							"street": "Rua da Indústria 45",
          							"locality": "Porto",
          							"code": "4050-300",
          							"country": "PT"
          					}
          			]
          	},
          	"lines": [
          			{
          					"quantity": "2",
          					"item": {
          							"name": "Product A",
          							"price": "5.00",
          							"unit": "unit",
          							"ext": {
          									"pt-saft-product-type": "P"
          							}
          					},
          					"taxes": [
          							{
          									"cat": "VAT",
          									"rate": "standard"
          							}
          					]
          			}
          	],
          	"notes": [
          			{
          					"text": "Surplus from global waybill GT SERIES-A/1 returned to depot."
          			}
          	]
          }
          ```

          ```json Built version theme={"system"}
          {
          	"$schema": "https://gobl.org/draft-0/bill/delivery",
          	"$regime": "PT",
          	"$addons": [
          		"pt-saft-v1"
          	],
          	"$tags": [
          		"return"
          	],
          	"type": "note",
          	"series": "GD SERIES-A",
          	"issue_date": "2026-04-03",
          	"currency": "EUR",
          	"preceding": [
          		{
          			"issue_date": "2026-04-01",
          			"series": "GT SERIES-A",
          			"code": "1"
          		}
          	],
          	"despatch_date": "2026-04-03",
          	"tax": {
          		"ext": {
          			"pt-saft-movement-type": "GD"
          		}
          	},
          	"supplier": {
          		"name": "Innovatech Lda",
          		"tax_id": {
          			"country": "PT",
          			"code": "770013813"
          		},
          		"addresses": [
          			{
          				"street": "Rua das Flores 200 3º Esquerdo",
          				"locality": "Porto",
          				"code": "4050-265",
          				"country": "PT"
          			}
          		],
          		"registration": {
          			"capital": "100000.00",
          			"office": "Porto"
          		}
          	},
          	"despatcher": {
          		"name": "Innovatech Logistics",
          		"addresses": [
          			{
          				"street": "Rua da Indústria 45",
          				"locality": "Porto",
          				"code": "4050-300",
          				"country": "PT"
          			}
          		]
          	},
          	"receiver": {
          		"name": "Innovatech Depot",
          		"addresses": [
          			{
          				"street": "Rua da Indústria 45",
          				"locality": "Porto",
          				"code": "4050-300",
          				"country": "PT"
          			}
          		]
          	},
          	"lines": [
          		{
          			"i": 1,
          			"quantity": "2",
          			"item": {
          				"name": "Product A",
          				"price": "5.00",
          				"unit": "unit",
          				"ext": {
          					"pt-saft-product-type": "P"
          				}
          			},
          			"sum": "10.00",
          			"taxes": [
          				{
          					"cat": "VAT",
          					"key": "standard",
          					"rate": "general",
          					"percent": "23.0%",
          					"ext": {
          						"pt-region": "PT",
          						"pt-saft-tax-rate": "NOR"
          					}
          				}
          			],
          			"total": "10.00"
          		}
          	],
          	"totals": {
          		"sum": "10.00",
          		"total": "10.00",
          		"taxes": {
          			"categories": [
          				{
          					"code": "VAT",
          					"rates": [
          						{
          							"key": "standard",
          							"ext": {
          								"pt-region": "PT",
          								"pt-saft-tax-rate": "NOR"
          							},
          							"base": "10.00",
          							"percent": "23.0%",
          							"amount": "2.30"
          						}
          					],
          					"amount": "2.30"
          				}
          			],
          			"sum": "2.30"
          		},
          		"tax": "2.30",
          		"total_with_tax": "12.30",
          		"payable": "12.30"
          	},
          	"notes": [
          		{
          			"text": "Surplus from global waybill GT SERIES-A/1 returned to depot."
          		}
          	]
          }
          ```
        </CodeGroup>
      </Accordion>

      <Accordion title="AT payment receipt">
        In this example, we're issuing a payment receipt from a Portuguese supplier to another Portuguese business.

        Notice:

        * the minimal version (`payment.min.mdx`) contains only the essential fields required to create the payment document,
        * the [`pt-saft-v1`](https://docs.gobl.org/addons/pt-saft-v1) addon ensures the document will be validated and normalized using the SAF-T PT v1 rules built into the [GOBL](https://docs.gobl.org) library,
        * the `supplier` and `series` fields are set to example values; you'll need to replace them with the details of supplier and series registered as per the previous sections. The series must be registered in the Supplier Portal and follow Portuguese naming conventions (see [Series Management](/guides/pt-at#series-management) for details),
        * this is a single `receipt` payment that bundles **multiple payment methods**: 30,00 EUR in cash plus 31,50 EUR by card, summing to the document total of 61,50 EUR. Each method gets its own [`pt-saft-payment-means`](https://docs.gobl.org/addons/pt-saft-v1#payment-means) extension auto-assigned (`NU` for cash, `CC` for card),
        * when running `gobl build`, the system automatically assigns the [`pt-saft-payment-type`](https://docs.gobl.org/addons/pt-saft-v1#payment-type) extension to `RG` and the [`pt-saft-source`](https://docs.gobl.org/addons/pt-saft-v1#document-source) extension to `P`,
        * the built version (`payment.mdx`) shows the normalized document with all automatically generated fields and extensions properly set,
        * the payment lines reference the original invoice being paid, though a single receipt can reference multiple invoices if needed,
        * this receipt could represent either a full or partial payment of the referenced invoice; it simply records the amounts and taxes being paid, so the total may or may not cover the full invoice amount, and,
        * there are no calculations in the minimal version; all normalizations will be made automatically when uploading.

        <CodeGroup>
          ```json AT Payment (minimal) theme={"system"}
          {
          	"$schema": "https://gobl.org/draft-0/bill/payment",
          	"$regime": "PT",
          	"$addons": [
          		"pt-saft-v1"
          	],
          	"type": "receipt",
          	"series": "RG SERIES-A",
          	"issue_date": "2024-12-23",
          	"currency": "EUR",
          	"supplier": {
          		"name": "Innovatech Lda",
          		"tax_id": {
          			"country": "PT",
          			"code": "770013813"
          		},
          		"addresses": [
          			{
          				"street": "Rua das Flores 200 3º Esquerdo",
          				"locality": "Porto",
          				"code": "4050-265",
          				"country": "PT"
          			}
          		],
          		"registration": {
          			"capital": "100000.00",
          			"office": "Porto"
          		}
          	},
          	"customer": {
          		"name": "Gusto Unipessoal Lda",
          		"tax_id": {
          			"country": "PT",
          			"code": "514329874"
          		},
          		"addresses": [
          			{
          				"street": "Avenida da Liberdade 152 2º Direito",
          				"locality": "Lisboa",
          				"code": "1250-146",
          				"country": "PT"
          			}
          		],
          		"emails": [
          			{
          				"addr": "gusto@example.com"
          			}
          		],
          		"websites": [
          			{
          				"url": "https://gusto.example.com"
          			}
          		],
          		"telephones": [
          			{
          				"num": "+351912345678"
          			}
          		]
          	},
          	"lines": [
          		{
          			"document": {
          				"issue_date": "2024-12-23",
          				"series": "FT SERIES-A",
          				"code": "1",
          				"description": "Invoice 1"
          			},
          			"amount": "61.50",
          			"tax": {
          				"categories": [
          					{
          						"code": "VAT",
          						"rates": [
          							{
          								"key": "standard",
          								"ext": {
          									"pt-region": "PT",
          									"pt-saft-tax-rate": "NOR"
          								},
          								"base": "50.00",
          								"percent": "23.0%",
          								"amount": "11.50"
          							}
          						],
          						"amount": "11.50"
          					}
          				],
          				"sum": "11.50"
          			}
          		}
          	],
          	"methods": [
          		{
          			"key": "cash",
          			"description": "Cash portion",
          			"amount": "30.00"
          		},
          		{
          			"key": "card",
          			"description": "Card portion",
          			"amount": "31.50"
          		}
          	]
          }
          ```

          ```json Built version theme={"system"}
          {
          	"$schema": "https://gobl.org/draft-0/bill/payment",
          	"$regime": "PT",
          	"$addons": [
          		"pt-saft-v1"
          	],
          	"type": "receipt",
          	"series": "RG SERIES-A",
          	"issue_date": "2024-12-23",
          	"currency": "EUR",
          	"ext": {
          		"pt-saft-payment-type": "RG",
          		"pt-saft-source": "P"
          	},
          	"supplier": {
          		"name": "Innovatech Lda",
          		"tax_id": {
          			"country": "PT",
          			"code": "770013813"
          		},
          		"addresses": [
          			{
          				"street": "Rua das Flores 200 3º Esquerdo",
          				"locality": "Porto",
          				"code": "4050-265",
          				"country": "PT"
          			}
          		],
          		"registration": {
          			"capital": "100000.00",
          			"office": "Porto"
          		}
          	},
          	"customer": {
          		"name": "Gusto Unipessoal Lda",
          		"tax_id": {
          			"country": "PT",
          			"code": "514329874"
          		},
          		"addresses": [
          			{
          				"street": "Avenida da Liberdade 152 2º Direito",
          				"locality": "Lisboa",
          				"code": "1250-146",
          				"country": "PT"
          			}
          		],
          		"emails": [
          			{
          				"addr": "gusto@example.com"
          			}
          		],
          		"websites": [
          			{
          				"url": "https://gusto.example.com"
          			}
          		],
          		"telephones": [
          			{
          				"num": "+351912345678"
          			}
          		]
          	},
          	"lines": [
          		{
          			"i": 1,
          			"document": {
          				"issue_date": "2024-12-23",
          				"series": "FT SERIES-A",
          				"code": "1",
          				"description": "Invoice 1"
          			},
          			"amount": "61.50",
          			"tax": {
          				"categories": [
          					{
          						"code": "VAT",
          						"rates": [
          							{
          								"key": "standard",
          								"ext": {
          									"pt-region": "PT",
          									"pt-saft-tax-rate": "NOR"
          								},
          								"base": "50.00",
          								"percent": "23.0%",
          								"amount": "11.50"
          							}
          						],
          						"amount": "11.50"
          					}
          				],
          				"sum": "11.50"
          			}
          		}
          	],
          	"methods": [
          		{
          			"key": "cash",
          			"description": "Cash portion",
          			"amount": "30.00",
          			"ext": {
          				"pt-saft-payment-means": "NU"
          			}
          		},
          		{
          			"key": "card",
          			"description": "Card portion",
          			"amount": "31.50",
          			"ext": {
          				"pt-saft-payment-means": "CC"
          			}
          		}
          	],
          	"total": "61.50"
          }
          ```
        </CodeGroup>
      </Accordion>
    </AccordionGroup>

    <AccordionGroup>
      <Accordion title="AT Portugal invoice">
        ```json AT Invoice theme={"system"}
        {
          "$schema": "https://gobl.org/draft-0/bill/invoice",
          "$regime": "PT",
          "$addons": [
            "pt-saft-v1"
          ],
          "type": "standard",
          "series": "FT SERIES-A",
          "issue_date": "2024-12-23",
          "currency": "EUR",
          "supplier": {
            "name": "Innovatech Lda",
            "tax_id": {
              "country": "PT",
              "code": "770013813"
            },
            "registration": {
              "capital": "100000.00",
              "office": "Porto"
            }
          },
          "customer": {
            "name": "Gusto Unipessoal Lda",
            "tax_id": {
              "country": "PT",
              "code": "514329874"
            },
            "addresses": [
              {
                "street": "Avenida da Liberdade 152 2º Direito",
                "locality": "Lisboa",
                "code": "1250-146",
                "country": "PT"
              }
            ],
            "telephones": [
              {
                "num": "+351912345678"
              }
            ]
          },
          "lines": [
            {
              "i": 1,
              "quantity": "1",
              "item": {
                "name": "Development services",
                "price": "50.00",
                "unit": "item",
                "ext": {
                  "pt-saft-product-type": "S"
                }
              },
              "sum": "50.00",
              "taxes": [
                {
                  "cat": "VAT",
                  "key": "standard",
                  "rate": "general",
                  "percent": "23.0%"        
                }
              ],
              "total": "50.00"
            }
          ],
          "payment": {
            "terms": {
              "key": "advanced"
            },
            "advances": [
              {
                "date": "2024-12-18",
                "description": "Transferência bancária",
                "amount": "50.00"
              }
            ]
          }
        }
        ```
      </Accordion>

      <Accordion title="AT Portugal credit note">
        ```json AT Credit Note theme={"system"}

        {
          "$schema": "https://gobl.org/draft-0/envelope",
          "head": {
            "uuid": "0194750c-c66c-7000-8da0-61dfef43434d",
            "dig": {
              "alg": "sha256",
              "val": "44dfb55c750757111727cc592f3a452b352723ab8542c089fc84d79954852347"
            }
          },
          "doc": {
            "$schema": "https://gobl.org/draft-0/bill/invoice",
            "$regime": "PT",
            "$addons": [
              "pt-saft-v1"
            ],
            "uuid": "0194750c-a28c-7001-9e19-c7067a088481",
            "type": "credit-note",
            "series": "NC SERIES-A",
            "issue_date": "2024-12-23",
            "value_date": "2024-12-23",
            "currency": "EUR",
            "preceding": [
              {
                "uuid": "0193f36f-9fda-7000-9aff-4f4e28043a66",
                "type": "standard",
                "issue_date": "2024-08-03",
                "series": "FT SERIES-A",
                "code": "1",
                "reason": "Reimbursement"
              }
            ],
            "tax": {
              "ext": {
                "pt-saft-invoice-type": "NC",
                "pt-saft-source": "P"
              }
            },
            "supplier": {
              "name": "Innovatech Lda",
              "tax_id": {
                "country": "PT",
                "code": "770013813"
              },
              "addresses": [
                {
                  "street": "Rua das Flores 200 3º Esquerdo",
                  "locality": "Porto",
                  "code": "4050-265",
                  "country": "PT"
                }
              ],
              "registration": {
                "capital": "100000.00",
                "office": "Porto"
              }
            },
            "customer": {
              "name": "Gusto Unipessoal Lda",
              "tax_id": {
                "country": "PT",
                "code": "514329874"
              },
              "addresses": [
                {
                  "street": "Avenida da Liberdade 152 2º Direito",
                  "locality": "Lisboa",
                  "code": "1250-146",
                  "country": "PT"
                }
              ],
              "emails": [
                {
                  "addr": "gusto@example.com"
                }
              ],
              "websites": [
                {
                  "url": "https://gusto.example.com"
                }
              ],
              "telephones": [
                {
                  "num": "+351912345678"
                }
              ]
            },
            "lines": [
              {
                "i": 1,
                "quantity": "1",
                "item": {
                  "name": "Development services",
                  "price": "50.00",
                  "unit": "item",
                  "ext": {
                    "pt-saft-product-type": "S"
                  }
                },
                "sum": "50.00",
                "taxes": [
                  {
                    "cat": "VAT",
                    "key": "standard",
                    "rate": "general",
                    "percent": "23.0%",
                    "ext": {
                      "pt-region": "PT",
                      "pt-saft-tax-rate": "NOR"
                    }
                  }
                ],
                "total": "50.00"
              }
            ],
            "totals": {
              "sum": "50.00",
              "total": "50.00",
              "taxes": {
                "categories": [
                  {
                    "code": "VAT",
                    "rates": [
                      {
                        "key": "standard",
                        "ext": {
                          "pt-region": "PT",
                          "pt-saft-tax-rate": "NOR"
                        },
                        "base": "50.00",
                        "percent": "23.0%",
                        "amount": "11.50"
                      }
                    ],
                    "amount": "11.50"
                  }
                ],
                "sum": "11.50"
              },
              "tax": "11.50",
              "total_with_tax": "61.50",
              "payable": "61.50"
            }
          }
        }

        ```
      </Accordion>

      <Accordion title="AT Portugal order">
        ```json AT Order theme={"system"}
        {
          "$schema": "https://gobl.org/draft-0/bill/order",
          "$regime": "PT",
          "$addons": [
            "pt-saft-v1"
          ],
          "uuid": "0193f36f-9fda-7000-9aff-4f4e28043a66",
          "type": "purchase",
          "series": "NE SERIES-A",
          "issue_date": "2024-12-23",
          "value_date": "2024-12-23",
          "currency": "EUR",
          "tax": {
            "ext": {
              "pt-saft-work-type": "NE"
            }
          },
          "supplier": {
            "name": "Innovatech Lda",
            "tax_id": {
              "country": "PT",
              "code": "770013813"
            },
            "addresses": [
              {
                "street": "Rua das Flores 200 3º Esquerdo",
                "locality": "Porto",
                "code": "4050-265",
                "country": "PT"
              }
            ],
            "registration": {
              "capital": "100000.00",
              "office": "Porto"
            }
          },
          "customer": {
            "name": "Gusto Unipessoal Lda",
            "tax_id": {
              "country": "PT",
              "code": "514329874"
            },
            "addresses": [
              {
                "street": "Avenida da Liberdade 152 2º Direito",
                "locality": "Lisboa",
                "code": "1250-146",
                "country": "PT"
              }
            ],
            "emails": [
              {
                "addr": "gusto@example.com"
              }
            ],
            "websites": [
              {
                "url": "https://gusto.example.com"
              }
            ],
            "telephones": [
              {
                "num": "+351912345678"
              }
            ]
          },
          "lines": [
            {
              "i": 1,
              "quantity": "1",
              "order": "PO-2024-001",
              "item": {
                "name": "Development services",
                "price": "50.00",
                "unit": "one",
                "ext": {
                  "pt-saft-product-type": "S"
                }
              },
              "sum": "50.00",
              "discounts": [
                {
                  "percent": "15.0%",
                  "amount": "7.50"
                }
              ],
              "taxes": [
                {
                  "cat": "VAT",
                  "key": "standard",
                  "rate": "general",
                  "percent": "23.0%",
                  "ext": {
                    "pt-region": "PT",
                    "pt-saft-tax-rate": "NOR"
                  }
                }
              ],
              "total": "42.50"
            }
          ],
          "totals": {
            "sum": "42.50",
            "total": "42.50",
            "taxes": {
              "categories": [
                {
                  "code": "VAT",
                  "rates": [
                    {
                      "key": "standard",
                      "ext": {
                        "pt-region": "PT",
                        "pt-saft-tax-rate": "NOR"
                      },
                      "base": "42.50",
                      "percent": "23.0%",
                      "amount": "9.78"
                    }
                  ],
                  "amount": "9.78"
                }
              ],
              "sum": "9.78"
            },
            "tax": "9.78",
            "total_with_tax": "52.28",
            "payable": "52.28"
          }
        }
        ```
      </Accordion>
    </AccordionGroup>

    <AccordionGroup>
      <Accordion title="AT Portugal supplier">
        ```json Portugal AT supplier example theme={"system"}
        {
            "$schema": "https://gobl.org/draft-0/org/party",
            "name": "Innovatech Lda",
            "tax_id": {
                "country": "PT",
                "code": "504614240"
            },
            "addresses": [
                {
                    "num": "156",
                    "street": "Avenida da República",
                    "locality": "Lisboa",
                    "code": "1050-045",
                    "country": "PT"
                }
            ],
            "emails": [
                {
                    "addr": "maria@example.com"
                }
            ],
            "registration": {
                "capital": "150000.00",
                "office": "CRC Lisboa",
                "other": "sob NIF 770013813"
            }
        }
        ```
      </Accordion>
    </AccordionGroup>

    Copy and paste these documents into the [GOBL builder](https://build.gobl.org) in order to preview and verify them.
  </Tab>
</Tabs>

***

<AccordionGroup>
  <Accordion title="🇵🇹 Invopop resources for Portugal">
    |            |                                                                                                                                                                                                                                                     |
    | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
    | Compliance | <Icon icon="https://assets.invopop.com/flags/pt.svg" /> [Invoicing compliance in Portugal](/compliance/portugal)<br /> <Icon icon="timeline" /> [Compliance timeline](/timelines/portugal)                                                          |
    | Apps       | <Icon icon="https://assets.invopop.com/apps/at-pt/icon.svg" /> [AT Portugal](/apps/at-portugal)                                                                                                                                                     |
    | Guides     | <Icon icon="book" /> [AT Portugal Guide](/guides/pt-at)                                                                                                                                                                                             |
    | FAQ        | <Icon icon="square-question" /> [Portugal FAQ](/faq/portugal)                                                                                                                                                                                       |
    | GOBL       | <Icon icon="https://assets.invopop.com/icons/gobl.svg" />  [Portugal Tax Regime](https://docs.gobl.org/regimes/pt)<br /> <Icon icon="https://assets.invopop.com/icons/gobl.svg" /> [Portugal SAF-T Addon ](https://docs.gobl.org/addons/pt-saft-v1) |
  </Accordion>
</AccordionGroup>

<Card title="Participate in our community" icon="forumbee" href="https://community.invopop.com" arrow="true" horizontal>
  Ask and answer questions about AT Portugal App →
</Card>
