Skip to content

chillmatin/enpara-transactions-parser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

License Issues - enpara-transactions-parser GitHub Release Go Version

 

matinhuseynzade.com logo

Enpara Transactions Parser
Convert Enpara PDF account statements to CSV, JSON, XLSX, or OFX.

Quick Start

Download a binary for your OS from the Releases page, or build from source:

git clone https://github.com/chillmatin/enpara-transactions-parser.git
cd enpara-transactions-parser
make build
cd bin

Binaries are in the bin/ directory.

After obtaining binaries, there are two ways you can use this tool: enpara-api and enpara-cli

enpara-api tool

  1. Start the API server:
    ./enpara-api --swagger
    Visit http://localhost:8080/swagger for interactive API docs.

enpara-cli tool

  1. Place your Enpara statement PDF (e.g. 1- Enpara Hesap Hareketleri.pdf) in the current directory.

  2. Convert to CSV (default):

    ./enpara-cli "1- Enpara Hesap Hareketleri.pdf"

    This creates 1- Enpara Hesap Hareketleri.csv in the same folder.

  3. Convert to JSON, XLSX, or OFX:

    ./enpara-cli "1- Enpara Hesap Hareketleri.pdf" --format json
    ./enpara-cli "1- Enpara Hesap Hareketleri.pdf" --format xlsx
    ./enpara-cli "1- Enpara Hesap Hareketleri.pdf" --format ofx
  4. Choose PDF parser type (default: auto):

    ./enpara-cli "1- Enpara Hesap Hareketleri.pdf" --type auto
    ./enpara-cli "1- Enpara Hesap Hareketleri.pdf" --type type1
    ./enpara-cli "1- Enpara Hesap Hareketleri.pdf" --type type2
  5. Set output file name:

    ./enpara-cli "1- Enpara Hesap Hareketleri.pdf" --format csv --output my.csv

PDF Types

  • type1: Manual statement layout (existing parser behavior).
  • type2: Automatic monthly statement layout with columns Tarih, Açıklama, Tutar, Bakiye.
  • auto: Detects layout from PDF text and chooses type1 or type2.

For type2, an NFC field is included in JSON/CSV/XLSX outputs as 1 or 0.

API Parameters

POST /api/v1/convert multipart form fields:

  • file (required): PDF file.
  • format (optional): json|csv|xlsx|ofx (default json).
  • type (optional): auto|type1|type2 (default auto).

Usage and Help

Show all Makefile targets:

make help

Show CLI help:

./enpara-cli --help

Show API help:

./enpara-api --help

Build for All Platforms

Generate release artifacts:

make release

Artifacts are written to dist/.

Verify Release Integrity and Authenticity

Assume you downloaded the release files into one folder.

  1. Create a local keyring from the bundled public key and verify the checksum signature:

    gpg --no-default-keyring --keyring ./release-public-key.gpg --verify CHECKSUMS.sha256.asc CHECKSUMS.sha256
  2. Verify file integrity:

    sha256sum -c CHECKSUMS.sha256

The first check confirms the checksums were signed by the release key without adding it to your normal keyring. The second check confirms the zip contents match the published checksums.

Need Help?

Open an issue on GitHub.

About

Converting Enpara Transactions Report to more useful file formats like csv, json, xlsx, or ofx.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors