euer 0.8.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. euer-0.8.1.dist-info/METADATA +194 -0
  2. euer-0.8.1.dist-info/RECORD +46 -0
  3. euer-0.8.1.dist-info/WHEEL +5 -0
  4. euer-0.8.1.dist-info/entry_points.txt +2 -0
  5. euer-0.8.1.dist-info/licenses/LICENSE +661 -0
  6. euer-0.8.1.dist-info/top_level.txt +1 -0
  7. euercli/__init__.py +1 -0
  8. euercli/__main__.py +4 -0
  9. euercli/cli.py +597 -0
  10. euercli/commands/__init__.py +64 -0
  11. euercli/commands/add.py +255 -0
  12. euercli/commands/audit.py +37 -0
  13. euercli/commands/config.py +65 -0
  14. euercli/commands/delete.py +130 -0
  15. euercli/commands/export.py +456 -0
  16. euercli/commands/helpers.py +13 -0
  17. euercli/commands/import_data.py +269 -0
  18. euercli/commands/incomplete.py +214 -0
  19. euercli/commands/init.py +321 -0
  20. euercli/commands/list.py +767 -0
  21. euercli/commands/private_summary.py +43 -0
  22. euercli/commands/query.py +88 -0
  23. euercli/commands/receipt.py +209 -0
  24. euercli/commands/reconcile.py +129 -0
  25. euercli/commands/setup.py +290 -0
  26. euercli/commands/summary.py +190 -0
  27. euercli/commands/update.py +184 -0
  28. euercli/commands/vat_report.py +249 -0
  29. euercli/config.py +390 -0
  30. euercli/constants.py +22 -0
  31. euercli/db.py +70 -0
  32. euercli/importers.py +219 -0
  33. euercli/schema.py +135 -0
  34. euercli/services/__init__.py +40 -0
  35. euercli/services/categories.py +103 -0
  36. euercli/services/duplicates.py +10 -0
  37. euercli/services/errors.py +19 -0
  38. euercli/services/expenses.py +801 -0
  39. euercli/services/income.py +626 -0
  40. euercli/services/models.py +95 -0
  41. euercli/services/private_classification.py +24 -0
  42. euercli/services/private_transfers.py +394 -0
  43. euercli/services/utils.py +31 -0
  44. euercli/services/vat.py +105 -0
  45. euercli/services/vat_report.py +630 -0
  46. euercli/utils.py +86 -0
