При работе с автономными кассовыми терминалами (эквайринг, Frontol и др.) в типовой конфигурации «1С:Комплексная 4.5» (7.70) часто возникает необходимость разграничения наличной и безналичной выручки. По умолчанию документ Отчет ККМ формирует бухгалтерские проводки с отношением к кассе компании (счет 50.1). Однако эквайринговые операции должны отражаться на счете 57 «Переводы в пути».
Проанализируем причины такого поведения системы и разберем варианты решения данной проблемы — от бухгалтерских способов без изменения кода до программной доработки модуля проведения и обработки загрузки данных.
В платформе 1С 7.7 бухгалтерский учет в комплексной конфигурации тесно связан с оперативными регистрами. Документ Отчет ККМ генерирует проводки не напрямую по табличной части, а на основе сформированных движений по регистру Касса. Так как документ штатно рассчитывался только на прием наличных денежных средств, он делает приходные движения по кассовому регистру с соответствующим кодом операции, что на уровне хозяйственных операций дает проводку Дт 50.1 — Кт 90.1 (или Кт 62.1).
Без разделения видов оплаты внутри документа стандартный механизм проводку по счету 57 сформировать не сможет.
Рассмотрим вариант, когда при загрузке данных из фронт-офисной системы (Frontol) в табличную часть документа попадает признак безналичной оплаты — например, в реквизит НомерСекции или текстовый комментарий строки.
В этом случае в модуле документа Отчет ККМ при проведении мы можем отделить безналичную сумму и направить ее вместо регистра Касса в регистр Банк с соответствующим кодом операции.
Посмотрим на пример доработки процедуры проведения документа:
// Оприходуем деньги в кассу
Регистр.Касса.Фирма = Фирма;
Регистр.Касса.Касса = Касса;
Регистр.Касса.Валюта = Валюта;
ТЗдок = "";
ВыгрузитьТабличнуюЧасть(ТЗдок);
// Отбираем строки с безналичной оплатой (например, секция №3)
ТЗдок = глОтобратьПоКолонке(ТЗдок, "НомерСекции", 3);
// Вычисляем общую сумму и безналичную часть
СуммаВсего = Итог("Сумма") + ?(СуммаВклНП = 1, 0, Итог("СуммаНП")) + ?(СуммаВклНДС = 1, 0, Итог("СуммаНДС"));
СуммаБанк = ТЗдок.Итог("Сумма") + ?(СуммаВклНП = 1, 0, ТЗдок.Итог("СуммаНП")) + ?(СуммаВклНДС = 1, 0, ТЗдок.Итог("СуммаНДС"));
Если СуммаБанк <> 0 Тогда
// Записываем безналичную часть выручки в регистр "Банк"
Регистр.Банк.Фирма = Фирма;
Регистр.Банк.БанковскийСчет = Фирма.ОсновнойСчет;
СуммаВал = глПересчет(СуммаБанк, Валюта, Курс, Фирма.ОсновнойСчет.ВалютаСчета, ДатаДок);
СуммаУпр = глПересчет(СуммаБанк, Валюта, Курс, глДоллары, ДатаДок);
Регистр.Банк.СуммаВал = СуммаВал;
Регистр.Банк.СуммаУпр = СуммаУпр;
Регистр.Банк.СуммаРуб = глПересчет(СуммаБанк, Валюта, Курс, глРубли, 1);
Регистр.Банк.КодОперации = глКО.РозничнаяВыручка;
Регистр.Банк.ДвижениеДенежныхСредств = "";
Регистр.Банк.ДвижениеПриходВыполнить();
КонецЕсли;
// Уменьшаем кассовую сумму на величину безналичных продаж
СуммаВсего = СуммаВсего - СуммаБанк;
Регистр.Касса.СуммаВал = СуммаВсего;
Регистр.Касса.СуммаУпр = глПересчет(СуммаВсего, Валюта, Курс, глДоллары, ДатаДок);
Регистр.Касса.СуммаРуб = глПересчет(СуммаВсего, Валюта, Курс, глРубли, 1);
Регистр.Касса.КодОперации = КодОперации;
Регистр.Касса.ДвижениеДенежныхСредств = ДвижениеДенежныхСредств;
Регистр.Касса.ДвижениеПриходВыполнить();
После внесения этого кода в механизм формирования проводок (через настройку хозяйственных операций) для кодов операций банка настраивается схема счета 57 вместо 50.1.
Если изменять сам документ и его проведение нежелательно, разберем альтернативный вариант через доработку внешней обработки загрузки Z-отчетов из Frontol:
Отчет ККМ.50.1.Операция на безналичную сумму с проводкой Дт 57.1 — Кт 50.1 (или настраивается специальный код операции для безналичного отчета).Если бюджет на доработку отсутствует и конфигурация должна оставаться типовой, проанализируем порядок действий бухгалтера:
Отчет ККМ заводится на полную сумму дневной выручки (включая нал и эквайринг). В результате вся сумма приходуется в кассу: Дт 50.1 — Кт 90.1.Операция на сумму оплат по банковским картам:
Строка выписки банка (приход):
Следование предложенным рекомендациям позволит корректно вести учет эквайринговых операций и избежать расхождений по счету 50.1 в 1С 7.7 Комплексная.