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

НачалоБлог

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

Няма движение през периода: какво се подава

Месец без плащания, без счетоводни записвания или без фактури не значи месец без SAF-T. Схемата очаква секциите да присъстват — и НАП е публикувала точния образец как се попълват с нули.

Защо не може просто да пропуснете секцията

Месечният SAF-T файл има фиксирано съдържание. В XSD схемата на НАП месечната последователност е зададена изрично:

<!-- Monthly sequence -->
<xs:sequence>
  <xs:element ref="MasterFilesMonthly"/>
  <xs:element ref="CorrespondingAccountsReport" minOccurs="0"/>
  <xs:element ref="GeneralLedgerEntries"/>
  <xs:element ref="SourceDocumentsMonthly"/>
</xs:sequence>

Само CorrespondingAccountsReport е незадължителен (minOccurs="0"). Останалите секции трябва да ги има във всеки месечен файл — включително за месец, в който във вашата главна книга не се е случило нищо. Ако секция липсва, порталът връща това съобщение:

„Видът на файла (месечен, годишен, при поискване), избран при подаването му в е-услугата, не отговаря на изискуемото съдържание за съответния вид файл.“

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

А месечният файл се подава всеки месец — до края на месеца, следващ отчетния (пълният график е в SAF-T сроковете). Въпросът „нямаме движение, какво подаваме?“ е зададен директно на НАП и има официален отговор.

Официалното решение: една нулева структура

Отговорът на НАП (FAQ, въпрос IV.2.6) е кратък: за секция без движение

„…в елементи Number of entries, Total Debit и Total Credit се посочва стойност „0“ и се подава една структура, в която се посочват нулеви стойности.“

„Въпроси и отговори за SAF-T“, ЦУ на НАП, версия 2 · IV.2.6

Тоест секцията не се маха и не се оставя празна — подава се с NumberOfEntries = 0, TotalDebit и TotalCredit = 0.00 и една структура-запис с нулеви стойности. В примерите на НАП се виждат и конвенциите за „нулевия“ запис:

  • дати (TransactionDate, SystemEntryDate, GLPostingDate, InvoiceDate, TaxPointDate) — 1900-01-01;
  • AccountID — сметка 998;
  • CustomerID и SupplierID0;
  • суми — 0.00; в примерите на НАП валутата е BGN;
  • данъчна информация — TaxType 000 и TaxCode 000000, кодовете за неприложимост (подробно в TaxType 000: транзакции без данък).

По-долу са трите пълни примера от документа на НАП, дословно.

Пример 1: период без плащания

<nsSAFT:Payments>
  <nsSAFT:NumberOfEntries>0</nsSAFT:NumberOfEntries>
  <nsSAFT:TotalDebit>0.00</nsSAFT:TotalDebit>
  <nsSAFT:TotalCredit>0.00</nsSAFT:TotalCredit>
  <nsSAFT:Payment>
    <nsSAFT:PaymentRefNo>0</nsSAFT:PaymentRefNo>
    <nsSAFT:Period>0</nsSAFT:Period>
    <nsSAFT:PeriodYear>0</nsSAFT:PeriodYear>
    <nsSAFT:TransactionID>0</nsSAFT:TransactionID>
    <nsSAFT:TransactionDate>1900-01-01</nsSAFT:TransactionDate>
    <nsSAFT:PaymentMethod>0</nsSAFT:PaymentMethod>
    <nsSAFT:Description>0</nsSAFT:Description>
    <nsSAFT:PaymentLine>
      <nsSAFT:LineNumber>1</nsSAFT:LineNumber>
      <nsSAFT:AccountID>998</nsSAFT:AccountID>
      <nsSAFT:CustomerID>0</nsSAFT:CustomerID>
      <nsSAFT:SupplierID>0</nsSAFT:SupplierID>
      <nsSAFT:DebitCreditIndicator>D</nsSAFT:DebitCreditIndicator>
      <nsSAFT:PaymentLineAmount>
        <nsSAFT:Amount>0.00</nsSAFT:Amount>
        <nsSAFT:CurrencyCode>BGN</nsSAFT:CurrencyCode>
        <nsSAFT:CurrencyAmount>0.00</nsSAFT:CurrencyAmount>
      </nsSAFT:PaymentLineAmount>
    </nsSAFT:PaymentLine>
  </nsSAFT:Payment>
</nsSAFT:Payments>

Пример 2: период без счетоводни записвания

Обърнете внимание: тук Period и PeriodYear са реалните (9 и 2025 в примера на НАП), а не 0 — нулеви са датите, сумите и референциите.

<nsSAFT:GeneralLedgerEntries>
  <nsSAFT:NumberOfEntries>0</nsSAFT:NumberOfEntries>
  <nsSAFT:TotalDebit>0.00</nsSAFT:TotalDebit>
  <nsSAFT:TotalCredit>0.00</nsSAFT:TotalCredit>
  <nsSAFT:Journal>
    <nsSAFT:Transaction>
      <nsSAFT:TransactionID>1</nsSAFT:TransactionID>
      <nsSAFT:Period>9</nsSAFT:Period>
      <nsSAFT:PeriodYear>2025</nsSAFT:PeriodYear>
      <nsSAFT:TransactionDate>1900-01-01</nsSAFT:TransactionDate>
      <nsSAFT:Description> </nsSAFT:Description>
      <nsSAFT:SystemEntryDate>1900-01-01</nsSAFT:SystemEntryDate>
      <nsSAFT:GLPostingDate>1900-01-01</nsSAFT:GLPostingDate>
      <nsSAFT:CustomerID>0</nsSAFT:CustomerID>
      <nsSAFT:SupplierID>0</nsSAFT:SupplierID>
      <nsSAFT:TransactionLine>
        <nsSAFT:RecordID>1</nsSAFT:RecordID>
        <nsSAFT:AccountID>998</nsSAFT:AccountID>
        <nsSAFT:TaxpayerAccountID>0</nsSAFT:TaxpayerAccountID>
        <nsSAFT:CustomerID>0</nsSAFT:CustomerID>
        <nsSAFT:SupplierID>0</nsSAFT:SupplierID>
        <nsSAFT:Description> </nsSAFT:Description>
        <nsSAFT:DebitAmount>
          <nsSAFT:Amount>0.00</nsSAFT:Amount>
          <nsSAFT:CurrencyCode>BGN</nsSAFT:CurrencyCode>
          <nsSAFT:CurrencyAmount>0.00</nsSAFT:CurrencyAmount>
          <nsSAFT:ExchangeRate>1.0000</nsSAFT:ExchangeRate>
        </nsSAFT:DebitAmount>
        <nsSAFT:TaxInformation>
          <nsSAFT:TaxType>000</nsSAFT:TaxType>
          <nsSAFT:TaxCode>000000</nsSAFT:TaxCode>
          <nsSAFT:TaxAmount>
            <nsSAFT:Amount>0</nsSAFT:Amount>
            <nsSAFT:CurrencyCode>BGN</nsSAFT:CurrencyCode>
            <nsSAFT:CurrencyAmount>0</nsSAFT:CurrencyAmount>
            <nsSAFT:ExchangeRate>0</nsSAFT:ExchangeRate>
          </nsSAFT:TaxAmount>
        </nsSAFT:TaxInformation>
      </nsSAFT:TransactionLine>
    </nsSAFT:Transaction>
  </nsSAFT:Journal>
</nsSAFT:GeneralLedgerEntries>

Пример 3: период без продажби или покупки

Същият образец важи и за SalesInvoices, и за PurchaseInvoices:

