Приветствуем вас! В практике ведения учета часто возникает ситуация, когда физическое лицо оплачивает товар или услугу напрямую со своего личного банковского счета на расчетный счет вашей организации. Бухгалтер видит это поступление при импорте выписки из клиент-банка в документе Платежное поручение входящее.
Согласно действующему законодательству (54-ФЗ), этот перевод является безналичным расчетом с физическим лицом, и организация обязана сформировать кассовый чек с признаком способа оплаты "БЕЗНАЛИЧНЫМИ" (тег 1081) и направить его покупателю на электронную почту или телефон. Однако при попытке сделать это в устаревшей конфигурации 1С:Управление производственным предприятием (УПП) ред. 1.3 пользователи сталкиваются с техническим тупиком: стандартные механизмы программы не приспособлены для фискализации обычных банковских выписок.
В этой статье мы подробно разберем, почему стандартные документы УПП 1.3 не подходят для этой задачи, проанализируем законодательные рамки и рассмотрим четыре практических варианта решения проблемы — от простых настроек без программирования до прямой интеграции кассы по HTTP-протоколу.
---
Давайте проанализируем имеющийся инструментарий в программе и выясним, почему типовой функционал не решает нашу задачу:
Чек ККМ. Этот документ создавался исключительно для розничных продаж на кассовых узлах. В старых версиях УПП вид оплаты по умолчанию зашит как "Наличные". Даже при доработке интерфейса чек, пробитый из этого документа, уйдет на фискализацию с признаком наличного расчета, что будет грубым нарушением правил ФНС при безналичном переводе.Оплата от покупателя платежной картой. Этот документ жестко завязан на механизмы эквайринга. Для его проведения требуется выбрать договор эквайринга, указать банк-эквайер и процент комиссии. В нашем же случае никакого договора интернет-эквайринга нет, деньги поступили напрямую на расчетный счет через платежное поручение.Из-за этих ограничений ИТ-специалистам и бухгалтерам приходится искать обходные пути. Давайте детально разберем каждый из них.
---
Если вам нужно решить задачу здесь и сейчас, не привлекая программистов для доработки кода конфигурации, можно использовать обходной путь с настройкой фиктивного договора эквайринга. Давайте разберем этот процесс по шагам:
Контрагенты виртуальный банк-эквайер (например, "Физические лица (безнал)").Оплата от покупателя платежной картой, привязав его к нашему виртуальному договору эквайринга.Преимущества: Быстрый запуск, не требуются доработки конфигурации, чеки корректно уходят в ОФД с признаком безналичной оплаты.
Недостатки: Бухгалтеру придется делать двойную работу и вручную контролировать соответствие между выписками банка и документами оплаты картой, чтобы избежать задвоения взаиморасчетов на 57 или 62 счетах.
---
Для того чтобы облегчить жизнь бухгалтеру и не заставлять его вручную дублировать документы, мы можем разработать внешнюю обработку. Она будет сканировать базу данных за выбранный период, находить нужные входящие платежки и отправлять команды на пробитие чеков.
Рассмотрим примерную схему работы такой обработки:
Платежное поручение входящее за день.Посмотрим на пример логики перебора документов на встроенном языке 1С:
Выборка = Документы.ПлатежноеПоручениеВходящее.Выбрать(НачалоПериода, КонецПериода);
Пока Выборка.Следующий() Цикл
// Проверяем, является ли контрагент физическим лицом
Если Выборка.Контрагент.ЮрФизЛицо = Перечисления.ЮрФизЛицо.ФизЛицо Тогда
// Проверяем, не был ли чек пробит ранее
Если Найти(Выборка.Комментарий, "[Чек Пробит]") = 0 Тогда
// Здесь вызывается процедура фискализации через БПО
РезультатПечати = ПробитьЧекБезналичными(Выборка.Ссылка);
Если РезультатПечати Тогда
ОбъектППВ = Выборка.ПолучитьОбъект();
ОбъектППВ.Комментарий = ОбъектППВ.Комментарий + " [Чек Пробит] " + ТекущаяДата();
ОбъектППВ.Записать(РежимЗаписиДокумента.Запись);
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЦикла;
---
Поскольку конфигурация УПП 1.3 признана устаревшей и фирма "1С" постепенно прекращает ее поддержку, обновление встроенной Библиотеки подключаемого оборудования (БПО) под новые требования ФФД (например, ФФД 1.2) и новые драйверы ККТ может стать настоящей головной болью для программиста.
Современные драйверы ККТ (например, Атол ДТО 10) имеют встроенный веб-сервер, который может принимать фискальные задания в формате JSON по обычному протоколу HTTP. Это позволяет полностью отказаться от устаревшей БПО внутри 1С и отправлять данные на кассу напрямую.
Давайте проанализируем пример кода, который формирует JSON-задание на продажу (тип оплаты "электронно") и отправляет его на локальный веб-сервер кассы:
// Пример отправки JSON-задания на веб-сервер драйвера Атол 10 из 1С
Запрос = Новый HTTPЗапрос("/atolsrv/devices/1/tasks");
Запрос.Заголовки.Вставить("Content-Type", "application/json");
// Формируем структуру JSON-запроса
ТелоЗапроса = "{
| ""uuid"": """ + Строка(Новый УникальныйИдентификатор) + """,
| ""request"": [
| {
| ""type"": ""sell"",
| ""taxationType"": ""osn"",
| ""operator"": {
| ""name"": ""Кассир-Операционист""
| },
| ""items"": [
| {
| ""type"": ""position"",
| ""name"": ""Оплата по безналичному расчету"",
| ""price"": " + Формат(СуммаДокумента, "ЧГ=0") + ",
| ""quantity"": 1,
| ""amount"": " + Формат(СуммаДокумента, "ЧГ=0") + ",
| ""paymentMethod"": ""fullPayment"",
| ""paymentObject"": ""payment"",
| ""tax"": {
| ""type"": ""vat20""
| }
| }
| ],
| ""payments"": [
| {
| ""type"": ""electronically"",
| ""sum"": " + Формат(СуммаДокумента, "ЧГ=0") + "
| }
| ]
| }
| ]
|}";
Запрос.УстановитьТелоИзСтроки(ТелоЗапроса, КодировкаТекста.UTF8);
// Подключаемся к локальной службе веб-сервера Атол (порт по умолчанию 16732)
Соединение = Новый HTTPСоединение("localhost", 16732);
Попытка
Ответ = Соединение.ОтправитьДляОбработки(Запрос);
Если Ответ.КодСостояния = 200 Тогда
ЗаписьЖурналаРегистрации("ККМ", УровеньЖурналаРегистрации.Информация, , , "Чек успешно отправлен в очередь ККТ.");
Иначе
ЗаписьЖурналаРегистрации("ККМ", УровеньЖурналаРегистрации.Ошибка, , , "Ошибка отправки: " + Ответ.ПолучитьТелоКакСтроку());
КонецЕсли;
Исключение
Предупреждение("Не удалось связаться с веб-сервером ККТ!");
КонецПопытки;
Преимущества: Полная независимость от обновлений БПО в 1С. Вы можете обновлять драйверы ККТ на рабочих местах, не опасаясь, что старая конфигурация УПП перестанет их понимать.
---
Если ваша организация ведет регламентированный налоговый и бухгалтерский учет не в самой УПП, а выгружает данные в актуальную конфигурацию 1С:Бухгалтерия предприятия 3.0 (БП), то этот вариант является наиболее предпочтительным и методологически верным.
Начиная с версии БП 3.0.63, фирма "1С" реализовала штатную возможность пробития кассовых чеков непосредственно из документа Поступление на расчетный счет. Механизм работает следующим образом:
Поступление на расчетный счет, полученный от физического лица.Более того, в современных релизах БП 3.0 реализовано пакетное пробитие чеков, которое позволяет автоматизировать фискализацию сотен входящих платежей в конце рабочего дня буквально в несколько кликов.
---
Выбор конкретного решения зависит от ИТ-ландшафта вашей компании и планов по развитию систем автоматизации: