Собственный продукт. Задача: снять с бухгалтерии малого бизнеса ручной ввод первичных документов. Счета, накладные, акты и чеки приходят пачками: PDF, сканы, фото с телефона, письма с вложениями. Нужно автоматически доставать реквизиты, позиции и суммы, ловить ошибки и дубликаты до того, как они попадут в учёт, и выгружать данные туда, где бухгалтер работает.
Сделал сервис на Laravel + Vue с Python-воркером распознавания. Он достаёт поставщика, ИНН, номер, даты, позиции, суммы и НДС, а потом проверяет документ: сходятся ли итоги и позиции, верна ли ставка НДС, проходит ли ИНН контрольную сумму, нет ли даты в будущем, не дубликат ли это и не выросла ли сумма у поставщика втрое.
Документы без вопросов уходят дальше сами, остальные ждут в очереди проверки: скан слева, поля справа, сомнительное место подсвечено прямо на документе, исправление в один клик или горячей клавишей. Дубликаты не удаляются молча, а ждут человека со ссылкой на первый экземпляр. Категории расходов система запоминает по прошлым решениям бухгалтера.
После удаления линий таблиц и бинаризации OCR стал в 4 раза быстрее и начал читать строки таблиц. Работает и без платной нейросети, а при желании подключается любой OpenAI-совместимый API с дневным лимитом расходов.
Выгрузка: Excel, CSV для 1С, Google Таблицы и черновики счетов в Xero, с журналом.
- 96,7% полей распознаётся верно на демо-наборе из 41 документа: чистые PDF 100%, сканы 98,6%, фото под углом 95,2%
- Скан читается за 2–9 секунд
- 9 автоматических проверок документа
- 89 тестов Laravel на PostgreSQL в CI, 43 теста воркера, Larastan 7 уровня
- Lighthouse: 100 по скорости и доступности на десктопе, от 90 на телефоне
- Запуск одной командой через Docker Compose, демо-вход в один клик