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

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

TotalDebit / TotalCredit не съвпадат със сбора от редовете

Файлът сам декларира колко записа съдържа и на каква обща стойност. Ако декларацията и действителното съдържание се разминават — част от записите са се изгубили по пътя.

КатегорияЛогическа грешка — контролни суми

Кога се хващаПри логическите проверки; XSD проверява формата на числата, не сбора

Типичен сигналДекларирани totals ≠ действителен сбор от редовете

Какво значи

Секцията GeneralLedgerEntries започва с декларация: брой записи (NumberOfEntries), общ дебит (TotalDebit) и общ кредит (TotalCredit). Това са контролни суми — приемащата страна ги сверява с действителния сбор от всички редове в секцията. Съвпадат ли, съдържанието е пристигнало цяло; не съвпадат ли — част от записите са отпаднали при експорта (или обратно, totals са сметнати върху друго множество записи).

Схемата и тук мълчи: тя проверява, че TotalDebit е валидно десетично число, но не смята сборове. Затова грешката излиза едва при логическите проверки — след като файлът е минал цялата XSD валидация.

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

  • Филтри на експорта. Totals се смятат от системата върху всички записи за периода, а после филтър (по тип документ, папка, потребител) отрязва част от редовете при записа във файла. Декларацията и съдържанието вече не говорят за едно и също.
  • Прекъснат експорт. Генерирането е спряло преди края — файлът завършва коректно структурно, но последните записи липсват. Броят на записите е първият издайник: NumberOfEntries е по-голям от реално наличните.
  • Ръчна редакция след генериране. Изтрили сте „проблемен“ запис направо в XML-а, за да мине друга проверка — а totals са останали старите.
  • Totals от друг момент. Както при салдата: ако заглавната част и редовете са извадени в различно време, междувременно осчетоводеното създава разлика.

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

  1. Сравнете декларираното с действителното: брой записи, сбор дебит, сбор кредит. Посоката на разликата подсказва причината — липсващи редове (действителното е по-малко) или излишни totals.
  2. Регенерирайте файла в един момент, след приключване на периода. Това оправя случаите „различен момент“ и „прекъснат експорт“.
  3. Ако разликата остане — проверете филтрите на експорта: има ли тип записи, който влиза в totals, но не и във файла.
  4. Никога не „закърпвайте“ totals на ръка, за да съвпаднат — разликата е симптом, че съдържанието е непълно, а не че декларацията е сбъркана.

Пример

Грешно (записи са отпаднали)
<NumberOfEntries>3</NumberOfEntries>
<TotalDebit>4500.00</TotalDebit>
<TotalCredit>4500.00</TotalCredit>
<!-- ...а във файла има само 2 записа
     с общ дебит 3000.00: третият е
     отрязан от филтър на експорта -->
Вярно (декларация = съдържание)
<NumberOfEntries>3</NumberOfEntries>
<TotalDebit>4500.00</TotalDebit>
<TotalCredit>4500.00</TotalCredit>
<!-- и 3 записа, чиито редове дават
     точно 4500.00 / 4500.00 -->
Двойното счетоводство има и втора последица: общият дебит и общият кредит на секцията трябва да са равни помежду си. Ако вашите totals дебит ≠ кредит, проблемът е още в записите — вижте и балансовото равенство.
Не гадайте — проверете

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

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