managarten/docs
Till JS 2ee3a1a93a feat(invoices): M7 dashboard widget + tests + plan status
Adds the missing bits that turn M1–M6 into a coherent shippable
product rather than a pile of commits.

Dashboard widget (M7)
- InvoicesOpenWidget.svelte: open + overdue totals in the primary
  currency, top-3 oldest overdue with "X Tage überfällig" under each,
  empty-state CTA for first-time users
- Registered as `invoices-open` in WIDGET_REGISTRY and the component
  map. Default size medium, no requiredBackend (local-first, no API)
- Fixed pre-existing test gap: validBackends list was missing 'body'
  (body-stats widget has been failing silently) — added so the check
  protects against drift for real

Tests (45 total, all green)
- totals.test.ts (9): computeLineTotal with discount+vat, grouping
  invariant (breakdown sums == invoice totals), rounding edges
- pdf/qr-bill.test.ts (17): generateSCORReference stability +
  spec-validity via swissqrbill's own isSCORReferenceValid, buildQRBillData
  eligibility gates (currency, IBAN, address, amount), CH + DE address
  parser paths, referenceNumber-preferred-over-regen invariant
- mail-template.test.ts (12): subject/body composition (with/without
  subject, CHF vs EUR QR-hint, empty recipient fallback), mailto
  spaces-as-%20 patch, looksLikeEmail edge cases

Plan (docs/plans/invoices-module.md)
- Updated with commit SHAs per milestone, testing status, and the
  explicit list of open items (Logo-Upload, AI-Tools, sync collision,
  structured addresses, finance cross-link, camt bankabgleich) so the
  next coder knows exactly what's parked where

