Reserve Fund Configuration

The reserve funds the bank keeps, the percentage of each year's net profit appropriated to each, and the GL account each one is credited to. Whatever is not appropriated stays in profit.

@if (errorMsg) {
{{ errorMsg }}
} @if (successMsg) {
{{ successMsg }}
} @if (loading) {
Loading…
} @else {
Profit is taken from @switch (profitSource.state) { @case ('mapped') { @if (profitSource.state === 'mapped') { {{ profitSource.glCode }} · {{ profitSource.glName }} } The GL mapped to Distributable Profit. The year-end close posts the year's net profit into it, and each reserve below is credited from it. } @case ('unmapped') { No profit GL is mapped Map a GL to Distributable Profit before any profit can be appropriated. } @case ('unknown') { The GL mapped to Distributable Profit You do not have access to view the financial activity mappings. } @default { Loading… } }
@if (profitSource.state === 'mapped') { Change } @else if (profitSource.state === 'unmapped') { Map profit GL }

Reserve funds

Only postable equity and liability accounts are listed, and each account can back one reserve only. A reserve can be saved before its GL account exists; it cannot receive an appropriation until one is selected.

@if (rows.length) {
@for (row of rows; track row.rowId; let i = $index) { }
# Reserve / fund Credited to (GL) % of profit @if (profitSource.state === 'mapped') { from {{ profitSource.glCode }} }
{{ i + 1 }} @if (isNameDuplicate(row)) { Listed twice } — Not selected — @for (o of availableAccounts(row); track o.id) { {{ o.glCode }} · {{ o.name }} } @if (row.glAccountId == null) { GL not selected } %
Total appropriated {{ totalPercentage }}%
Remaining in profit {{ remainingPercentage }}%
} @else {
No reserve fund is configured yet. Add one to begin.
} @if (overLimit) {
The reserves add up to {{ totalPercentage }}% of net profit. The total cannot exceed 100%.
} @if (unmappedCount > 0) {
{{ unmappedCount }} reserve{{ unmappedCount === 1 ? ' has' : 's have' }} no GL account yet. Create the account in Chart of Accounts if needed, then select it here.
}
@if (dirty && !saving) { } @if (updatedOn) { Last saved {{ updatedOn | slice: 0 : 16 }} @if (updatedBy) { by {{ updatedBy }} } }

Post to reserves

Moves a closed year's profit out of the profit GL into the reserve GLs above, at their percentages — one journal entry, dated the last day of the year. Each year can be posted once.

@if (postingError) {
{{ postingError }}
} @if (postingSuccess) {
{{ postingSuccess }}
}
Financial year @for (fy of posting?.financialYearOptions || []; track fy) { FY {{ fy }} } @if (posting) {
Profit in {{ posting.profitGlCode || 'profit GL' }} ₹{{ posting.profitAmount | number: '1.2-2' }}
@if (posting.posted) { Posted } @else if (posting.yearClosed) { Year closed } @else { Year not closed }
}
@if (postingLoading) {
Loading…
} @else if (posting) {
@for (l of posting.lines || []; track $index) { }
Reserve / fund Credited to (GL) % Amount
{{ l.reserveName }} @if (l.glCode) { {{ l.glCode }} · {{ l.glAccountName }} } @else { GL not selected } {{ l.percentage }}% ₹{{ l.amount | number: '1.2-2' }}
{{ posting.posted ? 'Posted to reserves' : 'To be posted to reserves' }} ₹{{ posting.totalAmount | number: '1.2-2' }}
Remaining in {{ posting.profitGlCode || 'profit GL' }} ₹{{ posting.remainingAmount | number: '1.2-2' }}
@if (posting.posted) {

Posted on {{ posting.postedOnDate }} by {{ posting.postedBy || '—' }} · Transaction {{ posting.glTransactionId }} @if (posting.note) { · {{ posting.note }} }

} @else { @for (b of posting.blockers || []; track $index) {
{{ b }}
} @if (dirty) {
Save the reserve changes above first — posting uses the saved configuration.
}
Note (e.g. AGM / board resolution no.) @if (!postingConfirm) { } @else { Post ₹{{ posting.totalAmount | number: '1.2-2' }} from {{ posting.profitGlCode }} for FY {{ postingYear }}? This cannot be undone here. }
} }
}