Share Transfer

Moving shares from one member to another, under board resolution — and the register of every transfer made.
@if (totals) {
{{ totals.transferCount | number }}
Transfers
{{ totals.pendingCount | number }}
Awaiting Approval
{{ totals.sharesTransferred | number }}
Shares Transferred
₹{{ totals.valueTransferred | number: '1.2-2' }}
Value Transferred
}
@if (tab === 'new') {
@if (fromOptions.length && !fromAccount) {
@for (opt of fromOptions; track opt.id) { }
}
@if (toOptions.length && !toAccount) {
@for (opt of toOptions; track opt.id) { }
}
@if (fromAccount && toAccount && shares) {
{{ shares | number }} shares of {{ fromAccount.productName }} move from {{ fromAccount.clientName }} ({{ fromAccount.accountNo }}) to {{ toAccount.clientName }} ({{ toAccount.accountNo }}). Share capital does not change — only the register does. Nothing moves until a checker approves it.
}
@if (submitError) {
{{ submitError }}
} @if (submitSuccess) {
{{ submitSuccess }}
} }
@if (loading) {
Loading the transfer register…
} @else if (loadError) {
{{ loadError }}
} @else if (!rows.length) {
No share transfer has been recorded yet.
} @else if (!filteredRows.length) {
No transfer matches the filters applied.
} @else {
@for (row of filteredRows; track row.transferId) { }
Reference Date From To Product Shares Value Board Resolution Status Action
{{ row.transferReference }} {{ row.transferDate }} {{ row.fromClientName }}
{{ row.fromAccountNo }}
{{ row.toClientName }}
{{ row.toAccountNo }}
{{ row.productName }} {{ row.shares | number }} ₹{{ row.transferAmount | number: '1.2-2' }} {{ row.resolutionNumber || '—' }} @if (row.meetingDate) {
{{ row.meetingDate }}
}
{{ statusLabel(row.status) }} @if (row.status === 'REJECTED' && row.rejectionReason) {
{{ row.rejectionReason }}
} @if (row.status !== 'PENDING' && row.checkerName) {
by {{ row.checkerName }}
}
@if (row.status === 'PENDING') { } @else { {{ row.actionedOn || '—' }} }
}