Skip to content

Release v0.16 — Englische PDF · Katalog-EN · Ausgaben-Kategorien · Bulk-Aktionen#101

Merged
jonax1337 merged 1 commit into
mainfrom
release/v0.16
May 22, 2026
Merged

Release v0.16 — Englische PDF · Katalog-EN · Ausgaben-Kategorien · Bulk-Aktionen#101
jonax1337 merged 1 commit into
mainfrom
release/v0.16

Conversation

@jonax1337
Copy link
Copy Markdown
Owner

Summary

Wave C der drei-Wellen-Roadmap. Internationalisierung + Detail-Schliff.

  • Englische PDF-Variante (Migration 0024). pdf_language pro Rechnung/Angebot + Settings-Default. Sidecar invoice/i18n.py mit DE/EN-Translation-Dict, Templates auf {{ t('key', lang) }} umgestellt. ZUGFeRD-XML bleibt sprach-neutral.
  • Katalog-EN aktiviert. CatalogPicker zieht description_en bei EN-Rechnungen mit Fallback auf DE. Schema seit v0.14 vorhanden, jetzt durchgereicht.
  • Ausgaben-Kategorien (Migration 0025). 10 builtin-Kategorien mit SKR03+SKR04-Konten-Mapping. ExpenseEdit-Kategorie-Select mit Auto-Fill datev_account. DATEV-Export löst categoryId zur Export-Zeit gegen aktives SKR-Profil auf — derselbe Eintrag wechselt korrekt zwischen SKR03 und SKR04.
  • Bulk-Aktionen Offers + Expenses. Selbe Pattern-Library wie InvoicesList (Wave B): Checkbox-Spalte, Select-All, kontextsensitive Action-Bar.

Migration

  • 0024_v0.16_pdf_language.sqluser_version = 25.
  • 0025_v0.16_expense_categories.sqluser_version = 26 (inkl. 10 builtin-Kategorien als Seed).
  • CURRENT_SCHEMA in backup.rs auf 26, CURRENT_DB_SCHEMA_VERSION in Advanced.svelte / Data.svelte / auto-backup.ts synchron.

Test plan

  • pnpm check → 0 errors (6 vorhandene PeriodSwitcher-Warnings unverändert)
  • pnpm test → 87 / 87
  • pytest sidecar/tests/ → 34 passed, 18 skipped (KoSIT lokal)
  • cargo check → clean
  • Manuelle E2E: Rechnung auf EN umstellen → PDF prüfen (Labels EN, ZUGFeRD-XML unverändert)
  • Manuelle E2E: Katalog-Eintrag mit description_en anlegen → in EN-Rechnung einfügen → EN-Beschreibung kommt durch
  • Manuelle E2E: Eingangsrechnung mit Kategorie „Software/SaaS" → DATEV-Export SKR03 (Konto 4806) → erneut SKR04 (6815)
  • Bulk-Aktionen: 5 Drafts auswählen → „Versenden" → alle bekommen sent-Status

🤖 Generated with Claude Code

…Aktionen

Internationalisierung und Detail-Schliff:

- Englische PDF-Variante (Migration 0024). pdf_language pro Rechnung +
  Angebot, Settings-Default. Sidecar i18n.py mit DE/EN-Translation-Dict;
  Templates nutzen {{ t('key', lang) }} durchgängig. ZUGFeRD-XML bleibt
  sprach-neutral.

- Mehrsprachige Katalog-Beschreibungen aktiviert. CatalogPicker zeigt
  description_en bei EN-Rechnungen mit Fallback auf description_de.

- Kuratierte Ausgaben-Kategorien (Migration 0025). 10 builtin-Einträge
  mit SKR03+SKR04-Konten-Mapping. ExpenseEdit-Kategorie-Select mit
  Auto-Fill für datev_account. DATEV-Export löst categoryId zur
  Export-Zeit gegen aktives SKR-Profil auf.

- Bulk-Aktionen in OffersList (Versenden / Ablehnen / Löschen) und
  ExpensesList (Als bezahlt / Löschen). Schutz für bereits-finalisierte
  Belege (accepted Offers, open/paid Expenses) vor Bulk-Delete.

DB-Migrations: user_version 24 → 26. CURRENT_SCHEMA an drei Stellen
synchronisiert.

Tests: 87/87 Vitest, 34/34 Pytest (+18 KoSIT-skipped), Cargo clean.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@jonax1337 jonax1337 merged commit 91f6edb into main May 22, 2026
8 of 9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant