feat(handelsware-datev): API, Kontenliste mit Zeilenschutz und DATEV-Export
- Prisma-Modelle HandelswareDatevConfig und HandelswareKonto mit Zeilenschutz (Migration 20261002130000) - XLSX lesen (B1 Kopf, A/B ab Zeile 2, Zahl oder deutscher Text), Konten zuordnen, TXT erzeugen - neue Konten werden nur beim Export in einer mandantengebundenen Transaktion gespeichert (409 bei geaenderter Liste) - Konten-CSV Import (alles ersetzen) und Export mit Schutz vor Formeleinschleusung - Einstellungen nur fuer Administratoren, statische Routen vor accounts/:id Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -361,6 +361,39 @@ model KantineDatevConfig {
|
||||
@@index([tenantId])
|
||||
}
|
||||
|
||||
// quick-261002-fm5: Handelsware (Modul handelsware-datev). Einstellungen je
|
||||
// Mandant (Singleton wie KantineDatevConfig): Standard-Erloeskonto fuer neue
|
||||
// Konten und Startwert fuer die Gegenkonto-Vergabe bei leerer Kontenliste.
|
||||
// Beide Zahlen haben bewusst KEINEN Standardwert — der Administrator hinterlegt
|
||||
// sie einmalig, bis dahin ist die Verarbeitung gesperrt.
|
||||
model HandelswareDatevConfig {
|
||||
id String @id @default(uuid())
|
||||
tenantId String @unique
|
||||
erloeskonto Int?
|
||||
startGegenkonto Int?
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
|
||||
@@index([tenantId])
|
||||
}
|
||||
|
||||
// quick-261002-fm5: Kontenliste der Handelsware (Produktname -> Gegenkonto,
|
||||
// Erloeskonto). Der Name ist je Mandant eindeutig; das Gegenkonto bewusst
|
||||
// NICHT (mehrere Produkte duerfen auf dasselbe Gegenkonto laufen, wie in der
|
||||
// Desktop-Vorlage). Keine Relation zu Tenant, Zeilenschutz nach ProxmoxServer.
|
||||
model HandelswareKonto {
|
||||
id String @id @default(uuid())
|
||||
tenantId String
|
||||
name String
|
||||
gegenkonto Int
|
||||
erloeskonto Int
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
|
||||
@@unique([tenantId, name])
|
||||
@@index([tenantId])
|
||||
}
|
||||
|
||||
// Phase 14, Plan 03 (INGEST-05, CONFIG-02, D-06/D-07) — per-tenant portal-
|
||||
// alert mailbox config, mirroring DkvModuleConfig's shape/pattern exactly
|
||||
// (own tenantId @unique row, own encrypted creds — D-03: each module keeps
|
||||
|
||||
Reference in New Issue
Block a user