Portuguese e-invoice validator: CIUS-PT

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, 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, BR-CIUS-PT-03), full addresses (BR-CIUS-PT-05), an order reference (BR-CIUS-PT-24), the invoice a credit note corrects (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).

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

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: An Invoice shall contain the Seller VAT identifier (BT-31).
  • BR-CIUS-PT-03: An Invoice shall contain the Buyer VAT identifier (BT-48).
  • BR-CIUS-PT-05: The Seller postal address (BG-5) shall contain a Seller address line 1 (BT-35).
  • 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: A Credit Note shall contain the Preceding Invoice Reference (BG-3).
  • 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

Other countries