При работе в связке программ «1С:Управление торговлей 11» и «1С:Бухгалтерия предприятия 3.0» пользователи часто сталкиваются с неприятной ситуацией: после синхронизации данных документ Отчет о розничных продажах в бухгалтерии отказывается проводиться — для решения этой задачи есть устранение расхождений и ошибок синхронизации. Проблема возникает именно тогда, когда в течение одной кассовой смены произошла и продажа товара по банковской карте, и его возврат (так называемый возврат «день в день»).
Программа выдает критические ошибки: «Некорректно заполнен список "Безналичные оплаты". Сумма безналичных оплат превышает сумму выручки от реализации!» или «Некорректно заполнен список "Возврат безналичных оплат". Сумма возврата безналичных оплат превышает сумму возвращенной выручки от реализации!». В этой статье мы подробно разберем, почему это происходит и как привести данные в порядок, чтобы документ успешно провелся.
Давайте проанализируем ситуацию с точки зрения логики двух программ. В Управлении торговлей (УТ) учет ориентирован на оперативное отражение фактов. Если покупатель купил товар и вернул его в ту же смену, программа часто «схлопывает» эту операцию: товар просто исчезает из списка реализованных, так как по факту на конец смены продажи этого товара не было. Однако записи о движении денежных средств по эквайрингу (банковскому терминалу) остаются, так как банку нужно отчитаться и за приход, и за возврат денег.
Когда этот документ попадает в Бухгалтерию предприятия (БП), срабатывает жесткий алгоритм проверки целостности данных:
Ситуация осложняется требованиями ФЗ-54. В современных реалиях чек возврата «день в день» фактически аннулирует продажу в фискальном накопителе, но транзакции по эквайрингу должны быть отражены корректно для сверки с банком по счету 57.03 (Продажи по платежным картам).
Рассмотрим самый простой случай: покупатель приобрел товар по карте и в эту же смену вернул его полностью. В документе Отчет о розничных продажах в БП мы видим, что на закладке «Товары» этого товара нет, но в оплатах и возвратах суммы присутствуют.
Для решения проблемы выполним следующие шаги:
Отчет о розничных продажах, который не проводится.Важный нюанс: При таком подходе у вас может возникнуть расхождение в отчете со сверкой итогов от банка. В этом случае взаиморасчеты с банком-эквайером придется корректировать вручную или через документ Операция по платежной карте с видом операции «Возврат покупателю», чтобы закрыть сальдо на счете 57.03.
Если покупатель приобрел несколько товаров, а вернул только один, ситуация выглядит иначе. На закладке «Товары» осталась часть позиций, но суммы оплат в табличных частях все равно мешают проведению.
Проанализируем алгоритм действий:
Отчет о розничных продажах будет проведен.Иногда документ не проводится даже при правильных суммах из-за ошибок партионного учета. В БП 3.0 при проведении отчета с возвратом система пытается сделать сторно по счету 90.02.1 (Себестоимость продаж). Если на момент проведения документа товар еще не «вернулся» на склад в учетной системе, возникнет ошибка «Остатка товара недостаточно».
Выполним проверку:
Отчет о розничных продажах установлено корректно (обычно это конец дня, 23:59:59).Если возвраты «день в день» происходят часто, ручная корректировка станет трудозатратной. В этом случае стоит рассмотреть изменение логики синхронизации — для этого подойдёт гибкий обмен данными УТ 11 и БП 3.0. Проанализируем возможности доработки:
В правилах конвертации данных (или через расширение конфигурации) можно настроить игнорирование сумм возвратов по эквайрингу, если они происходят внутри одного документа — для этого есть готовый инструмент переноса данных на правилах конвертации. Рассмотрим пример логики, которую можно внедрить в код обработчика:
// Пример логики для корректировки табличных частей перед записью в БП
СуммаВозврата = ДокументОбъект.ВозвратБезналичныхДенежныхСредств.Итог("Сумма");
Если СуммаВозврата > 0 Тогда
// Уменьшаем основную оплату на сумму возврата
Для Каждого СтрокаОплаты Из ДокументОбъект.ОплатаБезналичными Цикл
Если СтрокаОплаты.Сумма >= СуммаВозврата Тогда
СтрокаОплаты.Сумма = СтрокаОплаты.Сумма - СуммаВозврата;
СуммаВозврата = 0;
Прервать;
КонецЕсли;
КонецЦикла;
// Очищаем таблицу возвратов, чтобы не провоцировать ошибку БП
ДокументОбъект.ВозвратБезналичныхДенежныхСредств.Очистить();
КонецЕсли;
Такая доработка позволит системе автоматически «схлопывать» встречные потоки денег, что соответствует методологии бухгалтерского учета в рознице, где итоговый Отчет о розничных продажах должен показывать чистую выручку за смену.
Подводя итог, отметим, что проблема является следствием конфликта методологий управленческого учета (УТ) и регламентированного учета (БП). Пока фирма 1С не выпустила универсальное обновление, исправляющее этот момент в типовых правилах, основным решением остается ручная корректировка: уменьшение суммы безналичной оплаты на сумму возврата и полная очистка закладки «Возврат безналичных денежных средств» в Бухгалтерии.
Помните, что после таких правок крайне важно сверять конечное сальдо по счету 57.03 с банковской выпиской, так как реальное движение денег по расчетному счету будет включать в себя все транзакции, включая возвраты — процесс ускоряет автоматизация сверки данных УТ 11.5 и БП 3.0.