<nsSAFT:SalesInvoices>  <!-- или <nsSAFT:PurchaseInvoices> -->
  <nsSAFT:NumberOfEntries>0</nsSAFT:NumberOfEntries>
  <nsSAFT:TotalDebit>0.00</nsSAFT:TotalDebit>
  <nsSAFT:TotalCredit>0.00</nsSAFT:TotalCredit>
  <nsSAFT:Invoice>
    <nsSAFT:InvoiceNo>1</nsSAFT:InvoiceNo>
    <nsSAFT:CustomerInfo>
      <nsSAFT:CustomerID>0</nsSAFT:CustomerID>
      <nsSAFT:Name> </nsSAFT:Name>
      <nsSAFT:BillingAddress>
        <nsSAFT:City></nsSAFT:City>
        <nsSAFT:Country>BG</nsSAFT:Country>
      </nsSAFT:BillingAddress>
    </nsSAFT:CustomerInfo>
    <nsSAFT:AccountID>998</nsSAFT:AccountID>
    <nsSAFT:InvoiceDate>1900-01-01</nsSAFT:InvoiceDate>
    <nsSAFT:InvoiceType>01</nsSAFT:InvoiceType>
    <nsSAFT:SelfBillingIndicator>N</nsSAFT:SelfBillingIndicator>
    <nsSAFT:TransactionID>1</nsSAFT:TransactionID>
    <nsSAFT:InvoiceLine>
      <nsSAFT:LineNumber>1</nsSAFT:LineNumber>
      <nsSAFT:AccountID>998</nsSAFT:AccountID>
      <nsSAFT:ProductCode>0</nsSAFT:ProductCode>
      <nsSAFT:ProductDescription>0</nsSAFT:ProductDescription>
      <nsSAFT:Quantity>0</nsSAFT:Quantity>
      <nsSAFT:InvoiceUOM>0</nsSAFT:InvoiceUOM>
      <nsSAFT:UOMToUOMBaseConversionFactor>1</nsSAFT:UOMToUOMBaseConversionFactor>
      <nsSAFT:UnitPrice>0.00</nsSAFT:UnitPrice>
      <nsSAFT:TaxPointDate>1900-01-01</nsSAFT:TaxPointDate>
      <nsSAFT:Description>Продажба</nsSAFT:Description>
      <nsSAFT:InvoiceLineAmount>
        <nsSAFT:Amount>0.00</nsSAFT:Amount>
        <nsSAFT:CurrencyCode>BGN</nsSAFT:CurrencyCode>
        <nsSAFT:CurrencyAmount>0.00</nsSAFT:CurrencyAmount>
      </nsSAFT:InvoiceLineAmount>
      <nsSAFT:DebitCreditIndicator>D</nsSAFT:DebitCreditIndicator>
      <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>
    </nsSAFT:InvoiceLine>
  </nsSAFT:Invoice>
</nsSAFT:SalesInvoices>  <!-- или </nsSAFT:PurchaseInvoices> -->
Забележка: примерите са дословно от документа на НАП — в тях валутата е BGN, а отчетният период е 2025 г. За валутата на отчитане във вашия период вижте речника на грешките.

Какво хваща валидаторът, преди порталът да откаже

SAFTCheck проверява файла локално, в браузъра, преди подаване:

  • Структурата по XSD схемата. Пропусната задължителна секция (например изтрит Payments вместо нулева структура) се хваща веднага — не чакате отговора на портала.
  • Декларираните суми. NumberOfEntries, TotalDebit и TotalCredit се сверяват с действителния сбор от редовете (вижте несъответствие в тоталите). Имайте предвид: нулевата структура декларира 0 записа, но физически съдържа един ред-образец — ако при нулев файл проверката отчете разминаване тук, сверете записа с примерите на НАП по-горе, преди да променяте стойностите.
  • Референциите. Всеки CustomerID/SupplierID в записите се търси в MasterFiles — още една проверка, която порталът иначе прави чак след подаване.
Нулев период? Проверете файла за 10 секунди

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

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

Източник: „Въпроси и отговори за SAF-T“, ЦУ на НАП, версия 2 — въпроси IV.2.2 и IV.2.6 (страница на обявата в nra.bg). XML примерите са възпроизведени дословно от документа.