SchemaGuard by Ironbark Digital · EN 16931 / Peppol / XRechnung Reference
← All 294 EN 16931 / Peppol Rules & Live Validator
FATAL Official EN 16931 / Peppol / CIUS Rule BT/BG Fields: BT-2

PEPPOL-EN16931-F001 — E-Invoice Validation Rule & Fix

Fixture ID: impossibleDatePeppol · XPath: /ubl:Invoice/cbc:IssueDate

1. Why This Rule Triggers (Diagnostic Message)

The invoice issue date (BT-2) is "2026-02-30", which is not a calendar date. UBL types this element as xs:date, so the only accepted form is a zero-padded YYYY-MM-DD naming a day that actually exists: "31.07.2026" and "07/31/2026" fail on syntax, and "2026-02-30", "2026-13-01" and "2025-02-29" fail because no such day is on the calendar. Peppol states this as PEPPOL-EN16931-F001 ("A date MUST be formatted YYYY-MM-DD"), which tests both the ten-character length and that the value is castable as xs:date.

2. How to Fix PEPPOL-EN16931-F001

Set issueDate to an ISO 8601 calendar date — four-digit year, two-digit month, two-digit day, separated by hyphens, with no time part and no timezone. If you are formatting a JavaScript Date, note that toISOString() appends a time part that must be trimmed, and that it converts to UTC first, which can move the date by a day.

3. Valid Code / Payload Example

"issueDate": "2026-07-31"
Test & Validate XML / JSON in Live SchemaGuard Validator →