Unresolved: browser smoke test couldn't run — SSR is broken for all
module routes in the current tree (pre-existing, likely from the
parallel Spaces refactor; /library, /todo, /contacts all return 500
the same way). Unit tests + clean bundle build (M4) + type-check are
the coverage we have.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 16:38:18 +02:00
..
architecture docs: update tool coverage table + server-side research + templates 2026-04-16 12:35:40 +02:00
central-services refactor(arcade, shared-ui): migrate CommandBar to GlobalSpotlight, delete CommandBar 2026-04-15 01:17:55 +02:00
decisions chore: complete ManaCore → Mana rename (docs, go modules, plists, images) 2026-04-07 12:26:10 +02:00
future docs: add langfristige Roadmap-Punkte zu AI_AGENTS_IDEAS.md 2026-04-16 15:27:38 +02:00
modules feat(sleep): add sleep module with tracking, hygiene checklists, and stats 2026-04-13 21:19:52 +02:00
optimizable fix(ai): P0 — tool exception handling + mission run mutex 2026-04-16 16:17:08 +02:00
plans feat(invoices): M7 dashboard widget + tests + plan status 2026-04-20 16:38:18 +02:00
postmortems chore: tidy root files + reorganize a few stale docs 2026-04-08 12:15:27 +02:00
reports docs(invoices): ClubDesk vs. Mana comparison + invoices module plan 2026-04-20 15:27:57 +02:00
test-examples chore: complete ManaCore → Mana rename (docs, go modules, plists, images) 2026-04-07 12:26:10 +02:00
ANALYTICS.md refactor: rename zitare -> quotes (Zitate) 2026-04-14 20:59:16 +02:00
APP_GAP_ANALYSIS.md chore: misc fixes, new services, lockfile cleanup 2026-03-28 10:27:35 +01:00
APP_ONBOARDING.md chore: complete ManaCore → Mana rename (docs, go modules, plists, images) 2026-04-07 12:26:10 +02:00
ARCHITECTURE_MIGRATION_REPORT.md refactor: rename zitare -> quotes (Zitate) 2026-04-14 20:59:16 +02:00
CAPACITY_PLANNING.md refactor: rename zitare -> quotes (Zitate) 2026-04-14 20:59:16 +02:00
CARDS_POSTGRES_MIGRATION.md chore: complete ManaCore → Mana rename (docs, go modules, plists, images) 2026-04-07 12:26:10 +02:00
CLOUDFLARE_DOMAINS.md refactor: rename zitare -> quotes (Zitate) 2026-04-14 20:59:16 +02:00
CLOUDFLARE_FALLBACK.md refactor: rename nutriphi module to food (Essen) 2026-04-14 15:30:07 +02:00
CLUSTER_HARDWARE_ANALYSE.md rename(taktik): rebrand to Times 2026-03-30 15:44:18 +02:00
complexity-hotspots.md chore(audit): module complexity reports + workbench map 2026-04-14 19:47:42 +02:00
complexity-map.html chore(audit): module complexity reports + workbench map 2026-04-14 19:47:42 +02:00
CONTEXT_INTELLIGENCE_REPORT.md docs: add Context Intelligence research report 2026-04-14 19:50:25 +02:00
DATABASE_MIGRATIONS.md chore: complete ManaCore → Mana rename (docs, go modules, plists, images) 2026-04-07 12:26:10 +02:00
DEPLOYMENT.md chore: complete ManaCore → Mana rename (docs, go modules, plists, images) 2026-04-07 12:26:10 +02:00
DEVELOPMENT_SCRIPTS.md chore: complete ManaCore → Mana rename (docs, go modules, plists, images) 2026-04-07 12:26:10 +02:00
DEVLOG_GUIDELINES.md feat: rename ManaCore to Mana across entire codebase 2026-04-05 20:00:13 +02:00
DISCORD_NOTIFICATIONS_SETUP.md feat: rename ManaCore to Mana across entire codebase 2026-04-05 20:00:13 +02:00
DOCKER_GUIDE.md chore: complete ManaCore → Mana rename (docs, go modules, plists, images) 2026-04-07 12:26:10 +02:00
ENVIRONMENT_VARIABLES.md feat(env): persistent dev secrets via .env.secrets override 2026-04-08 17:50:37 +02:00
ERROR_TRACKING.md refactor: rename zitare -> quotes (Zitate) 2026-04-14 20:59:16 +02:00
EXPO_SDK_UPGRADE.md chore: complete ManaCore → Mana rename (docs, go modules, plists, images) 2026-04-07 12:26:10 +02:00
EXTERNAL_SERVICES.md refactor: rename zitare -> quotes (Zitate) 2026-04-14 20:59:16 +02:00
EXTERNAL_SSD_OPPORTUNITIES.md refactor: rename nutriphi module to food (Essen) 2026-04-14 15:30:07 +02:00
FIX_COLIMA_MOUNTS.md chore: complete ManaCore → Mana rename (docs, go modules, plists, images) 2026-04-07 12:26:10 +02:00
GIT_WORKFLOW.md chore: complete ManaCore → Mana rename (docs, go modules, plists, images) 2026-04-07 12:26:10 +02:00
I18N.md chore: complete ManaCore → Mana rename (docs, go modules, plists, images) 2026-04-07 12:26:10 +02:00
LOCAL_DEVELOPMENT.md refactor: rename zitare -> quotes (Zitate) 2026-04-14 20:59:16 +02:00
LOCAL_LLM_MODELS.md feat: rename ManaCore to Mana across entire codebase 2026-04-05 20:00:13 +02:00
LOCAL_STT_MODELS.md 📝 docs: add design UX guidelines and local model documentation 2026-01-27 01:32:31 +01:00
MAC_MINI_SERVER.md fix(mana-auth) + chore: rewrite /api/v1/auth/login JWT mint, remove Matrix stack 2026-04-08 16:32:13 +02:00
MAIL_SERVER.md feat: rename ManaCore to Mana across entire codebase 2026-04-05 20:00:13 +02:00
MANA_BOX_HARDWARE.md rename(taktik): rebrand to Times 2026-03-30 15:44:18 +02:00
MANA_EARNING_SYSTEM.md refactor: rename zitare -> quotes (Zitate) 2026-04-14 20:59:16 +02:00
MANA_VALUES.md feat: rename ManaCore to Mana across entire codebase 2026-04-05 20:00:13 +02:00
MICROSERVICES_API_OVERVIEW.md refactor: rename zitare -> quotes (Zitate) 2026-04-14 20:59:16 +02:00
MOBILE_DESKTOP_APP_STRATEGY.md feat: rename ManaCore to Mana across entire codebase 2026-04-05 20:00:13 +02:00
module-coupling.md chore(audit): module complexity reports + workbench map 2026-04-14 19:47:42 +02:00
module-health.md chore(audit): module complexity reports + workbench map 2026-04-14 19:47:42 +02:00
MODULE_REGISTRY.md docs: add Apr 16 devlog, remove duplicate devlogs, update MODULE_REGISTRY 2026-04-17 15:27:00 +02:00
MONETIZATION_REPORT.md refactor: rename zitare -> quotes (Zitate) 2026-04-14 20:59:16 +02:00
MONITORING.md refactor: rename zitare -> quotes (Zitate) 2026-04-14 20:59:16 +02:00
OBSERVABILITY_GAPS.md chore: complete ManaCore → Mana rename (docs, go modules, plists, images) 2026-04-07 12:26:10 +02:00
OLLAMA_MODELS.md chore: complete ManaCore → Mana rename (docs, go modules, plists, images) 2026-04-07 12:26:10 +02:00
PLAN_TAURI_V2.md chore: complete ManaCore → Mana rename (docs, go modules, plists, images) 2026-04-07 12:26:10 +02:00
PORT_SCHEMA.md feat(research): add mana-research service — Phase 1 + 2 2026-04-17 14:42:25 +02:00
POSTGRES_BACKUP.md fix(infra): simplify PostgreSQL backup to pg_dumpall + pg_basebackup 2026-03-24 11:39:20 +01:00
PRE_LAUNCH_CLEANUP.md refactor: rename zitare -> quotes (Zitate) 2026-04-14 20:59:16 +02:00
PROD_READINESS_SCORE.md feat: rename ManaCore to Mana across entire codebase 2026-04-05 20:00:13 +02:00
PROJECT_OVERVIEW.md refactor: rename nutriphi module to food (Essen) 2026-04-14 15:30:07 +02:00
PWA_GUIDE.md refactor: rename zitare -> quotes (Zitate) 2026-04-14 20:59:16 +02:00
RECOMMENDED_SERVICES.md refactor: rename zitare -> quotes (Zitate) 2026-04-14 20:59:16 +02:00
REFACTORING_AUDIT_2026_04.md refactor: rename nutriphi module to food (Essen) 2026-04-14 15:30:07 +02:00
SEPA_ACTIVATION_CHECKLIST.md chore: complete ManaCore → Mana rename (docs, go modules, plists, images) 2026-04-07 12:26:10 +02:00
SETUP_TEMPLATES.md refactor: rename zitare -> quotes (Zitate) 2026-04-14 20:59:16 +02:00
SHARED_PACKAGES_ROADMAP.md chore: complete ManaCore → Mana rename (docs, go modules, plists, images) 2026-04-07 12:26:10 +02:00
SYNC_BILLING_PLAN.md feat(credits): add sync billing — monthly credit subscription for cloud sync 2026-04-10 22:21:58 +02:00
TECH_STACK_INDEPENDENCE.md refactor: rename nutriphi module to food (Essen) 2026-04-14 15:30:07 +02:00
TECHNOLOGY_AUDIT_2026_03.md refactor: rename zitare -> quotes (Zitate) 2026-04-14 20:59:16 +02:00
TESTING_DEPLOYMENT_CHECKLIST.md chore: complete ManaCore → Mana rename (docs, go modules, plists, images) 2026-04-07 12:26:10 +02:00
URL_SCHEMA.md refactor: rename zitare -> quotes (Zitate) 2026-04-14 20:59:16 +02:00
USER_SETTINGS.md refactor: rename zitare -> quotes (Zitate) 2026-04-14 20:59:16 +02:00
VERSIONING.md refactor: rename zitare -> quotes (Zitate) 2026-04-14 20:59:16 +02:00
WHO_MODULE.md docs(who): RFC for the historical-figure guessing module 2026-04-09 13:08:07 +02:00
WINDOWS_GPU_SERVER_SETUP.md fix(mana-voice-bot): move default port 3050 → 3024 + Windows GPU deployment notes 2026-04-08 13:14:57 +02:00