@if (documentIdentifier) { {{ 'labels.heading.Add Client Identifier' | translate }} } @else { {{ 'labels.heading.Upload' | translate }} {{ entityType }} {{ 'labels.heading.Documents' | translate }} }

@if (documentIdentifier) {
KYC Document Upload

Upload KYC documents as per RBI guidelines. Accepted: JPG, PNG, PDF — max 5MB each.

@if (loadingProofs) {
Loading document types…
}

Identity proof

Select document type — upload requirements will update automatically

@if (clientName) {
Full name (from registration) {{ clientName }}
}
@if (selectedIdProof) {
} @if (selectedIdProof?.info) {
{{ selectedIdProof.info }}
} @if (selectedIdProof) {
{{ selectedIdProof.sides === 2 ? 'Front side' : selectedIdProof.name + ' (single copy)' }} Required
@if (selectedIdProof.sides === 2) {
Back side Required
}
@if (idMergedPreview && selectedIdProof?.sides === 2) {
Combined preview (front + back) Saved as a single PNG. Re-crop a side to update the merged file.
Merged ID document
} }

Address proof

Select document type — upload requirements will update automatically

@if (clientAddress) {
Permanent address (from registration) {{ clientAddress }}
} @else {
No permanent address found on file. Add one in the Address tab first.
}
@for (group of addressGroups; track group.label; let last = $last) {
{{ group.label }}
@for (p of group.items; track p.id) { @if (isAddrProofSelected(p)) { } @else { } {{ p.name }} }
@if (!last) {
} }
@if (selectedAddrProof?.info) {
{{ selectedAddrProof.info }}
} @if (selectedAddrProof) {
{{ selectedAddrProof.sides === 2 ? 'Front side' : selectedAddrProof.name + ' (single copy)' }} Required
@if (selectedAddrProof.sides === 2) {
Back side Required
} @if (selectedAddrProof.requiresDate) {
}
@if (addrMergedPreview && selectedAddrProof?.sides === 2) {
Combined preview (front + back) Saved as a single PNG. Re-crop a side to update the merged file.
Merged address document
} }
@if (isIdComplete()) { } Identity proof @if (isAddressComplete()) { } Address proof Fill in at least one section
} @else {
{{ 'labels.inputs.File Name' | translate }} @if (uploadDocumentForm.controls.fileName.hasError('required')) { {{ 'labels.inputs.File Name' | translate }} {{ 'labels.commons.is' | translate }} {{ 'labels.commons.required' | translate }} }
{{ 'labels.inputs.Description' | translate }}
}