Перейти к основному контенту

Концепция проекта и алгоритм работы программы

Концепция проекта

Онлайн-касса — программа для учета расчетов в магазине и их контроля. Сервис​ Онлайн-касса покупают коммерсанты (предприниматели, мерчанты). Коммерсанты создают в пульте ​онлайн-кассы​ и регистрируют их в Управлении государственных доходов.

Чтобы упростить бюрократию при регистрации, после того как коммерсант создает новую кассу, пульт генерирует необходимые документы, заполненные известной ему информацией о коммерсанте и новой кассе.

Онлайн-кассы позволяют отправлять чеки по SMS и электронной почте, а также передавать данные об операциях в Управление государственных доходов. Для внедрения онлайн-касс от коммерсантов требуются затраты на обновление кассовой техники, оплата подписки в ОФД и обеспечение постоянного доступа к интернету.

На кассах работают​ кассиры​, которых регистрируют коммерсанты в пульте. Кассиры — это продавцы в магазине. Кассиры на кассах (как и в магазинах) работают ​посменно​. Смена кассира — это его рабочий день. Это значит, что ​в в конце рабочего дня ​кассир сдает сумму денежных средств из кассы, делает отчет с гашением (Z-отчет)​ в кассе и закрывает смену. Следующий кассир принимает сумму денежных средств в кассе и открывает новую смену.

Когда кассир находится на смене, он отправляет через программное обеспечение ​кассовые (фискальные) операции​. Операции бывают пяти видов: ​продажа, приход, покупка, расход и инкассация, возврат. Продажа и приход пополняют баланс кассы​, а расход и покупка расходуют его. Инкассация обнуляет баланс кассы. Возврат отменяет торговую операцию.

Баланс бывает двух видов: ​наличный и безналичный. Баланс наличности в кассе показывает, сколько денег должно быть на руках у кассира. Безналичный баланс показывает сумму всех безналичных операций. Для проверок кассы в течение смены кассир использует промежуточный отчет (X-отчет) в кассовом ПО.

Алгоритм работы программы

  1. Пользователь авторизуется по логину и паролю, используя эндпоинт авторизации и получает токен (токен действителен 24 часа; по истечении 24-х часов нужно авторизоваться заново).
  2. Пользователь получает информацию о кассе (кассах).
  3. Пользователь получает секции выбранной кассы.
  4. Пользователь открывает смену на выбранной кассе. При открытии смены в заголовке придет UID.
  5. Пользователь совершает кассовые операции: продажа, покупка, приход и т. д. При совершении кассовых операций в заголовке нужно посылать UID.
  6. Пользователь дожидается ответа на запрос кассовой операции, в ответе получает фискальный признак, актуальный баланс кассы, фискальный чек в формате png Base64 и новый UID, который потребуется для совершения следующей фискальной операции.
  7. В конце рабочего дня пользователь закрывает смену и получает Z-отчет. Смена не может быть открыта более 24 часов.