Skip to content

artiebears13/Documents_Parser

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

84 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Прием учётных документов

Проект выполнен составом команды AAA Team:

1. Andrey Donskoy donskoi.com@gmail.com
2. Medvedev Artem artiebears@mail.ru
3. Ramazanov Ali ali_ramazanov_2000@mail.ru

Описание проекта, актуальность и проблематика

Постановка задачи

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

Решение

Автоматизированный анализ направленных на проверку первичных учетных документов в реестре. В реестре приема-передачи первичных документов предлагается реализовать процесс автоматизированной проверки документа на корректность и полноту оформления до получения в работу бухгалтером.

Документ должен содержат набор обязательных реквизитов, предусмотренных:

  1. ФЗ-402 «О бухгалтерском учете»;
  2. Альбомом форм, утвержденным Распоряжением от 15 декабря 2008 года №2688р с изменениями;
  3. Распоряжением ОАО «РЖД» от 14 января 2013 №45р «О сроках оформления и предоставления ПУД и счетов-фактур для своевременного отражения фактов хозяйственной жизни ОАО «РЖД» в бухгалтерском и налоговом учете» и другими нормативными правовыми документами Компании.

Проверка первичных учетных документов заключается в распознавании документа на предмет корректного и полного заполнения полей обязательных к заполнению. Если полученный документ не соответствует заявленным требованиям, то документу присваивается статус «Возвращен», если все соответствует, то документу присваивается статус «Акцептован»

Пример работы

Запуск скрипта

Установка

Системные требования:

OS Linux (протестировано на Ubuntu 22.04.3 LTS).

Установка виртуального окружения

В качестве менеджера пакетов используется Poetry. Все необходимые зависимости зафиксированы в конфигурационном файле — pyproject.toml

poetry shell 
poetry install 
Установка Tesseract OCR

Необходимо для применения оптического распознавания символов.

sudo apt-get install tesseract-ocr
sudo wget -P /usr/share/tesseract-ocr/4.00/tessdata https://github.com/tesseract-ocr/tessdata/raw/main/rus.traineddata
Запуск веб-сервиса

Скрипт запуска зафиксирован в Makefile и может быть вызван командой:

make web

Применение

Для применения веб-сервиса, необходимо в соответствующее окно загрузить файл определенной формы (поддерживаются только М-11 и ФМУ-76).

После непродолжительной обработки файла (до 20 с), будет выведен полный отчет валидации данных, распознанных из файла.

Структура проекта

├── data                      <----- Используемая информация, датасеты
│   ├── Альбомы форм          <----- Примеры правильных форм          
│   │   ├── М-11              <----- Примеры правильных форм М-11
│   │   └── ФМУ-76            <----- Примеры правильных форм ФМУ-76
│   ├── М-11                  <----- Предоставленные аннулированные данные по М-11
│   │   ├── Аннулировано      <----- Формы М-11, имеющие печать "Аннулировано"
│   │   └── Принято           <----- Формы М-11, не имеющие печать "Аннулировано"
│   └── ФМУ-76                <----- Предоставленные аннулированные данные по ФМУ-76
│       ├── Аннулировано      <----- Формы ФМУ-76, имеющие печать "Аннулировано"
│       ├── Подумать          <----- Формы ФМУ-76, не имеющие печать "Аннулировано"
│       └── Принято           <----- Формы ФМУ-76, не имеющие подписей
├── documents_parser          <----- Source-папка проекта
│   ├── parser                <----- Скрипты извлечения данных из форм
│   ├── ui                    <----- Скрипты визуализации и валидации данных
│   │   └── src               <----- Source-папка веб-интерфейса
│   └── utils                 <----- Дополнительные утилиты
└── tests                     <----- Тесты