Онлайн-кассы

Форматно-логический контроль фискальных данных в Библиотеке подключаемого оборудования

Дата публикации 29.12.2018

В конфигурациях 1С поддерживается новый формат фискальных документов в соответствии с требованиями 54-ФЗ и Приказом ФНС России от 21.03.2017 № ММВ-7-20/229.

Обязательные к использованию форматы фискальных документов описаны в Приложение № 2 к приказу ФНС России от 21 марта 2017 г. № ММВ-7-20/229@. Данным нормативно-правовым актом оговаривается, что отклонение между стоимостью предмета расчета (товара) с учетом скидок и наценок, полученной с использованием внешнего калькулирующего устройства и включаемой в состав кассового чека (БСО), и стоимостью, вычисленной путем умножения цены за единицу товара с учетом скидок и наценок на количество товара, не должно превышать более чем на 1 копейку (Примечание к п. 25 Приложения № 2).

Производители различных кассовых аппаратов реализуют в кассовом ПО различные алгоритмы ФЛК, поэтому один и тот же чек может выглядеть на разных аппаратах по-разному.

Именно по этой причине пользователь при оформлении в документе 1С одной товарной позиции (рис. 1) может увидеть на бумажном кассовом чеке две позиции (рис. 2).

Рис. 1

Рис. 2

Чтобы избежать такой ситуации в Библиотеке подключаемого оборудования реализована функция подготовки таблицы товаров  к печати, при которой соблюдаются требования  форматно-логического контроля. Это позволяет получать единообразные чеки на моделях ККТ разных производителей.

При подключении и настройке ККТ с передачей данных в ОФД на карточке настраиваемого оборудования способ форматно-логического контроля настраивается в группе Параметры ККТ (рис. 3).

Рис. 3

Там же настраивается допустимое расхождение форматно-логического контроля в соответствии с требованиями ФНС (рис. 4).

Рис. 4

По умолчанию для нового настраиваемого оборудования форматно-логический контроль отключен (реквизит имеет значение Не контролировать). В этом случае при формировании и печати кассового чека срабатывают те алгоритмы, которые заложены в кассовое оборудование его производителем.

В программе также реализованы два алгоритма форматно-логического контроля данных фискальных документов. Каждому алгоритму соответствует своя стратегия построчного контроля при расчете цены со скидкой в чеке.

Рассмотрим первый алгоритм, который выполняется при выборе в параметрах ККТ способа форматно-логического контроля Разделять строки.

Суть этого алгоритма заключается в следующем: каждая строка документа 1С делится на две строки с ценами, отличающимися на копейку. Количество с расчетной ценой и количество с переоцененной ценой рассчитывается с учетом  соблюдения требования ФНС. В итоге сумма стоимостей двух строк чека совпадает с первоначальной суммой.

Для примера оформим розничную продажу питьевой воды Агуша в бутылках 0,33л. в количестве 7 штук (рис. 5).

Рис. 5

Поскольку при продаже была применена ручная скидка, визуальное сравнение показывает, что перемножение количества и цены, указанных в документе, даст результат отличный от величины в колонке Сумма с НДС. Соответственно при печати кассового чека строка документа делится на две строки с ценами, которые отличаются друг от друга на 1 копейку (рис. 6).Итоговая цена в кассовом чеке и в документе 1С совпадают.

Рис. 6

Такая стратегия более всего подходит для тех случаев, когда покупателю важно, чтобы  сумма по каждой товарной строке документа 1С совпадала с суммой по строке (или двум строкам в случае разбиения) в распечатанном чеке. При этом  итоговая сумма по документу и итоговая сумма в чеке также совпадают.

Второй алгоритм выполняется при выборе в параметрах ККТ способа форматно-логического контроля Зачитывать суммы.

Суть этого алгоритма заключается в том, что расхождения по разным строкам могут взаимно аннулироваться. При этом суммы по каждой товарной строке могут незначительно измениться, но в целом сумма по чеку сохраняется.

Алгоритм этого способа таков:

  1. Из строк документа 1С формируется два массива с положительными и отрицательными расхождениями между вычисленной стоимостью и стоимостью документа.
  2. Если найдены строки массивов с совпадающими по модулю значениями, то эти строки подвергаются корректировке: уменьшается сумма в отрицательной строке на величину расхождения и увеличивается в положительной строке на величину расхождения. Скорректированные строки выводятся в таблицу для печати чека.
  3. Оставшиеся строки сортируются по возрастанию модуля расхождения.
  4. Далее происходит поиск и корректировка сумм «положительного» массива за счет расхождений в «отрицательном» массиве с соответствующей корректировкой суммы «отрицательной» строки на сумму расхождения. Скорректированные строки также выводятся в таблицу для печати чека.
  5. Оставшиеся строки обоих массивов разделяются каждая на две по первому алгоритму и добавляются в таблицу для печати.
  6. Сформированная таблица сортируется по первоначальному номеру строки и выводится на печать.

