2 май 20265 мин четене

SAF-T грешки при подаване в НАП — какво означават и как да ги поправите

Най-честите грешки при подаване на SAF-T файл в НАП: невалидна XSD структура, липсващи полета, грешни номенклатурни кодове. Как да ги диагностицирате и отстраните.

Защо файлът ви може да бъде отхвърлен

Когато подавате SAF-T файл в портала на НАП, той преминава през автоматична валидация срещу XSD схемата (V_1.0.2). Ако файлът не отговаря на схемата — получавате грешка и НАП ви дава 7 дни за корекция. Ако не коригирате — рискувате санкция.

Проблемът е, че съобщенията за грешки от XSD валидацията са технически и трудно разбираеми за счетоводители. „cvc-complex-type.2.4.a: Invalid content was found" не казва нищо полезно, ако не сте XML разработчик.

В тази статия разглеждаме най-честите грешки — какво означават на прост език и как да ги поправите.

Грешка 1: Невалиден DefaultCurrencyCode

Какво виждате: Грешка, свързана с полето DefaultCurrencyCode в Header елемента.

Какво означава: Стойността на DefaultCurrencyCode е зададена като „BGN" или друга валута.

Как да поправите: Задайте стойността на EUR. Да, звучи странно — работите с лева, но българската SAF-T схема изисква DefaultCurrencyCode да бъде EUR. Това е специфика на националната имплементация на стандарта.

💡

Това е една от най-честите грешки, защото е контраинтуитивна. SAF-T Bridge автоматично задава DefaultCurrencyCode = EUR, така че тази грешка е невъзможна при нас.

Грешка 2: Неправилен ред на елементите (xs:sequence)

Какво виждате: „cvc-complex-type.2.4.a: Invalid content was found starting with element..." или подобно съобщение за нарушен ред.

Какво означава: XML елементите в определена секция не са подредени в реда, който схемата изисква. XSD схемата на НАП използва xs:sequence, което означава, че редът на елементите е задължителен — не можете да размените местата на Customers и Suppliers в MasterFiles, например.

Как да поправите: Проверете реда на елементите в засегнатата секция и ги подредете според XSD схемата. Типичният ред в MasterFilesMonthly е: GeneralLedgerAccounts, Customers, Suppliers, Products, Owners.

Грешка 3: Липсващ задължителен елемент

Какво виждате: „cvc-complex-type.2.4.b: The content of element '...' is not complete."

Какво означава: Даден задължителен елемент липсва в XML файла. Например: секцията MasterFilesMonthly съществува, но в нея липсва подсекция GeneralLedgerAccounts.

Как да поправите: Добавете липсващия елемент. Дори ако нямате данни за него — някои елементи трябва да присъстват като празни обвивки. Проверете XSD схемата за minOccurs стойностите.

Грешка 4: Невалиден номенклатурен код

Какво виждате: Грешка, свързана с конкретно поле — StandardAccountID, TaxCode, PaymentMechanism или друг код.

Какво означава: Стойността не съответства на валидните кодове от Приложение 2 на НАП. Може би сте използвали остарял код, код с грешна дължина или код, който не съществува в номенклатурата.

Как да поправите: Сверете кода с пълния списък на номенклатурните кодове. Уверете се, че използвате 5-цифрения формат за StandardAccountID (напр. 60101, а не 601).

Грешка 5: Несъответствие в суми

Какво виждате: Грешка при бизнес валидацията (не XSD) — сумите не съвпадат.

Какво означава: Общите суми в обобщителните елементи не съответстват на детайлните записи. Например: сумата на всички дебитни обороти в GeneralLedgerEntries не съвпада с NumberOfEntries.

Как да поправите: Преизчислете обобщителните полета. Това обикновено е проблем с закръгляване или пропуснат запис. Проверете TotalDebit и TotalCredit полетата.

Грешка 6: Невалиден формат на дата

Какво виждате: Грешка, свързана с дата поле — „is not a valid value of type dateTime".

Какво означава: Дата в XML файла не е в правилния формат. SAF-T изисква ISO 8601 формат: YYYY-MM-DD за дати и YYYY-MM-DDThh:mm:ss за дата и час.

Как да поправите: Конвертирайте всички дати в ISO формат. Обърнете внимание на „DD/MM/YYYY" — типичният български формат — той е невалиден за XML.

Грешка 7: Невалиден ЕИК или данъчен номер

Какво виждате: Грешка при TaxRegistrationNumber или CompanyRegistrationNumber.

Какво означава: ЕИК-ът или данъчният номер са в грешен формат, съдържат невалидни символи или са с грешна дължина.

Как да поправите: ЕИК трябва да бъде 9 или 13 цифри. Данъчният номер (ДДС номер) трябва да е във формат „BG" + ЕИК (напр. BG123456789). Премахнете интервали, тирета или други символи.

Грешка 8: Празен файл или невалиден XML

Какво виждате: „Файлът не може да бъде обработен" или „не е валиден XML документ".

Какво означава: Файлът не е валиден XML — може да е повреден, с грешна кодировка, с незатворени тагове или изобщо да не е XML.

Как да поправите: Отворете файла в текстов редактор и проверете дали е валиден XML (правилен <?xml version="1.0"?> декларация, затворени тагове, правилна кодировка UTF-8).

Как да предотвратите грешките

Най-лесният начин: валидирайте файла преди да го подадете. SAF-T Bridge предлага безплатен SAF-T валидатор, който проверява XML файла срещу същата XSD схема, която НАП използва. Грешките се показват с:

  • Точен ред от XML файла, където е проблемът
  • Описание на грешката на разбираем език
  • Препоръка за корекция

Вместо да подадете файла, да чакате НАП да го отхвърли, да получите 7-дневен срок и да изпадате в паника — проверете го преди подаване. Отнема секунди.

А ако генерирате файла директно чрез SAF-T Bridge — всички горни грешки са невъзможни. Системата автоматично: задава правилния DefaultCurrencyCode, подрежда елементите в правилния xs:sequence ред, включва всички задължителни полета, валидира номенклатурните кодове и форматира датите правилно.

Пробвайте SAF-T Bridge безплатно

Качете данните от програмата — получете валиден SAF-T XML за НАП за минути. 1 безплатен клиент, без карта.

Свързани статии

SAF-T грешкаSAF-T грешка НАПSAF-T валидация грешкиSAF-T невалиден файлSAF-T XSD грешкаSAF-T DefaultCurrencyCode

Свързани статии

Готови ли сте за SAF-T?

Качете данните от програмата, получете валиден XML за НАП. Пробвайте безплатно с 1 клиент.