Сервис для водителей такси удерживает комиссию с каждой выплаты водителю, и на каждую комиссию нужен кассовый чек в АТОЛ Онлайн. Выплаты приходят выгрузкой в xlsx или csv, у заказчика несколько компаний со своими кассами, телефон водителя стоит не в каждой строке. Задача: загрузил выгрузку, проверил итог, нажал отправить и получил пробитые чеки.
Страница под паролем на хостинге заказчика. Компания выбирается из списка, у каждой свои реквизиты кассы, система налогообложения, название услуги и предмет расчёта.
Программа читает два разных формата выгрузки, сама находит нужные столбцы, собирает чек на каждую выплату с комиссией и показывает итог: сколько чеков и на какую сумму.
Пустой телефон берётся из строки того же договора. Если телефона у водителя нет совсем, программа показывает его ФИО и просит ввести номер, без номера отправка закрыта.
Дата документа по выбору: 1 число месяца или дата транзакции из выгрузки. Название позиции собирается из номера и даты договора.
Чеки уходят в кассу порциями, при сбое связи и ограничении частоты отправка повторяется сама. По каждому чеку виден статус, ФД, ФПД, номер ФН и ссылка на чек в ОФД.
Повторная загрузка того же файла чеки второй раз не пробивает, у каждого показано, когда он пробит и с каким ФД. История загрузок хранится на сервере.
Программа установлена на хостинг заказчика и проверена на тестовой кассе АТОЛ: 22 чека от загрузки файла до фискальных данных за две минуты, повторная загрузка без единого дубля. От технического задания до работающей программы меньше трёх часов, заказчик принял работу в тот же день и оставил отзыв.
Скриншоты сняты с демокопии на вымышленных данных.