При автоматизации розничной торговли часто возникает ситуация, когда в одной торговой точке работают две организации (например, ИП и ООО). В связи с этим возникает вопрос: можно ли использовать одну программу и одну контрольно-кассовую технику (ККТ) для печати чеков от обоих юридических лиц? В данной статье мы разберем технические и юридические аспекты этого вопроса, а также рассмотрим возможности специализированной утилиты Мини-ККМ.
Прежде чем переходить к настройке программного обеспечения, проанализируем требования федерального закона 54-ФЗ. Согласно законодательству, каждый экземпляр ККТ должен быть зарегистрирован в Федеральной налоговой службе (ФНС) на конкретный ИНН юридического лица или индивидуального предпринимателя. Внутри кассового аппарата установлен фискальный накопитель (ФН), в который при регистрации жестко записываются реквизиты владельца.
Рассмотрим основные ограничения, которые делают невозможным использование одной физической кассы для двух разных ИНН:
Таким образом, выясним главный вывод: для работы двух организаций (даже если они входят в один холдинг) необходимо приобрести две физические кассы и два фискальных накопителя. Единственным исключением является работа по агентской схеме (например, как платежный агент или комиссионер), но это требует сложного юридического оформления и настройки специфических тегов в чеке.
Программа Мини-ККМ (разработчик "Софт-Центр") является удобной оболочкой для работы с драйверами кассовой техники (АТОЛ, Штрих-М и др.). Она позволяет упростить взаимодействие между учетной системой (например, 1С 7.7 или самописной конфигурацией) и фискальным регистратором. Разберем, как технически реализовать печать чеков от двух организаций на одном рабочем месте кассира.
Поскольку нам требуются две разные ККТ, нам необходимо настроить программу так, чтобы она понимала, на какую именно кассу отправлять данные. Проанализируем два способа решения этой задачи:
Это самый простой и надежный метод. Мы создаем на компьютере две независимые папки с программой Мини-ККМ.
C:\MiniKKM_OOO для первой организации и C:\MiniKKM_IP для второй.C:\MiniKKM_OOO\In\ и C:\MiniKKM_IP\In\.В этом случае учетная система 1С будет выгружать файл чека в ту папку, к чьей организации относится продажа. Программа Мини-ККМ, запущенная из соответствующей директории, подхватит файл и отправит его на нужную кассу.
Современные версии утилиты поддерживают работу с профилями настроек. Это позволяет использовать один экземпляр исполняемого файла, но с разными параметрами запуска. Рассмотрим, как это работает через командную строку. При выгрузке данных из 1С мы можем передавать параметр, указывающий на конкретный профиль настроек ККТ. Это избавляет от необходимости держать открытыми два окна программы, если кассир работает в них по очереди.
Проанализируем процесс взаимодействия 1С и Мини-ККМ. Программа часто используется там, где прямая интеграция через драйвер AddIn.AtolDevice или AddIn.SHTRIH-M_ActiveSHTRIH затруднена. Основной метод работы — мониторинг текстовых или XML-файлов.
Разберем пример формирования файла для автоматического пробития чека из 1С. Посмотрим на структуру данных, которую должна сформировать учетная система:
// Пример формирования текстового файла для Мини-ККМ
ТекстЧека = СоздатьОбъект("Текст");
ТекстЧека.ДобавитьСтроку("Command=DoCheck");
ТекстЧека.ДобавитьСтроку("CheckType=1"); // 1 - Приход
ТекстЧека.ДобавитьСтроку("TaxationSystem=0"); // ОСН
ТекстЧека.ДобавитьСтроку("ItemName=Услуги по настройке ПО;Price=1500.00;Quantity=1;Amount=1500.00;Tax=20");
ТекстЧека.ДобавитьСтроку("Cash=1500.00");
ТекстЧека.Записать("C:\MiniKKM_OOO\In\check_123.txt");
После того как файл записан в папку In, Мини-ККМ мгновенно считывает его, обращается к драйверу ККТ и печатает фискальный чек. После успешной печати файл перемещается в папку Out с результатом операции, что позволяет 1С прочитать статус (успешно/ошибка) и записать номер чека в базу данных.
Работа с двумя организациями подразумевает и необходимость корректного оформления возвратов. Выясним, как это реализовано в Мини-ККМ. Для оформления возврата прихода программа требует указания типа операции ReturnSale.
Важно помнить: возврат всегда должен производиться на той же кассе, на которой был пробит чек прихода. Если покупка была совершена в ООО, вы не можете сделать возврат через кассу ИП. Программа Мини-ККМ позволяет передавать в файле обмена тег OriginalCheckNumber (фискальный признак или номер чека), что помогает налоговой идентифицировать связь между продажей и возвратом.
Также разберем ситуацию с чеками коррекции. Они необходимы, если кассир обнаружил излишки или забыл пробить чек вовремя. В интерфейсе Мини-ККМ предусмотрен отдельный режим для формирования чеков коррекции, где можно указать основание (номер предписания или акт) и тип коррекции (самостоятельно или по предписанию ФНС).
Одной из ключевых особенностей Мини-ККМ является стабильная работа в RDP-сессиях. Часто 1С находится на удаленном сервере, а кассы подключены локально к компьютерам пользователей. Проанализируем схему работы в этом случае:
C:\MiniKKM_OOO\In\ локального ПК должна быть видна серверу как сетевой диск или через перенаправление папок RDP.Такая схема позволяет избежать сложной настройки проброса COM-портов через RDP, которая часто работает нестабильно и приводит к "зависанию" кассы.
Выясним, какое оборудование поддерживает Мини-ККМ. Программа не является самостоятельным драйвером, она работает "поверх" системных драйверов производителей. Рассмотрим поддерживаемые платформы:
Для корректной работы перед запуском Мини-ККМ необходимо убедиться, что "Тест драйвера" от производителя видит кассу и связь установлена. Мини-ККМ лишь передает команды в удобном формате, избавляя программиста от изучения сложных методов низкоуровневого API драйверов.
Подводя итог, можно сказать, что Мини-ККМ — это эффективный инструмент для работы с несколькими организациями. Главное — помнить о необходимости физического разделения кассовых аппаратов и правильной настройке путей обмена данными для каждого ИНН.