C++/QT desktop program for parsing checks to xlsx/csv
Go to file
leca 3106479fcc completed requests to ofd.ru 2024-11-24 19:07:28 +03:00
check remove ignored pt.2 2024-11-22 23:26:42 +03:00
deploy remove ignored pt.2 2024-11-22 23:26:42 +03:00
goods remove ignored pt.2 2024-11-22 23:26:42 +03:00
image remove ignored pt.2 2024-11-22 23:26:42 +03:00
image_redactor remove ignored pt.2 2024-11-22 23:26:42 +03:00
imageview remove ignored pt.2 2024-11-22 23:26:42 +03:00
modules remove ignored pt.2 2024-11-22 23:26:42 +03:00
net completed requests to ofd.ru 2024-11-24 19:07:28 +03:00
ofd remove ignored pt.2 2024-11-22 23:26:42 +03:00
output remove ignored pt.2 2024-11-22 23:26:42 +03:00
parser remove ignored pt.2 2024-11-22 23:26:42 +03:00
settings remove ignored pt.2 2024-11-22 23:26:42 +03:00
utils remove ignored pt.2 2024-11-22 23:26:42 +03:00
.gitignore completed requests to ofd.ru 2024-11-24 19:07:28 +03:00
CMakeLists.txt completed requests to ofd.ru 2024-11-24 19:07:28 +03:00
LICENSE remove ignored pt.2 2024-11-22 23:26:42 +03:00
README.md remove ignored pt.2 2024-11-22 23:26:42 +03:00
TODO remove ignored pt.2 2024-11-22 23:26:42 +03:00
adjustpicturedialog.cpp completed requests to ofd.ru 2024-11-24 19:07:28 +03:00
adjustpicturedialog.h completed requests to ofd.ru 2024-11-24 19:07:28 +03:00
adjustpicturedialog.ui completed requests to ofd.ru 2024-11-24 19:07:28 +03:00
main.cpp remove ignored pt.2 2024-11-22 23:26:42 +03:00
mainwindow.cpp completed requests to ofd.ru 2024-11-24 19:07:28 +03:00
mainwindow.h completed requests to ofd.ru 2024-11-24 19:07:28 +03:00
mainwindow.ui completed requests to ofd.ru 2024-11-24 19:07:28 +03:00
nano.42371.save completed requests to ofd.ru 2024-11-24 19:07:28 +03:00
ofd.desc remove ignored pt.2 2024-11-22 23:26:42 +03:00
outputdialog.cpp remove ignored pt.2 2024-11-22 23:26:42 +03:00
outputdialog.h remove ignored pt.2 2024-11-22 23:26:42 +03:00
outputdialog.ui completed requests to ofd.ru 2024-11-24 19:07:28 +03:00
settingsdialog.cpp remove ignored pt.2 2024-11-22 23:26:42 +03:00
settingsdialog.h remove ignored pt.2 2024-11-22 23:26:42 +03:00
settingsdialog.ui completed requests to ofd.ru 2024-11-24 19:07:28 +03:00
solvecaptchadialog.cpp completed requests to ofd.ru 2024-11-24 19:07:28 +03:00
solvecaptchadialog.h completed requests to ofd.ru 2024-11-24 19:07:28 +03:00
solvecaptchadialog.ui completed requests to ofd.ru 2024-11-24 19:07:28 +03:00

README.md

Checks parser

checks parser is a program that help parsing different formats of checks to csv.

Usage

Input

Ways you can input a check to this programm:

  • Via image (it uses OCR(Optical Character Recognition) to parse check content. The picture of a check must be contrast and well-lined (text must be perpendicular to right and left borders of an image) enough in order to be parsed well.)
  • Via plaintext, copied from an E-Mail. Just copy&paste text from your email, pick a correct store type (autodetect is in my plans!) and parse.
  • Via E-Mail file (.eml) [!NOT IMPLEMENTED YET!]
  • Via QrCode on check (OFD (ОФД, Оператор Фискальных Данных in Russian)). [!NOT IMPLEMENTED YET!]

Output

At the start of writing this program, I considered 3 or more output formats: csv, xlsx and ods. But throught the development I understood that most of modern table processor (i.e. electronic tables) can import csv much better than I'd be writing a shitty export module, adding more dependencies and shitty code to the codebase. So I decided that there's no need to use anything other than csv format.

To export, you need to specify an output file path and, if you wish, you can change order and/or rename columns, choose to print or not to print header (column names) and total.

Installing

Building

In general, you need to install following dependencies in order to build that app(I suppose you have install all the build necessaries such as cmake, make, gcc, git, etc...):

  • tesseract (you also have to install appropriate for your needs language data)
  • opencv
  • curl
  • nlohmann-json
  • qt5
  • vtk

Please, do not hesitate to open an issue if you cannot build that. I will help and if you are building on a distro that is not listed there, we can append that list as soon as we will solve your problem!

Linux

Arch Linux

I recommend using aur helper (I use yay) to install dependencies. Or, if you're masochist, you can build all by yourself /shrug

#Install dependencies
yay -S sudo cmake git coreutils base-devel eigen qt5-base mbedtls gtkglext opencv opencv2 nlohmann-json tesseract tesseract-data-rus vtk
#Clone and compile an app
git clone https://git.foxarmy.org/leca/checks-parser
cd checks-parser
mkdir build
cd build
cmake ..
make -j{nproc}
#If you wish to install that program system-wide, run
sudo make install
Debian

TODO

Windows

Maybe

Mac OS

Probably not, I do not have nor desire or time. But if you can maintain that program on Mac, I'd be grateful! Please, contact me, if you can!

Precompiled

I plan to make precompiled binaries for Linux and Windows. Maybe I will put it on AUR. I also think that I will be making an AppImage