Error codes · KSeF · Poland

KSEF-007Fixable here

KSeF date format invalid — wrong date or timestamp serialisation

This is the rejection, word for word: „[KSEF-007] KSEF-007 is raised when a date or timestamp in an FA(2)/FA(3) e-invoice does not match the format the KSeF (Krajowy System e-Faktur) XSD requires. The Polish schema uses two different date types: plain calendar dates such as P_1 (data wystawienia / issue date), P_6 (sale date) and the due date must be xs:date in YYYY-MM-DD form, while DataWytworzeniaFa (the technical document creation timestamp in the header) must be a full xs:dateTime with a UTC time-zone designator. Any other shape — a localised 15.04.2026, a slash date, a two-digit year, a date-only value placed in DataWytworzeniaFa, or a timestamp missing its Z / +02:00 offset — is rejected before the business checks even run.“

The schema is strict about ISO 8601 and most failures come from the ERP serialising dates the way a Polish or German locale displays them. The four recurring shapes are: (1) localised display formats — 15.04.2026, 15-04-2026 or 04/15/2026 — written straight into a P_xx field that expects 2026-04-15. (2) DataWytworzeniaFa serialised as a date only (2026-04-15) when the element is xs:dateTime and needs a time component. (3) DataWytworzeniaFa serialised as a naive local timestamp (2026-04-15T09:30:00) with no time-zone designator — KSeF requires either Z (UTC) or an explicit offset such as +02:00. (4) Two-digit years or zero-padded-but-reordered components produced by a locale-aware date formatter. Because P_1 is xs:date and DataWytworzeniaFa is xs:dateTime, putting one in the other's element is a frequent, easy-to-miss mistake.

What to have readyThe missing value from your purchase order, contract or bookkeeping.
What we doNormalise every calendar-date field (P_1, P_6, P_6A, due dates) to YYYY-MM-DD and serialise DataWytworzeniaFa as a full timestamp with an explicit UTC designator, e.g. 2026-06-16T09:30:00Z or 2026-06-16T11:30:00+02:00. Do the formatting at serialisation time with an invariant/ISO formatter rather than the system locale. Keep the calendar value (P_1) independent of the timestamp's time zone — P_1 is evaluated by KSeF in Europe/Warsaw, so derive it from the Warsaw-local date. Invoice Navigator normalises these deterministically, which is why the fix confidence is high.
If you enter it yourself in your invoicing software
Before
<P_1>15.04.2026</P_1>
<DataWytworzeniaFa>2026-04-15</DataWytworzeniaFa>
After
<P_1>2026-04-15</P_1>
<DataWytworzeniaFa>2026-04-15T09:30:00Z</DataWytworzeniaFa>
What the finding looks likeExample
FindingValue missing · KSEF-007
From youThe missing value
ThenPassed
ProofSHA-256 and /verify link after the check
Fix KSEF-007 — KSeF Invalid Date Format (P_1 / DataWytworzeniaFa)