}
@if (hasStatutoryForm) {
} @else if (awaitingDate) {
{{ promptTitle }}
Choose the date the return is made up to. The base is read at an earlier date than the balances maintained, and
the return states both on its face once it runs.
@if (hasBaseDate) {
Base date (optional)
}
Reporting date
@if (chosenFortnight) {
Fortnight: {{ chosenFortnight }}
@if (hasBaseDate && !baseDate) {
· base will be derived from the 45-day lag
}
{{ data.rateType }} required ({{ data.ratePercentage }}% of NDTL)
{{ amount(data.requiredAmount) }}
{{ data.rateType }} maintained
{{ amount(data.maintainedAmount) }}
{{ isShortfall ? 'Shortfall' : 'Surplus' }}
{{ amount(shortfallAmount) }}
}
@if (data.maintenance; as m) {
Daily maintenance — {{ m.periodLabel || 'this month' }}
@if (!m.fortnightComplete) {
In progress — {{ m.dayCount }} days so far
}
Every day of the month, against the requirement in force. CRR is reckoned over the period rather than on one
day: the full requirement must be held on average, and at least
{{ m.dailyMinimumPercent }}% of it on every single day.
Made up to {{ statutorySecondColumn }}. The base dates above are the matching close one month earlier — change either
one if the bank files on a different base.
} @else {
Enter both fortnight closing dates — the base dates fill in from them.
Day by day — {{ statutory.daily!.from }} to {{ statutory.daily!.to }}
@if (statutory.daily!.crrShortDays || statutory.daily!.slrShortDays) {
@if (statutory.daily!.crrShortDays) {
CRR short on {{ statutory.daily!.crrShortDays }} of {{ statutory.daily!.dayCount }} days.
}
@if (statutory.daily!.slrShortDays) {
SLR short on {{ statutory.daily!.slrShortDays }} of {{ statutory.daily!.dayCount }} days.
}
}
Each day is charged on its own base, which moves at the fortnight boundary. A shortfall shows as a negative.
CRR average held{{ amount(statutory.daily!.crrAverage) }}
lowest {{ amount(statutory.daily!.crrLowest) }} on {{ statutory.daily!.crrLowestOn }}
SLR average held{{ amount(statutory.daily!.slrAverage) }}
lowest {{ amount(statutory.daily!.slrLowest) }} on {{ statutory.daily!.slrLowestOn }}
Days counted{{ statutory.daily!.dayCount }}to {{ statutory.daily!.to }}
Date
Net demand & time liabilities
Section 18 — CRR
Section 24 — SLR
On the day
Charged on
Base amount
Required
Maintained
Surplus / (short)
Required
Maintained
Surplus / (short)
@for (day of statutory.daily!.days; track day.date) {
Returns kept for the record. Each opens exactly as it was saved — the stored statement, not a re-run of today's
ledger, so a figure already reported cannot change underneath it.
@if (canSave) {
Note (optional)
}
@if (savedLoading) {
Loading saved returns…
} @else if (!savedReturns.length) {
Nothing saved yet. Generate a return and press Save to keep it.
} @else {
Reporting date
Period
NDTL
Required
Maintained
Status
Saved
@for (row of savedReturns; track row.id) {
{{ row.reportingDate }}
{{ row.periodStart }} → {{ row.periodEnd }}
{{ amount(row.ndtlAmount) }}
{{ amount(row.requiredAmount) }}
{{ amount(row.maintainedAmount) }}
@for (s of filingStatuses; track s) {
{{ statusLabel(s) }}
}
Saved {{ viewingSaved.createdOn }} by {{ viewingSaved.createdBy || 'unknown' }}. These are the figures as
they stood when it was saved — not today's ledger, which may have moved since.
@if (viewingSaved.remarks) {
“{{ viewingSaved.remarks }}”
}
@if (savedIsStatutory && savedStatutory; as saved) {
{{ saved.formName }}
{{ saved.statutoryReference }}
Particulars
@for (col of saved.columns; track col; let i = $index) {
{{ col }}
{{ saved.columns.length > 2 && i === 2 ? 'base for ratios' : 'fortnight close' }}
@if (saved.baseColumns?.[i]) {
charged on {{ saved.baseColumns[i] }}
}
}
@for (part of savedStatutoryParts; track part.title) {
{{ part.title }}
@for (line of part.lines; track line.label) {
{{ line.label }}
@for (value of line.values || []; track $index) {
{{ amount(value) }}
}
}
}
} @else {
NDTL base{{ amount(savedData.ndtlAmount ?? savedData.dtlAmount) }}as at {{ savedData.basis.dtlAsOnDate }}