Skip to main content

🧾 eBonsParser

eBonsParser is a modular Python library for parsing digital receipt PDFs (eBons) used in Germany.
It extracts structured data such as store details, purchase date, payment method, and a full itemized list.

🛒 Currently supports REWE and Thalia receipts — built to extend to other German retailers (e.g., Lidl, Edeka, Aldi).


🚀 Features

  • 📄 Parse eBon PDFs directly (from path or memory)
  • 🛒 Extract store, date, total, payment type, and itemized product data
  • 💶 Handle price, weight, unit, and tax class
  • 🧱 Structured output using Pydantic models (easy to convert to JSON)

📦 Installation

You can install the package using pip:

pip install eBonsParser

🧠 Usage

from eBonsParser.stores import Rewe,Thalia 

pdf_file_path = "path/to/your/ebon.pdf"

rewe = Rewe()
thalia = Thalia()

receipt = rewe.parse_ebon(pdf_file_path)
receipt = thalia.parse_ebon(pdf_file_path)

print(receipt.model_dump_json(indent=4))

This will return a structured Receipt object like:

{
    "ebonNr": 1617,
    "store": {
        "name": "REWE Markt GmbH",
        "type": "supermarket",
        "UID": "DE812706034",
        "address": {
            "street": "Pontdriesch 10-12",
            "city": "Aachen",
            "zip": 52062
        },
        "phone": "0241 1684258"
    },
    "date": "2025-05-06",
    "total": 6.85,
    "payment_method": {
        "method": "card",
        "card": null
    },
    "items": [
        {
            "name": "TARTETEIG",
            "price": 1.89,
            "tax_class": 0.07
        },
        ...
    ]
}

🙌 Contributing

Want to help improve eBonsParser?

Whether it's fixing bugs, adding support for more retailers, or improving documentation — your contributions are welcome!

Please read our CONTRIBUTING.md

📜 License

This project is licensed under the MIT License. For details see LICENSE.

Metadata

Release files for eBonsParser 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for eBonsParser 0.1.1
File Size Uploaded
ebonsparser-0.1.1.tar.gz 7.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for eBonsParser 0.1.1
File Interpreter ABI Platform
ebonsparser-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 15.6 kB

Release files / ebonsparser-0.1.1.tar.gz

Download URL ebonsparser-0.1.1.tar.gz
Size 7.7 kB
Tags Source
SHA-256 checksum
How to use checksums
d343a1e2562eb37549358c0a0193be44fa4a4ef583a303a1c6ae7c1283e73366
BLAKE2b-256 checksum
How to use checksums
87b93e99cff0528205da5556e02d98d23d3d598216085d94f5129993f1c7cd8e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.9

Release files / ebonsparser-0.1.1-py3-none-any.whl

Download URL ebonsparser-0.1.1-py3-none-any.whl
Size 7.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e1e5e411161b1785a1ca81375090b6a5d8d59399a37489c26ee1c4a60bedf211
BLAKE2b-256 checksum
How to use checksums
35bfc25646717a404c35f6162fb01f3a2327e6f0383ac6b2afdea937745ec641
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.9

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page