Pershing
Pershing is a self-hosted file-based integration that allows advisors to import client accounts and holdings from Pershing custodian data into RightCapital. Pershing pushes files to our SFTP server.
Overview
Section titled “Overview”| Attribute | Value |
|---|---|
| Integration Type | File-based (Self-hosted) |
| File Format | Fixed-width text files (ACCT, GCUS, ECMB, FUND, ISCA) |
| Data Flow | Pershing SFTP Push → RightCapital |
| Data Sync | Daily batch sync |
| Owner | Kewei Yan |
| Vendor Tier | Tier 3 |
How It Works
Section titled “How It Works”Pershing pushes fixed-width text files to our SFTP server daily:
Pershing FTP Server ↓ (SFTP Push)ftp.rightcapital.com:/data/{transmission_id}/ ↓S3 Storage ↓Nightly Sync Job (parse & import)Transmission Setup
Section titled “Transmission Setup”New Transmission Flow (PAS)
Section titled “New Transmission Flow (PAS)”- PAS sends FTP form (PDF) to
integration-setup@rightcapital.com - Product Support creates Jira ticket with customer name and FTP form
- Engineering fills the form and posts it back on Jira
- Product Support sends the filled form to PAS with note: “Please note that we request to generate full GCUS, ECMB and FUND daily”
- PAS passes the form to CSI
- CSI provides estimate of completion (usually 1-2 weeks)
- PAS sends final confirmation email with IBD#, Site ID, and optionally Mailbox ID
- Product Support posts the IBD#, Site ID, and Mailbox ID on Jira
- Engineering closes the ticket
FTP Form Fields
Section titled “FTP Form Fields”Fixed RightCapital Information:
| Field | Value |
|---|---|
| Entity Consuming Files | RightCapital |
| Consumer Relationship | Vendor |
| Consumer Technical Contact | Yan Hu |
| Technical Contact Email | integration-setup@rightcapital.com |
| How files received | Pershing SFTP Push Key Authenticated |
| PGP Encrypted | No PGP |
| Server Name | ftp.rightcapital.com |
| Port | 22 |
| Username | pershing |
| Password | (leave empty) |
| Standard Files | ACCF, ACCT, GCUS, ECMB, FUND, ISCA |
| Date stamp | YES |
| Special Instructions | Please generate full GCUS, ECMB and FUND files daily. |
Variable Fields:
| Field | Value |
|---|---|
| Requestor Name | Customer company name |
| Directory Path | /data/{transmission_id} |
Form Filling SOP
Section titled “Form Filling SOP”Important: Use Adobe Acrobat Reader to edit the PDF form for better compatibility.
Step-by-step process:
-
Prepare Transmission ID
- Open Pershing Transmission IDs table
- Add new row with incremented Transmission ID
- Fill
Firm namefrom Jira ticket subject (leave IBD, Site ID, Mailbox ID empty for now)
-
Fill the PDF form with values from the table above, noting:
Directory Path:/data/{Transmission ID}(use the ID from step 1)Requestor Name: Advisor’s firm name from Jira ticket (leave empty if not provided)
-
Create S3 directory
rightcapital-integration-prd/raw/self-hosted/pershing/data/{Transmission ID}/ -
Post filled form back to Jira ticket
-
After receiving confirmation (IBD#, Site ID, Mailbox ID):
- Update Notion table with IBD and Site ID values
- Post confirmation to Jira and close ticket
Key Identifiers
Section titled “Key Identifiers”| Field | Full Name | Description | Source |
|---|---|---|---|
| Transmission ID | - | Our unique ID for each transmission, determines directory path | We assign |
| IBD# | Introducing Broker-Dealer | 3-character broker code, used for row-level filtering | Pershing returns |
| Site ID | - | Pershing-assigned site identifier | Pershing returns |
| Mailbox ID | - | Optional mailbox identifier | Pershing returns |
| IP# | Investment Professional | Optional 3-4 character code for secondary filtering | Pershing returns |
Database Storage
Section titled “Database Storage”Integration reference stored in integrations.reference:
{transmission_id}:{IBD}[:{IP_list}]Examples:
XGK700010:3CR- Transmission + IBD onlyXGK700010:3CR:999- With single IPXGK700010:3CR:999,998- With multiple IPs
Admin Center Setup
Section titled “Admin Center Setup”Time Availability: Integration can only be set up on Admin Center on or after the next Sunday since receiving the notification email.
| Field | Required | Example |
|---|---|---|
| Transmission ID | Yes | 1 |
| IBD# | Yes | 3CR |
| IP# | No | 000 (omit to see all IPs under IBD) |
File Types
Section titled “File Types”| File | Description | Key Fields |
|---|---|---|
| ACCT | Account information | Account number, name, type, status |
| GCUS | Securities positions | CUSIP, quantity, market value |
| ECMB | Electronic trading funds (new format) | Cash balances |
| FUND | Money market funds (old format) | Fund balances |
| ISCA | Security information | Symbol, CUSIP, ISIN, price |
IBD/IP Field Positions
Section titled “IBD/IP Field Positions”| File Type | IBD Position | IP Position |
|---|---|---|
| ACCT | offset 20, 3 chars | offset 24, 4 chars |
| ECMB | offset 29, 3 chars | offset 33, 4 chars |
| FUND | offset 127, 3 chars | offset 16, 3 chars |
| GCUS | offset 50, 3 chars | offset 46, 4 chars |
| ISCA | (no filtering) | (no filtering) |
Account Type Mapping
Section titled “Account Type Mapping”| Pershing Code | RightCapital Subtype |
|---|---|
| 529B, 529C, 529I, 529N, 529P, 529T | 529 Plan |
| RETG | Traditional IRA |
| RETN | Roth IRA |
| RETC, RETE, RETH, RETI, RETP, RETQ, RETR, RETS | 401(k) |
| TRST, IATR | Trust |
| HSAC | HSA |
| (default) | Taxable |
Holding Type Mapping
Section titled “Holding Type Mapping”| Vendor Type | Discrete Type | Security Type |
|---|---|---|
| MONEYMKT | money_market_fund | fund |
| 000, 001, 020, 021, 030, 031, 06 | open_end_fund | fund |
| 10, 10A, 20, 20A, 21 | equity | equity |
| 500, 501, 510, 511, 520, 521 | bond | fixed_income |
| 60G, 60D, 60S, 60R, 61G, 61D, 61S | bond | fixed_income |
| 70R, 70F, 71R, 72R, 71F | bond | fixed_income |
Code Locations
Section titled “Code Locations”| Component | Path |
|---|---|
| Backend Integration | packages/libs/integrations-file-based/src/Pershing/ |
| Integrator | Integrator.php |
| Reader | Reader.php (IBD/IP filtering) |
| Extractor | Extractor.php (data extraction) |
| Config | Config.php |
| Sync | Sync.php |
| Models | Models/InvestmentAccount.php, Models/Holding.php |
Contacts
Section titled “Contacts”PAS Data Delivery Team
Section titled “PAS Data Delivery Team”- Group:
pas_software_connectivity_data_delivery@pershing.com - Tiffany Barahona:
tbarahona@pershing.com
CSI Group
Section titled “CSI Group”- Primary: Brian Flaherty
bflaherty@pershing.com - Group:
CSIGroup@pershing.com
Common Issues
Section titled “Common Issues”Date Format
Section titled “Date Format”Pershing uses YYYY-MM-DD format (e.g., 2024-12-31).
Null Value Representation
Section titled “Null Value Representation”Pershing represents empty values as NULL string.
Multiple Sheets
Section titled “Multiple Sheets”Excel exports may contain multiple sheets (Accounts, Holdings, Transactions). Header row may not be row 1.
Numeric Fields as Text
Section titled “Numeric Fields as Text”Some numeric fields may be formatted as text in exports.
Related
Section titled “Related”- Albridge - Pershing subsidiary, uses API
- File-based Vendor Specifics - Technical details
- Notion: Pershing Documentation - Transmission IDs table