# Portuguese e-invoice validator: CIUS-PT

Source: https://xmlvalid.com/e-invoicing/portugal

> Check an invoice or credit note for the Portuguese public administration against the rules eSPap publishes: the UBL 2.1 schema, EN 16931 and the CIUS-PT rules, with every finding on its line. Nothing is uploaded.

## E-invoicing in Portugal in short

Public bodies in Portugal receive electronic invoices: the State since 18 April 2019 and the others since 18 April 2020. Their suppliers must send them, under Decreto-Lei 111-B/2017: large companies since 1 January 2021, small, medium and micro companies, and public bodies acting as suppliers, from 1 January 2027. Until 31 December 2026 a PDF still counts as an electronic invoice (State Budget for 2026, Lei 73-A/2025, art. 95).

eSPap, the public administration's shared services agency, sets the technical requirements and validates invoices against CIUS-PT, the Portuguese core invoice usage specification of EN 16931, in UBL 2.1. Suppliers reach the public bodies through e-invoicing service providers or eSPap's portal for suppliers.

Between businesses, invoices are not required to be structured e-invoices: they come from certified invoicing software and carry a unique document code (ATCUD, Decreto-Lei 28/2019).

## How to check a CIUS-PT invoice

1. Open the [validator with the CIUS-PT invoice profile](https://xmlvalid.com/validate?schema=pt-cius-invoice), or the credit note one. A file with the CIUS-PT identifier picks the right one by itself.
2. Paste the UBL or drop the file, then press **Validate**.
3. Click a rule id for what it checks.

## What is checked

The UBL 2.1 schema, then eSPap's Schematron for CIUS-PT 2.1.1, with the EN 16931 rules as CIUS-PT adapts them, in one set. The Portuguese rules ask for the VAT numbers of seller and buyer ([BR-CIUS-PT-01](https://xmlvalid.com/rules/BR-CIUS-PT-01), [BR-CIUS-PT-03](https://xmlvalid.com/rules/BR-CIUS-PT-03)), full addresses ([BR-CIUS-PT-05](https://xmlvalid.com/rules/BR-CIUS-PT-05)), an order reference ([BR-CIUS-PT-24](https://xmlvalid.com/rules/BR-CIUS-PT-24)), the invoice a credit note corrects ([BR-CIUS-PT-25](https://xmlvalid.com/rules/BR-CIUS-PT-25)), and check the format of each field and the document type codes Portugal adds, such as FT, FS and NC ([DT-CIUS-PT-003\_i](https://xmlvalid.com/rules/DT-CIUS-PT-003_i)).

eSPap has not published CIUS-PT for CII yet, so there is no CII profile. eSPap's examples name CIUS-PT 1.0.0; ours have the identifier of the current release.

## Profiles to check with

- [Portugal CIUS-PT Invoice (UBL)](https://xmlvalid.com/schemas/pt-cius-invoice): A Portuguese e-invoice for the public administration, checked against the UBL 2.1 schema and eSPap's CIUS-PT rules (EN 16931 and BR-CIUS-PT). [Validate](https://xmlvalid.com/validate?schema=pt-cius-invoice)
- [Portugal CIUS-PT Credit Note (UBL)](https://xmlvalid.com/schemas/pt-cius-credit-note): A Portuguese credit note (nota de crédito) for the public administration, checked against the UBL 2.1 CreditNote schema and the CIUS-PT rules. [Validate](https://xmlvalid.com/validate?schema=pt-cius-credit-note)

## Rules invoices break most

Each one has a page with what it checks, its test and, for many, how to fix it.

- [`BR-CIUS-PT-01`](https://xmlvalid.com/rules/BR-CIUS-PT-01): An Invoice shall contain the Seller VAT identifier (BT-31).
- [`BR-CIUS-PT-03`](https://xmlvalid.com/rules/BR-CIUS-PT-03): An Invoice shall contain the Buyer VAT identifier (BT-48).
- [`BR-CIUS-PT-05`](https://xmlvalid.com/rules/BR-CIUS-PT-05): The Seller postal address (BG-5) shall contain a Seller address line 1 (BT-35).
- [`BR-CIUS-PT-24`](https://xmlvalid.com/rules/BR-CIUS-PT-24): The Purchase order reference (BT-13) or the Sales order reference (BT-14) shall be filled, or both.
- [`BR-CIUS-PT-25`](https://xmlvalid.com/rules/BR-CIUS-PT-25): A Credit Note shall contain the Preceding Invoice Reference (BG-3).
- [`DT-CIUS-PT-003_i`](https://xmlvalid.com/rules/DT-CIUS-PT-003_i): The BT-3 only allows the following values: 380, 383, 386, 389, FT, FS, FR, ND, RP, RE, CS, LD, RA.

## Questions

### Is the invoice uploaded?

No. The schema check and the rules both run in your browser. Only the API and URL monitors validate on our servers.

### Does a valid result mean the public body will accept the invoice?

It means the invoice passes the schema and the CIUS-PT rules eSPap validates with. The public body can still reject it for reasons outside the file, such as a commitment number it does not know.

### Which version of the rules is used?

CIUS-PT 2.1.1 (26 February 2021), the current release. A weekly check tells us when eSPap publishes a newer one.

### Can I check invoices from code?

Yes: the API and the command-line client with --schema pt-cius-invoice, or --schema auto for a folder of mixed invoices.

### Official sources

- [eSPap: e-invoicing FAQ (in Portuguese)](https://www.espap.gov.pt/spfin/FAQ/Paginas/FAQ.aspx)
- [eSPap: e-invoicing rules for public procurement (in Portuguese)](https://www.espap.gov.pt/FrontEnd/Paginas/Areas/SP_Fin/SP_Fin_NormasFEAP_tpl_1.aspx)

### Other countries

- [French e-invoice validator](https://xmlvalid.com/e-invoicing/france)
- [German e-invoice validator: XRechnung and ZUGFeRD](https://xmlvalid.com/e-invoicing/germany)
- [Belgian e-invoice validator: Peppol BIS](https://xmlvalid.com/e-invoicing/belgium)
- [KSeF invoice validator: FA(3)](https://xmlvalid.com/e-invoicing/poland)
- [Croatian eRačun validator](https://xmlvalid.com/e-invoicing/croatia)
- [RO e-Factura validator](https://xmlvalid.com/e-invoicing/romania)
- [FatturaPA validator](https://xmlvalid.com/e-invoicing/italy)
- [UAE e-invoice validator (PINT AE)](https://xmlvalid.com/e-invoicing/uae)
- [InvoiceNow validator (PINT SG)](https://xmlvalid.com/e-invoicing/singapore)
- [JP PINT validator](https://xmlvalid.com/e-invoicing/japan)
- [Australian e-invoice validator (PINT A-NZ)](https://xmlvalid.com/e-invoicing/australia)
- [Spanish e-invoice validator](https://xmlvalid.com/e-invoicing/spain)
- [Dutch e-invoice validator: SI-UBL 2.0 and NLCIUS](https://xmlvalid.com/e-invoicing/netherlands)
- [Danish e-invoice validator: OIOUBL 2.1](https://xmlvalid.com/e-invoicing/denmark)
- [Norwegian e-invoice validator: EHF](https://xmlvalid.com/e-invoicing/norway)
- [Swedish e-invoice validator: Peppol BIS](https://xmlvalid.com/e-invoicing/sweden)
- [Finnish e-invoice validator: Finvoice](https://xmlvalid.com/e-invoicing/finland)
- [Austrian e-invoice validator for e-Rechnung.gv.at](https://xmlvalid.com/e-invoicing/austria)
- [Czech e-invoice validator: ISDOC](https://xmlvalid.com/e-invoicing/czech-republic)
- [ZATCA e-invoice validator (FATOORA)](https://xmlvalid.com/e-invoicing/saudi-arabia)
