Skip to content

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.

AttributeValue
Integration TypeFile-based (Self-hosted)
File FormatFixed-width text files (ACCT, GCUS, ECMB, FUND, ISCA)
Data FlowPershing SFTP Push → RightCapital
Data SyncDaily batch sync
OwnerKewei Yan
Vendor TierTier 3

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)
  1. PAS sends FTP form (PDF) to integration-setup@rightcapital.com
  2. Product Support creates Jira ticket with customer name and FTP form
  3. Engineering fills the form and posts it back on Jira
  4. Product Support sends the filled form to PAS with note: “Please note that we request to generate full GCUS, ECMB and FUND daily
  5. PAS passes the form to CSI
  6. CSI provides estimate of completion (usually 1-2 weeks)
  7. PAS sends final confirmation email with IBD#, Site ID, and optionally Mailbox ID
  8. Product Support posts the IBD#, Site ID, and Mailbox ID on Jira
  9. Engineering closes the ticket

Fixed RightCapital Information:

FieldValue
Entity Consuming FilesRightCapital
Consumer RelationshipVendor
Consumer Technical ContactYan Hu
Technical Contact Emailintegration-setup@rightcapital.com
How files receivedPershing SFTP Push Key Authenticated
PGP EncryptedNo PGP
Server Nameftp.rightcapital.com
Port22
Usernamepershing
Password(leave empty)
Standard FilesACCF, ACCT, GCUS, ECMB, FUND, ISCA
Date stampYES
Special InstructionsPlease generate full GCUS, ECMB and FUND files daily.

Variable Fields:

FieldValue
Requestor NameCustomer company name
Directory Path/data/{transmission_id}

Important: Use Adobe Acrobat Reader to edit the PDF form for better compatibility.

Step-by-step process:

  1. Prepare Transmission ID

    • Open Pershing Transmission IDs table
    • Add new row with incremented Transmission ID
    • Fill Firm name from Jira ticket subject (leave IBD, Site ID, Mailbox ID empty for now)
  2. 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)
  3. Create S3 directory

    rightcapital-integration-prd/raw/self-hosted/pershing/data/{Transmission ID}/
  4. Post filled form back to Jira ticket

  5. After receiving confirmation (IBD#, Site ID, Mailbox ID):

    • Update Notion table with IBD and Site ID values
    • Post confirmation to Jira and close ticket
FieldFull NameDescriptionSource
Transmission ID-Our unique ID for each transmission, determines directory pathWe assign
IBD#Introducing Broker-Dealer3-character broker code, used for row-level filteringPershing returns
Site ID-Pershing-assigned site identifierPershing returns
Mailbox ID-Optional mailbox identifierPershing returns
IP#Investment ProfessionalOptional 3-4 character code for secondary filteringPershing returns

Integration reference stored in integrations.reference:

{transmission_id}:{IBD}[:{IP_list}]

Examples:

  • XGK700010:3CR - Transmission + IBD only
  • XGK700010:3CR:999 - With single IP
  • XGK700010:3CR:999,998 - With multiple IPs

Time Availability: Integration can only be set up on Admin Center on or after the next Sunday since receiving the notification email.

FieldRequiredExample
Transmission IDYes1
IBD#Yes3CR
IP#No000 (omit to see all IPs under IBD)
FileDescriptionKey Fields
ACCTAccount informationAccount number, name, type, status
GCUSSecurities positionsCUSIP, quantity, market value
ECMBElectronic trading funds (new format)Cash balances
FUNDMoney market funds (old format)Fund balances
ISCASecurity informationSymbol, CUSIP, ISIN, price
File TypeIBD PositionIP Position
ACCToffset 20, 3 charsoffset 24, 4 chars
ECMBoffset 29, 3 charsoffset 33, 4 chars
FUNDoffset 127, 3 charsoffset 16, 3 chars
GCUSoffset 50, 3 charsoffset 46, 4 chars
ISCA(no filtering)(no filtering)
Pershing CodeRightCapital Subtype
529B, 529C, 529I, 529N, 529P, 529T529 Plan
RETGTraditional IRA
RETNRoth IRA
RETC, RETE, RETH, RETI, RETP, RETQ, RETR, RETS401(k)
TRST, IATRTrust
HSACHSA
(default)Taxable
Vendor TypeDiscrete TypeSecurity Type
MONEYMKTmoney_market_fundfund
000, 001, 020, 021, 030, 031, 06open_end_fundfund
10, 10A, 20, 20A, 21equityequity
500, 501, 510, 511, 520, 521bondfixed_income
60G, 60D, 60S, 60R, 61G, 61D, 61Sbondfixed_income
70R, 70F, 71R, 72R, 71Fbondfixed_income
ComponentPath
Backend Integrationpackages/libs/integrations-file-based/src/Pershing/
IntegratorIntegrator.php
ReaderReader.php (IBD/IP filtering)
ExtractorExtractor.php (data extraction)
ConfigConfig.php
SyncSync.php
ModelsModels/InvestmentAccount.php, Models/Holding.php
  • Group: pas_software_connectivity_data_delivery@pershing.com
  • Tiffany Barahona: tbarahona@pershing.com
  • Primary: Brian Flaherty bflaherty@pershing.com
  • Group: CSIGroup@pershing.com

Pershing uses YYYY-MM-DD format (e.g., 2024-12-31).

Pershing represents empty values as NULL string.

Excel exports may contain multiple sheets (Accounts, Holdings, Transactions). Header row may not be row 1.

Some numeric fields may be formatted as text in exports.