Рассмотрим весьма распространенную ситуацию, с которой сталкиваются пользователи программы 1С:Управление нашей фирмой (УНФ). При пробитии фискального чека из документа Расходная накладная касса печатает корректный перечень товаров, их количество и цену. Однако, если мы попытаемся пробить чек ККМ из документа Поступление в кассу (Приходного кассового ордера), чек печатается свернутым: в нем всего одна строка, а количество товара всегда равно 1 (единице). Давайте разберем по шагам, почему так происходит, является ли это ошибкой и как правильно выстроить работу.
На первый взгляд может показаться, что программа работает некорректно и «теряет» товары при оплате. Многие пользователи сразу пытаются найти способ исправить этот алгоритм. Однако проанализируем ситуацию с точки зрения законодательства.
Поведение 1С:УНФ, при котором в чеке на оплату ставится количество «1», не является ошибкой разработчиков. Данный алгоритм реализован в строгом соответствии с федеральным законом 54-ФЗ и разъяснениями ФНС. Выясним причину такого жесткого поведения системы:
В итоговом чеке из документа Поступление в кассу признак способа расчета автоматически устанавливается как Оплата кредита (или Предоплата), что и вызывает описанное выше поведение. Для массового пробития таких чеков можно использовать обработку для пакетной печати чеков ККМ по поступлениям в кассу.
На форумах часто можно встретить советы от разработчиков, которые предлагают решить проблему радикально — просто изменить код через расширение. Разберем подробнее, где находится этот код. За формирование чека отвечает общий модуль РозничныеПродажиСервер и процедура ДополнитьТоварамиПараметрыПриПробитииЧека. Внутри можно увидеть жестко заданные параметры:
СтрокаПозицииЧека.Количество = 1;
СтрокаПозицииЧека.Цена = ТекСтрока.СуммаПлатежа;
СтрокаПозицииЧека.ЦенаСоСкидками = ТекСтрока.СуммаПлатежа;
СтрокаПозицииЧека.Сумма = ТекСтрока.СуммаПлатежа;
СтрокаПозицииЧека.СтавкаНДС = СтавкаНДС;
СтрокаПозицииЧека.НомерСекции = 1;
Критически важно понимать: менять этот код категорически запрещено! Жесткая привязка количества к единице сделана специально для защиты пользователей от грубых ошибок фискализации. Если вы принудительно заставите программу выводить полный товарный состав в чеке с признаком «Оплата кредита», это приведет к задвоению выручки по товарам в базе ОФД и налоговой инспекции. За такие нарушения кассовой дисциплины предусмотрены серьезные штрафы.
Проанализируем, как правильно оформлять продажи в 1С:УНФ, чтобы не нарушать закон и видеть корректные чеки. Если отгрузка и оплата происходят в разное время, ФНС требует пробивать два фискальных чека:
Если в вашем бизнес-процессе клиент забирает товар и оплачивает его одновременно (в ту же секунду), вам не нужна схема с кредитными чеками. Посмотрим, как оформить такую операцию правильно:
ЧекККМ.Подводя итог, можно уверенно сказать: если чек из приходного ордера выводится одной строкой с количеством 1 — ваша система 1С работает абсолютно правильно. Вместо того чтобы пытаться перепрограммировать алгоритмы и рисковать штрафами, достаточно просто использовать корректные признаки способа расчета и следовать методологии 54-ФЗ.