@@ -0,0 +1,194 @@
1
+ Metadata-Version: 2.4
2
+ Name: euer
3
+ Version: 0.8.1
4
+ Summary: EÜR (Einnahmenüberschussrechnung) CLI
5
+ Author: Markus
6
+ License-Expression: AGPL-3.0-or-later
7
+ Project-URL: Issues, https://github.com/curiousmarkus/euer/issues
8
+ Project-URL: Repository, https://github.com/curiousmarkus/euer
9
+ Project-URL: Documentation, https://github.com/curiousmarkus/euer/blob/main/docs/USER_GUIDE.md
10
+ Project-URL: Changelog, https://github.com/curiousmarkus/euer/blob/main/docs/RELEASE_NOTES.md
11
+ Keywords: buchhaltung,euer,finanzen,freelancer,sqlite
12
+ Classifier: Environment :: Console
13
+ Classifier: Operating System :: OS Independent
14
+ Classifier: Programming Language :: Python :: 3.11
15
+ Classifier: Programming Language :: Python :: 3.12
16
+ Classifier: Programming Language :: Python :: 3.13
17
+ Classifier: Programming Language :: Python :: 3.14
18
+ Classifier: Topic :: Office/Business :: Financial :: Accounting
19
+ Requires-Python: >=3.11
20
+ Description-Content-Type: text/markdown
21
+ License-File: LICENSE
22
+ Provides-Extra: xlsx
23
+ Requires-Dist: openpyxl>=3.1.0; extra == "xlsx"
24
+ Provides-Extra: dev
25
+ Requires-Dist: build>=1.2; extra == "dev"
26
+ Requires-Dist: coverage>=7.10; extra == "dev"
27
+ Requires-Dist: ruff>=0.8; extra == "dev"
28
+ Requires-Dist: twine>=6.1; extra == "dev"
29
+ Dynamic: license-file
30
+
31
+ ![euer Logo](https://raw.githubusercontent.com/curiousmarkus/euer/main/euer_logo.png)
32
+
33
+ # EÜR-Buchhaltung für KI-Agenten
34
+
35
+ > `euer` ist die Lösung für Freelancer und Kleinunternehmer in Deutschland, die ihre Einnahmenüberschussrechnung (EÜR) an ihre KI-Agenten auslagern möchten.
36
+
37
+ ---
38
+
39
+ ## Warum euer?
40
+
41
+ Die meisten Tools zwingen dich zu einer Entscheidung: Entweder du nutzt unflexible SaaS-Abos (Lexoffice, SevDesk) oder du bastelst manuell in Excel. `euer` geht einen dritten Weg: **Ein Tool, damit dein Agent die Arbeit übernehmen kann.**
42
+
43
+ ### 🤖 Built for AI Agents, not humans
44
+ * **CLI first:** Perfekt für LLMs – Text Input, strukturierter Text Output. Kein Halluzinieren von GUI-Klicks.
45
+ * **Do one thing well:** Kein Feature-Bloat. Nur EÜR. Agenten lieben Tools mit klarem Scope.
46
+ * **SQL Superpowers:** Für komplexe Abfragen kann der Agent direkt SQL nutzen. Volle Flexibilität für intelligente Automatisierung.
47
+
48
+ ### 🔒 Revisionssicher & Lokal
49
+ * **Local First:** Eine SQLite-Datei. Deine Daten. Dein Backup. Deine Kontrolle.
50
+ * **Audit-Log:** Jede Änderung wird unveränderbar protokolliert. Sicherheit für dich und das Finanzamt.
51
+ * **Leichtgewichtig:** Nur Python 3.11+. Keine schweren Abhängigkeiten. Läuft überall.
52
+ * **Kein Lock-in:** Daten einfach in CSV oder Excel exportieren.
53
+
54
+ ### ✅ Alles, was du steuerlich brauchst
55
+ - **EÜR-konforme Kategorien:** Direkt einsatzbereit mit den offiziellen Zeilennummern für die Anlage EÜR.
56
+ - **Optionaler Kontenrahmen:** Frei konfigurierbare Buchungskonten (`[[ledger_accounts]]`) mit automatischer Kategoriezuordnung.
57
+ - **Umsatzsteuer-Logik:** Voller Support für Regelbesteuerung (USt/Vorsteuer) sowie Kleinunternehmerregelung (§19 UStG).
58
+ - **Reverse-Charge Support:** Umsatzsteuerliche Behandlung von Dienstleistern aus
59
+ dem EU-/Drittland-Ausland (§13b UStG) inklusive persistiertem RC-Typ.
60
+ - **UStVA-Report:** `euer vat-report` erzeugt einen ELSTER-nahen
61
+ USt-Voranmeldungs-Arbeitsbericht mit KZ-Mapping, Warnungen und CSV/XLSX-Export.
62
+ - **Beleg-Management:** Verknüpfe digitale Belege (PDF/Bilder) direkt mit deinen Buchungen.
63
+
64
+ ---
65
+
66
+ ## Quickstart: In 2 Minuten startklar
67
+
68
+ ### 1. Installation
69
+
70
+ `pipx` installiert `euer` global, ohne dass du je eine virtuelle Umgebung aktivieren musst.
71
+
72
+ **macOS und Linux (Homebrew):**
73
+
74
+ ```bash
75
+ brew install curiousmarkus/tap/euer
76
+ ```
77
+
78
+ **Alle Plattformen (PyPI):**
79
+
80
+ ```bash
81
+ # pipx einmalig installieren (falls noch nicht vorhanden)
82
+ python3 -m pip install --user pipx
83
+ pipx ensurepath
84
+
85
+ pipx install euer
86
+ ```
87
+
88
+ Für den optionalen Excel-Export installierst du direkt das XLSX-Extra:
89
+
90
+ ```powershell
91
+ pipx install "euer[xlsx]"
92
+ ```
93
+
94
+ Unter Windows kannst du stattdessen `py -m pip install --user pipx` und danach
95
+ `pipx ensurepath` verwenden. Die Paketinstallation bleibt identisch.
96
+
97
+ **GitHub-Fallback:**
98
+
99
+ Für Entwicklungsversionen oder einen Checkout ohne PyPI kannst du weiterhin direkt aus
100
+ dem Repository installieren:
101
+
102
+ ```bash
103
+ pipx install git+https://github.com/curiousmarkus/euer.git
104
+ ```
105
+
106
+ Danach ist `euer` sofort und dauerhaft in jedem Terminal verfügbar.
107
+
108
+ **Update auf die neueste Version:**
109
+ ```bash
110
+ pipx upgrade euer
111
+ ```
112
+
113
+ Bei einer Homebrew-Installation aktualisierst du mit:
114
+
115
+ ```bash
116
+ brew upgrade euer
117
+ ```
118
+
119
+ **Entwicklungsinstallation unter Windows (PowerShell):**
120
+
121
+ ```powershell
122
+ py -3 -m venv .venv
123
+ .\.venv\Scripts\Activate.ps1
124
+ python -m pip install -e ".[dev,xlsx]"
125
+ python -m unittest discover -s tests
126
+ ```
127
+
128
+ (Details siehe [User Guide](https://github.com/curiousmarkus/euer/blob/main/docs/USER_GUIDE.md#installation))
129
+
130
+ ### 2. Personalisierung
131
+
132
+ Kopiere den [Onboarding Prompt](https://github.com/curiousmarkus/euer/blob/main/docs/templates/onboarding-prompt.md) in einen LLM-Chat und beantworte die Fragen.
133
+ Du erhältst eine personalisierte `AGENTS.md` mit dem nötigen Kontext für deine KI-Agenten sowie die konkreten nächsten Schritte, um loszulegen.
134
+
135
+ ### 3. Initialisierung
136
+ Wechsle (wie beim Onboarding erklärt) in deinen Buchhaltungs-Ordner und erstelle deine Datenbank:
137
+ ```bash
138
+ euer init
139
+ euer setup
140
+ ```
141
+
142
+ ### 4. Erste Buchung (lass es deinen AI-Agent machen!)
143
+ ```bash
144
+ euer add expense --payment-date 2026-02-02 --vendor "Hetzner" --category "Laufende EDV-Kosten" --amount -10.00
145
+
146
+ # Optional mit Kontenrahmen:
147
+ euer add expense --payment-date 2026-02-02 --vendor "Hetzner" --ledger-account hosting --amount -10.00
148
+ ```
149
+
150
+ ---
151
+
152
+ ## So arbeitet dein AI-Agent mit euer
153
+
154
+ Du hast einen Stapel PDF Belege?
155
+ Gib es an deinen KI-Agenten:
156
+ > "Buche diese Belege in euer ein."
157
+
158
+ 1. Der Agent holt sich die korrekten Steuerkategorien mit `euer list categories`
159
+ 2. Prüft optional den Kontenrahmen mit `euer list ledger-accounts`
160
+ 3. Fügt die Belege in die EÜR mit `euer add expense --payment-date ... --vendor ...`
161
+ 4. kontrolliert die Vollständigkeit mit `euer incomplete list`
162
+ 5. gibt dir eine Übersicht über deine EÜR mit `euer summary --year 2026`
163
+ 6. erstellt bei Bedarf einen UStVA-Arbeitsbericht mit `euer vat-report --year 2026`
164
+
165
+ **Ergebnis:** Du kannst dich zurücklehnen — dein Agent übernimmt für dich die Buchhaltung!
166
+
167
+ ---
168
+
169
+ ## Dokumentation & Support
170
+
171
+ Detaillierte Anleitungen findest du in unseren Guides:
172
+
173
+ - 📖 **[User Guide](https://github.com/curiousmarkus/euer/blob/main/docs/USER_GUIDE.md)** – Installation, Workflows und alle Befehle.
174
+ - ❓ **[FAQ](https://github.com/curiousmarkus/euer/blob/main/docs/FAQ.md)** – Häufige Fragen, Sonderfälle (z. B. Prepaid-Guthaben) und Best Practices.
175
+ - 🧾 **[Release Notes](https://github.com/curiousmarkus/euer/blob/main/docs/RELEASE_NOTES.md)** – Upgrade-Hinweise für bestehende lokale Instanzen.
176
+ - 🤖 **[SKILL "euer-buchhaltung"](https://github.com/curiousmarkus/euer/blob/main/docs/skills/euer-buchhaltung/SKILL.md)** – Die Anleitung für deinen Agenten
177
+ - 🤖 **[Agent Templates](https://github.com/curiousmarkus/euer/tree/main/docs/templates)** – Konfigurationsvorlagen für KI-Buchhalter
178
+ - 🤝 **[Mitwirken](https://github.com/curiousmarkus/euer/blob/main/CONTRIBUTING.md)** – Hinweise für Issues, Änderungen und Pull Requests.
179
+ - 🛠️ **[Development](https://github.com/curiousmarkus/euer/blob/main/DEVELOPMENT.md)** – Architektur und technische Entwicklungsregeln.
180
+
181
+ ---
182
+
183
+ ## 📄 Lizenz
184
+
185
+ GNU AGPLv3 License
186
+ Copyright (c) 2026 Markus
187
+
188
+ **Hinweis zur AGPL:**
189
+ Diese Software ist frei verfügbar. Wenn du sie jedoch modifizierst und über ein Netzwerk (z.B. als Web-Service oder SaaS) anbietest, bist du verpflichtet, den vollständigen Quellcode deiner Version ebenfalls unter der AGPL offenzulegen.
190
+ Dies stellt sicher, dass `euer` ein Gemeinschaftsprojekt bleibt und nicht proprietär vereinnahmt wird.
191
+
192
+ ---
193
+
194
+ *Entwickelt für AI-Agents, die sich täglich freuen deine Buchhaltung zu übernehmen – CLI basiert, lokal und einfach.*
@@ -0,0 +1,46 @@
1
+ euer-0.8.1.dist-info/licenses/LICENSE,sha256=MyLQDxA_WAKg7A0Vn33EbG1ejFGnuoC7tgpLDnqMxGQ,34516
2
+ euercli/__init__.py,sha256=yUP_Pll40EjgZheUGylmM8rtDDt9cGh3Hkz4an3x2Uo,18
3
+ euercli/__main__.py,sha256=MSmt_5Xg84uHqzTN38JwgseJK8rsJn_11A8WD99VtEo,61
4
+ euercli/cli.py,sha256=TbEOwPK1CRtf0lyMKWqVByjoEyaF8QBlZeVV4vvOM88,23760
5
+ euercli/config.py,sha256=hUrkOFkaIQoB7Eh1H2nKWXS5NJrwDQTQTpNcFCh-HJ4,12470
6
+ euercli/constants.py,sha256=US3kbWdYdyAavhN71_85Yh5aZXz7lDvMIu84-VYZSFc,654
7
+ euercli/db.py,sha256=e777yqp3WBWKra57oJdrdg21jx5TqOeFR8-z_G-VjTg,2096
8
+ euercli/importers.py,sha256=dG6MXAEM-PMGGDrBYopaUSXCVfkbtEAg2w4iojmOLQ8,6790
9
+ euercli/schema.py,sha256=lHho7x-DgIMwvaYpyFyrUTSizmuGukj2R5U9xRNhgDA,5395
10
+ euercli/utils.py,sha256=Kkqgb4_zuXEEF-wNsJj3TMDyHTcDhZc0o_bMYO3wXaQ,2460
11
+ euercli/commands/__init__.py,sha256=nYkIiyTk6A9AXqDvFwpeQ9_V052FaUhXWh6LzfGeCUw,1805
12
+ euercli/commands/add.py,sha256=05rLZSFXY8sbsVuaa9cHd2_PrC77J64regXoRVIWvtw,8668
13
+ euercli/commands/audit.py,sha256=0-JmC7pnKN-I7fuKXRVYkxzRYbG1nI-Bg3xXHpw2mHY,908
14
+ euercli/commands/config.py,sha256=L7mX3n2O6fKa0Y3ZzKsxTSbgN2B_WXP13H5j-YuKdOA,2173
15
+ euercli/commands/delete.py,sha256=pkpYWaqNI_-j0Lyxzrvl0rGCgQS2vpN58J_FEMjOm8Q,4100
16
+ euercli/commands/export.py,sha256=eLr01bd2rMcI5i7KO1KQrYisQgHA6nSnEIM8nV_UGhM,15755
17
+ euercli/commands/helpers.py,sha256=XUQd0Cxbp_AoZ5UV4cXJRFoPM0xjZf5lOsvELNKuNdw,387
18
+ euercli/commands/import_data.py,sha256=RleSQ5L9KnOBg5dcyR3fWSlca7Emh8c6zj4Yyy1DRec,11526
19
+ euercli/commands/incomplete.py,sha256=G8KNKCoqY_FKYwUOas9iDBAC6a0pkNcGYMh6ecKxGMs,7456
20
+ euercli/commands/init.py,sha256=yv8Y17JZzt3hrgP374sx0pYF1QBwoWvloILd_DXCR_k,12971
21
+ euercli/commands/list.py,sha256=WnKeHmfddKcXZgyV1ot-87v_cf8mjJ9zgUjPRFlBVlI,26079
22
+ euercli/commands/private_summary.py,sha256=ZD2J9lzt6GdqIOVeeBz-GRzMfsNYorHt-o41as2IgPs,1393
23
+ euercli/commands/query.py,sha256=WyXJ7E4VqnKlX49ZGIRR8goOHXckd7P2N4dIyGA8RuA,2389
24
+ euercli/commands/receipt.py,sha256=y5iPCOsli7cqH2knSVTFJkTGAU-U3LNgCS_O75EjmeU,6939
25
+ euercli/commands/reconcile.py,sha256=qcCt-lOMPQnqmboHBhFpdDW-mOKI8kKpMFmFFSTwEwM,4159
26
+ euercli/commands/setup.py,sha256=NVgMllcdz_MqJ-FI8AJRYtHo-gSQkllegGWFofuPBG0,10319
27
+ euercli/commands/summary.py,sha256=2AQvyBDlpY1w9XF65L30D4dSxk6ftNEczt-Tc72xaGI,6980
28
+ euercli/commands/update.py,sha256=_wnITGETkSbDwEP27vOj0T7E04h1BBjxW83IDHZzIdI,5720
29
+ euercli/commands/vat_report.py,sha256=twfpaljVjtgsz8FEYeSs9XnZTJPjuL4VjKi9tq9Ome0,7259
30
+ euercli/services/__init__.py,sha256=yOsQNaOQiEAQTHq6l_FPutFzgnBLGyooEDrOGjSMtg4,891
31
+ euercli/services/categories.py,sha256=WqJNBE87eslDVUzclks6Hj6sZx4IcWlBkeztT6iWNAQ,3410
32
+ euercli/services/duplicates.py,sha256=3xUwUF6iWDfAKI4opp1itNnVJMS7a6qqy6Vyn_ogdsg,189
33
+ euercli/services/errors.py,sha256=AfZGsh8002DkzrWeInch0Tl4QQMSR_M_9OCFbokbsi0,533
34
+ euercli/services/expenses.py,sha256=0qzXdp-nO06D-JuSeBijNhdhtKaR7DbEb2mCMRzqK5k,27028
35
+ euercli/services/income.py,sha256=pVzXTACridihv97uPE-NGl5gqGbKLCiqeKchx__sacU,21034
36
+ euercli/services/models.py,sha256=Z6CZRjVpDXiyWdh_HiH3DGSEECm3DsV62TtDUXEo5jQ,2257
37
+ euercli/services/private_classification.py,sha256=KkLfO5d08l9hR-4f3IfsURq_rF3V_2VO_KpNZn4xXSI,707
38
+ euercli/services/private_transfers.py,sha256=cCHbPp8A6SwWoJqbgO-KGCqMx8l4h3Hk5YvMDeHBr0c,11592
39
+ euercli/services/utils.py,sha256=fdPDarJcbsRdR6VHaiWhhQod3s7mFcHYoOV9HCTOLb0,1069
40
+ euercli/services/vat.py,sha256=v4iJV3e4-UqUuinbQimBpQKqmZ4uhkLKes4H8q-gHSo,3232
41
+ euercli/services/vat_report.py,sha256=GxKZAhqft2f5rJTgS_PK1xYWT05Zi-hnZXOQ3gjZglk,19219
42
+ euer-0.8.1.dist-info/METADATA,sha256=vZDW5M3zcomN2NDj4Gedm9ML2xt3Vy4NNyxIRKeMsVE,7985
43
+ euer-0.8.1.dist-info/WHEEL,sha256=YVMoNqKzERt-wjUZwJ33xBGAwnFl-4cqbYkTtWa4itE,91
44
+ euer-0.8.1.dist-info/entry_points.txt,sha256=u8sLTD-9_QoPdMXm-ne4JjO4jceWJ81FaJWxb5AcYuA,42
45
+ euer-0.8.1.dist-info/top_level.txt,sha256=vNvdDzDNp4On9Ovc5H7R3k35uVFaV726wuu9gWKUcHI,8
46
+ euer-0.8.1.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (84.0.0)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ euer = euercli.cli:main