Как в 1С 7.7 Комплексная отразить безналичные продажи по банковским картам через счет 57 в документе Отчет ККМ?

Программист 1С v7.7 1С:Комплексная автоматизация Бухгалтерский учет Торговля и дистрибуция
← На главную

При работе с автономными кассовыми терминалами (эквайринг, Frontol и др.) в типовой конфигурации «1С:Комплексная 4.5» (7.70) часто возникает необходимость разграничения наличной и безналичной выручки. По умолчанию документ Отчет ККМ формирует бухгалтерские проводки с отношением к кассе компании (счет 50.1). Однако эквайринговые операции должны отражаться на счете 57 «Переводы в пути».

Проанализируем причины такого поведения системы и разберем варианты решения данной проблемы — от бухгалтерских способов без изменения кода до программной доработки модуля проведения и обработки загрузки данных.

Выясним причину архитектурного ограничения

В платформе 1С 7.7 бухгалтерский учет в комплексной конфигурации тесно связан с оперативными регистрами. Документ Отчет ККМ генерирует проводки не напрямую по табличной части, а на основе сформированных движений по регистру Касса. Так как документ штатно рассчитывался только на прием наличных денежных средств, он делает приходные движения по кассовому регистру с соответствующим кодом операции, что на уровне хозяйственных операций дает проводку Дт 50.1 — Кт 90.1 (или Кт 62.1).

Без разделения видов оплаты внутри документа стандартный механизм проводку по счету 57 сформировать не сможет.

Вариант 1. Программная доработка проведения документа Отчет ККМ

Рассмотрим вариант, когда при загрузке данных из фронт-офисной системы (Frontol) в табличную часть документа попадает признак безналичной оплаты — например, в реквизит НомерСекции или текстовый комментарий строки.

В этом случае в модуле документа Отчет ККМ при проведении мы можем отделить безналичную сумму и направить ее вместо регистра Касса в регистр Банк с соответствующим кодом операции.

Посмотрим на пример доработки процедуры проведения документа:


// Оприходуем деньги в кассу
Регистр.Касса.Фирма = Фирма;
Регистр.Касса.Касса = Касса;
Регистр.Касса.Валюта = Валюта;

ТЗдок = ""; 
ВыгрузитьТабличнуюЧасть(ТЗдок);

// Отбираем строки с безналичной оплатой (например, секция №3)
ТЗдок = глОтобратьПоКолонке(ТЗдок, "НомерСекции", 3); 

// Вычисляем общую сумму и безналичную часть
СуммаВсего = Итог("Сумма") + ?(СуммаВклНП = 1, 0, Итог("СуммаНП")) + ?(СуммаВклНДС = 1, 0, Итог("СуммаНДС"));
СуммаБанк  = ТЗдок.Итог("Сумма") + ?(СуммаВклНП = 1, 0, ТЗдок.Итог("СуммаНП")) + ?(СуммаВклНДС = 1, 0, ТЗдок.Итог("СуммаНДС"));

Если СуммаБанк <> 0 Тогда
    // Записываем безналичную часть выручки в регистр "Банк"
    Регистр.Банк.Фирма = Фирма;
    Регистр.Банк.БанковскийСчет = Фирма.ОсновнойСчет;
    
    СуммаВал = глПересчет(СуммаБанк, Валюта, Курс, Фирма.ОсновнойСчет.ВалютаСчета, ДатаДок);
    СуммаУпр = глПересчет(СуммаБанк, Валюта, Курс, глДоллары, ДатаДок);

    Регистр.Банк.СуммаВал = СуммаВал;
    Регистр.Банк.СуммаУпр = СуммаУпр;
    Регистр.Банк.СуммаРуб = глПересчет(СуммаБанк, Валюта, Курс, глРубли, 1);
        
    Регистр.Банк.КодОперации = глКО.РозничнаяВыручка;
    Регистр.Банк.ДвижениеДенежныхСредств = "";
    
    Регистр.Банк.ДвижениеПриходВыполнить();
КонецЕсли;

// Уменьшаем кассовую сумму на величину безналичных продаж
СуммаВсего = СуммаВсего - СуммаБанк;

Регистр.Касса.СуммаВал = СуммаВсего;
Регистр.Касса.СуммаУпр = глПересчет(СуммаВсего, Валюта, Курс, глДоллары, ДатаДок);
Регистр.Касса.СуммаРуб = глПересчет(СуммаВсего, Валюта, Курс, глРубли, 1);
    
Регистр.Касса.КодОперации = КодОперации;  
Регистр.Касса.ДвижениеДенежныхСредств = ДвижениеДенежныхСредств;

Регистр.Касса.ДвижениеПриходВыполнить();

После внесения этого кода в механизм формирования проводок (через настройку хозяйственных операций) для кодов операций банка настраивается схема счета 57 вместо 50.1.

Вариант 2. Разделение отчетов ККМ на уровне внешнего обмена

Если изменять сам документ и его проведение нежелательно, разберем альтернативный вариант через доработку внешней обработки загрузки Z-отчетов из Frontol:

  1. При импорте данных за смену обработка создает **два отдельных документа** Отчет ККМ.
  2. В первый документ помещаются только наличные позиции, формирующие проводки по счету 50.1.
  3. Во второй документ загружаются позиции, оплаченные по картам. В шапке или комментарии этого документа проставляется специальная отметка (например, «Эквайринг»).
  4. Параллельно обработка создает бухгалтерский документ Операция на безналичную сумму с проводкой Дт 57.1 — Кт 50.1 (или настраивается специальный код операции для безналичного отчета).

Вариант 3. Отражение без изменения типовой конфигурации (Бухгалтерский способ)

Если бюджет на доработку отсутствует и конфигурация должна оставаться типовой, проанализируем порядок действий бухгалтера:

  1. Документ Отчет ККМ заводится на полную сумму дневной выручки (включая нал и эквайринг). В результате вся сумма приходуется в кассу: Дт 50.1 — Кт 90.1.
  2. В конце дня на основании справки-отчета кассира-операциониста создается ручной документ Операция на сумму оплат по банковским картам:
    • Дт 57.1 — Кт 50.1 — перевод безналичной выручки из кассы в пути.
  3. При поступлении денег от банка-эквайера на расчетный счет компании оформляется документ Строка выписки банка (приход):
    • Дт 51 — Кт 57.1 — фактическое зачисление средств банком.
    • Дт 91.2 — Кт 57.1 — отражение комиссии банка за услугу эквайринга.

Следование предложенным рекомендациям позволит корректно вести учет эквайринговых операций и избежать расхождений по счету 50.1 в 1С 7.7 Комплексная.

← На главную