Pretix-easyVerein
==========================
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
* [ ] Manually trigger import and processing
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
.. _pretix: https://github.com/pretix/pretix
.. _pretix development setup: https://docs.pretix.eu/en/latest/development/setup.html
Raw data
{
"_id": null,
"home_page": null,
"name": "pretix-easyverein",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": "Julian Hammer <julian.hammer@betreiberverein.de>",
"keywords": "pretix",
"author": null,
"author_email": "Julian Hammer <julian.hammer@betreiberverein.de>",
"download_url": "https://files.pythonhosted.org/packages/de/9a/e4ed8f87074adc8479cc44d0a321774ade19fc3d9268ea28cc13d28bc149/pretix_easyverein-0.1.4.tar.gz",
"platform": null,
"description": "Pretix-easyVerein\n==========================\n\nThis is a plugin for `pretix`_. \n\nFetches and processes bankstatements from easyverein, transfers invoices to easyverein and syncs payment status.\n\nWhat it does:\n\n* [x] Trigger onlinebanking import with easyverein\n* [x] Fetch bankstatement from easyverein and processes them in pretix\n* [ ] Upload invoices (as well as cancelation invoices) to easyverein\n* [ ] Mark invoice payed on eV and pretix if payment was detected\n* [ ] Mark orders payed if invoice is marked payed on easyverein\n* [ ] Manually trigger import and processing\n\nConfiguration:\n\n* ev api key global or per organization\n* ev non-api account global or per organization\n\nLimitations:\n\n* eV invoice status changes from payed to unpayed are not synced to pretix\n* Cancelations of pretix invoices in eV are not synced to pretix\n\nPeriodic Task (every 6 hours):\n\n1. (not-yet-implemented) Upload all not-yet-uploaded invoices to eV\n2. Trigger eV bankstatement fetch\n3. Get bookings (bankstatement) from eV for past 7 days\n4. Process bankstatement\n5. (not-yet-implemented) For all machted payments with associated invoice:\n 1. If not already uploaded: upload invoice to eV\n 2. Link booking and mark payed in eV\n6. (not-yet-implemented) Check uploaded and unpaied invoices for payment in eV, mark payed\n\nManual Task (not-yet-implemented):\n\n1. Get all invoices from eV\n2. Identify invoices already present in eV, mark them as uploaded\n3. Upload any not-yet-uploaded invoices to eV\n\n\nDevelopment setup\n-----------------\n\n1. Make sure that you have a working `pretix development setup`_.\n\n2. Clone this repository.\n\n3. Activate the virtual environment you use for pretix development.\n\n4. Execute ``python setup.py develop`` within this directory to register this application with pretix's plugin registry.\n\n5. Execute ``make`` within this directory to compile translations.\n\n6. Restart your local pretix server. You can now use the plugin from this repository for your events by enabling it in\n the 'plugins' tab in the settings.\n\nThis plugin has CI set up to enforce a few code style rules. To check locally, you need these packages installed::\n\n pip install flake8 isort black\n\nTo check your plugin for rule violations, run::\n\n black --check .\n isort -c .\n flake8 .\n\nYou can auto-fix some of these issues by running::\n\n isort .\n black .\n\nTo automatically check for these issues before you commit, you can run ``.install-hooks``.\n\n\nLicense\n-------\n\n\nCopyright 2025 Julian Hammer\n\nReleased under the terms of the Apache License 2.0\n\n\n\n.. _pretix: https://github.com/pretix/pretix\n.. _pretix development setup: https://docs.pretix.eu/en/latest/development/setup.html\n",
"bugtrack_url": null,
"license": null,
"summary": "Connects pretix with easyverein",
"version": "0.1.4",
"project_urls": {
"homepage": "https://github.com/zam-haus/pretix-easyverein",
"repository": "https://github.com/zam-haus/pretix-easyverein"
},
"split_keywords": [
"pretix"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "6296683bd6c1d5eeccce70e3008ee3d88d5edd83c1e65981a60a2582773d3d42",
"md5": "97cac38d9ebdf3fc4f8321330e02b7a5",
"sha256": "c25f20bdb0f547add411392d442c50458d5efbdec8ab59a71ae778dbd977b622"
},
"downloads": -1,
"filename": "pretix_easyverein-0.1.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "97cac38d9ebdf3fc4f8321330e02b7a5",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 15150,
"upload_time": "2025-07-23T12:44:57",
"upload_time_iso_8601": "2025-07-23T12:44:57.390873Z",
"url": "https://files.pythonhosted.org/packages/62/96/683bd6c1d5eeccce70e3008ee3d88d5edd83c1e65981a60a2582773d3d42/pretix_easyverein-0.1.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "de9ae4ed8f87074adc8479cc44d0a321774ade19fc3d9268ea28cc13d28bc149",
"md5": "539bbb54058c158242af9423b80c688a",
"sha256": "6c9da7b0cfe727842a683cf33281bcfe458902fbbd6eedd59604bbeef082799c"
},
"downloads": -1,
"filename": "pretix_easyverein-0.1.4.tar.gz",
"has_sig": false,
"md5_digest": "539bbb54058c158242af9423b80c688a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 12893,
"upload_time": "2025-07-23T12:44:59",
"upload_time_iso_8601": "2025-07-23T12:44:59.401270Z",
"url": "https://files.pythonhosted.org/packages/de/9a/e4ed8f87074adc8479cc44d0a321774ade19fc3d9268ea28cc13d28bc149/pretix_easyverein-0.1.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-23 12:44:59",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "zam-haus",
"github_project": "pretix-easyverein",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "python-easyverein",
"specs": []
},
{
"name": "requests",
"specs": []
}
],
"lcname": "pretix-easyverein"
}