Automate transition: carried-over securities auto-appear in next phase, sale proceeds tracked as incoming capital with allocation status indicators
Deploy App / deploy (push) Successful in 1m27s
Deploy App / deploy (push) Successful in 1m27s
This commit is contained in:
@@ -0,0 +1,6 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE "Phase" ADD COLUMN "incomingCapital" DOUBLE PRECISION NOT NULL DEFAULT 0;
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE "Security" ADD COLUMN "carriedBaseValue" DOUBLE PRECISION NOT NULL DEFAULT 0,
|
||||
ADD COLUMN "carriedFromSecurityId" TEXT;
|
||||
+27
-17
@@ -104,14 +104,17 @@ model Plan {
|
||||
|
||||
// Ein Lebensabschnitt innerhalb eines Plans
|
||||
model Phase {
|
||||
id String @id @default(cuid())
|
||||
planId String
|
||||
plan Plan @relation(fields: [planId], references: [id], onDelete: Cascade)
|
||||
sequenceNumber Int
|
||||
name String
|
||||
durationYears Int
|
||||
inflationRate Float?
|
||||
incomeMode IncomeMode @default(HOUSEHOLD)
|
||||
id String @id @default(cuid())
|
||||
planId String
|
||||
plan Plan @relation(fields: [planId], references: [id], onDelete: Cascade)
|
||||
sequenceNumber Int
|
||||
name String
|
||||
durationYears Int
|
||||
inflationRate Float?
|
||||
incomeMode IncomeMode @default(HOUSEHOLD)
|
||||
// Aus Verkaeufen im Uebergang aus der Vorphase verfuegbares Startkapital (wird beim
|
||||
// Speichern des Uebergangs automatisch gesetzt, siehe PhaseTransition).
|
||||
incomingCapital Float @default(0)
|
||||
|
||||
incomeEntries IncomeEntry[]
|
||||
expenseEntries ExpenseEntry[]
|
||||
@@ -152,16 +155,23 @@ model ExpenseEntry {
|
||||
|
||||
// Eine Wertschrift innerhalb einer Phase (inkl. jaehrlichem Sparbeitrag)
|
||||
model Security {
|
||||
id String @id @default(cuid())
|
||||
phaseId String
|
||||
phase Phase @relation(fields: [phaseId], references: [id], onDelete: Cascade)
|
||||
name String
|
||||
startValue Float
|
||||
expectedReturn Float
|
||||
annualContribution Float @default(0)
|
||||
ownerTag OwnerTag @default(HOUSEHOLD)
|
||||
id String @id @default(cuid())
|
||||
phaseId String
|
||||
phase Phase @relation(fields: [phaseId], references: [id], onDelete: Cascade)
|
||||
name String
|
||||
startValue Float
|
||||
expectedReturn Float
|
||||
annualContribution Float @default(0)
|
||||
ownerTag OwnerTag @default(HOUSEHOLD)
|
||||
// Steuersatz auf Verkaufsgewinn bei Uebernahme in PhaseTransitionItem (Default 0%, siehe Kap. 9)
|
||||
saleTaxRate Float @default(0)
|
||||
saleTaxRate Float @default(0)
|
||||
// Baseline-Wert bei automatischer Uebernahme aus der Vorphase (0 bei manuell angelegten
|
||||
// Wertschriften). Dient dazu, im UI zu erkennen, wie viel vom verfuegbaren Startkapital
|
||||
// bereits (on top of der Uebernahme) zugewiesen wurde.
|
||||
carriedBaseValue Float @default(0)
|
||||
// Verweist auf die Wertschrift der Vorphase, aus der automatisch uebernommen wurde
|
||||
// (nur intern zur Deduplizierung bei wiederholtem Speichern des Uebergangs, kein FK).
|
||||
carriedFromSecurityId String?
|
||||
|
||||
transitionItems PhaseTransitionItem[]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user