Skip to content

BSE UCC

BSE Limited (formerly Bombay Stock Exchange), established in 1875, is Asia’s oldest stock exchange and a cornerstone of India’s financial infrastructure. For KYC (Know Your Customer) onboarding at a stock broking firm, BSE’s UCC (Unique Client Code) registration system is a mandatory integration — every client who trades on BSE must have a registered UCC before placing their first order. While NSE (National Stock Exchange) uses a modern REST API, BSE’s UCC system is built on SOAP (Simple Object Access Protocol) web services — a different technology that requires a different integration approach. This page covers everything you need to build that integration, from the SOAP API payloads and batch file formats to PAN (Permanent Account Number) verification, segment activation, and the BSE StAR MF (Mutual Fund) platform.

  1. Overview
  2. BOLT Plus System & Broker Connectivity
  3. UCC Registration Methods
  4. SOAP API - SaveUCC
  5. SOAP API - SaveUCC_V2 (183 Fields)
  6. Non-Financial Transaction API (Nominees 4-10)
  7. 3-Parameter PAN Verification
  8. Batch File Format Specification
  9. Client Category Codes
  10. Occupation Codes
  11. Income Range Codes
  12. Segment Activation
  13. Status Codes & Trading Eligibility
  14. Non-Individual Entity Requirements
  15. BSE ICCL (Clearing Corporation)
  16. BSE StAR MF Integration
  17. Modification & Closure Process
  18. Error Handling & Validation Rules
  19. Reconciliation & Reports
  20. Timeline & SLA
  21. Recent Circulars (Jan 2024 - Jan 2026)
  22. 6 KYC Attributes Compliance
  23. Implementation Checklist

Let us start with the big picture: what BSE is, how it fits into the Indian capital market ecosystem, and the scope of integration required for KYC onboarding.

BSE (formerly Bombay Stock Exchange), established in 1875, is Asia’s oldest stock exchange. For KYC onboarding, the primary integration point is the UCC (Unique Client Code) registration system, which is mandatory before any client can trade on BSE segments.

Key Facts:

ItemDetail
ExchangeBSE Limited (formerly Bombay Stock Exchange)
Trading SystemBOLT Plus (BSE Online Trading - Plus)
Clearing CorporationICCL (Indian Clearing Corporation Limited)
UCC Portalhttps://ucc.bseindia.com
SOAP API Endpointhttps://ucc.bseindia.com/newucc/ucc_api_webservice/ucc_api_service.asmx
SegmentsEquity Cash, Equity Derivatives (F&O), Currency Derivatives, Debt
SettlementT+1 (since Jan 27, 2023)
MF PlatformBSE StAR MF (https://www.bsestarmf.in)
Test Environmenthttps://www.bseindia.com/nta.aspx

Integration Scope for KYC Onboarding:

  • UCC registration (new client)
  • 3-parameter PAN verification
  • Segment activation (Equity, F&O, Currency, Debt)
  • Bank and depository detail linking
  • Nominee registration (up to 10 nominees)
  • Client modification and closure
  • UCC-Demat mapping (SEBI/HO/MIRSD/DOP/CIR/P/2019/136)

Now let us understand the trading infrastructure that UCC registration feeds into.


Before diving into UCC registration, it helps to understand the trading system your clients will use. BOLT Plus is BSE’s trading engine, and the connectivity options determine how orders flow from your application to the exchange.

BOLT Plus (BSE Online Trading - Plus) is the successor to the original BOLT system launched in 1995. It is a fully electronic order-matching system supporting all BSE segments.

  • Supports: Equity Cash, Equity Derivatives, Currency Derivatives, Debt
  • BOLT Plus on Web (BOW): Browser-based trading terminal for members who do not use dedicated front-ends
ModeProtocolUse CaseLatencyNotes
ETI (Enhanced Trading Interface)TCP/IP, FIX V5.0 SP2 binaryHigh-frequency, low-latency DMALowest (~microseconds)Proprietary session layer
IML (Intermediate Messaging Layer)TCP/IP via iml.ini configStandard broker connectivityLow (~milliseconds)Separate instance per segment
BOW (BOLT Plus on Web)HTTPS (browser)Manual trading, small brokersHigherNo software installation
Leased LineDedicated circuitProduction primaryFixedBSE data center co-location
MPLS VPNIP-based WANProduction alternateLowMultiple PoPs
VSATSatelliteRemote / disaster recoveryHigherFor locations without terrestrial links

In plain English: ETI is for algorithmic traders who need microsecond latency, IML is for standard brokers who run their own trading software, and BOW is for small brokers who just need a browser. The choice does not affect UCC registration — it only affects how orders reach the exchange.

The Enhanced Trading Interface (ETI) is BSE’s lowest-latency connectivity option for algorithmic and DMA (Direct Market Access) trading.

AttributeDetail
Protocol BasisFIX V5.0 SP2 semantics (including all officially approved extension packs)
EncodingFlat binary encoding over TCP/IP
ArchitectureAsynchronous, message-based
Session LayerProprietary (not standard FIX session layer)
Session ManagementExchange provides unique Session ID per member; only one active session per Session ID at any time
FailoverNo built-in automatic failover; participant applications must implement their own
GatewayConnects via Exchange Application Gateways hosting client sessions
Latest Versionv1.6.10 (includes encryption + activity timestamp changes)
API Manual PDFhttps://www.bseindia.com/downloads1/ETI_API_ManualV158.pdf

Key Design Characteristics:

  • Message-based rather than request-response; the exchange can push unsolicited messages
  • Binary encoding (not text-based FIX tag=value) for minimal serialization overhead
  • Each session is uniquely identified; reconnection requires session re-establishment
  • Members must handle heartbeat, sequence number recovery, and reconnection logic

IML (Intermediate Messaging Layer) is the standard connectivity layer between a broker’s trading application and BOLT Plus.

AttributeDetail
Config Fileiml.ini
Port ParameterPortL (listener port)
Segment IsolationEach segment (Equity, F&O, Currency, Debt) requires a separate IML instance
IP ConfigurationBoth member-side and exchange-side IP + port must be configured
Installation Guidehttps://www.bseindia.com/downloads1/NTA-IML-Installation_Guide.pdf
IML API Referencehttps://www.bseindia.com/downloads1/BOLTPlus_IML_API_version_6.0.pdf
Connectivity Manualhttps://www.bseindia.com/downloads1/BOLTPLUS_Connectivity_ManualV12.pdf (v1.4, Jul 2023)

IML Configuration Example (iml.ini structure):

[IML]
PortL=<listener_port>
ExchangeIP=<exchange_gateway_ip>
ExchangePort=<exchange_gateway_port>
MemberIP=<member_application_ip>
MemberPort=<member_application_port>
Segment=<EQ|EQD|CUR|DEBT>

BSE provides a BOLT Plus simulation environment for integration testing. Members can connect using Exchange-provided terminal software or build custom applications.

  • Portal: https://www.bseindia.com/nta.aspx
  • Simulation hours are announced by BSE (typically after market hours or weekends)
  • Members should test: order placement, modification, cancellation, trade confirmation, margin computation

With the trading infrastructure understood, let us move to the core topic: how to register UCCs on BSE.


BSE offers multiple methods for UCC registration, ranging from manual web forms to SOAP APIs to bulk batch files. The choice depends on your scale and automation needs. This section maps out all options and helps you decide.

BSE supports multiple methods for UCC (Unique Client Code) registration. The method chosen depends on the broker’s scale and technical capability.

MethodCapacityFormatInterfaceBest For
Manual (BOLT Plus Web)1-by-1Web formhttps://ucc.bseindia.comSmall brokers, ad-hoc
SOAP API (SaveUCC)Automated, single/batchXML via SOAP 1.1/1.2ucc_api_service.asmxMedium brokers, API integration
SOAP API (SaveUCC_V2)Automated, 183 fieldsXML via SOAP 1.1/1.2ucc_api_service.asmxAll brokers (current standard)
Batch Upload (New Reg)Max 30,000 records/filePipe-delimited TXTUCC module uploadLarge brokers, bulk onboarding
Batch Upload (Bank)Max 20,000 records/filePipe-delimited TXTUCC module uploadBank detail updates
Batch Upload (Demat)Max 30,000 records/filePipe-delimited TXTUCC module uploadDepository detail updates
Batch Upload (Segments)Max 50,000 records/filePipe-delimited TXTUCC module uploadSegment activation

The BSE UCC structure has evolved significantly over 2024-2025 to accommodate SEBI (Securities and Exchange Board of India) mandates (10 nominees, enhanced KYC attributes).

VersionField CountEffective DateStatus
Old Structure131 fieldsPre-2024Discontinued Aug 16, 2024
Revised Structure150 fieldsOct 4, 2024Active (existing UCC creation/modification)
New Structure (SaveUCC_V2)183 fieldsMay 22, 2025Active (fresh UCC creation/modification)
Additional Nominee API56 fieldsMay 2025Supplementary (nominees 4-10)

Key Changes Across Versions:

  • 131 to 150: Added income range as mandatory attribute, enhanced address fields, mobile/email verification flags
  • 150 to 183: Nominees increased from 3 to 10 (SEBI mandate effective Jan 2025), guardian relationship fields for minor clients, standardized nominee relationship codes, FATCA/CRS enhancements
  • Nominees 4-10 are submitted via a separate Non-Financial Transaction API Webservice (not within the main SaveUCC payload)

In plain English: if you are building a new integration today, target the 183-field SaveUCC_V2 structure. The older formats are either discontinued or will be soon.

Now let us look at the SOAP API in detail, starting with the original SaveUCC operation.


The SOAP API is BSE’s primary programmatic interface for UCC operations. If you are unfamiliar with SOAP, think of it as the XML equivalent of a REST API — you send structured XML requests and receive structured XML responses. The next two sections cover both the original SaveUCC and the current SaveUCC_V2 operations.

ItemDetail
WSDL / Endpointhttps://ucc.bseindia.com/newucc/ucc_api_webservice/ucc_api_service.asmx
ProtocolSOAP 1.1 and SOAP 1.2
OperationSaveUCC
SOAPActionhttp://tempuri.org/SaveUCC
Input ParameterXmlUCCdata (string containing XML-encoded UCC data)
Output ParameterSaveUCCResult (string containing result XML)
Content-Type (1.1)text/xml; charset=utf-8
Content-Type (1.2)application/soap+xml; charset=utf-8
POST /newucc/ucc_api_webservice/ucc_api_service.asmx HTTP/1.1
Host: ucc.bseindia.com
Content-Type: text/xml; charset=utf-8
SOAPAction: "http://tempuri.org/SaveUCC"
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<SaveUCC xmlns="http://tempuri.org/">
<XmlUCCdata>string</XmlUCCdata>
</SaveUCC>
</soap:Body>
</soap:Envelope>
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<SaveUCCResponse xmlns="http://tempuri.org/">
<SaveUCCResult>string</SaveUCCResult>
</SaveUCCResponse>
</soap:Body>
</soap:Envelope>
POST /newucc/ucc_api_webservice/ucc_api_service.asmx HTTP/1.1
Host: ucc.bseindia.com
Content-Type: application/soap+xml; charset=utf-8
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap12:Body>
<SaveUCC xmlns="http://tempuri.org/">
<XmlUCCdata>string</XmlUCCdata>
</SaveUCC>
</soap12:Body>
</soap12:Envelope>
HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap12:Body>
<SaveUCCResponse xmlns="http://tempuri.org/">
<SaveUCCResult>string</SaveUCCResult>
</SaveUCCResponse>
</soap12:Body>
</soap12:Envelope>

4.6 XmlUCCdata Payload Structure (SaveUCC - 150 Fields)

Section titled “4.6 XmlUCCdata Payload Structure (SaveUCC - 150 Fields)”

The XmlUCCdata parameter is a string containing XML-encoded client data. The XML must be properly escaped when embedded inside the SOAP envelope.

<UCCDetails>
<TradingMemberID>123456</TradingMemberID>
<ClientCode>ABCD001234</ClientCode>
<ClientNameFirst>RAKESH</ClientNameFirst>
<ClientNameMiddle></ClientNameMiddle>
<ClientNameLast>KUMAR</ClientNameLast>
<PAN>ABCDE1234F</PAN>
<DOB>01/01/1990</DOB>
<Gender>M</Gender>
<ClientCategory>01</ClientCategory>
<OccupationCode>02</OccupationCode>
<AddressLine1>123 MG ROAD SECTOR 5</AddressLine1>
<AddressLine2>NEAR METRO STATION</AddressLine2>
<AddressLine3></AddressLine3>
<City>GURGAON</City>
<State>HR</State>
<Pincode>122001</Pincode>
<Country>IN</Country>
<MobileNo>9876543210</MobileNo>
<EmailID>rakesh.kumar@email.com</EmailID>
<IncomeRange>03</IncomeRange>
<BankAccountNo>1234567890123</BankAccountNo>
<BankIFSC>SBIN0001234</BankIFSC>
<BankAccountType>SB</BankAccountType>
<DPID>12345678</DPID>
<DPClientID>12345678</DPClientID>
<Depository>CDSL</Depository>
<KYCStatus>Y</KYCStatus>
<AadhaarMasked>XXXXXXXX1234</AadhaarMasked>
<FATCADeclaration>Y</FATCADeclaration>
<Nominee1Name>PRIYA KUMAR</Nominee1Name>
<Nominee1Relationship>SPOUSE</Nominee1Relationship>
<Nominee1PAN>XYZAB5678C</Nominee1PAN>
<Nominee1Percentage>100</Nominee1Percentage>
<POAFunds>N</POAFunds>
<POASecurities>N</POASecurities>
<EquitySegment>Y</EquitySegment>
<EquityDerivativesSegment>N</EquityDerivativesSegment>
<CurrencyDerivativesSegment>N</CurrencyDerivativesSegment>
<DebtSegment>N</DebtSegment>
<ClientStatus>A</ClientStatus>
<!-- ... additional fields up to 150 ... -->
</UCCDetails>

Important Notes:

  • All date fields must be in DD/MM/YYYY format
  • PAN must be in AAAAA9999A format (5 alpha + 4 numeric + 1 alpha)
  • Mobile must be exactly 10 digits
  • Pincode must be exactly 6 digits

The SaveUCC operation supports the 150-field structure. For new registrations, you should use SaveUCC_V2 with the full 183-field structure, covered next.


SaveUCC_V2 is the current standard for all new UCC registrations on BSE. It extends the original SaveUCC with 33 additional fields, primarily to support 10 nominees, enhanced FATCA/CRS (Foreign Account Tax Compliance Act / Common Reporting Standard) reporting, and minor client guardianship details.

ItemDetail
WSDL / Endpointhttps://ucc.bseindia.com/newucc/ucc_api_webservice/ucc_api_service.asmx
OperationSaveUCC_V2
SOAPActionhttp://tempuri.org/SaveUCC_V2
Input ParameterXmlUCCdata (string containing XML-encoded UCC data, 183 fields)
Output ParameterSaveUCCResult (string containing result XML)
Effective DateMay 22, 2025
MandateRequired for all fresh UCC creation and modification

5.2 SOAP 1.1 Request Envelope (SaveUCC_V2)

Section titled “5.2 SOAP 1.1 Request Envelope (SaveUCC_V2)”
POST /newucc/ucc_api_webservice/ucc_api_service.asmx HTTP/1.1
Host: ucc.bseindia.com
Content-Type: text/xml; charset=utf-8
SOAPAction: "http://tempuri.org/SaveUCC_V2"
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<SaveUCC_V2 xmlns="http://tempuri.org/">
<XmlUCCdata>string</XmlUCCdata>
</SaveUCC_V2>
</soap:Body>
</soap:Envelope>

5.3 SOAP 1.2 Request Envelope (SaveUCC_V2)

Section titled “5.3 SOAP 1.2 Request Envelope (SaveUCC_V2)”
POST /newucc/ucc_api_webservice/ucc_api_service.asmx HTTP/1.1
Host: ucc.bseindia.com
Content-Type: application/soap+xml; charset=utf-8
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap12:Body>
<SaveUCC_V2 xmlns="http://tempuri.org/">
<XmlUCCdata>string</XmlUCCdata>
</SaveUCC_V2>
</soap12:Body>
</soap12:Envelope>

5.4 Key Additions in 183-Field Structure (over 150-field)

Section titled “5.4 Key Additions in 183-Field Structure (over 150-field)”

The SaveUCC_V2 structure adds 33 fields primarily for:

CategoryNew FieldsPurpose
Nominees 1-3 EnhancedNominee DOB, Nominee Address, Nominee Guardian (for minor nominees)SEBI nominee enhancement mandate
Guardian EnhancedGuardian Relationship, Guardian Address, Guardian MobileMinor client compliance
FATCA/CRS EnhancedTax Residency Country 2/3, TIN 2/3, TIN Reason CodesMulti-jurisdiction reporting
Nomination Opt-OutNominationOptOut flag, NominationOptOutVideoRefVideo verification for opt-out
KYC AttributesCKYCNumber, KRAStatus, KRASourceCross-reference fields
Additional ContactAlternateMobile, AlternateEmailCommunication redundancy

For each of Nominees 1-3 (within the main SaveUCC_V2 payload):

FieldTypeLengthMandatoryNotes
NomineeXNameAlpha70M (if opted in)Full name
NomineeXRelationshipAlpha20MStandardized relationship code
NomineeXPANAlphanumeric10OPAN of nominee
NomineeXPercentageNumeric3M1-100; total across all nominees must = 100
NomineeXDOBDate10M (V2)DD/MM/YYYY
NomineeXAddressAlphanumeric200O (V2)Full address of nominee
NomineeXGuardianNameAlpha70M (if minor)Required if nominee is a minor
NomineeXGuardianRelationshipAlpha20M (if minor)Relationship of guardian to nominee

Where X = 1, 2, or 3.

Nominees 4-10: Cannot be submitted via SaveUCC_V2. Must use the separate Non-Financial Transaction API Webservice (see Section 6).

The next section covers the separate API for nominees 4 through 10.


SEBI mandated support for up to 10 nominees effective January 2025. Because the main SaveUCC_V2 API only accommodates nominees 1-3, BSE created a separate API for the remaining nominees. This section covers that supplementary integration.

6. Non-Financial Transaction API (Nominees 4-10)

Section titled “6. Non-Financial Transaction API (Nominees 4-10)”

SEBI mandated support for up to 10 nominees effective Jan 2025 (extended deadline Mar 1, 2025 for demat accounts). The main SaveUCC / SaveUCC_V2 APIs support only Nominees 1-3. Nominees 4 through 10 must be registered via a separate API.

ItemDetail
APINon-Financial Transaction API Webservice
Field Count56 fields (for nominees 4-10 block)
EffectiveMay 2025
PrerequisiteUCC must already be created via SaveUCC / SaveUCC_V2
ConstraintNominees 1-3 must be populated in the main UCC record first
FieldTypeLengthMandatoryNotes
ClientCodeAlphanumeric10MMust match existing UCC
NomineeSequenceNumeric2M4-10
NomineeNameAlpha70MFull name
NomineeRelationshipAlpha20MStandardized code
NomineePANAlphanumeric10O
NomineePercentageNumeric3MAllocation percentage
NomineeDOBDate10MDD/MM/YYYY
NomineeAddressAlphanumeric200O
NomineeGuardianNameAlpha70M (if minor)
NomineeGuardianRelationshipAlpha20M (if minor)

Validation: Total percentage across ALL nominees (1-10) must equal exactly 100.

With the API structures covered, let us turn to PAN verification — the mandatory check that determines whether a client can trade.


PAN verification is the single most important gate in the UCC registration process. BSE’s 3-parameter check (PAN + Name + DOB) is like a bouncer checking your ID against the guest list — all three must match or you are turned away. This section covers how the verification works and how to handle failures.

BSE mandates 3-parameter PAN verification against NSDL/Protean (Income Tax Department) records for every client before granting PTT (Permitted to Trade) status.

#ParameterField DescriptionMandatory
1PAN Number10-character alphanumeric in AAAAA9999A formatYes - for all holders
2Client NameName exactly as per PAN/ITD (Income Tax Department) recordsYes - for all holders
3DOB / DOI / DORDate of Birth (individuals), Date of Incorporation (companies), Date of Registration (other entities)Yes - for all holders including Guardian
CodeStatusMeaningTrading Impact
AApprovedAll 3 parameters match ITD recordsEligible for PTT
IIncorrectOne or more parameters do not match ITD recordsNOT eligible for PTT
PPendingVerification in progress (ITD system processing)NOT eligible for PTT
  1. DOB/DOI is mandatory for ALL holders including Guardian in case of Minor Client (category 02)
  2. If Client Name or DOB differs from ITD records, the client must correct at ITD (Income Tax Department) before resubmission to BSE
  3. Once PAN is marked I (Incorrect), the UCC record cannot be marked PTT until corrected
  4. Special PAN AAAAA8888A is used for Central Government / State Government / Court-appointed officials
  5. PAN-Aadhaar seeding is NO LONGER a parameter for PTT status (per NSE circular NSE/ISC/62244, May 30, 2024; BSE follows the same rule)
  6. Only clients with PAN status A (Approved) are eligible for PTT
  7. NRI PANs must be either “PAN-Aadhaar linked” or marked “Not applicable” per ITD records
PAN StatusKYC CompliantBank VerifiedDemat LinkedResult
AYesYesYesPTT (Permitted to Trade)
ANoYesYesNPTT - complete KYC
AYesNoYesNPTT - verify bank
AYesYesNoNPTT - link demat
IAnyAnyAnyNPTT - correct PAN at ITD
PAnyAnyAnyNPTT - wait for verification

In plain English: PTT requires ALL four conditions to be met — PAN approved, KYC complete, bank verified, and demat linked. If any one fails, the client cannot trade.

Beyond the SOAP API, BSE also supports batch file uploads for high-volume operations. The next section documents the batch file format.


Batch files are essential for bulk operations — migrating clients from another broker, doing end-of-day reconciliation, or activating segments across thousands of clients at once. BSE supports significantly higher batch limits than NSE (30,000 vs 10,000 records per file), making batch uploads particularly useful for large-scale operations.

AttributeDetail
DelimiterPipe (|)
EncodingUTF-8 or ASCII
Row StructureTwo rows per client: Row 1 (general info) + Row 2 (director details for non-individual)
HeadersNo header row
Line EndingCRLF (Windows) or LF (Unix)
File Extension.txt
OperationMax Records per FileEffective Circular Date
New Registration / Modification30,000Feb 23, 2024
Bank Details Update20,000Feb 23, 2024
Depository Details Update30,000Jul 29, 2024
Segment Activation50,000Jul 29, 2024

8.3 Row 1 - General Information (Revised Format, effective Apr 19, 2024)

Section titled “8.3 Row 1 - General Information (Revised Format, effective Apr 19, 2024)”
#Field NameTypeMax LengthMandatoryValid Values / Notes
1Trading Member IDAlphanumeric6MBSE member code assigned by exchange
2Client CodeAlphanumeric10MUnique per member; max 10 chars
3Client Name (First)Alpha70MMust match PAN/ITD records
4Client Name (Middle)Alpha35O
5Client Name (Last)Alpha35MMust match PAN/ITD records
6PANAlphanumeric10MAAAAA9999A format (5 alpha + 4 numeric + 1 alpha)
7Date of Birth / DOI / DORDate10MDD/MM/YYYY format
8GenderAlpha1M (Indiv.)M = Male, F = Female, T = Transgender
9Client CategoryNumeric2MSee Section 9
10Occupation CodeNumeric2MSee Section 10
11Address Line 1Alphanumeric100MCannot start with client name
12Address Line 2Alphanumeric100OCannot equal Address Line 1 or 3
13Address Line 3Alphanumeric100OCannot equal Address Line 1 or 2
14CityAlpha35M
15StateAlpha2MState code (e.g., MH, DL, KA, HR)
16PincodeNumeric6MValid Indian pincode
17CountryAlpha2MIN for India
18Mobile NumberNumeric10MMust be pre-verified
19Email IDAlphanumeric100MMust be pre-verified
20Income RangeNumeric2MSee Section 11
21Bank Account NumberAlphanumeric20M
22Bank IFSC CodeAlphanumeric11MFormat: 4 alpha + 0 + 6 alphanumeric
23Bank Account TypeAlpha2MSB = Savings, CA = Current
24DP IDAlphanumeric8 or 16MNSDL: IN + 6 chars; CDSL: 8 digits
25DP Client IDAlphanumeric8 or 16MNSDL: 8 chars; CDSL: 8 digits
26DepositoryAlpha4MCDSL or NSDL
27KYC StatusAlpha1MY = KYC compliant, N = Not compliant
28Aadhaar Number (masked)Numeric12OLast 4 digits visible (XXXXXXXX1234)
29FATCA DeclarationAlpha1MY = Declared, N = Not declared
30Nominee 1 NameAlpha70M**Mandatory if nomination opted in
31Nominee 1 RelationshipAlpha20M*Standardized code
32Nominee 1 PANAlphanumeric10O
33Nominee 1 PercentageNumeric3M*1-100; total across all nominees must = 100
34Nominee 2 NameAlpha70O
35Nominee 2 RelationshipAlpha20O*Mandatory if Nominee 2 Name provided
36Nominee 2 PANAlphanumeric10O
37Nominee 2 PercentageNumeric3O*Mandatory if Nominee 2 Name provided
38Nominee 3 NameAlpha70O
39Nominee 3 RelationshipAlpha20O*Mandatory if Nominee 3 Name provided
40Nominee 3 PANAlphanumeric10O
41Nominee 3 PercentageNumeric3O*Mandatory if Nominee 3 Name provided
42Nomination Opt-Out FlagAlpha1OY = Opted out (requires video verification)
43POA for FundsAlpha1OY/N (DDPI replaced POA since Nov 2022)
44POA for SecuritiesAlpha1OY/N
45Equity SegmentAlpha1MY/N
46Equity Derivatives SegmentAlpha1OY/N
47Currency Derivatives SegmentAlpha1OY/N
48Debt SegmentAlpha1OY/N
49Client Status by MemberAlpha1MA = Active, I = Inactive, C = Closed
50Guardian NameAlpha70M (minor)Required if Client Category = 02
51Guardian PANAlphanumeric10M (minor)
52Guardian DOBDate10M (minor)DD/MM/YYYY
53Guardian RelationshipAlpha20M (minor)Relationship to minor
54Second Holder NameAlpha70OFor joint holdings
55Second Holder PANAlphanumeric10O
56Third Holder NameAlpha70O
57Third Holder PANAlphanumeric10O
(Additional fields up to ~150)Including FATCA/CRS, enhanced nominee fields, etc.

8.4 Row 2 - Director Details (Non-Individual Entities Only)

Section titled “8.4 Row 2 - Director Details (Non-Individual Entities Only)”

Applicable for Client Categories: 04 (Company), 06 (Partnership), 07 (Body Corporate).

#Field NameTypeMax LengthMandatoryNotes
1ActionAlpha3MNEW = Add director, DEL = Remove director
2Client CodeAlphanumeric10MMust match Row 1 Client Code
3Director NameAlpha70MFull name
4DINNumeric8MDirector Identification Number (for companies)
5Whether Foreign ResidentAlpha1MY / N
6Director PANAlphanumeric10MPAN of the director
123456|ABCD001234|RAKESH||KUMAR|ABCDE1234F|01/01/1990|M|01|02|123 MG ROAD SECTOR 5|NEAR METRO STATION||GURGAON|HR|122001|IN|9876543210|rakesh@email.com|03|1234567890123|SBIN0001234|SB|12345678|12345678|CDSL|Y|XXXXXXXX1234|Y|PRIYA KUMAR|SPOUSE|XYZAB5678C|100||||||||||N|N|Y|N|N|N|A|||||||||
123456|EFGH005678|ACME TRADERS PVT LTD||LTD|AABCA1234B|15/06/2010||04|01|456 INDUSTRIAL AREA PHASE 2|OKHLA||NEW DELHI|DL|110020|IN|9812345678|info@acme.in|05|9876543210987|HDFC0001234|CA|IN301234|12345678|NSDL|Y||Y|||||||||||N|N|Y|Y|N|N|A|||||||||
NEW|EFGH005678|SURESH SHARMA|12345678|N|BBBBB2345C
NEW|EFGH005678|ANITA GUPTA|23456789|N|CCCCC3456D

These rules are strictly enforced during batch upload validation:

Rule #ValidationRejection If
1Address Line 1 must NOT start with Client NameLine 1 begins with first/last name
2Address Line 1 and Line 2 must NOT be identicalLine 1 == Line 2
3Address Line 1 and Line 3 must NOT be identicalLine 1 == Line 3
4Address Line 2 and Line 3 must NOT be identicalLine 2 == Line 3
5Address must match submitted documentsMismatch with Aadhaar/Passport/DL address
6Pincode must be 6 digitsNon-numeric or wrong length
7State code must be valid 2-character codeInvalid state abbreviation

The next several sections cover the code tables used in UCC records. These are SEBI-standardized and identical across all exchanges, but understanding them is essential for building your validation logic.


Client category codes classify each entity type. The category you assign determines which additional fields are mandatory and what trading capabilities apply. For a retail broking firm, category 01 (Individual) will account for the vast majority of onboarding, but your system must handle the full range.

9.1 Individual & Domestic Categories (01-13)

Section titled “9.1 Individual & Domestic Categories (01-13)”
CodeCategoryEntity TypeNotes
01IndividualPersonMost common; UPI applicable (Cash segment)
02On behalf of MinorPerson (Guardian acting)Guardian details mandatory; PAN of minor + guardian both required
03HUF (Hindu Undivided Family)Non-individualKarta details mandatory; UPI applicable (Cash segment)
04CompanyNon-individualDOI, CIN, Director details mandatory (Row 2)
05AOP (Association of Persons)Non-individual
06Partnership FirmNon-individualPartner details required; Director row applicable
07Body CorporateNon-individualDOI, CIN/Reg No., Director details (Row 2)
08TrustNon-individualTrust deed registration, Trustee details
09SocietyNon-individual
10OthersMiscellaneous
11NRI - OthersNRI
12DFI (Development Financial Institution)Institutional
13Sole ProprietorshipNon-individual
CodeCategoryAccount TypeKey Requirements
21NRI - Repatriable (NRE)NRE Bank AccountRBI PIS permission letter, NRE account
22OCB (Overseas Corporate Body)Varies
23FII (Foreign Institutional Investor)Varies
24NRI - Repatriable (NRO)NRO Bank AccountRBI PIS permission letter, NRO account
25Overseas Corp. Body - OthersVaries
26NRI ChildNRO/NREGuardian acting on behalf
27NRI - HUF (NRO)NRONRI HUF with NRO account
28NRI - Minor (NRO)NRONRI minor with NRO account
29NRI - HUF (NRE)NRENRI HUF with NRE account
CodeCategoryNotes
31Provident Fund
32Super Annuation Fund
33Gratuity Fund
34Pension Fund
36Mutual Funds FOF SchemesFund of Funds
37NPS TrustNational Pension System
38GDN (Global Development Network)
39FCRAForeign Contribution Regulation Act entities
CodeCategoryNotes
41QFI - IndividualQualified Foreign Investor
42QFI - Minors
43QFI - Corporate
44QFI - Pension Funds
45QFI - Hedge Funds
46QFI - Mutual Funds

UPI-based trading (Block Mechanism / ASBA-like for secondary market) is applicable only for:

  • Client Category 01 (Individual)
  • Client Category 03 (HUF)
  • Cash segment only
  • Mandatory for Qualified Stock Brokers (QSBs) from Feb 1, 2025

CodeOccupationTypical Client Profile
01BusinessSelf-employed, business owner, entrepreneur
02Services (Salaried)Employed in private/public sector
03ProfessionalDoctor, lawyer, CA, engineer (independent practice)
04AgricultureFarmer, agriculturist
05RetiredRetired from service/business
06HousewifeHomemaker
07StudentCurrently enrolled in education
08OthersAny occupation not in 01-07

Notes:

  • Occupation code is mandatory for all client categories
  • For non-individual entities, use the primary nature of business (01 for business entities, 08 for institutional)
  • Occupation influences income validation checks (e.g., Student with income range 06 may trigger review)

Income range codes determine F&O (Futures and Options) eligibility and are one of the 6 mandatory KYC attributes. Understanding these codes is essential for building correct segment activation logic.

CodeIncome Range (Annual, INR)F&O Eligibility
01Below 1 LakhNo (income too low for F&O)
021 Lakh - 5 LakhNo
035 Lakh - 10 LakhNo
0410 Lakh - 25 LakhYes (meets SEBI threshold)
0525 Lakh - 1 CroreYes
06Above 1 CroreYes

Notes:

  • Income range is one of the 6 mandatory KYC attributes (Name, PAN, Address, Mobile, Email, Income Range) required for UCC compliance
  • For F&O segment activation, income must be >= 10 Lakh (code 04 or above) OR client must provide net worth certificate
  • Income range is self-declared; however, for F&O segments, supporting documents (ITR, salary slip, bank statement, net worth certificate) are required per SEBI guidelines
  • SEBI enhanced F&O eligibility criteria: SEBI/HO/MRD/TPD-1/P/CIR/2025/33
  • Non-individual entities: Use the entity’s annual turnover/income

Now let us cover segment activation — the mechanism that controls which market segments a client can trade in on BSE.


Segment activation on BSE follows the same SEBI rules as NSE, but there is one notable difference: BSE does not have a commodity segment (commodities trade on NSE and MCX). This section covers the available segments, eligibility requirements, and the batch activation process.

SegmentCodeIncome Proof RequiredAdditional Requirements
Equity CashEQNoBasic KYC sufficient
Equity Derivatives (F&O)EQDYes (income >= 10L or net worth)SEBI F&O eligibility criteria; risk disclosure
Currency DerivativesCURNo specific income requirement
DebtDEBTNo

12.2 F&O Eligibility (SEBI Enhanced Criteria)

Section titled “12.2 F&O Eligibility (SEBI Enhanced Criteria)”

Per SEBI/HO/MRD/TPD-1/P/CIR/2025/33, the following must be validated before activating F&O:

CriterionRequirement
IncomeAnnual income >= Rs. 10 Lakh (income range code 04 or above)
OR Net WorthNet worth >= Rs. 10 Lakh (net worth certificate from CA, valid for 1 year)
Risk DisclosureClient must acknowledge F&O risk disclosure document
Knowledge AssessmentExchange-specific awareness questionnaire
Income ProofITR / Salary Slip / Bank Statement / CA Certificate
ItemDetail
Max Records50,000 per file
FormatPipe-delimited TXT
Key FieldsClient Code, EQ (Y/N), EQD (Y/N), CUR (Y/N), DEBT (Y/N)
ProcessingOvernight batch cycle
SLAT+1 (activated by next trading day)
  • UPI Block Mechanism: Mandatory for QSBs from Feb 1, 2025 for secondary market orders (ASBA-like). Applicable only to Equity Cash segment for Individual (01) and HUF (03) categories
  • Currency Derivatives: Available for all client categories; no specific income threshold
  • Debt Segment: Separate activation required; minimal additional documentation
  • Each segment requires a separate IML instance for BOLT Plus connectivity

With segment activation covered, let us look at the status codes that govern a client’s lifecycle — from registration through PTT to potential closure.


Status codes determine whether a client can trade on BSE. Understanding the status matrix and the transitions between states is critical for building correct lifecycle management in your system.

CodeStatusMeaningCan Proceed to PTT?
AApprovedAll 3 parameters (PAN + Name + DOB) match ITD recordsYes
IIncorrectOne or more parameters do not matchNo - must correct at ITD
PPendingVerification in progress at ITDNo - must wait
StatusCodeDescriptionCan Trade?
Permitted to TradePTTUCC fully compliant, PAN approved, KYC complete, bank + demat verifiedYes
Not Permitted to TradeNPTTMissing KYC, PAN not approved, bank/demat issues, or inactiveNo
StatusCodeDescriptionTransitions
ActiveAClient actively registered and eligible (if PTT)Can move to I or C
InactiveIMember-deactivated or non-compliant; temporarily suspendedCan move to A (with re-verification)
ClosedCAccount permanently closed by memberIrreversible - cannot reopen
PAN StatusClient StatusKYC CompleteBank VerifiedDemat LinkedResult
AAYYYPTT - Can trade
AANYYNPTT - Complete KYC
AAYNYNPTT - Verify bank
AAYYNNPTT - Link demat
AIYYYNPTT - Reactivate account
IAYYYNPTT - Correct PAN at ITD
PAYYYNPTT - Wait for PAN verification
AnyCAnyAnyAnyNPTT - Account closed (irreversible)

In plain English: every row in this matrix represents a real scenario your operations team will encounter. Build your client dashboard to surface the exact reason a client is NPTT, so the operations team can take targeted action.

The next section covers the additional requirements for non-individual entities.


Most clients are individuals, but your system must also handle companies, trusts, partnerships, HUFs (Hindu Undivided Families), and NRIs (Non-Resident Indians). Each entity type has specific mandatory fields and documents beyond the standard individual requirements.

Entity (Code)Extra Mandatory FieldsKey Documents
HUF (03)Karta Name, Karta PAN, Karta DOB, HUF PANHUF deed, Karta PAN, HUF PAN
Company (04)DOI, CIN, Director details (Name, DIN, PAN, Foreign Resident flag), Authorized signatoryMOA, AOA, Board resolution, CIN certificate
Partnership (06)Partnership PAN, Partner details, Authorized signatoryPartnership deed, Partner PANs
Body Corporate (07)DOI, CIN/Registration No., Director detailsRegistration certificate, Board resolution
Trust (08)Trust deed registration, Trustee detailsTrust deed, Trustee PANs
Society (09)Registration number, Authorized signatorySociety registration certificate
Sole Prop (13)Proprietor PAN (same as entity PAN typically)Business registration, Proprietor ID
RequirementDetail
RBI PIS PermissionPortfolio Investment Scheme permission letter from designated AD bank (required for equity trading)
Bank AccountNRE account for repatriable (category 21/29); NRO account for non-repatriable (category 24/27/28)
CP CodeCustodial Participant code requirement REMOVED by SEBI (July 2025)
PAN-AadhaarNRI PANs must be either “PAN-Aadhaar linked” or marked “Not applicable” per ITD records
Bank Account TypeBoth Current and Savings permissible for HUF/Trust/Society tax status
Seafarer NRIsSome documentation requirements relaxed
Re-KYCNRI KYC relaxation for re-KYC process (SEBI circular Dec 10, 2025)

14.3 Director Details (Row 2 of Batch File)

Section titled “14.3 Director Details (Row 2 of Batch File)”

Required for: Company (04), Body Corporate (07), Partnership (06).

Operations:

  • NEW: Add a new director to the entity’s UCC record
  • DEL: Remove an existing director from the entity’s UCC record

Fields per Director:

FieldFormatMandatory
ActionNEW or DELYes
Client CodeMust match Row 1Yes
Director NameAlpha, max 70 charsYes
DIN8-digit numericYes (for companies)
Foreign ResidentY / NYes
Director PANAAAAA9999A formatYes

Now let us look at BSE’s clearing corporation, ICCL, and how it relates to UCC registration.


Every trade on BSE generates settlement obligations managed by ICCL. Understanding this relationship helps you appreciate why UCC compliance has financial consequences beyond order rejection — margins, collateral, and settlement obligations are all tracked at the UCC level.

ICCL (Indian Clearing Corporation Limited) is the clearing corporation subsidiary of BSE, responsible for clearing and settlement of all trades executed on BSE.

AspectDetail
Trade ValidationEvery trade on BSE requires a valid UCC; ICCL generates obligations per UCC
UCC-Demat MappingMandatory per SEBI/HO/MIRSD/DOP/CIR/P/2019/136
Pay-in TransactionsNormal/Early pay-in requires mandatory UCC details
Clearing MembersSettle all obligations (margins, penalties, levies) for their trading members

15.3 Client-Level Collateral (SEBI Circular Jul 20, 2021)

Section titled “15.3 Client-Level Collateral (SEBI Circular Jul 20, 2021)”
RequirementDetail
Collateral SegregationClient-level collateral segregation mandatory
Cash Component50% of margins and collateral must be in cash/cash equivalents
Confidence IntervalInitial margins at 99.99% confidence interval
HaircutsApplied on real-time basis
Client PortalWeb portal for clients to view disaggregated (segment-wise, asset-type) collateral
Daily UploadClearing members must upload collateral data daily
ItemDetail
Equity CashT+1 settlement (since Jan 27, 2023)
DerivativesT+1 for premium, MTM daily
MF UnitsVia StAR MF platform
Clearing BankClearing members must maintain clear balance in depository account + funds in clearing bank
Acceptable CollateralEquity securities with impact cost <= 0.1% for Rs. 1 Lakh order, traded >= 99% of days in previous 6 months

BSE also operates a mutual fund distribution platform called StAR MF. If your broking firm plans to distribute mutual funds, the next section covers how StAR MF integrates with UCC and KYC.


BSE StAR MF is India’s largest mutual fund distribution platform by transaction volume. If your broking firm distributes mutual funds, this integration is essential. The KYC and UCC requirements overlap significantly with the equity trading UCC, making it efficient to build both integrations together.

BSE StAR MF (Stock Exchange Aggregation and Reporting - Mutual Funds) is BSE’s mutual fund distribution platform that allows brokers, distributors, and RIAs (Registered Investment Advisors) to process MF transactions.

ItemDetail
Production Endpointhttps://www.bsestarmf.in/StarMFWebService/StarMFWebService.svc
WSDL / Helphttps://www.bsestarmf.in/StarMFWebService/StarMFWebService.svc/help
API Structure Doc (v3.1)https://www.bsestarmf.in/APIFileStructure.pdf
Web File Structureshttps://bsestarmf.in/WEBFileStructure.pdf (Apr 10, 2024)
ProtocolSOAP 1.2 (recommended), SOAP 1.1 supported
Testing ToolSOAPUI (open-source) recommended; Postman requires manual XML crafting
Test EnvironmentRequest via navaneetha.krishnan@bsetech.in or aqsa.shaikh@bsetech.in
ItemDetail
CredentialsWeb Service ID + Password (provided by BSE to each member)
Pass KeyAlphanumeric, no special characters, required at every login
SessionManaged via getPassword / authentication methods
MethodPurposeKYC Relevance
getPasswordSession authenticationPre-requisite for all calls
MFAPI (UCC Registration)Create/modify UCC for MF platformYes - requires KYC + bank details
MFAPI (Client Master Upload)Upload client details for MFI/MFD/RFD/RFI/RIAYes
MFAPI (Order Entry)Purchase/Redeem/SIP/STP/SWP transactionsNo
MFAPI (Client Order Payment Status)Query payment and order statusNo
MFAPI (Mandate Registration)Register auto-debit mandate (pre-req for SIP)Partial

16.5 StAR MF SOAP 1.2 Example (getPassword)

Section titled “16.5 StAR MF SOAP 1.2 Example (getPassword)”
POST /StarMFWebService/StarMFWebService.svc HTTP/1.1
Host: www.bsestarmf.in
Content-Type: application/soap+xml; charset=utf-8
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"
xmlns:star="http://www.bsestarmf.in/StarMFWebService/">
<soap12:Body>
<star:getPassword>
<star:UserId>YOUR_MEMBER_ID</star:UserId>
<star:Password>YOUR_PASSWORD</star:Password>
<star:PassKey>YOUR_PASS_KEY</star:PassKey>
</star:getPassword>
</soap12:Body>
</soap12:Envelope>
  • Before executing MF transactions, UCC must be created with KYC + demat + bank details
  • PAN entered triggers system check of KYC status for primary holder
  • If KYC not done, Video KYC link can be initiated after initial UCC form section
  • Eligible client types: Individuals, HUF, Corporate Body (subject to KYC compliance)
  • For minors: guardian must be KYC compliant
  • Client Master Structure: 150 fields (existing) or 183 fields (new, from May 2025)

Tax Status codes align with Client Category Codes (Section 9).

Holding Nature Codes:

CodeHolding Nature
SISingle
JOJoint
ASAnyone or Survivor

Now let us cover modifications and closures — the ongoing lifecycle management of UCC records.


Client data changes are inevitable. Whether it is an address update, a bank account change, or a full account closure, this section covers the rules, processes, and important constraints you need to build into your system.

AspectDetail
Portalhttps://ucc.bseindia.com (login and select “Modify”)
BatchSame file format as registration; submit only modified records
Non-Financial ChangesAddress, mobile, email, bank details, demat details via batch upload
Financial ChangesSegment activation/deactivation via separate segment activation batch
PAN Verification ChangesEffective Apr 30, 2024 (new methodology)

What Can Be Modified:

  • Personal details (address, contact)
  • Bank account details
  • Depository details (DP ID, Client ID)
  • Segment subscriptions
  • Nominee details
  • Income range
  • FATCA/CRS information
  • Client status (Active/Inactive)

What Cannot Be Modified:

  • PAN number (requires new UCC if PAN changes)
  • Client Code (immutable after creation)
  • Trading Member ID
From StatusTo StatusAction RequiredSLA
Active (A)Inactive (I)Member updates via UCC portal or batch; client cannot tradeImmediate
Active (A)Closed (C)Member closes account; update UCC status; final settlementImmediate; settlements T+1
Inactive (I)Active (A)Re-verification of 6 KYC attributes requiredT+2 working days
Closed (C)Active (A)Not possible - new UCC registration requiredN/A
  1. Complete all pending settlements and clear all financial obligations
  2. Transfer or close all open positions (no open orders/positions allowed)
  3. Settle running account (if applicable)
  4. Update client status to C (Closed) in UCC database
  5. UCC automatically marked as NPTT (Not Permitted to Trade)
  6. Inform all exchanges (BSE, NSE, MCX) where UCC was registered
  7. Close demat account linkage (notify CDSL/NSDL)
  8. Retain records per SEBI retention policy (minimum 5-8 years; 8 years under SEBI Stock Brokers Regulations 2026)
  9. Issue final account statement to client

Critical: Closure is irreversible. A closed UCC cannot be reopened. If the client wishes to trade again, a completely new UCC registration is required.

When things go wrong — and in a system processing thousands of UCCs, they will — you need to understand error codes and validation rules. The next section is your debugging reference.


Error handling is where your integration will be tested the most. This section catalogues the validation rules, common rejection reasons, and SOAP error codes you will encounter, along with the resolution for each. Keep this section bookmarked.

18.1 Common Validation Rules (Batch Upload)

Section titled “18.1 Common Validation Rules (Batch Upload)”
#RuleField(s)Rejection Condition
1All mandatory fields populatedAll M fieldsAny mandatory field blank
2PAN formatPANNot AAAAA9999A (5 alpha + 4 numeric + 1 alpha)
3Date formatDOB, DOI, DORNot DD/MM/YYYY
4Mobile formatMobile NumberNot exactly 10 digits
5Email formatEmail IDInvalid email syntax
6Pincode formatPincodeNot exactly 6 digits
7IFSC formatBank IFSCNot 11 characters (4 alpha + 0 + 6 alphanumeric)
8Address Line 1AddressStarts with client name
9Address distinctnessAddress Lines 1/2/3Any two lines identical
10Nominee percentageNominee 1-3 %Total does not equal 100 (if nominees present)
11Client Code uniquenessClient CodeDuplicate within same Trading Member
12Income rangeIncome RangeMissing or invalid code
13Client CategoryClient CategoryInvalid code (not in 01-46 table)
14DepositoryDepositoryNot CDSL or NSDL
15GenderGenderNot M, F, or T (for individuals)
16Bank Account TypeAccount TypeNot SB or CA
17Guardian fields (minor)Guardian Name/PAN/DOBMissing when Client Category = 02
Rejection TypeCauseResolution
PAN Incorrect (I)Name/DOB mismatch with ITD recordsClient corrects at Income Tax Department, then broker resubmits
Address validation failAddr Line 1 starts with name, or lines duplicatedFix address formatting per rules
Mobile/Email unverifiedMobile or email not verified prior to submissionComplete OTP/email verification first
Duplicate UCCSame PAN already registered under another Client Code with same memberMerge accounts or close the duplicate
Missing mandatory fieldsRequired fields are blank or contain invalid dataComplete all mandatory fields
KYC non-compliantAll 6 KYC attributes not validUpdate all 6 attributes (Name, PAN, Address, Mobile, Email, Income)
Bank details invalidIFSC code not found or account number invalidCorrect bank details; verify via penny drop
Demat details invalidDP (Depository Participant) ID / Client ID mismatch with depository recordsVerify DP ID and Client ID with CDSL/NSDL
PAN-Aadhaar not linkedPAN marked inoperative at ITDClient links Aadhaar at ITD portal (exception: NRI with “Not applicable” status)
Income range missingNo income declaration providedClient provides income range (mandatory KYC attribute)
Nominee percentage mismatchTotal nominee % does not equal 100Adjust percentages to total exactly 100
  1. Download rejection report from UCC portal after batch processing (available next morning for overnight batches)
  2. Identify rejection reason codes per record in the report
  3. Correct the data in source system (KYC application)
  4. Resubmit only the corrected records in a new batch file
  5. Do NOT resubmit already-accepted records (will cause duplicate UCC errors)
  6. For PAN-related rejections: client must first correct at ITD, then broker resubmits
  7. Monitor resubmission results in next batch cycle
<SaveUCCResult>
<Status>FAILURE</Status>
<ErrorCode>ERR_PAN_MISMATCH</ErrorCode>
<ErrorMessage>PAN verification failed - Name does not match ITD records</ErrorMessage>
<ClientCode>ABCD001234</ClientCode>
<FieldName>ClientNameFirst</FieldName>
</SaveUCCResult>

Common SOAP error codes:

Error CodeDescriptionAction
ERR_PAN_MISMATCHPAN/Name/DOB mismatch with ITDCorrect at ITD
ERR_DUPLICATE_UCCClient Code already existsUse different code or modify existing
ERR_INVALID_FORMATField format validation failedCheck field formats
ERR_MANDATORY_MISSINGRequired field not providedFill all mandatory fields
ERR_INVALID_SEGMENTInvalid segment code or ineligibleCheck eligibility
ERR_BANK_INVALIDBank account/IFSC invalidVerify bank details
ERR_DEMAT_INVALIDDP ID/Client ID not foundVerify with depository
ERR_AUTH_FAILEDAPI authentication failureCheck credentials

Monitoring and reconciliation are essential for production operations. The next section covers the reports BSE provides and how to use them.


Daily reconciliation is not optional — it is how you catch compliance drift before it blocks your clients from trading. This section covers the reports BSE provides and the reconciliation processes you should implement.

ReportFrequencyAccess MethodPurpose
UCC Client Master ReportOn-demandBSE StAR MF: Admin >> Admin Reports >> Client Master Reports (TXT download)Full client list
PAN Verification StatusDailyUCC portal downloadPAN A/I/P status per client
UCC Compliance ReportDailyUCC portalLists PTT / NPTT status per client
Trade ConfirmationDaily (T+0)BOLT Plus / BOW trade logsTrade execution details
Obligation ReportSettlement dayICCL portalSettlement obligations
Margin ReportDailyICCL (segment-wise, client-level)Margin requirements
Collateral ReportDailyICCL web portal (client disaggregation)Collateral positions
Rejection/Error ReportPer batch uploadAvailable after batch processingBatch rejection details
6 KYC Attribute CompliancePeriodicExchange-level compliance monitoringKYC attribute status

Daily Reconciliation (recommended):

  1. Download PAN Verification Status report from BSE UCC portal
  2. Compare with internal KYC database for any new I (Incorrect) or P (Pending) statuses
  3. Download UCC Compliance Report to identify NPTT clients
  4. Cross-reference with internal active client list
  5. Flag any discrepancies for immediate resolution

Post-Batch Reconciliation:

  1. After each batch upload, download the Rejection/Error Report
  2. Match submitted records against accepted/rejected counts
  3. For accepted records, verify PTT status on T+1
  4. For rejected records, initiate correction workflow

Now let us look at the SLAs and timelines that govern BSE UCC operations.


Understanding SLAs helps you set the right expectations with your product and operations teams. The most important question is always: “When can the client start trading?” This section provides definitive answers.

OperationSLANotes
New UCC to PTTT+1 (next trading day)UCCs compliant by 22:00 hrs on T are PTT on T+1
Emergency PTT ProcessingSame day (T) if submitted by 14:30 hrsExigency provision; PTT by next trading session
UPI-based UCC activationSame day if by 16:00 hrsMust have validated PAN, bank, demat by 4 PM
Account ReactivationT+2 working daysT = day confirmation of re-verification provided
Batch Upload ProcessingOvernight (T+1 morning)Files uploaded during trading hours processed in overnight batch cycle
PAN VerificationReal-time to T+1Depends on ITD (Income Tax Department) system availability
Segment ActivationT+1Subject to income/eligibility validation
SOAP API ResponseNear real-time (seconds)Individual record processing
Rejection ReportT+1 morningAvailable after overnight batch processing
ActivityCut-off TimeNotes
UCC submission for next-day PTT22:00 hrs (T)Records compliant by 10 PM get PTT next day
Emergency PTT request14:30 hrs (T)Same-day activation for urgent cases
UPI activation16:00 hrs (T)PAN + bank + demat must be validated by 4 PM
Batch file uploadNo fixed cut-offBut processing happens overnight
Modification effectiveT+1Non-financial modifications processed overnight

The regulatory landscape for BSE UCC has evolved significantly over 2024-2025. The next section documents the key circulars that shaped the current system.


Staying current with circulars is essential. Each one can change field formats, add new mandatory fields, or alter eligibility criteria. The following timeline gives you the regulatory context for how the BSE UCC system reached its current state.

21. Recent Circulars (Jan 2024 - Jan 2026)

Section titled “21. Recent Circulars (Jan 2024 - Jan 2026)”
DateCircular / NoticeSubjectImpact
Jan 22, 2024BSE NoticeNew UCC format effective; old format coexistsTransition period begins
Feb 23, 2024BSE CircularBatch upload file format for bank account details (max 20K records)New bank detail batch format
Feb 23, 2024BSE CircularRevised file formats in UCC systemUpdated field definitions
Mar 20, 2024BSE ReminderImplementation deadline reminder for revised formatsMigration urgency
Mar 27, 2024BSE NoticeFinal reminder; old format discontinued Mar 28, 2024 EODHard deadline
Mar 28, 2024BSE EffectiveOld format no longer accepted131-field format discontinued
Apr 18, 2024BSE NoticeRevised file formats effective Apr 19, 2024 EODCurrent batch format active
Apr 30, 2024BSE NoticePAN verification methodology changes effectiveNew 3-param verification rules
May 30, 2024NSE/ISC/62244 (BSE follows)PAN-Aadhaar seeding no longer required for PTTSimplified PTT criteria
Jul 29, 2024BSE CircularBatch upload for Depository details (max 30K); Segment activation (max 50K)New batch types added
Aug 7, 2024BSE NoticeClient Master Structure revision to 150 fieldsField count increase
Aug 16, 2024BSE EffectiveOld 131-field UCC structure fully discontinuedNo backward compatibility
Oct 4, 2024BSE Effective150-field revised structure goes liveCurrent production structure
Jan 10, 2025BSE NoticeModification of Client Codes enhancement in RTRMS and BEFS modulesBack-office system updates
Feb 1, 2025SEBI EffectiveUPI Block Mechanism mandatory for QSBs (secondary market)Trading workflow change
Mar 1, 2025SEBI EffectiveNomination opt-out/opt-in deadline for demat accounts; up to 10 nomineesNominee fields expanded
May 22, 2025BSE NoticeNew 183-field UCC Registration API Structure (SaveUCC_V2) effectiveCurrent API standard
May 29, 2025BSE Circular183-field structure document published for membersDetailed field spec available
Jul 2025SEBICP (Custodial Participant) code requirement removed for NRIsNRI onboarding simplified
Dec 10, 2025SEBI CircularNRI KYC relaxation for re-KYC processReduced re-KYC burden for NRIs
Jan 7, 2026SEBINew Stock Brokers Regulations 2026 notified (replaces 1992 regs)Comprehensive regulatory overhaul

The 6 KYC attributes must be consistent across all systems. The next section explains these attributes and the cross-system consistency requirements specific to BSE.


The 6 KYC attributes are the backbone of client compliance. They must match across the KRA (KYC Registration Agency), the exchange (BSE and NSE), and the depository (CDSL/NSDL). A mismatch in any one of them can block trading. This section explains the attributes and the consistency requirements.

The 6 KYC attributes must match across KRA, Exchange (BSE/NSE), and Depository (CDSL/NSDL) records.

#AttributeBSE UCC FieldValidation
1NameClientNameFirst + ClientNameMiddle + ClientNameLastMust match PAN/ITD records exactly
2PANPANValid, non-inoperative, AAAAA9999A format
3AddressAddressLine1 + AddressLine2 + AddressLine3 + City + State + PincodeComplete with valid pincode
4Mobile NumberMobileNo10 digits, verified via OTP
5Email IDEmailIDValid format, verified via link/OTP
6Income RangeIncomeRangeValid code 01-06
SystemAttribute SourceSync Requirement
KRA (CVL/NDML/DOTEX/CAMS/KFintech)KYC application formUpload within 3 working days
BSE UCCUCC registration API/batchMust match KRA record
NSE UCCUCI Online / APIMust match KRA record
MCX (Multi Commodity Exchange) UCCMCX CONNECTMust match KRA record
CDSL (Central Depository Services Limited) BO AccountCDASMust match KRA record
NSDL (National Securities Depository Limited) BO AccountDPM / Insta InterfaceMust match KRA record

Any mismatch in the 6 attributes across these systems results in compliance flags and potential trading blocks.

Finally, here is the implementation checklist to guide your development and go-live process.


  • Obtain BSE Trading Member ID (6-character code)
  • Register for UCC portal access at https://ucc.bseindia.com
  • Obtain SOAP API credentials (for SaveUCC / SaveUCC_V2)
  • Request BSE StAR MF Web Service ID + Password (if MF distribution)
  • Set up test environment connectivity (https://www.bseindia.com/nta.aspx)
  • Obtain BOLT Plus connectivity (ETI/IML) for trading
  • Configure IML instances (one per segment)
  • Implement SOAP client for SaveUCC_V2 (183 fields)
  • Implement batch file generation (pipe-delimited, Row 1 + Row 2)
  • Implement 3-parameter PAN verification flow
  • Build address validation logic (all 7 rules)
  • Implement nominee management (1-3 via SaveUCC_V2, 4-10 via Non-Financial API)
  • Build client category routing (individual vs non-individual vs NRI)
  • Implement segment activation logic with F&O eligibility checks
  • Build error handling for all SOAP error codes
  • Implement batch rejection report parsing and correction workflow
  • Test SaveUCC with Individual client (category 01)
  • Test SaveUCC with Minor client (category 02) including Guardian fields
  • Test SaveUCC with Company (category 04) including Director details (Row 2)
  • Test SaveUCC with NRI client (categories 21/24)
  • Test batch upload with 100+ records
  • Test address validation rules (all 7 rejection scenarios)
  • Test PAN verification with A/I/P results
  • Test segment activation for F&O (income validation)
  • Test nominee submission (3 via SaveUCC_V2 + 4-10 via Non-Financial API)
  • Test modification workflow (status change, bank update, address update)
  • Test error response handling for all error codes
  • Validate PTT timing (submit by 22:00, verify PTT on T+1)
  • Switch from test to production endpoint
  • Verify production SOAP API connectivity
  • Submit first production UCC and verify PTT
  • Set up daily reconciliation process (PAN status + compliance reports)
  • Configure batch upload schedule (if using batch method)
  • Set up monitoring and alerting for API failures
  • Document SLA escalation process for emergency PTT requests

CodeState
ANAndaman & Nicobar
APAndhra Pradesh
ARArunachal Pradesh
ASAssam
BRBihar
CHChandigarh
CGChhattisgarh
DDDaman & Diu
DLDelhi
DNDadra & Nagar Haveli
GAGoa
GJGujarat
HPHimachal Pradesh
HRHaryana
JHJharkhand
JKJammu & Kashmir
KAKarnataka
KLKerala
LALadakh
LDLakshadweep
MHMaharashtra
MLMeghalaya
MNManipur
MPMadhya Pradesh
MZMizoram
NLNagaland
ODOdisha
PBPunjab
PYPuducherry
RJRajasthan
SKSikkim
TNTamil Nadu
TGTelangana
TRTripura
UKUttarakhand
UPUttar Pradesh
WBWest Bengal

Appendix B: Nominee Relationship Codes (Standardized)

Section titled “Appendix B: Nominee Relationship Codes (Standardized)”
CodeRelationship
SPOUSESpouse (Husband/Wife)
SONSon
DAUGHTERDaughter
FATHERFather
MOTHERMother
BROTHERBrother
SISTERSister
GRANDSONGrandson
GRANDDAUGHTERGranddaughter
GRANDFATHERGrandfather
GRANDMOTHERGrandmother
UNCLEUncle
AUNTAunt
NEPHEWNephew
NIECENiece
FRIENDFriend
OTHERSOthers (specify)

ResourceURL
BSE UCC Portalhttps://ucc.bseindia.com
UCC SOAP API Endpointhttps://ucc.bseindia.com/newucc/ucc_api_webservice/ucc_api_service.asmx
BSE StAR MF Endpointhttps://www.bsestarmf.in/StarMFWebService/StarMFWebService.svc
StAR MF Help/WSDLhttps://www.bsestarmf.in/StarMFWebService/StarMFWebService.svc/help
StAR MF API Structure (v3.1)https://www.bsestarmf.in/APIFileStructure.pdf
StAR MF Web File Structurehttps://bsestarmf.in/WEBFileStructure.pdf
ETI API Manual (v1.6.10)https://www.bseindia.com/downloads1/ETI_API_ManualV158.pdf
IML Installation Guidehttps://www.bseindia.com/downloads1/NTA-IML-Installation_Guide.pdf
IML API (v6.0)https://www.bseindia.com/downloads1/BOLTPlus_IML_API_version_6.0.pdf
BOLT Plus Connectivity Manualhttps://www.bseindia.com/downloads1/BOLTPLUS_Connectivity_ManualV12.pdf
BSE Test Environmenthttps://www.bseindia.com/nta.aspx
SEBI Stock Brokers Master CircularSEBI/HO/MIRSD/MIRSD-PoD/P/CIR/2025/90
SEBI KYC Master CircularSEBI/HO/MIRSD/MIRSD-SEC-2/P/CIR/2023/168
UCC-Demat Mapping CircularSEBI/HO/MIRSD/DOP/CIR/P/2019/136
StAR MF Test Env Contactnavaneetha.krishnan@bsetech.in / aqsa.shaikh@bsetech.in

This document is a detailed companion to Vendor Integrations Section V12 (BSE). It should be read alongside Master Dataset for field-level data mapping.