BitKassa — наше кассовое ПО для Windows и ККТ АТОЛ. Проект родился на Delphi, долго жил как «внутренняя касса для своих», а в 2025–2026 мы его снова вывели в публичный релиз: новый клиент, Deploy API на bit22.ru, лендинг и — главное для розницы сегодня — маркированные товары через ЕСМ. Это первая статья цикла: откуда мы стартовали, что значит «реанимация» и с чего начали внедрение работы с кодами маркировки.
Коротко: legacy-клиент на Delphi сменился WPF-приложением (.NET Framework 4.7.2) с той же базой bitkassa.db. Маркировка — фаза 1: флаг в справочнике, скан DataMatrix, онлайн-проверка через ЕСМ (ТС ПиОТ), теги в чеке по ФФД 1.2. Скачать актуальную версию — на лендинге BitKassa.
Зачем возвращаться к BitKassa
Небольшой магазин с одной кассой АТОЛ редко тянет тяжёлую 1С:Розницу «ради чека». Нужен простой сценарий: справочник, пробитие, Z-отчёт, локальная SQLite — без облачного каталога и лишних модулей. BitKassa закрывала эту нишу, но стек устарел: WinForms/Delphi, ручные сборки, нет публичного канала обновлений.
Реанимация — не «переписали всё с нуля и выбросили пользователей». Мы сохранили формат данных и сценарий миграции: скопировать bitkassa.db — и работать в новом клиенте. Параллельно подняли инфраструктуру вокруг продукта на bit22.ru.
Delphi → WPF: что изменилось в клиенте
С версии 2.0.0 основной клиент — WPF (MVVM), .NET Framework 4.7.2 (с v2.11.1; ранее — 4.8), интерфейс на базе Trezo UI. Приложение собирается как x86 — это требование COM-драйвера АТОЛ ДТО 10.
BitKassa.exe— кассовое приложение.bitkassa.db— справочник, чеки, архив (тот же SQLite, что в Delphi-версии).bitkassa.prefs— тема, окно, настройки ККТ.- Фискализация — только АТОЛ через ДТО 10, USB, ФФД 1.2.
WinForms-клиент в репозитории остался как legacy; для новых установок актуален только WPF. Подробности для IT — на странице описания продукта.
Что сделали на bit22.ru (не только exe)
«Реанимация» — это и веб-часть:
- Лендинг /bitkassa и страница для администраторов /bitkassa/product.
- Deploy API — публикация установщика
BitKassa-x.y.z-Setup.exe, endpoint/api/v1/releases/latest, проверка обновлений из кассы при запуске. - Подписка по серийному номеру ККТ, trial 14 дней, личный кабинет на kassa.bit22.ru.
- Кейс в портфолио TechSpot — миграция с Delphi и внедрение на объекте.
На момент публикации статьи в канале stable — v2.11.0: фоновая проверка обновлений, баннер в интерфейсе, доработки лицензирования поверх маркировки и весовых товаров.
Маркировка: почему без ЕСМ никак
Продажа маркированного товара — не «ещё один штрихкод». Касса должна проверить код маркировки (КМ) в ГИС МТ и передать сведения о выбытии. На Windows с АТОЛ для этого нужен Единый сервисный модуль (ЕСМ) АО ЕСП — лицензия ТС ПиОТ, регистрация кассы, связь с ГИС МТ; при офлайн-сценариях — ЛМ ЧЗ и контроллер на том же ПК.
BitKassa не заменяет ЕСМ и не продаёт лицензию ПиОТ. Мы интегрируемся с уже настроенным стеком на кассовом компьютере. Сначала оформите пакет в ЛК ЕСП с кодом партнёра 29683 — как ввести код. Установка модуля и регистрация кассы — в статье Установка и настройка ЕСМ для АТОЛ (Windows), для 1С:Розница — настройка ТС ПиОТ в конфигурации, обзор — Модуль ТС ПИоТ на кассе АТОЛ.
Фаза 1 в BitKassa: с чего начали в коде
В релизе 2.6.0 заложили первый контур маркировки — сознательно узкий, чтобы быстрее выйти на реальные кассы:
- Флаг в справочнике — позиция помечается как маркированная.
- Сканирование DataMatrix при добавлении в чек.
- Онлайн-проверка КМ через ЕСМ — без интернета продажа маркированной позиции не проходит (офлайн — только при настроенном ЛМ ЧЗ на стороне ЕСМ).
- Теги маркировки в чеке по ФФД 1.2 при фискализации на АТОЛ.
Что не входит в фазу 1 (и честно указано на лендинге): возвраты маркированных, частичное выбытие, сложные сценарии ЧЗ — это заявлено как фаза 2 по запросу. На Windows 7 маркировка недоступна: служба UEMA АТОЛ для ЕСМ не запускается — нужны Windows 10/11 и .NET 4.8.
Минимальный стек на кассе
- Windows 10/11, .NET Framework 4.8 (ставить до установки ЛМ ЧЗ).
- ККТ АТОЛ: актуальная прошивка и ИТС Connect, ФФД 1.2; ДТО 10 ≥ 10.10.8.23 с «Интеграционными компонентами для ЕСМ».
- ЕСМ с активной лицензией ТС ПиОТ и регистрацией кассы в ГИС МТ.
- Интернет для онлайн-проверки КМ при продаже.
Как выглядит сценарий для кассира
Администратор один раз настраивает ЕСМ и связку с драйвером АТОЛ (часто с помощью TechSpot, код партнёра ТС ПиОТ 29683). В BitKassa — подключает ККТ, при необходимости переносит bitkassa.db с Delphi-версии, отмечает маркированные позиции в справочнике.
На кассе: выбрал товар → отсканировал КМ → BitKassa запросил проверку через ЕСМ → при успехе позиция в чеке → пробитие на АТОЛ с нужными тегами. Смену для этого открывать вручную не нужно — автооткрытие при первом чеке, как и для обычных позиций.
Что дальше в этом цикле статей
В следующих выпусках планируем разобрать подробнее:
- типовые ошибки при связке BitKassa ↔ ЕСМ ↔ АТОЛ и как их читать по логам;
- чек-лист перед первой продажей маркированной позиции;
- отличия фазы 1 и запросы на фазу 2 (возвраты, доработки под категории товаров).
Если нужна помощь с установкой ЕСМ или переносом с Delphi — TechSpot. Вопросы по лицензии и скачиванию — BitKassa и CodeLab.