errorPRTubl-2.1

PT-R-002:AT document codes required

Portuguese invoices need AT (Autoridade Tributaria) document codes.

Severity
Fatal
Rule set
ubl-2.1
Country
PRT
Fix type
INPUT REQUIRED

Engine Classification

Business data required · Explicit input workflow · No assumptions made

Required input: AT Document Type Code

What is PT-R-002?

PT-R-002 is a fatal validation rule defined in the ubl-2.1 specification (PRT national rules). It validates the InvoiceTypeCode and extensions element in the UBL invoice XML.

When this rule fires, the invoice is non-compliant and will be rejected by Peppol access points and national validation services. The sending system receives a rejection response and the invoice does not reach the buyer.

Target path: XPath: //cbc:InvoiceTypeCode and extensions

Why This Error Matters

AT requires specific document classification codes.

PT-R-002 is a hard failure. Invoices that trigger this rule are rejected at the access point and never reach the recipient. In Peppol networks, this means your sending system receives an MLR (Message Level Response) with a rejection status. The invoice must be corrected and re-sent, adding delay to your payment cycle.

Validator Behavior

  • ·Causes invoice rejection
  • ·Fails UBL schema validation
  • ·Error returned: PT-R-002
  • ·Specification: ubl-2.1

How to Fix It

1.

Map document type

FT=Fatura, NC=Nota de Credito, etc.

2.

Add AT code

In DocumentTypeCode or extension

XML Example

Generic example based on the rule's target XPath. Your actual XML structure may differ.

Before
<!-- Missing or empty element triggers cbc:InvoiceTypeCode and extensions error -->
<cbc:InvoiceTypeCode and extensions></cbc:InvoiceTypeCode and extensions>
After
<!-- Provide the required value -->
<cbc:InvoiceTypeCode and extensions>VALID_VALUE</cbc:InvoiceTypeCode and extensions>

Technical Reference

XPathXPath: //cbc:InvoiceTypeCode and extensions
Specubl-2.1

Common Causes

  • ·Using international codes only
  • ·Missing AT code

Seeing this in production? The API handles PT-R-002 automatically. See the fix response →

Frequently Asked Questions

Portuguese invoices need AT (Autoridade Tributaria) document codes.

Use AT-specific document type codes. You can also use Invoice Navigator's automatic Fixer tool to correct this instantly.

Yes, PT-R-002 is a critical error that will cause invoice rejection. It must be fixed before submission.

Related Errors

Last updated: 27 February 2026

Share this guide:

Handle PT-R-002 Automatically in Your Pipeline

The compliance engine auto-remediates this error with controlled safety policies and evidence pack generation.