diff --git a/src/app/cashier/transaction-entry/transaction-entry.component.html b/src/app/cashier/transaction-entry/transaction-entry.component.html index b260d1a8c..8b912fca7 100644 --- a/src/app/cashier/transaction-entry/transaction-entry.component.html +++ b/src/app/cashier/transaction-entry/transaction-entry.component.html @@ -267,7 +267,7 @@ > } - @if (row.acTyp === 'SHR' && row.typ === 'Enter Bank Transfer') { + @if (row.acTyp === 'SHR' && (row.typ === 'Enter Bank Transfer' || row.typ === 'Fund Transfer')) {
}
- @if (row.acTyp === 'SHR' && row.typ === 'Enter Bank Transfer') { + @if ( + row.acTyp === 'SHR' && (row.typ === 'Enter Bank Transfer' || row.typ === 'Fund Transfer') + ) {
!pt.isCashPayment); } const isShareSettlementCredit = - row.typ === 'Enter Bank Transfer' && + (row.typ === 'Enter Bank Transfer' || row.typ === 'Fund Transfer') && row.dbCr === 'Cr' && - this.rows.some((r) => r.typ === 'Enter Bank Transfer' && r.dbCr === 'Dr' && r.acTyp === 'SHR'); + this.rows.some( + (r) => (r.typ === 'Enter Bank Transfer' || r.typ === 'Fund Transfer') && r.dbCr === 'Dr' && r.acTyp === 'SHR' + ); if (isShareSettlementCredit) { return tellerFacing.filter((pt: any) => !pt.isCashPayment); } @@ -3694,8 +3696,15 @@ export class TransactionEntryComponent implements OnInit, OnDestroy { } onSave(): void { - // Clerk bank transfer — N DR savings/CA + N CR savings/CA, immediate execution - if (this.isClerk && this.rows.length >= 2 && this.rows.every((r) => r.typ === 'Enter Bank Transfer')) { + // Clerk bank transfer — N DR savings/CA + N CR savings/CA, immediate execution. 'Fund Transfer' + // is the same flow under a second TYPE label — onTypChange() already defaults it identically to + // 'Enter Bank Transfer', so submission has to recognise both or a share redemption or bank + // transfer raised under this label silently falls through to the wrong branch below. + if ( + this.isClerk && + this.rows.length >= 2 && + this.rows.every((r) => r.typ === 'Enter Bank Transfer' || r.typ === 'Fund Transfer') + ) { const drRows = this.rows.filter((r) => r.dbCr === 'Dr'); const crRows = this.rows.filter((r) => r.dbCr === 'Cr');