feat(investment): FD TDS fields, GOI interest to the paisa, compact home reminders, deal no in holdings and settle guard
This commit is contained in:
@@ -106,6 +106,9 @@
|
||||
@if (f.closureTds) {
|
||||
· TDS ₹{{ f.closureTds | number: '1.2-2' }}
|
||||
}
|
||||
@if (f.closurePenal) {
|
||||
· penal ₹{{ f.closurePenal | number: '1.2-2' }}
|
||||
}
|
||||
</small>
|
||||
}
|
||||
@if (f.renewedFromDealNo) {
|
||||
@@ -240,7 +243,14 @@
|
||||
/></label>
|
||||
<label class="inv-form-field"
|
||||
><span>Maturity Amount</span
|
||||
><input type="text" [value]="'₹' + (q.expectedMaturityAmount | number: '1.2-2')" readonly
|
||||
><input
|
||||
type="text"
|
||||
[value]="
|
||||
q.expectedMaturityAmount === null || q.expectedMaturityAmount === undefined
|
||||
? ''
|
||||
: '₹' + (q.expectedMaturityAmount | number: '1.2-2')
|
||||
"
|
||||
readonly
|
||||
/></label>
|
||||
@if (q.payout !== 'MATURITY') {
|
||||
<label class="inv-form-field"
|
||||
@@ -416,12 +426,18 @@
|
||||
<div class="inv-form-grid">
|
||||
<label class="inv-form-field"
|
||||
><span>Amount received from Bank (₹)</span
|
||||
><input type="number" min="0" [(ngModel)]="payoutReceived" [placeholder]="r.grossInterest"
|
||||
/></label>
|
||||
<label class="inv-form-field"
|
||||
><span>TDS deducted (₹)</span
|
||||
><input type="number" min="0" [(ngModel)]="payoutTds" placeholder="0"
|
||||
><input
|
||||
type="number"
|
||||
min="0"
|
||||
[(ngModel)]="payoutReceived"
|
||||
[placeholder]="r.grossInterest - (r.tds || 0)"
|
||||
/></label>
|
||||
@if (s.fd.tdsRate) {
|
||||
<label class="inv-form-field"
|
||||
><span>TDS deducted (₹) · auto at {{ s.fd.tdsRate }}%</span
|
||||
><input type="number" min="0" [(ngModel)]="payoutTds" [placeholder]="r.tds || 0"
|
||||
/></label>
|
||||
}
|
||||
<label class="inv-form-field">
|
||||
<span>Received into</span>
|
||||
<select [(ngModel)]="payoutBankGlAccountId">
|
||||
@@ -432,8 +448,13 @@
|
||||
</label>
|
||||
</div>
|
||||
<small
|
||||
>Leave the amount blank to take the system's interest. Voucher: Dr bank + Dr 100602 TDS / Cr
|
||||
100603 (provisioned) + Cr interest income (the rest).</small
|
||||
>Leave the amount blank to take the system's interest.
|
||||
@if (s.fd.tdsRate) {
|
||||
Leave TDS blank to work it out at {{ s.fd.tdsRate }}%; enter the bank's figure if it differs.
|
||||
} @else {
|
||||
{{ s.fd.partyName }} does not deduct TDS (Bank / Party Master).
|
||||
}
|
||||
Voucher: Dr bank + Dr 100602 TDS / Cr 100603 (provisioned) + Cr interest income (the rest).</small
|
||||
>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -506,10 +527,17 @@
|
||||
[placeholder]="closure.type === 'PREMATURE' ? '' : (closureQuote?.receivedAmount ?? '')"
|
||||
(change)="refreshClosureQuote()"
|
||||
/></label>
|
||||
<label class="inv-form-field"
|
||||
><span>TDS deducted by Bank (₹)</span
|
||||
><input type="number" min="0" [(ngModel)]="closure.tds" placeholder="0" (change)="refreshClosureQuote()"
|
||||
/></label>
|
||||
@if (closureFd?.tdsRate) {
|
||||
<label class="inv-form-field"
|
||||
><span>TDS deducted by Bank (₹) · auto at {{ closureFd?.tdsRate }}%</span
|
||||
><input
|
||||
type="number"
|
||||
min="0"
|
||||
[(ngModel)]="closure.tds"
|
||||
[placeholder]="closureQuote?.tds ?? ''"
|
||||
(change)="refreshClosureQuote()"
|
||||
/></label>
|
||||
}
|
||||
@if (closure.type === 'PREMATURE') {
|
||||
<label class="inv-form-field"
|
||||
><span>Penal Interest (₹)</span
|
||||
@@ -519,7 +547,7 @@
|
||||
@if (closure.type !== 'RENEWAL') {
|
||||
<label class="inv-form-field">
|
||||
<span>Principal received into</span>
|
||||
<select [(ngModel)]="closure.principalBankGlAccountId">
|
||||
<select [(ngModel)]="closure.principalBankGlAccountId" (ngModelChange)="refreshClosureQuote()">
|
||||
@for (g of bankGlOptions; track g.id) {
|
||||
<option [ngValue]="g.id">{{ g.glCode }} — {{ g.name }}</option>
|
||||
}
|
||||
@@ -527,7 +555,7 @@
|
||||
</label>
|
||||
<label class="inv-form-field">
|
||||
<span>Interest received into</span>
|
||||
<select [(ngModel)]="closure.interestBankGlAccountId">
|
||||
<select [(ngModel)]="closure.interestBankGlAccountId" (ngModelChange)="refreshClosureQuote()">
|
||||
@for (g of bankGlOptions; track g.id) {
|
||||
<option [ngValue]="g.id">{{ g.glCode }} — {{ g.name }}</option>
|
||||
}
|
||||
@@ -601,7 +629,7 @@
|
||||
}}
|
||||
— {{ closureTopUp > 0 ? 'paid from' : 'credited to' }}</span
|
||||
>
|
||||
<select [(ngModel)]="closure.diffBankGlAccountId">
|
||||
<select [(ngModel)]="closure.diffBankGlAccountId" (ngModelChange)="refreshClosureQuote()">
|
||||
<option [ngValue]="null">-- Select --</option>
|
||||
@for (g of bankGlOptions; track g.id) {
|
||||
<option [ngValue]="g.id">{{ g.glCode }} — {{ g.name }}</option>
|
||||
@@ -659,6 +687,12 @@
|
||||
}
|
||||
</tbody>
|
||||
</table>
|
||||
@if (closure.type === 'RENEWAL' && closureTopUp !== 0 && !closure.diffBankGlAccountId) {
|
||||
<p class="pg-sub" style="padding: 0 16px; color: #b42318">
|
||||
Choose the bank for the {{ closureTopUp > 0 ? 'extra amount' : 'amount taken out' }} to complete the
|
||||
voucher.
|
||||
</p>
|
||||
}
|
||||
<p class="pg-sub" style="padding: 0 16px">
|
||||
Voucher dated {{ q.closeDate }}. The lines follow the amounts entered above.
|
||||
</p>
|
||||
|
||||
Reference in New Issue
Block a user