Skip to content

NSDL BO Opening — Fields consumed

Why this page is structured this way: This is the destination-first view for NSDL BO Opening. Engineers building an integration with this destination get the complete field list on one page. To see where each field originated in onboarding, follow the per-section links via the atlas overview.

  • 107 unique fields consumed by NSDL BO Opening.
  • Source spans sections: A, B, C, G, H, I, O.
  • 108 rows cite a public spec source; 0 are [industry typical].

Sorted by source_section, then field_id.

source_sectionfield_idfield_namedestination_field_namedestination_formatfrequencytransformationquirks_notesspec_source
AA-aadhaar_numberAadhaar (Masked)AdhaarMskdNbCHAR(12) UDiFFone-timeformattedMasked Aadhaar (first 8 X, last 4 visible) in ISO-tagged element; full Aadhaar prohibited by DPDPNSDL/POLICY/2025/0056
AA-ckyc_numberCKYC NumberCKYCNbCHAR(14) UDiFFone-time[direct]ISO-tagged element; mandatory pipeline DP-KRA-CKYCRR per SEBI June 6, 2024 circularNSDL/POLICY/2024/0086
AA-country_of_birthCountry of BirthCtryOfBirthCHAR(2) UDiFFone-timelookup against RISO 3166-1 alpha-2NSDL/POLICY/2025/0056
AA-date_of_birthDate of BirthBirthDtISODate (YYYY-MM-DD)one-timeformattedISO 8601 date element in UDiFF XML; must match Income Tax Department DOB returned in PAN-flag checkNSDL/POLICY/2024/0041
AA-dinDirector Identification NumberDINCHAR(8) UDiFFone-time[direct]Optional 8-digit elementNSDL/POLICY/2025/0056
AA-father_spouse_flagFather/Spouse FlagFthrSpsFlgCHAR(1) UDiFFone-time[direct]ISO-tagged XML attribute; F=Father, S=SpouseNSDL/POLICY/2025/0056
AA-father_spouse_nameFather/Spouse NameFthrSpsNmVARCHAR(70) UDiFFone-timeuppercaseMandatory ISO-tagged element in BO Upload formatNSDL/POLICY/2025/0056
AA-first_nameFirst NameFrstNmVARCHAR(70) UDiFFone-timeuppercaseISO 20022-style element; UTF-8 in XML; must exactly match Income Tax Department record returned in PAN-flag checkNSDL/POLICY/2024/0041
AA-full_nameFull NameFullNmVARCHAR(200) UDiFFone-timederived from YDerived from FrstNm+MddlNm+LastNm at submission; ISO-tagged elementNSDL/POLICY/2025/0056
AA-genderGenderGndrCHAR(1) UDiFFone-time[direct]ISO 5218 mapped (M/F/T); mandatory elementNSDL/POLICY/2025/0056
AA-last_nameLast NameLastNmVARCHAR(70) UDiFFone-timeuppercaseMandatory in ISO-tagged XML; concatenated FrstNm+MddlNm+LastNm must equal Income Tax record nameNSDL/POLICY/2024/0041
AA-marital_statusMarital StatusMrtlStsCHAR(1) UDiFFone-time[direct]Optional ISO-tagged elementNSDL/POLICY/2025/0056
AA-middle_nameMiddle NameMddlNmVARCHAR(70) UDiFFone-timeuppercaseOptional XML element; omit tag or empty value if not providedNSDL/POLICY/2024/0041
AA-mother_nameMother’s NameMthrNmVARCHAR(70) UDiFFone-timeuppercaseOptional element; included for transmission-to-legal-heir scenarios under TLH frameworkNSDL/POLICY/2025/0126
AA-nationalityNationalityCtryCHAR(2) UDiFFone-timelookup against RISO 3166-1 alpha-2 element; default IN; UDiFF V2.0.0.0 catalogueNSDL/POLICY/2025/0042
AA-pan_aadhaar_seeding_statusPAN-Aadhaar Linkage StatusPANAdhaarLnkStsCHAR(1) UDiFFon-event[direct]Reason code 39 historical; resolved per NSDL/POLICY/2024/0074NSDL/POLICY/2024/0071
AA-pan_exemptPAN Exempt FlagPANExmptFlgCHAR(1) UDiFFone-time[direct]Y/N ISO-tagged element; rare exemption categoryNSDL/POLICY/2025/0056
AA-pan_numberPAN NumberFirstHldrPANNbCHAR(10) UDiFFone-timeuppercaseISO-tagged XML element FirstHldrPANNb; conditionally required per V2.0.0.0; pattern [A-Z]{5}[0-9]{4}[A-Z]; PAN/Aadhaar linkage validated post-openingNSDL/POLICY/2025/0042
AA-pan_verify_statusPAN Flag StatusPANFlgStsCHAR(1) UDiFFon-event[direct]PAN-flag finalization is the final gate 5-7 days post-opening; until then account is restricted; updated via Client Maintenance APINSDL/POLICY/2024/0071
AA-place_of_birthPlace of BirthBirthPlcVARCHAR(50) UDiFFone-time[direct]Optional ISO-tagged elementNSDL/POLICY/2025/0056
AA-prefixName PrefixPrfxVARCHAR(5) UDiFFone-time[direct]Optional prefix elementNSDL/POLICY/2025/0056
AA-residential_statusResidential StatusResdtlStsCHAR(2) UDiFFone-timelookup against RMaps to BO client-type code in BO Upload; NRI triggers PIS account validationNSDL/POLICY/2025/0056
AA-residential_statusNRI Sub-Status CodeBOSubStsCHAR(2) UDiFFone-timelookup against RSub-status code element; NRI/PIO/OCI codes differNSDL/POLICY/2025/0056
BB-corr_address_line1Correspondence Address Line 1AdrLine1VARCHAR(100) UDiFFon-modify[direct]ISO 20022-style address element; UDiFF AdrLine1 within PstlAdr blockNSDL/POLICY/2025/0042
BB-corr_address_line2Correspondence Address Line 2AdrLine2VARCHAR(100) UDiFFon-modify[direct]Optional ISO-tagged elementNSDL/POLICY/2024/0041
BB-corr_address_line3Correspondence Address Line 3AdrLine3VARCHAR(100) UDiFFon-modify[direct]OptionalNSDL/POLICY/2024/0041
BB-corr_address_proof_typeCorrespondence Address Proof TypeAdrPrfTpCHAR(2) UDiFFone-timelookup against RPOA type code element; mandatoryNSDL/POLICY/2025/0056
BB-corr_cityCorrespondence CityTwnNmVARCHAR(50) UDiFFon-modify[direct]ISO 20022 TwnNm element; mandatoryNSDL/POLICY/2024/0041
BB-corr_countryCorrespondence CountryCtryCHAR(2) UDiFFon-modifylookup against RISO 3166-1 alpha-2 country code in PstlAdr blockNSDL/POLICY/2024/0041
BB-corr_pincodeCorrespondence PincodePstCdCHAR(6) UDiFFon-modify[direct]ISO 20022 PstCd element; numeric validationNSDL/POLICY/2024/0041
BB-corr_stateCorrespondence StateCtrySubDvsnCHAR(2) UDiFFon-modifylookup against RISO 3166-2 subdivision (e.g. IN-MH); mandatory; per V2.0.0.0 catalogueNSDL/POLICY/2025/0042
BB-perm_address_line1Permanent Address Line 1PrmnntAdrLine1VARCHAR(100) UDiFFon-modify[direct]ISO-tagged element in PrmnntPstlAdr blockNSDL/POLICY/2024/0041
BB-perm_cityPermanent CityPrmnntTwnNmVARCHAR(50) UDiFFon-modify[direct]Conditional elementNSDL/POLICY/2024/0041
BB-perm_countryPermanent CountryPrmnntCtryCHAR(2) UDiFFon-modifylookup against RISO 3166-1 alpha-2NSDL/POLICY/2024/0041
BB-perm_pincodePermanent PincodePrmnntPstCdCHAR(6) UDiFFon-modify[direct]Numeric pincodeNSDL/POLICY/2024/0041
BB-perm_same_as_corrPermanent Same as CorrespondencePrmnntSameFlgCHAR(1) UDiFFone-time[direct]Y/N element; if Y, permanent address block omitted in XMLNSDL/POLICY/2025/0056
BB-perm_statePermanent StatePrmnntCtrySubDvsnCHAR(2) UDiFFon-modifylookup against RISO 3166-2 subdivision codeNSDL/POLICY/2025/0042
BB-poa_address_same_as_corrPOA Same as CorrespondencePOASameFlgCHAR(1) UDiFFone-time[direct]Y/N elementNSDL/POLICY/2025/0056
CC-alternate_emailAlternate EmailAltEmailAdrVARCHAR(100) UDiFFon-modifylowercaseOptional elementNSDL/POLICY/2025/0056
CC-alternate_mobileAlternate MobileAltMblNbVARCHAR(15) UDiFFon-modify[direct]Optional ISO-tagged elementNSDL/POLICY/2025/0056
CC-emailEmailEmailAdrVARCHAR(100) UDiFFon-modifylowercaseISO-tagged element; mandatory; e-CAS by 12th of month sent hereNSDL/POLICY/2025/0022
CC-email_validatedEmail ValidatedEmailValdtdFlgCHAR(1) UDiFFone-time[direct]Email validation flagNSDL/POLICY/2025/0056
CC-mobile_isd_codeMobile ISD CodeMblISDCdCHAR(5) UDiFFon-modify[direct]ISD code element in MblPhneNb blockNSDL/POLICY/2025/0056
CC-mobile_numberMobile NumberMblNbVARCHAR(15) UDiFFon-modify[direct]ISO 20022 PhneNb pattern; mandatory; OTP-validated via SCORES 2.0 alertsNSDL/POLICY/2025/0056
CC-mobile_validatedMobile ValidatedMblValdtdFlgCHAR(1) UDiFFone-time[direct]OTP validation flagNSDL/POLICY/2025/0056
CC-phone_numberLandline NumberPhneNbVARCHAR(15) UDiFFone-time[direct]Optional ISO-taggedNSDL/POLICY/2024/0041
CC-phone_std_codeLandline STD CodePhneSTDCdCHAR(5) UDiFFone-time[direct]OptionalNSDL/POLICY/2024/0041
GG-account_holder_nameBank Account Holder NameBkAcctHldrNmVARCHAR(100) UDiFFon-modifyuppercaseISO-tagged element; penny-drop verified at broker; CAS uses this for fund settlementNSDL/POLICY/2024/0041
GG-account_numberBank Account NumberAcctNbVARCHAR(18) UDiFFon-modify[direct]ISO 20022 AcctNb element; mandatory; SPICE settlement linkageNSDL/POLICY/2024/0131
GG-account_typeBank Account TypeAcctTpCHAR(2) UDiFFon-modifylookup against RISO 20022-style code element; NRE/NRO links to PIS account checkNSDL/POLICY/2025/0056
GG-bank_account_seqBank Account SequenceBkAcctSeqNbCHAR(1) UDiFFon-modify[direct]Sequence element 1-5NSDL/POLICY/2025/0056
GG-bank_nameBank Name (Payout)BkNmVARCHAR(100) UDiFFon-modifyuppercaseISO 20022 element; payout bank linked at BO level for corporate-action payoutsNSDL/POLICY/2024/0041
GG-bank_proof_typeBank Proof TypeBkPrfTpCHAR(2) UDiFFone-timelookup against RMandatory element in BO UploadNSDL/POLICY/2025/0056
GG-branch_nameBank Branch NameBrnchNmVARCHAR(100) UDiFFon-modifyuppercaseISO-tagged elementNSDL/POLICY/2024/0041
GG-ifsc_codeIFSC CodeIFSCCHAR(11) UDiFFon-modifyuppercaseISO-tagged element; validated against RBI IFSC masterNSDL/POLICY/2024/0041
GG-is_primaryPrimary Bank FlagPrmryBkFlgCHAR(1) UDiFFon-modify[direct]Exactly-one-Y constraint; SPICE settlement uses primary bankNSDL/POLICY/2024/0131
GG-micr_codeMICR CodeMICRCHAR(9) UDiFFon-modify[direct]Optional 9-digit elementNSDL/POLICY/2024/0041
HH-account_statusBO Account StatusAcctStsCHAR(2) UDiFFon-eventlookup against RStatus code element; updated via Client Maintenance APINSDL/POLICY/2024/0012
HH-account_typeBO Account TypeBOAcctTpCHAR(2) UDiFFone-timelookup against RISO-tagged element; sub-type classifications added in 2022 (NSDL/POLICY/2022/126)NSDL/POLICY/2025/0056
HH-bo_idBO IDBOIDCHAR(16) UDiFFone-timeconcat with XFormat IN + 14 alphanumeric (DP ID 8 chars + Client ID 8 chars including ‘IN’ prefix); primary keyNSDL/POLICY/2025/0056
HH-bo_status_codeBO Status CodeBOStsCdCHAR(2) UDiFFone-timelookup against RPrimary BO status code elementNSDL/POLICY/2025/0056
HH-bsda_flagBSDA FlagBSDAFlgCHAR(1) UDiFFone-time[direct]Default Y; opt-out requires email-consent date capture per V2.0.0.0NSDL/POLICY/2024/0122
HH-bsda_optout_consent_dateBSDA Opt-Out Consent DateBSDAOptOutCnsntDtISODate (YYYY-MM-DD)one-timeformattedDate of email consent for BSDA Opt-out; required per V2.0.0.0 (Apr 4, 2025)NSDL/POLICY/2025/0042
HH-client_idClient IDClntIdCHAR(8) UDiFFone-time[direct]8-digit alphanumeric within NSDL DP rangeNSDL/POLICY/2025/0056
HH-cusps_account_flagCUSPA IndicatorCUSPAFlgCHAR(1) UDiFFone-time[direct]CUSPA flag elementNSDL/POLICY/2023/0113
HH-depositoryDepositoryDpstryNmCHAR(4) UDiFFone-time[direct]Hardcoded ‘NSDL’ element; UDiFF V2.0.0.0NSDL/POLICY/2025/0042
HH-dp_idDP IDDPIDCHAR(8) UDiFFone-timeformattedNSDL format ‘IN’ + 6 digits (e.g. IN300123); ISO-taggedNSDL/POLICY/2025/0056
HH-holding_typeHolding PatternHldgPttrnCHAR(2) UDiFFone-timelookup against RHolding pattern code; joint accounts use HldrInf repeating blockNSDL/POLICY/2025/0056
HH-ifsc_branchFirst Holder IFSCFrstHldrIFSCCHAR(11) UDiFFon-modifyuppercaseLinked IFSC elementNSDL/POLICY/2024/0041
HH-income_rangeIncome RangeGrssIncmRngCHAR(2) UDiFFone-timelookup against RIncome range code element; mandatoryNSDL/POLICY/2025/0056
HH-lei_numberLegal Entity IdentifierLEICHAR(20) UDiFFon-modifyuppercaseLEI element for non-individual entities; ISO 17442 formatNSDL/POLICY/2025/0056
HH-occupationOccupationOccptnCdCHAR(2) UDiFFone-timelookup against ROccupation code elementNSDL/POLICY/2025/0056
HH-opening_dateBO Account Opening DateOpngDtISODate (YYYY-MM-DD)one-timeformattedISO 8601 date elementNSDL/POLICY/2024/0041
HH-operation_modeOperation ModeOprtnMdCHAR(2) UDiFFone-timelookup against ROperation mode elementNSDL/POLICY/2025/0056
HH-pms_manager_flagPMS Manager IndicatorPMSMgrFlgCHAR(1) UDiFFone-time[direct]PMS manager element in sub-type blockNSDL/POLICY/2025/0056
HH-purpose_codeBO Purpose CodeBOPrpCdCHAR(2) UDiFFone-timelookup against RPurpose code elementNSDL/POLICY/2025/0056
HH-ucc_codeUCC MappingUCCMpngVARCHAR(10) UDiFFon-modify[direct]Exchange-provided UCC mapped via Client Maintenance APINSDL/POLICY/2024/0012
II-guardian_addressGuardian AddressGdnAdrVARCHAR(255) UDiFFon-modifytruncate to NISO 20022 address structureNSDL/POLICY/2025/0030
II-guardian_nameGuardian Name (Minor Nominee)GdnNmVARCHAR(100) UDiFFon-modifyuppercaseConditional ISO-tagged elementNSDL/POLICY/2025/0030
II-guardian_panGuardian PANGdnPANNbCHAR(10) UDiFFon-modifyuppercaseConditional elementNSDL/POLICY/2025/0030
II-guardian_relationshipGuardian RelationshipGdnRltnshpCHAR(2) UDiFFon-modifylookup against RConditional elementNSDL/POLICY/2025/0030
II-nomination_optedNomination OptedNomFlgCHAR(1) UDiFFone-time[direct]Y/N element; ISO-tagged; can be changed any number of times per SEBI Jan 10, 2025NSDL/POLICY/2025/0006
II-nominee_aadhaarNominee Aadhaar (Last 4)NomAdhaarL4CHAR(4) UDiFFon-modifyformattedLast 4 digits only; masked per DPDPNSDL/POLICY/2025/0030
II-nominee_addressNominee AddressNomAdrVARCHAR(255) UDiFFon-modifytruncate to NISO 20022 address structure; address/state made optional from V2.0.0.0 (Apr 4, 2025)NSDL/POLICY/2025/0042
II-nominee_cityNominee CityNomTwnNmVARCHAR(50) UDiFFon-modifytruncate to NConditional after V2.0.0.0NSDL/POLICY/2025/0042
II-nominee_dobNominee Date of BirthNomBirthDtISODate (YYYY-MM-DD)on-modifyformattedISO 8601 date; mandatory per Oct 21, 2024 nominee mandatory fieldsNSDL/POLICY/2025/0030
II-nominee_emailNominee EmailNomEmailAdrVARCHAR(100) UDiFFon-modifylowercaseEmail elementNSDL/POLICY/2025/0030
II-nominee_is_minorNominee is MinorNomMnrFlgCHAR(1) UDiFFon-modifyderived from YDerived element; triggers Gdn block in XMLNSDL/POLICY/2025/0030
II-nominee_mobileNominee MobileNomMblNbVARCHAR(15) UDiFFon-modify[direct]ISO 20022 PhneNb patternNSDL/POLICY/2025/0030
II-nominee_nameNominee NameNomNmVARCHAR(100) UDiFFon-modifyuppercaseISO-tagged repeating element; mandatoryNSDL/POLICY/2025/0030
II-nominee_panNominee PANNomPANNbCHAR(10) UDiFFon-modifyuppercaseAt least one identifier (PAN/Aadhaar-last4/DL/Passport) mandatoryNSDL/POLICY/2025/0030
II-nominee_passportNominee PassportNomPsprtNbCHAR(8) UDiFFon-modifyuppercasePassport identifier elementNSDL/POLICY/2025/0030
II-nominee_percentageNominee PercentageNomShrPctgDecimal(5,2) UDiFFon-modifyformattedPercentage element; sum=100 validated; if not specified, distributed equally per SEBI Jan 2025NSDL/POLICY/2025/0006
II-nominee_pincodeNominee PincodeNomPstCdCHAR(6) UDiFFon-modify[direct]6-digit numeric elementNSDL/POLICY/2024/0041
II-nominee_relationshipNominee RelationshipNomRltnshpCHAR(2) UDiFFon-modifylookup against RRelationship code element; mandatoryNSDL/POLICY/2025/0006
II-nominee_seqNominee Sequence NumberNomSeqNbVARCHAR(2) UDiFFon-modify[direct]Sequence element 01-10; ordering element in XMLNSDL/POLICY/2025/0006
II-number_of_nomineesNumber of NomineesNbOfNominsVARCHAR(2) UDiFFon-modify[direct]Up to 10 nominees per BO; per SEBI Jan 10, 2025 revampNSDL/POLICY/2025/0006
II-opt_out_declarationOpt-Out DeclarationOptOutDclnCHAR(1) UDiFFone-time[direct]Opt-out flag; recorded via separate declaration blockNSDL/POLICY/2025/0030
OO-ddpi_authorization_dateDDPI Authorization DateDDPIRegnDtISODate (YYYY-MM-DD)on-eventformattedISO 8601; NSDL capture in UDiFF format only since Sep 27, 2024 deadlineNSDL/POLICY/2024/0086
OO-ddpi_bo_idDDPI BO IDDDPIBOIDCHAR(16) UDiFFon-event[direct]Same as H-bo_id (IN+14 alphanumeric); SPEED-e linkageNSDL/POLICY/2024/0086
OO-ddpi_deregistration_dateDDPI Deregistration DateDDPIDeRegnDtISODate (YYYY-MM-DD)on-eventformattedISO 8601; UDiFF only since Sep 27, 2024NSDL/POLICY/2024/0086
OO-ddpi_dp_idDDPI DP IDDDPIDPIDCHAR(8) UDiFFon-event[direct]IN+6 digitsNSDL/POLICY/2024/0086
OO-ddpi_for_mutual_fundDDPI for Mutual FundDDPIMFFlgCHAR(1) UDiFFon-event[direct]Y/N flagNSDL/POLICY/2022/0052
OO-ddpi_for_pledgeDDPI for PledgeDDPIPldgFlgCHAR(1) UDiFFon-event[direct]Y/N; pledge/re-pledge flagNSDL/POLICY/2022/0052
OO-ddpi_for_settlementDDPI for SettlementDDPISettleFlgCHAR(1) UDiFFon-event[direct]Y/N; transfer for stock-exchange deliveries/settlementNSDL/POLICY/2022/0052
OO-ddpi_for_tenderingDDPI for TenderingDDPITndrFlgCHAR(1) UDiFFon-event[direct]Y/N flagNSDL/POLICY/2022/0052
OO-ddpi_optedDDPI OptedDDPIFlgCHAR(1) UDiFFon-event[direct]Y/N flag; NSDL DDPI registration offline-paper-based with 2-3 day activation; UDiFF format only since Sep 27, 2024NSDL/POLICY/2024/0086
OO-ddpi_scopeDDPI ScopeDDPIScpCHAR(2) UDiFFon-event[direct]Scope code elementNSDL/POLICY/2024/0086

2026-05-14


AI-generated and not legal advice. See the project README for full disclaimer.