Для примера оформим розничную продажу трех товаров: помидоров, кефира и курток (рис. 7).

Рис. 7

При изучении кассового чека сразу бросается в глаза то, что и цена и скидка у помидоров и у кефира отличаются от тех значений, которые указаны в документе 1С (рис. 8).

Чтобы убедиться, что алгоритм отработал верно, приведем некоторые расчеты.

В документе продажа 13,314 кг. помидоров оформлена по цене 7 руб. При этом была применена скидка в размере 5 руб. 22 коп.

Рассчитаем стоимость товара с учетом скидки:13,314 * 7 – 5,22 = 87,978. Округляем до двух знаков после запятой и получаем 87,98 руб. Именно эта стоимость указана в документе 1С в колонке Сумма с НДС.

Делим эту сумму на 13,314 и получаем с округлением до копеек 6,61 руб. Это цена с учетом скидки. Она и выведена на кассовый чек.

Произведение 13.314 * 6,61 даст сумму 88,01, которая указана в чеке.

Рис. 8

Поскольку и у помидоров и у кефира разность между стоимостью с учетом скидки и без учета скидки составляет 3 копейки, но с разным знаком, то две соответствующие строчки выводятся на чек с соответствующей корректировкой.

В документе 1С осталась одна строчка с курткой, для которой «не нашлось пары». Для этой строки начинает работать первый алгоритм с разделением строк на две.

В результате мы получаем чек, у которого итоговая сумма совпадает с суммой документа 1С, а строки с товаром имеют небольшое расхождение. Такой подход приемлем в тех случаях, когда покупателю важно знать, сколько денег необходимо платить в итоге, но допускается расхождение в несколько копеек по отдельным товарным позициям.

Обратим внимание еще на один момент. Если бы мы формировали кассовый чек по первому алгоритму, то получили бы 6 строк с товаром. В данном случае строк 4. При небольшом количестве реализуемого товара эта разница не очень заметна, если рассматривать количество ленты, которая уйдет на печать чека. При продаже большого количества ассортиментных позиций эта разница станет довольно ощутимой.

Это дополнительное преимущество форматно-логического контроля по варианту Зачитывать суммы.

Расширение форматно-логического контроля при использовании версии 1.0 и 1.05 форматов фискальных документов (версия ФФД ККТ) при частичных оплатах

Начиная с версии 2.0.5  Библиотеки подключаемого оборудования введены дополнительные проверки заполнения таблицы товаров, передаваемой конфигурацией.

Для кассовых аппаратов, поддерживающих версию ФФД ККТ (тег 1189) 1.0 проверяется заполнение обязательные полей.

Реквизиты «шапки» чека:

Реквизиты товарных строк (тег 1059)

Таблица оплат

Для кассовых аппаратов, поддерживающих версию ФФД ККТ (тег 1189) 1.05 дополнительно проверяется заполнение следующих полей.

Реквизиты «шапки» чека:

Для кассовых аппаратов, поддерживающих версию ФФД ККТ (тег 1189) 1.1 дополнительно проверяется заполнение следующих полей.

Реквизиты товарных строк (тег 1059)

Контроль заполнения полей чека при частичных оплатах.

При пробитии чеков предоплаты (значение тега 1214= 1 - полная предоплата, 2 - частичная предоплата, 3 - аванс) и оплаты кредита (тег 1214 =7) производится контроль стоимости предмета расчета с учетом скидок и наценок (тег 1043), ставки НДС (тег 1199) и суммы НДС (тег 1200), а также заполнения полей количество (тег 1023), единица измерения (тег 1197), цена (тег 1079).

Для всех таких чеков в товарных строках производится контроль значений вышеперечисленных тегов и при необходимости производится замена:

Сумма стоимостей предметов расчета с учетом скидок и наценок = сумме внесенного платежа.

Если сумма по строкам меньше внесенного платежа, рассчитывается сдача, если больше(частичный платеж), то алгоритм форматно-логического контроля (ФЛК) стоимость товаров в строках перерассчитываются от суммы платежа пропорционально первоначальным стоимостям товара, указанным в чеке. Расхождение между суммой по товарным строкам и суммой платежа, вызванные округлением рассчитанных стоимостей, корректирует наибольшее рассчитанное значение стоимости.

Значение ставки НДС для чеков предоплаты должны принимать значения 10/110, 18/118 или "Без НДС". Если для товарных позиций указаны ставки 10% или 18%, то алгоритм ФЛК производит замену ставок на 10/110 и 18/118 соответственно. Ставка НДС для чеков погашения кредитов всегда принимает значение "Без НДС". Суммы НДС по товарным строкам рассчитываются от рассчитанной стоимости по строке в соответствии с указанными ставками. Расхождение между рассчитанными суммами НДС по товарным строкам и суммой НДС в целом по чеку, вызванные округлением,  корректирует наибольшее рассчитанное значение суммы НДС.