Skip to main content

Connects pretix with easyverein

Project description

This is a plugin for pretix.

Fetches and processes bankstatements from easyverein, transfers invoices to easyverein and syncs payment status.

What it does:

  • [x] Trigger onlinebanking import with easyverein

  • [x] Fetch bankstatement from easyverein and processes them in pretix

  • [ ] Upload invoices (as well as cancelation invoices) to easyverein

  • [ ] Mark invoice payed on eV and pretix if payment was detected

  • [ ] Mark orders payed if invoice is marked payed on easyverein

Configuration:

  • ev api key global or per organization

  • ev non-api account global or per organization

Limitations:

  • eV invoice status changes from payed to unpayed are not synced to pretix

  • Cancelations of pretix invoices in eV are not synced to pretix

Periodic Task (every 6 hours):

  1. (not-yet-implemented) Upload all not-yet-uploaded invoices to eV

  2. Trigger eV bankstatement fetch

  3. Get bookings (bankstatement) from eV for past 7 days

  4. Process bankstatement

  5. (not-yet-implemented) For all machted payments with associated invoice: 1. If not already uploaded: upload invoice to eV 2. Link booking and mark payed in eV

  6. (not-yet-implemented) Check uploaded and unpaied invoices for payment in eV, mark payed

Manual Task (not-yet-implemented):

  1. Get all invoices from eV

  2. Identify invoices already present in eV, mark them as uploaded

  3. Upload any not-yet-uploaded invoices to eV

Development setup

  1. Make sure that you have a working pretix development setup.

  2. Clone this repository.

  3. Activate the virtual environment you use for pretix development.

  4. Execute python setup.py develop within this directory to register this application with pretix’s plugin registry.

  5. Execute make within this directory to compile translations.

  6. Restart your local pretix server. You can now use the plugin from this repository for your events by enabling it in the ‘plugins’ tab in the settings.

This plugin has CI set up to enforce a few code style rules. To check locally, you need these packages installed:

pip install flake8 isort black

To check your plugin for rule violations, run:

black --check .
isort -c .
flake8 .

You can auto-fix some of these issues by running:

isort .
black .

To automatically check for these issues before you commit, you can run .install-hooks.

License

Copyright 2025 Julian Hammer

Released under the terms of the Apache License 2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pretix_easyverein-0.1.2.tar.gz (12.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pretix_easyverein-0.1.2-py3-none-any.whl (15.1 kB view details)

Uploaded Python 3

File details

Details for the file pretix_easyverein-0.1.2.tar.gz.

File metadata

  • Download URL: pretix_easyverein-0.1.2.tar.gz
  • Upload date:
  • Size: 12.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.11

File hashes

Hashes for pretix_easyverein-0.1.2.tar.gz
Algorithm Hash digest
SHA256 ddd4538aed0ecf3be0bd40bb719a081069d4c3c38e5f4767f7eb30d9177f1a1d
MD5 855bdd0e9226b788a4fb7ebbfce48279
BLAKE2b-256 e60bc9d7604eadbbe9324a3ad4ac3d3d2d8998a448fa5ac103d140a42b94eb07

See more details on using hashes here.

File details

Details for the file pretix_easyverein-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for pretix_easyverein-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 86054ec0cfe702c4e6af6ac8fba2dbdfc268b64f91e2cd7d38a5957864f8e96b
MD5 41b0189ac36a3203396f2f7fbe6d2cea
BLAKE2b-256 99d667ffd0f58bca9168bbd5589b728a918085426075477f228c485b208c84c4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page