Интерактивный терминальный инструмент для работы с чеками ATOL Online.
- Просмотр журнала чеков из API личного кабинета ATOL
- Детализация чека: позиции, оплата, фискальные данные
- Отправка возвратов (sell_refund) через кассовый API (possystem v5)
- Отслеживание статусов отправленных возвратов
- Фильтрация: все чеки, продажи, возвраты, продажи без возврата
- Управление периодом загрузки (7/14/30/60/90 дней или произвольный)
- Мультиаккаунт: несколько аккаунтов ATOL с переключением
- Зашифрованное хранение учётных данных (AES-256-CBC)
- PHP 7.4+ с расширением
openssl - Терминал с поддержкой ANSI (Linux, macOS, WSL)
php atol_cli.phpПри первом запуске будет предложено добавить аккаунт.
--days=N Начальный период загрузки (по умолч. 30 дней)
--help Справка
| Клавиша | Действие |
|---|---|
| ↑ ↓ | Перемещение по меню |
| Enter | Выбрать пункт |
| q / Esc | Назад / выход из меню |
При добавлении запрашиваются:
- Название — произвольная метка (напр. "Jummy прод")
- Email ЛК — логин от online.atol.ru
- Пароль ЛК — пароль от online.atol.ru (вводится звёздочками)
- Логин кассового API — для possystem v5
- Пароль кассового API — для possystem v5 (вводится звёздочками)
- Код группы ККТ — в формате
group_code_XXXXX - Среда — прод (online.atol.ru) или тест (testonline.atol.ru)
Перед сохранением проверяется авторизация в обоих API.
Выбор аккаунта
└─ Главное меню
├─ Все чеки / Продажи / Возвраты / Без возврата
│ └─ Список чеков
│ └─ Детали чека
│ ├─ Отправить возврат (для продаж без возврата)
│ ├─ Обновить статус возврата (для отправленных)
│ ├─ Проверить статус (report)
│ └─ Показать JSON запроса
├─ Проверить статус по UUID
├─ Период (изменить)
├─ Сменить аккаунт
└─ Выход
| Файл | Описание |
|---|---|
.atol_accounts.enc |
Зашифрованные аккаунты (AES-256-CBC, ключ привязан к машине) |
.atol_cli.state.json |
Состояние: возвраты, отправленные через CLI |
Оба файла исключены из git через .gitignore.
Инструмент использует два API ATOL:
GET /lk/Account/Login— получение CSRF-токенаPOST /lk/Account/Login— авторизация (с CSRF-защитой)POST /api/lk/checkJournal— журнал чеков за периодGET /api/lk/checkJournal/{uuid}— детали чека (позиции, оплата, фискальные данные)
POST /possystem/v5/getToken— авторизацияPOST /possystem/v5/{group}/sell_refund— отправка возвратаGET /possystem/v5/{group}/report/{uuid}— статус операции