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

Программист 1С v8.3 (Обычные формы) 1С:Комплексная автоматизация Бухгалтерский учет Торговля и дистрибуция
← На главную

Работа с эквайрингом часто вызывает вопросы у начинающих специалистов и бухгалтеров, особенно когда речь идет о связке нескольких программных продуктов, например, 1С:Комплексная автоматизация 1.1 (КА) и Альфа-Авто. Основная проблема, с которой сталкиваются пользователи — это расхождение суммы, которую оплатил клиент в торговой точке, и суммы, которая фактически поступила на расчетный счет организации. Рассмотрим детально, почему это происходит, как правильно отразить операции в учете и автоматизировать процесс передачи данных.

Разбираем причину расхождения: банковская комиссия

Проанализируем ситуацию: клиент покупает товар за 10 000 рублей и оплачивает его картой через терминал. В системе фиксируется продажа на полную сумму. Однако на следующий день (или через несколько дней) банк-эквайер перечисляет на расчетный счет только 9 760 рублей. Куда делись 240 рублей? Ответ прост — это комиссия банка за услуги эквайринга.

Разберем структуру комиссии. Она состоит из нескольких частей: интерчейндж (выплата банку, выпустившему карту клиента), комиссия платежной системы (Visa, MasterCard, МИР) и маржа самого банка-эквайера. Для организации важно, что в договоре с банком четко прописан процент (например, 2,4%), который удерживается автоматически. Именно поэтому сумма в документе ПлатежноеПоручениеВходящее (вид операции «Поступление оплаты по платежным картам») всегда будет меньше суммы в чеке или документе ОплатаОтПокупателяПлатежнойКартой.

Методология бухгалтерского учета и основные проводки

Для правильного учета эквайринга необходимо использовать транзитный счет 57.03 «Продажи по платежным картам». Это позволяет корректно отразить состояние «деньги в пути», так как между моментом оплаты клиентом и зачислением средств банком всегда есть временной разрыв.

Рассмотрим стандартную цепочку проводок, которую необходимо реализовать в 1С:

  1. Оплата клиентом в момент продажи:
    Создается документ ОплатаОтПокупателяПлатежнойКартой.
    Проводка: Дт 57.03 — Кт 62.01 (или 62.Р) на полную сумму (10 000 руб.).
    Суть: долг клиента погашен, но возник долг банка-эквайера перед организацией.
  2. Зачисление денег на расчетный счет:
    Создается ПлатежноеПоручениеВходящее с видом операции «Поступление оплаты по платежным картам».
    Проводка: Дт 51 — Кт 57.03 на сумму за вычетом комиссии (9 760 руб.).
  3. Отражение банковской комиссии в расходах:
    Списание остатка со счета 57.03 на прочие расходы.
    Проводка: Дт 91.02 — Кт 57.03 на сумму комиссии (240 руб.).

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

Автоматизация обмена данными между Альфа-Авто и КА 1.1

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

Посмотрим на пример кода запроса, который позволяет собрать данные по проведенным платежным поручениям из базы КА через COM-соединение или внутри конфигурации:


Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
|    Документ.Ссылка КАК Ссылка,
|    Документ.СтатьяДвиженияДенежныхСредств КАК СтатьяДДС,
|    Документ.ДоговорКонтрагента КАК Договор,
|    Документ.СуммаПлатежа КАК Сумма,
|    Документ.СуммаНДС КАК СуммаНДС,
|    Документ.Ссылка.Номер КАК НомерДок,
|    Документ.Ссылка.НазначениеПлатежа КАК Назначение
|ИЗ
|    Документ.ПлатежноеПоручениеИсходящее.РасшифровкаПлатежа КАК Документ
|ГДЕ
|    Документ.Ссылка.Дата МЕЖДУ &НачДата И &КонДата
|    И Документ.Ссылка.Проведен = ИСТИНА
|    И Документ.Ссылка.СчетОрганизации = &СчетОрганизации";

Запрос.УстановитьПараметр("НачДата", НачалоДня(ВыбраннаяДата));
Запрос.УстановитьПараметр("КонДата", КонецДня(ВыбраннаяДата));
Запрос.УстановитьПараметр("СчетОрганизации", СсылкаНаБанковскийСчет);

Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
    // Логика создания или обновления документа в Альфа-Авто
    // Если в расшифровке несколько строк, будет создано несколько записей
    // Это корректно отразит оплату по разным договорам или статьям ДДС
КонецЦикла;

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

Особенности работы с онлайн-кассами (54-ФЗ)

С введением 54-ФЗ требования к оформлению безналичных оплат ужесточились. Выясним причину, почему нельзя просто заносить банковскую выписку в Альфа-Авто вручную без пробития чеков. Согласно закону, при оплате платежной картой (даже если терминал не подключен к 1С напрямую), продавец обязан пробить чек ККМ с типом оплаты «Безналичными» (в старых редакциях — «Электронными»).

Проанализируем типичную ошибку: менеджер пробивает только чек на терминале, а в 1С заносит оплату позже по выписке. Это нарушение. Правильный алгоритм:

  1. Клиент прикладывает карту к терминалу.
  2. После успешной авторизации в 1С пробивается Чек ККМ (или Чек на оплату в Альфа-Авто).
  3. Этот чек закрывает долг покупателя и создает задолженность на виртуальном «складе» или договоре эквайера (счет 57).
  4. При загрузке выписки из Клиент-Банка на следующий день сумма зачисляется на расчетный счет, закрывая «зависший» долг банка.

Удобство работы с назначением платежа в интерфейсе

В конфигурациях на обычных формах (как КА 1.1 или старые версии Альфа-Авто) поле «Назначение платежа» часто является текстовой строкой, которую неудобно редактировать в табличной части. Разберем небольшой лайфхак для программиста — вызов удобного окна ввода строки при открытии ячейки:


Процедура СоставНазначениеПлатежаОткрытие(Элемент, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь; // Отключаем стандартное поведение
    ТекстНазначения = Элемент.Значение;
    Если ВвестиСтроку(ТекстНазначения, "Введите назначение платежа", 250, Истина) Тогда
        Элемент.Значение = ТекстНазначения;
        // Устанавливаем флаг модифицированности формы
        ЭтаФорма.Модифицированность = Истина;
    КонецЕсли;
КонецПроцедуры

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

Обработка возвратов по платежным картам

Ситуация с возвратами заслуживает отдельного внимания. Рассмотрим, как это отражается в банковской выписке. Банки-эквайеры редко присылают отдельное платежное поручение на возврат. Чаще всего сумма возвратов просто вычитается из общей суммы выручки за день.

Например:
— Продажи за день: 20 000 руб.
— Возврат клиенту (по другой операции): 5 000 руб.
— Комиссия банка (2% от 20 000): 400 руб.
— Итого в выписке: 14 600 руб.

В назначении платежа банк обычно пишет расшифровку: «Оплата по реестру... сумма 20000.00, удержано возвратов 5000.00, комиссия 400.00». В 1С в таких случаях необходимо в документе поступления на расчетный счет использовать разбиение суммы по строкам в расшифровке платежа: одну строку на приход (Дт 51 — Кт 57.03) со знаком «плюс», а строку возврата — со знаком «минус» (или отдельным документом Списание с расчетного счета, если банк провел это отдельной транзакцией). Важно: возвращать деньги наличными из кассы, если товар был оплачен картой, крайне не рекомендуется (это нарушение указаний ЦБ РФ №3073-У), так как это может быть расценено как попытка обналичивания денежных средств.

← На главную