Kerdora has a built-in import for Altruist holdings CSVs. Export the report from Altruist, drop the CSV into Kerdora, review the suggested matches, and import. The result is clients, accounts, and holdings populated in bulk without manual entry.
This is separate from the regular Document Extractor. The Extractor works on statements, PDFs, and loose files for a single client. The Altruist import works on your firm's holdings report across your entire book of business in one pass.
Where to find it
If your firm has the Altruist import flag enabled, you'll see an Import Holdings button on the left sidebar of the Clients page (below the navigation items). Click it and you land on the three-step import flow at /altruist-import.
If you don't see the button, ping support and we'll turn the flag on for your account.
Step 1: Upload
Export a holdings report from Altruist — the extended report is recommended because it includes the extra fields (account type, owner, holding detail) Kerdora uses for better matching. Save the CSV somewhere you can find it.
On the Upload step, drag the CSV onto the drop zone or click to pick the file. Kerdora parses it immediately and moves you to Review. If the file is malformed, you'll see an error telling you what went wrong.
Step 2: Review
This is where the work happens. Kerdora compares what's in the CSV against what's already in Kerdora and sorts every Altruist account into one of two sections:
AI-suggested matches. Altruist accounts Kerdora thinks it can match to an existing Kerdora household and account. Each match shows the Altruist account name alongside the Kerdora household and account name it picked. Review each row, accept if it looks right, or edit if it doesn't.
Needs your input. Altruist accounts Kerdora couldn't confidently match. For each, you pick an action:
- Create New. Create a new household, account, and holdings from the CSV. Useful for a new client you're onboarding via import.
- Assign Existing. Pick an existing Kerdora household and account to attach the holdings to.
Each row has inline edit controls for the Kerdora household name and Kerdora account name — rename on the fly if the Altruist naming doesn't match what you want in Kerdora.
The page is scrollable; tackle matches in any order. An "unsaved changes" guard warns you if you try to leave before importing.
Step 3: Result
Hit Import. Kerdora creates clients, accounts, and holdings in bulk according to your review decisions. When it's done you see a summary of what was created and what was updated, with direct links into each affected client file.
From here you can close the tab and move on, or click into a client to verify.
What gets imported
For every row you confirm:
Household — created if "Create New," or left alone if "Assign Existing."
Investment account — created with the Altruist account name, type, owner, and institution set to Altruist.
Holdings — every position with ticker, quantity, and price. Holdings replace whatever was previously on that Kerdora account for this run.
Balances, time horizons, beneficiaries, and anything else Altruist doesn't provide aren't touched.
Tips
Run imports after the market closes. Altruist's intraday holdings reports flicker on prices. An after-close export gives you stable numbers and fewer surprises.
Import monthly, not daily. Kerdora isn't a real-time portfolio system. A monthly refresh (the day after month-end works well) keeps balances current without churn.
Use "Assign Existing" for clients you've already built. Don't re-create households. If the client is already in Kerdora, assign the holdings to the existing account; otherwise you'll end up with duplicate clients that have to be merged by hand.
If a match looks wrong, edit inline. Kerdora's matcher is good but not perfect, especially for accounts with fund-company names in them (e.g., "Vanguard IRA" could match multiple Kerdora accounts). A 10-second review saves a 5-minute cleanup later.
