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

НачалоБлог

Блог · 19 август 2026 · 4 мин четене

TaxType 000: транзакции без данък

Не всяка счетоводна операция носи данък — но SAF-T пак иска данъчна информация за реда. Празният таг обаче отхвърля файла. Правилото на НАП: код 000 за вид и 000000 за код на данъка.

Съобщението от портала

„В елемент TaxType, подсекция TaxInformationStructure, секция Structures, е подадена некоректна стойност за вид на данък - несъответстващ на утвърдената номенклатура TAX-IMP“

Портал за е-услуги на НАП · „Въпроси и отговори за SAF-T“, IV.2.3

По FAQ-а на НАП това съобщение има две лица. При подаване на грешен вид или код на данъка порталът визуализира грешната стойност в самото съобщение — виждате какво е сбъркано. Но същата грешка се получава и когато стойността просто липсва: „когато се подаде празен таг TaxType и TaxCode, когато няма стойност в елемента“.

Причината: празните тагове

Ето как изглежда проблемният фрагмент — точно както е показан в документа на НАП:

<nsSAFT:TaxInformation>
  <nsSAFT:TaxType/>
  <nsSAFT:TaxCode/>

Типичният сценарий: софтуерът генерира TaxInformation за всеки ред, но за операции без данък (вътрешни записвания, преоценки, операции извън обхвата на ДДС и т.н.) няма какво да попълни — и оставя таговете празни. XML-ът е синтактично коректен, но порталът го отказва.

Решението: кодовете за неприложимост

Официалното правило (FAQ, IV.2.3): „При подаване на информация за транзакции, които не са свързани с начисляването на данък се посочат кодове за неприложимост „000“ за вид на данъка и „000000“ за код на данъка.“ Коригираният фрагмент:

<nsSAFT:TaxInformation>
  <nsSAFT:TaxType>000</nsSAFT:TaxType>
  <nsSAFT:TaxCode>000000</nsSAFT:TaxCode>
  <nsSAFT:TaxAmount>
    <nsSAFT:Amount>0.00</nsSAFT:Amount>
    <nsSAFT:CurrencyCode>BGN</nsSAFT:CurrencyCode>
    <nsSAFT:CurrencyAmount>0.00</nsSAFT:CurrencyAmount>
  </nsSAFT:TaxAmount>
</nsSAFT:TaxInformation>

Същата конструкция НАП използва и в собствените си образци за периоди без движение — нулевите структури също носят TaxType 000 и TaxCode 000000.

За редовете с данък стойността на TaxType трябва да е от утвърдената номенклатура TAX-IMP (видовете данъци), а TaxCode — съответният код на данъка. Ако получавате съобщението с визуализирана ненулева стойност, проблемът не е празен таг, а грешен мапинг на вашите кодове към номенклатурата.

Къде да търсите тага

TaxType се среща на 18 места в схемата — но не всички са равни. Едното семейство е регистрационно: TaxRegistration/TaxType в Header и в MasterFiles описва данъчната регистрация на фирмата и контрагентите. Съобщението от IV.2.3 обаче сочи другото семейство — данъчната информация към ред (структурата TaxInformationStructure): например

/AuditFile/GeneralLedgerEntries/Journal/Transaction/TransactionLine/TaxInformation/TaxType

и съответните TaxInformation блокове в редовете на фактурите в SourceDocuments. Именно там всяко записване и всеки фактурен ред носи по един TaxType/TaxCode — и там правилото „000 при неприложимост“ трябва да важи за всеки ред без данък. Всички 18 пътя са изброени в справочника на елементите.

Защо XSD валидацията мълчи

Изненадващото тук: файл с празен <nsSAFT:TaxType/> минава проверката по схемата. В XSD и TaxType, и TaxCode са от тип SAFcodeType — текст до 9 знака, без минимална дължина и без изброени допустими стойности:

<xs:simpleType name="SAFcodeType">
  <xs:restriction base="xs:string">
    <xs:maxLength value="9"/>
  </xs:restriction>
</xs:simpleType>

Празният низ е валиден низ. Затова тази грешка не се появява в никой XSD валидатор — нито в Notepad++, нито в нашата схемна проверка — а чак на портала, който сверява стойностите срещу номенклатурата TAX-IMP. Това я прави от коварните: „валидният“ файл се връща след подаване.

Как да я избегнете предварително

  • Правило в софтуера-източник: всяка операция без данък да излиза с 000/000000, никога с празни тагове. Поправя се на едно място — в експорта.
  • Бърз тест: потърсете във файла <nsSAFT:TaxType/> или <nsSAFT:TaxType></nsSAFT:TaxType>. Едно намерено съвпадение значи, че порталът ще откаже файла.
  • Проверете останалото със SAFTCheck: схемата, балансовите равенства, декларираните суми и кръстосаните референции се проверяват в браузъра, преди подаване. Успешната проверка не е гаранция за приемане — правила като TAX-IMP порталът прилага на своя страна — но хваща голямата част от проблемите, докато файлът е още при вас.

Пълния списък на схемните съобщения и какво значат сме събрали в речника на грешките.

Проверете файла преди портала

Схема, суми, референции — за секунди, в браузъра. Файлът не напуска компютъра ви.

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

Източник: „Въпроси и отговори за SAF-T“, ЦУ на НАП, версия 2 — въпрос IV.2.3 (страница на обявата в nra.bg). Дефиницията на SAFcodeType — по XSD схемата BG_SAFT_Schema v1.0.2 (Приложение №1).