При оформлении оптовых отгрузок и печати фискальных чеков из 1С часто возникает ситуация, когда итоговая сумма документа расходится с суммой, которую рассчитывает фискальный регистратор. В результате аппарат либо выдает ошибку несоответствия сумм оплаты и чека, либо регистрирует возникшую разницу как сдачу покупателю. Разберем природу этой проблемы и рассмотрим способы ее устранения на примере фискального регистратора Datecs FP-3530T.
Проанализируем типовую ситуацию. В учетной системе базовой является цена без НДС. Расчет сумм в табличной части накладной выполняется по стандартной формуле: сначала вычисляется общая стоимость партии товара без налога, а затем на всю эту сумму начисляется НДС. Посмотрим на числовой пример:
Если из этой строки получить расчетную цену за единицу с НДС, то получится 7,42 × 1,2 = 8,904. При округлении до двух знаков для передачи в кассовое ПО цена становится равной 8,90. Когда эти данные отправляются в фискальный регистратор, аппарат выполняет жесткое умножение переданной розничной цены на количество: 120 × 8,90 = 1068,00. При этом из учетной системы на оплату чека передается полная сумма документа — 1068,48. Фискальный регистратор фиксирует переплату и печатает в чеке 48 копеек сдачи. Выясним причину такого поведения и способы его исправления.
Фискальный регистратор жестко контролирует математический баланс чека. Он не может зарегистрировать сумму строки произвольно, если она не равна произведению переданных цены и количества. Кроме того, по умолчанию большинство аппаратов настроено на работу с так называемым вложенным (внутренним) НДС, когда налог вычленяется из переданной цены, включающей НДС. В оптовой торговле и налоговом учете базой выступает цена без НДС, а налог является наложенным (внешним).
В фискальном регистраторе Datecs FP-3530T заложена возможность работы с обоими типами налоговых ставок:
Наиболее надежный способ исключить копеечные расхождения на FP-3530T — перевести фискальный регистратор в режим работы с наложенным НДС. Однако при попытке сделать это через штатные утилиты специалисты часто сталкиваются с ошибками, так как аппарат работает под протоколом «Криптон» (Krypton), который блокирует прямую модификацию параметров налоговых таблиц.
Разберем пошаговый алгоритм настройки устройства:
Криптон на заводской протокол Native Datecs. В «родном» протоколе доступны все сервисные команды конфигурирования налоговых параметров.Вложенного на Наложенный.Криптон.FR_*.ert). Теперь в команду регистрации продажи необходимо передавать базовую цену товара без НДС (в нашем примере — 7,42), чтобы регистратор сам корректно начислил налог сверху и получил точные 1068,48.Если изменить настройки аппарата невозможно (например, на кассе пробиваются как розничные, так и оптовые чеки, либо действуют ограничения фискализации), проблему решают алгоритмически внутри учетной системы перед отправкой чека на печать.
Рассмотрим два распространенных подхода:
Драйвер фискального регистратора поддерживает применение скидок и надбавок к конкретной строке. В коде обработки обслуживания вычисляется дельта между суммой строки документа и произведением округленной цены на количество. Полученная разница передается в драйвер в качестве суммовой наценки на позицию чека, что приводит чек к правильному итогу без искажения цены за единицу.
Посмотрим на пример, когда требуется компенсировать погрешность округления без использования блока надбавок. Строку с количеством $N$ разбивают на две части: $N - 1$ единиц продаются по стандартной цене с НДС, а последняя 1 единица передается по цене, скорректированной на величину накопившейся разницы в копейках. Это гарантирует совпадение итоговой суммы строк чека с суммой закрытия оплаты.
Посмотрим, как выглядит типовой расчет дельты в коде модуля печати чека в 1С 7.7:
// Расчет корректировки копеек для строки накладной
ЦенаСНДС = Окр(ТаблЧасть.ЦенаБезНДС * (1 + СтавкаНДС / 100), 2);
СуммаПоРегистратору = ЦенаСНДС * ТаблЧасть.Количество;
СуммаДокумента = ТаблЧасть.СуммаСНДС;
ДельтаКопеек = СуммаДокумента - СуммаПоРегистратору;
Если ДельтаКопеек <> 0 Тогда
// Передаем команду строчной надбавки/скидки в драйвер регистратора
// либо корректируем цену последней единицы товара
КонецЕсли;
Таким образом, для полного избавления от паразитной сдачи и копеечных нестыковок на FP-3530T оптимальным является перевод регистратора в режим наложенного НДС после снятия Z-отчета, либо внедрение строчной коррекции сумм в модуле фискальной печати 1С.