Типовая конфигурация «1С:Бухгалтерия государственного учреждения» редакции 1.0 (БГУ 1.0) исторически ориентирована на регламентированный учет государственных и муниципальных учреждений и изначально не содержит встроенной подсистемы подключения POS-терминалов для приема оплаты по банковским картам. Однако необходимость принимать платежи от физических лиц за платные услуги (образовательные, медицинские, культурные и прочие) возникает у большинства учреждений.
Разберем детально, какими способами можно организовать работу с эквайрингом в БГУ 1.0, как технически реализовать прямую интеграцию оборудования и как правильно отразить такие операции на счетах бухгалтерского учета.
Самый быстрый и не требующий программных доработок способ — использование автономного банковского POS-терминала, который не связан с компьютером и программой «1С» напрямую.
Проанализируем алгоритм работы кассира при автономном режиме:
Плюсы решения: не требуется вмешательство в типовую конфигурацию, обновление программы проходит в штатном режиме, исключены проблемы с несовместимостью драйверов банка.
Минусы решения: человеческий фактор (риск ошибиться при ручном вводе суммы на терминале), необходимость выполнять операции на двух разных устройствах, ручная сверка итогов по терминалу и кассовой смене в конце рабочего дня.
Если требуется исключить ручной ввод сумм и отправлять команды на терминал непосредственно из интерфейса учетной системы, механизм эквайринга можно перенести из конфигурации «1С:Управление торговлей» редакции 10.3 (УТ 10.3). Обе конфигурации построены на платформе обычных (неуправляемых) форм, что существенно упрощает процесс адаптации кода.
Рассмотрим по шагам, какие объекты метаданных и компоненты необходимо перенести и настроить:
ЭквайринговыеТерминалы, ДоговорыЭквайринга, ВидыОплат, а также регистры сведений, хранящие параметры подключения торгового оборудования.sb_pilot / библиотеками Сбербанка SBRF.dll, SberBankPos.dll или драйверами других банков: INPAS, Arcus, DualConnector).Посмотрим на примерную логику кода обработки транзакции:
РезультатОплаты = ТорговоеОборудование.ОплатитьПлатежнойКартой(
Терминал,
СуммаДокумента,
НомерЧека,
КодАвторизации,
ТекстСлипЧека
);
Если РезультатОплаты Тогда
// Фиксация реквизитов операции в документе
ДокументОбъект.КодАвторизации = КодАвторизации;
ДокументОбъект.НомерСсылкиRRN = НомерЧека;
// Отправка команды печати чека на фискальный регистратор (тип оплаты: Безналичными)
ПечатьФискальногоЧека(СуммаДокумента, 2); // 2 - признак безналичной оплаты
Иначе
Предупреждение("Оплата по банковской карте не прошла или была отменена!");
КонецЕсли;
Важно помнить, что слип-чек банковского терминала подтверждает только факт списания/блокировки средств банком и не является фискальным документом. В соответствии с Федеральным законом № 54-ФЗ расчет с покупателем должен быть фискализирован на контрольно-кассовой технике.
При настройке программной интеграции всегда соблюдайте жесткую последовательность: отправка команды фискализации в онлайн-кассу должна происходить только после получения успешного ответа от эквайрингового терминала. В случае ошибки на терминале фискальный чек пробиваться не должен.
В соответствии с Инструкциями № 157н, № 174н и № 183н операции эквайринга отражаются через счет учета средств в пути 201.23:
Если учреждение не планирует модифицировать конфигурацию БГУ 1.0, но требуется автоматизация рабочего места кассира (РМК), рекомендуется рассмотреть следующие варианты: