Грешки „на входа“ — файлът изобщо не влиза
Грешно име на файла
Името се проверява преди съдържанието. Форматите по Приложение 3 са строги: ЕИК_ММ_ГГГГ.xml за месечен файл, ЕИК_ГГГГ.xml за годишен, ЕИК_ДД_ММ_ГГГГ_ДД_ММ_ГГГГ.xml за файл при поискване. Файл на име saft_export_final(2).xml няма как да бъде приет. Решение: преименувайте файла — съдържанието не се променя. ЕИК-то в името трябва да съвпада с това в Header секцията.
Грешно кодиране (не е UTF-8)
SAF-T файлът трябва да е в UTF-8. Стар счетоводен софтуер често експортира в Windows-1251 — кирилицата изглежда нормално на екрана ви, но системата отказва файла. Решение: изберете UTF-8 в настройките за експорт, или конвертирайте (Notepad++ → Encoding → Convert to UTF-8). Проверете и първия ред на файла — декларацията трябва да е encoding="utf-8".
Грешки по схемата (XSD)
„This element is not expected“ / cvc-complex-type.2.4
Най-честата схемна грешка. Значи едно от две: липсва задължителен елемент (и валидаторът се „спъва“ в следващия) или елементите са в грешен ред — SAF-T изисква строга последователност. Решение: вижте кой елемент се очаква според съобщението и проверете защо софтуерът ви го пропуска или размества. Обикновено една системна причина генерира десетки еднакви грешки — поправя се на едно място.
„Missing child element(s)“
Елемент е останал празен, а схемата изисква съдържание — например Invoice без InvoiceLine или Transaction без TransactionLine. Решение: проверете дали експортът включва всички секции, включително празни стойности там, където схемата ги изисква изрично.
„Is not a valid value“ — формати на дати и числа
Класика: дата във формат 31.01.2026 вместо изисквания 2026-01-31, или сума с десетична запетая (1234,56) вместо точка (1234.56). Решение: настройте локализацията на експорта — форматите са международни (ISO), не български.
„Not an element of the set“ — код извън номенклатурата
Стойността не е от утвърдените номенклатури на НАП (Приложение 2): кодове на данъци, типове документи, мерни единици, сметки от националния сметкоплан за целите на SAF-T. Решение: проверете мапинга на вашите кодове към номенклатурите — това е най-трудоемката част от настройката и типичното място, където складовият и счетоводният софтуер се разминават.
Логически грешки — схемата мълчи, НАП отказва
Салдата не излизат (балансово равенство)
За всяка сметка: начално салдо + обороти от записите = крайно салдо. Ако не излиза, файлът е вътрешно противоречив — една от най-честите реални причини за отхвърляне, която XSD проверката изобщо не хваща. Типична причина: оборотната ведомост и хронологията са експортирани в различни моменти (междувременно е осчетоводено нещо). Решение: генерирайте всичко в един момент, след приключване на периода.
TotalDebit / TotalCredit не съвпадат
Декларираните общи суми и брой записи в GeneralLedgerEntries трябва да са равни на действителния сбор от редовете. Разминаване значи, че част от записите са отпаднали при експорта. Решение: регенерирайте файла; ако проблемът остане — проверете филтрите на експорта.
Контрагент, който „не съществува“
Записите реферират клиент или доставчик по идентификатор, който липсва в секцията MasterFiles. Класическата причина: складовата програма и счетоводството поддържат различни номенклатури на контрагентите. Решение: синхронизирайте номенклатурите или направете мапинг таблица преди експорта.
BGN вместо EUR след 2026
От 01.01.2026 г. основната валута на отчитане е евро. Файл за период след тази дата с DefaultCurrencyCode = BGN ще бъде отхвърлен. Решение: проверете настройката за валута в софтуера — особено ако ползвате по-стара версия отпреди превалутирането.
Пуснете файла през безплатната проверка — всяка грешка идва с ред, обяснение и съвет. Файлът не напуска компютъра ви.