Private
Public Access
1
0

Use daily per-diem for payoff calculation and rename dashboard bills section

Payoff quotes always use daily per-diem interest (rate/365 × days) regardless
of loan type. Rename "Upcoming Bills" to "Upcoming Transactions" on dashboard.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Catherine Renelle
2026-02-14 22:32:01 -05:00
parent f148b35ab2
commit 0392fc4690
2 changed files with 4 additions and 9 deletions
@@ -86,7 +86,7 @@
<v-col cols="12" md="6">
<v-card>
<v-card-title><v-icon class="mr-2">mdi-calendar-clock</v-icon>Upcoming Bills</v-card-title>
<v-card-title><v-icon class="mr-2">mdi-calendar-clock</v-icon>Upcoming Transactions</v-card-title>
<v-list density="compact">
<v-list-item v-for="bill in dashboard.upcomingBills" :key="bill.id">
<v-list-item-title>{{ bill.payeeName }}</v-list-item-title>
@@ -96,7 +96,7 @@
</template>
</v-list-item>
<v-list-item v-if="!dashboard.upcomingBills.length">
<v-list-item-title class="text-center text-medium-emphasis">No upcoming bills</v-list-item-title>
<v-list-item-title class="text-center text-medium-emphasis">No upcoming transactions</v-list-item-title>
</v-list-item>
</v-list>
</v-card>
+2 -7
View File
@@ -291,13 +291,10 @@ const filteredSchedule = computed(() => {
return loanDetail.value.amortizationSchedule.filter(e => e.paymentDate.split('T')[0] >= today)
})
const dailyAccrualTypes = ['AutoLoan', 'LineOfCredit']
const payoffAmount = computed(() => {
if (!loanDetail.value || !props.id) return null
const balance = Math.abs(loanDetail.value.currentBalance)
if (balance === 0) return 0
const account = accountsStore.accounts.find(a => a.id === props.id)
if (!account) return balance
const rate = loanDetail.value.interestRate / 100
const today = new Date()
const todayStr = today.toISOString().split('T')[0]
@@ -308,10 +305,8 @@ const payoffAmount = computed(() => {
const todayMidnight = new Date(todayStr + 'T00:00:00')
const days = Math.round((todayMidnight.getTime() - lastDate.getTime()) / 86400000)
if (days <= 0) return balance
const isDailyAccrual = dailyAccrualTypes.includes(account.type)
const accruedInterest = isDailyAccrual
? balance * rate / 365 * days
: balance * rate / 12 * (days / 30)
// Payoff quotes always use daily per-diem interest regardless of loan type
const accruedInterest = balance * rate / 365 * days
return balance + accruedInterest
})