Бумажная накладная всё ещё требует ручной сверки

У моей жены работа бухгалтера, и заметная часть документов до сих пор приходит на бумаге. Я начал с вопроса: какую повторяющуюся ручную операцию можно снять программой?

В первом сценарии нужно было взять из накладной три колонки: ставку НДС и две суммы. Затем сгруппировать строки по ставке, сложить значения и сверить результат с итогом документа. Для человека это работа с таблицей. Мне казалось, что для программы главное — распознать цифры.

С coding agent собрали первую версию: фотография → распознавание страницы → нужные колонки → проверка сумм. На реальном снимке размером около 5 МБ она попыталась выделить примерно 44 ГБ памяти и упала.

Уменьшение фотографии помогло на синтетическом примере, но другой реальный документ снова вызвал сбой. Агент стал запускать варианты под ограничением памяти и нашёл причину: мы прогоняли всю страницу через несколько тяжёлых моделей, частично дублируя распознавание.

А мне нужны были только три колонки.

Мы разделили задачу. На уменьшенной копии обычными алгоритмами обработки изображений находили геометрию таблицы. По этим координатам вырезали нужные ячейки из оригинала. Нейросеть получала только маленькие фрагменты с числами.

В одном из контрольных прогонов пик памяти составил около 627 МБ вместо превышения лимита 14 ГБ и остановки процесса.

Но прочитать цифры оказалось недостаточно. На выгнутой бумаге можно правильно распознать сумму и НДС, а затем ошибочно собрать их из соседних строк. Поэтому дальше проверяли не только текст, но и его связь с конкретной ячейкой: границы, координаты, исходный вырез.

Я приносил реальные рабочие сценарии и фотографии, агент реализовывал варианты, запускал эксперименты и сохранял измерения. Так простая идея «распознать накладную» превратилась в цепочку проверяемых операций — от бумаги до суммы.

Жена пока не использует решение в ежедневной работе. Но уже стало понятно, что автоматизация этой операции начинается с точного выбора нужных данных и сохранения структуры документа.

Полный разбор: https://hram.github.io/articles/paper-ledger/

Бумажная накладная всё ещё требует ручной сверки | Сетка — социальная сеть от hh.ru