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.

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
Developer Kewei Yan
Cron Owner kewei.yan
Vendor Tier Tier 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:

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}

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
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

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.

Field Required Example
Transmission ID Yes 1
IBD# Yes 3CR
IP# No 000 (omit to see all IPs under IBD)
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
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)
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
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
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
  • 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.