100% в браузъра · файлът никога не напуска компютъра ви · безплатно, без регистрация

Речник на грешките · пълно ръководство

„…is not a valid value“ — формати на дати и числа

Стойността е вярна по същество, но е записана „по български“ — а схемата изисква международните ISO формати. Дата с точки и сума със запетая са двете класики.

КатегорияСхемна грешка (XSD) — тип на данните

Кога се хващаПри XSD валидация, на всяка стойност с грешен формат

Типичен сигналcvc-datatype-valid.1.2.1: '…' is not a valid value for 'date'/'decimal'

Какво значи

Всеки елемент в схемата има тип: дата (xs:date), число (xs:decimal), текст с ограничения. Типът диктува формата на записа, и той е международен, не български:

ТипИзискван форматВярноГрешно
ДатаISO 8601: ГГГГ-ММ-ДД2026-01-3131.01.2026, 31/01/2026, 31.1.26
Числодесетична точка, без разделители на хилядите1234.561234,56, 1 234.56, 1,234.56
Примерно съобщение от валидатор (Xerces)cvc-datatype-valid.1.2.1: '31.01.2026' is not a valid value for 'date'.

Валидаторът дори ви казва коя точно стойност не харесва — това прави тази грешка една от най-лесните за диагностика. Но понеже форматът обикновено е сбъркан системно, съобщенията са стотици: по едно за всяка дата или сума във файла.

Защо се случва

  • Експортът взима локалните настройки на Windows. Български регионален формат значи дата с точки и десетична запетая. Софтуер, който форматира стойностите „както ги вижда потребителят“, произвежда невалиден SAF-T.
  • Данните са минали през Excel. Excel „услужливо“ преформатира дати и числа по локалата при отваряне на CSV/XML. Един междинен Excel в процеса е достатъчен да развали всички дати.
  • Разделител на хилядите. 1 234 567.89 изглежда четимо, но интервалът (а често това е непечатимият знак NBSP) прави стойността невалидна за xs:decimal.
  • Знаци около числото. Валутен символ, интервал в началото/края или знак минус в края (123.45-, както някои стари системи печатат кредитни суми) — всичко това чупи формата. Минусът е допустим само отпред: -123.45.

Как се поправя

  1. Намерете настройката за формати в експорта — търсете „ISO формат“, „XML формат“ или възможност експортът да не зависи от регионалните настройки.
  2. Уверете се, че между източника и файла няма междинно отваряне в Excel или друг инструмент, който преформатира стойности.
  3. Ако поправяте еднократно: замяна на запетая с точка в суми не може да стане с „замести всички“ по целия файл — ще засегне и текстовете. Правете я само в съответните елементи или поправете източника.
  4. Регенерирайте и валидирайте: стотиците съобщения трябва да изчезнат наведнъж, защото причината е една.

Пример

Грешно (локални формати)
<TransactionDate>31.01.2026</TransactionDate>
<Amount>1 234,56</Amount>
<!-- две грешки: дата с точки и
     сума с интервал + запетая -->
Вярно (ISO формати)
<TransactionDate>2026-01-31</TransactionDate>
<Amount>1234.56</Amount>
Съседен случай: стойността е форматирана правилно, но не е от допустимия списък (например код на данък, който не съществува в номенклатурата). Тогава съобщението е друго — вижте „Not an element of the set“.
Не гадайте — проверете

Пуснете файла през безплатната проверка: всяка грешка идва с ред, обяснение и съвет. Проверете файла — безплатно, в браузъра.

Провери файла