{{ 'labels.inputs.Cheque' | translate }} {{ item.chequeNumber }}

{{ 'labels.inputs.Payee Name' | translate }}{{ item.payeeName || '–' }}
{{ 'labels.inputs.Amount' | translate }}{{ item.amount }}
{{ 'labels.inputs.Account' | translate }}{{ item.accountNo || item.accountId || '–' }}
@if (item.clientName) {
Account Holder{{ item.clientName }}
} @if (accountInfo?.availableBalance !== null && accountInfo?.availableBalance !== undefined) {
Available Balance {{ accountInfo!.availableBalance }} @if (balanceSufficient !== null) { {{ balanceSufficient ? 'Sufficient' : 'Insufficient' }} }
} @if ( accountInfo?.onHoldAmount !== null && accountInfo?.onHoldAmount !== undefined && accountInfo!.onHoldAmount !== 0 ) {
Existing Holds on Account{{ accountInfo!.onHoldAmount }}
}
Hold Placed{{ item.holdPlaced ? (item.holdAmount ?? item.amount) : '–' }}

Cheque Image

Click the cheque to go fullscreen, then drag any signer's stored signature from the shelf onto it and resize for a close match.
@if (frontImageUrl) { front } @else {
No front image
} @if (fullscreenActive) { @for (signer of requiredSigners; track $index) { @if (signer.overlayVisible && signer.signatureUrl) {
{{ signer.name }}
signature overlay
} } }
@if (fullscreenActive) {
{{ chequeZoom * 100 | number: '1.0-0' }}% @if (chequeZoom !== 1) { }
@for (signer of requiredSigners; track $index) { @if (signer.signatureUrl) {
signature {{ signer.name }}
} }
}
@if (backImageUrl) { back } @else {
No back image
}

Instrument Details

@if (item.micrCode) {
MICR Code{{ item.micrCode }}
} @if (item.ifsc) {
IFSC{{ item.ifsc }}
} @if (item.instrumentDate) {
Instrument Date{{ item.instrumentDate | dateFormat }}
} @if (item.amountInWords) {
Amount in Words{{ item.amountInWords }}
} @if (item.drawerAccountNumberMasked) {
Drawer A/C (as on cheque){{ item.drawerAccountNumberMasked }}
} @if (item.draweeBankName) {
Drawee Bank{{ item.draweeBankName }}
} @if (item.instrumentTypeDescription || item.instrumentType) {
Instrument Type{{ item.instrumentTypeDescription || item.instrumentType }}
} @if (item.ctsReferenceNumber) {
CTS Reference{{ item.ctsReferenceNumber }}
}

Automatic Validation

@if (item.instrumentStopPaymentFlag) {
Stop payment was flagged on this instrument by the depositing bank.
}
@for (rule of validationRules; track rule.key) { {{ rule.label }} } @if (item.iqaStatus && item.iqaStatus !== 'NA') { IQA: {{ item.iqaStatus }} }
@if (item.iqaDetail) {
{{ item.iqaDetail }}
} @if (item.iqaSubChecks) {
{{ item.iqaSubChecks }}
} @if (item.validationDetail) {
{{ item.validationDetail }}
}

Signature Verification

@if (loadingAccountInfo) {
Loading account signatories…
} @else { @if (accountInfo) {
Mode of Operation: {{ modeOfOperationLabel }}
} @if (showManualOverride) {
Account/signatory details unavailable — I have manually verified this signature
} @else {
{{ signerSelectionMode === 'any' ? 'Any one signatory below may sign — tick the one that matches.' : 'Every mandatory signatory below must be individually confirmed.' }}
@for (signer of requiredSigners; track $index) {
@if (signer.loadingSignature) {
Loading…
} @else if (signer.signatureUrl) { signature } @else {
No signature on file
}
{{ signer.name }} {{ signer.role }}
Signature Matches
} } } @if (isDecided) {

Decision

{{ item.decision }} @if (item.decisionedOn) { on {{ item.decisionedOn | dateFormat }} }
@if (item.returnReasonCode) {
Return Reason Code{{ item.returnReasonCode }}
} @if (item.decisionReason) {
Note{{ item.decisionReason }}
} @if (item.settlementBatchId) {
Settlement Batch#{{ item.settlementBatchId }}
} @else if (item.decision === 'PASS') {
SettlementAwaiting settlement
}
This cheque has already been decided and cannot be decided again — this view is read-only.
} @else {
@if (mode === 'PASS') {
@if (!signatureVerified) {
Signature verification required above before this cheque can be passed.
} {{ 'labels.inputs.Note' | translate }}
} @else {
{{ 'labels.inputs.Return Reason Code' | translate }} @for (c of reasonCodes; track c.id) { {{ c.code }} — {{ c.description }} } {{ 'labels.inputs.Reason' | translate }}
}

Compliance & AML Triage

Flag as suspicious (escalate to STR cases under RBI compliance) Mark as whitelisted (prevent future AML alerts for this account)
}
@if (!isDecided) { }