- Description
- Actions
- Workflows
- Documents
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.
- 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 | GT | Guia de transporte | Waybill |
The following workflow actions will be available once you install and enable this app:
1
Record a GOBL document for SAF-T PT reporting.


Record for SAF-T (Portugal)
Send to the AT (Portugal)
Send document to the AT in realtime via web service.
Register AT Issuer (Portugal)
Register a GOBL party to report taxes to the AT in their name.
Cancel SAF-T record (Portugal)
Cancel a previously recorded GOBL document for SAF-T PT reporting.
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:
Supplier workflows:
Cancelling document workflows:
New to workflows? Read more in our workflows guide.
AT Portugal issue invoice
AT Portugal issue invoice
Example AT issue invoice workflow with states
Copy
Ask AI
{
"name": "Issue AT invoice",
"description": "Issue an invoice in Portugal 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 for SAF-T reporting (Portugal)",
"provider": "at-pt.record"
},
{
"id": "59174840-c09a-11f0-b8a2-b531dbe0da3c",
"name": "Send to the AT (Portugal)",
"provider": "at-pt.send"
},
{
"id": "93795a50-f2b9-11ef-acb2-cd64e858247e",
"name": "Generate PDF (Original)",
"provider": "pdf",
"summary": "Portuguese - A4",
"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 (Duplicate)",
"provider": "pdf",
"summary": "Portuguese - A4",
"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"
}
}
]
}
AT Portugal issue delivery note
AT Portugal issue delivery note
Example AT issue delivery workflow with states
Copy
Ask AI
{
"name": "Issue AT delivery",
"description": "Issue a delivery document in Portugal 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 for SAF-T reporting (Portugal)",
"provider": "at-pt.record"
},
{
"id": "59174840-c09a-11f0-b8a2-b531dbe0da3c",
"name": "Send to the AT (Portugal)",
"provider": "at-pt.send"
},
{
"id": "93795a50-f2b9-11ef-acb2-cd64e858247e",
"name": "Generate PDF (Original)",
"provider": "pdf",
"summary": "Portuguese - A4",
"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 (Duplicate)",
"provider": "pdf",
"summary": "Portuguese - A4",
"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"
}
}
]
}
AT Portugal issue payment
AT Portugal issue payment
Example AT issue payment workflow with states
Copy
Ask AI
{
"name": "Issue AT payment",
"description": "Issue a payment in Portugal 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 for SAF-T reporting (Portugal)",
"provider": "at-pt.record"
},
{
"id": "93795a50-f2b9-11ef-acb2-cd64e858247e",
"name": "Generate PDF (Original)",
"provider": "pdf",
"summary": "Portuguese - A4",
"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 (Duplicate)",
"provider": "pdf",
"summary": "Portuguese - A4",
"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"
}
}
]
}
AT Portugal register supplier
AT Portugal register supplier
Example AT register supplier workflow
Copy
Ask AI
{
"name": "AT register supplier",
"description": "Register a supplier in Portugal",
"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 AT issuer (Portugal)",
"provider": "at-pt.register"
}
],
"rescue": []
}
AT Portugal post-registration workflow
AT Portugal post-registration workflow
Example AT supplier post-registration workflow
Copy
Ask AI
{
"name": "AT supplier post-registration",
"description": "Workflow to set suppliers 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": []
}
AT Portugal cancel invoice
AT Portugal cancel invoice
Example AT cancel invoice workflow with states
Copy
Ask AI
{
"name": "Cancel AT invoice",
"description": "Cancel an invoice in Portugal 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 (Portugal)",
"provider": "at-pt.cancel"
},
{
"id": "59174840-c09a-11f0-b8a2-b531dbe0da3c",
"name": "Send to the AT (Portugal)",
"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 (Original)",
"provider": "pdf",
"summary": "Portuguese - A4",
"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 (Duplicate)",
"provider": "pdf",
"summary": "Portuguese - A4",
"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"
}
}
]
}
AT Portugal cancel delivery note
AT Portugal cancel delivery note
Example AT cancel delivery workflow with states
Copy
Ask AI
{
"name": "Cancel AT delivery",
"description": "Cancel a delivery document in Portugal 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 (Portugal)",
"provider": "at-pt.cancel"
},
{
"id": "59174840-c09a-11f0-b8a2-b531dbe0da3c",
"name": "Send to the AT (Portugal)",
"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 (Original)",
"provider": "pdf",
"summary": "Portuguese - A4",
"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 (Duplicate)",
"provider": "pdf",
"summary": "Portuguese - A4",
"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"
}
}
]
}
AT Portugal cancel payment
AT Portugal cancel payment
Example AT cancel payment workflow with states
Copy
Ask AI
{
"name": "Cancel AT payment",
"description": "Cancel a payment in Portugal 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 (Portugal)",
"provider": "at-pt.cancel"
},
{
"id": "59174840-c09a-11f0-b8a2-b531dbe0da3c",
"name": "Send to the AT (Portugal)",
"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 (Original)",
"provider": "pdf",
"summary": "Portuguese - A4",
"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 (Duplicate)",
"provider": "pdf",
"summary": "Portuguese - A4",
"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"
}
}
]
}
AT B2B invoice
AT B2B invoice
In this example, we’re issuing a simple invoice from a Portuguese supplier to another Portuguese business.Notice:
- the minimal version (
at-b2b.min.mdx) contains only the essential fields required to create the invoice, - the
pt-saft-v1addon ensures the document will be validated and normalized using the SAF-T PT v1 rules built into the GOBL library, - the
supplierandseriesfields 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 for details), - when running
gobl build, the system automatically calculates totals, assigns thept-saft-invoice-typeextension toFT(Fatura), sets thept-saft-payment-meansextension toCCfor card payment, and applies thept-saft-tax-rateextension toNORfor standard VAT, - the built version (
at-b2b.mdx) shows the normalized document with calculated totals, line item sums (including advance payment deductions), tax breakdowns, and automatically generated fields, - the
hitem unit causes thept-saft-product-typeextension to be set toS(Serviço), and thept-regionextension is automatically set toPT, and, - there are no totals or calculations in the minimal version; all these will be made automatically when uploading.
Copy
Ask AI
{
"$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"
}
]
}
}
AT delivery note
AT delivery note
In this example, we’re issuing a delivery note from a Portuguese supplier to another Portuguese receiver.Notice:
- the minimal version (
delivery.min.mdx) contains only the essential fields required to create the delivery document, - the
pt-saft-v1addon ensures the document will be validated and normalized using the SAF-T PT v1 rules built into the GOBL library, - the
supplierandseriesfields 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 for details), - this is an
advicedocument type with thept-saft-movement-typeextension set toGR(Guia de Remessa), - when running
gobl build, the system automatically calculates totals, applies the standard VAT rate with thept-saft-tax-rateextension set toNOR, and normalizes all fields, - the built version (
delivery.mdx) shows the normalized document with calculated totals, line item sums, tax breakdowns, and automatically generated fields, - the
pt-regionextension is automatically set toPT, and, - there are no totals or calculations in the minimal version; all these will be made automatically when uploading.
Copy
Ask AI
{
"$schema": "https://gobl.org/draft-0/bill/delivery",
"$regime": "PT",
"$addons": [
"pt-saft-v1"
],
"type": "advice",
"series": "GR SERIES-A",
"issue_date": "2024-12-23",
"currency": "EUR",
"despatch_date": "2024-12-23",
"receive_date": "2024-12-24",
"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"
}
},
"receiver": {
"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": [
{
"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"
}
]
}
AT payment receipt
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-v1addon ensures the document will be validated and normalized using the SAF-T PT v1 rules built into the GOBL library, - the
supplierandseriesfields 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 for details), - this is a
receiptpayment with the method set tocash, which causes GOBL to automatically assign thept-saft-payment-meansextension toNU(Numerário), - when running
gobl build, the system automatically assigns thept-saft-payment-typeextension toRGand thept-saft-sourceextension toP, - 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 document being paid, and,
- there are no calculations in the minimal version; all normalizations will be made automatically when uploading.
Copy
Ask AI
{
"$schema": "https://gobl.org/draft-0/bill/payment",
"$regime": "PT",
"$addons": [
"pt-saft-v1"
],
"type": "receipt",
"method": {
"key": "cash",
"detail": "Full settlement made in cash"
},
"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"
}
}
]
}
AT Portugal invoice
AT Portugal invoice
AT Invoice
Copy
Ask AI
{
"$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"
}
]
}
}
AT Portugal credit note
AT Portugal credit note
AT Credit Note
Copy
Ask AI
{
"$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"
}
}
}
AT Portugal order
AT Portugal order
AT Order
Copy
Ask AI
{
"$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"
}
}
AT Portugal supplier
AT Portugal supplier
Portugal AT supplier example
Copy
Ask AI
{
"$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"
}
}
🇵🇹 Invopop resources for Portugal
🇵🇹 Invopop resources for Portugal
| Compliance | Compliance timeline |
| Apps | |
| Guides | AT Portugal Guide |
| FAQ | Portugal FAQ |
| GOBL |
Portugal FAQ
Frequently asked questions about invoicing compliance in Portugal →
Participate in our community
Ask and answer questions about AT Portugal App →