Importing your cap table
Bring an existing cap table into Tenacap from Carta, Pulley, the Tenacap workbook, or a spreadsheet of your own. Every figure is reconciled against your source’s own report, and you see exactly what will be created — before a single record is committed.
Importing is how most founders coming from another platform get started. You upload one file, Tenacap parses it, and you review a full preview — stakeholders, share classes, securities, totals, and any exceptions — before anything is written. The import runs through the same engine as the rest of the product, so an imported cap table is indistinguishable from one built by hand. For the bigger picture of your first session, see Getting started.
Supported sources
Four sources are offered on the import screen, and all four work today.
- Carta — a cap-table
.xlsx, or a.zipthat also includes a contacts file for stakeholder emails. - Pulley — a single
.xlsxworkbook. - A spreadsheet — for cap tables that live in a spreadsheet rather than in Carta or Pulley. Start from a blank template you fill in — download it as a CSV or as Excel — same template, two formats, take whichever your software opens. You don’t need an account to download it, and the same two links sit on your company page and on the import screen. Then fill in one row per holding — a column tells us each row’s type (Common, Preferred, SAFE, Note, Option/ISO/NSO, or Warrant). Columns: Stakeholder, Email, Security Type, Share Class, Quantity, Price Per Share, Investment, Valuation Cap, Discount, Interest Rate, Maturity Date, Plan, Pool Size, Expiration Date, Vesting Months, Cliff Months, Vesting Start, Issue Date. For a convertible note, Investment is the principal (Interest Rate / Maturity Date optional → 0% and issue+2yr). For an option grant, Price Per Share is the strike and the grant draws from the named Plan; add Vesting Months (+ optional Cliff Months / Vesting Start) for a standard monthly schedule. Pool Size is the plan’s total authorized pool — put it on any row for that plan and leave it blank on the rest. Without it we can only assume the pool is exactly what has been granted, which leaves no unallocated shares and makes your fully-diluted total look better than it is. Warrants take a strike (Price Per Share) and an Expiration Date. Already keep your cap table in a spreadsheet with different column names? You don’t have to reformat it — upload your file as-is (.csv or .xlsx) and a mapping step lets you match your columns to ours (we pre-fill the obvious ones). Note that this template is not the same file as Tenacap’s CSV export: the export is a six-column report of outstanding shares only, so export → edit → re-import is not a supported workflow. See Export & open schema for what each export format contains.
- The Tenacap workbook — our own nine-tab template, and the right choice for a cap table a flat sheet cannot hold: a priced round with class-level terms, options that are part-exercised, or more than one plan. Download the workbook and fill in the tabs you need — stakeholders, share classes, equity plans, vesting schedules, securities. Column names are on row 1 of every tab. Pick The Tenacap workbook on the import screen and upload it whole: it reads all nine tabs in one pass, so there is no sheet to choose and no columns to map. Options belong on Securities, not Share Classes. On Securities, Security Type is the instrument (ISO, SAFE, Preferred…) and Share Type is what the shares themselves are (Common or Preferred) — an ISO grant is Security Type ISO, Share Type Common. Because the tabs refer to each other by name, a security naming a share class, plan or vesting schedule that has no row of its own is reported back to you rather than guessed at. Workbooks built on the older version of this template — column names on row 4 under a title banner — are read too; you do not need to re-key anything. One tab is not read yet: Transactions. Your holdings come from Securities, which states the position as it stands today, and any rows you have put on Transactions are listed in the exception report so you know they were not treated as history.
Producing your export
Each platform tucks its export in a slightly different place.
From Carta: go to Essentials, open View cap table, then Export. “Default cap table report” includes everything and is the safe choice. If you pick Select cap table report options instead, tick Summary, Detailed and Securities ledgers by type and class — Summary is where Carta records the cash raised against each share class, and without it we can’t tell what anything was bought for, so per-share prices and “capital raised” both arrive as $0. Set the “As of” date, leave Include Excel formulas set to No, and export to Excel. Grab the file from your Downloads. Carta’s OCX / Open Cap Table export also works and is the most robust if you have it. To include stakeholder emails and mailing addresses, add Carta’s contacts export — Essentials → Manage stakeholders → Download → Contact spreadsheet — dropped in the optional contacts box when you upload, or zipped together with the cap table.
From Pulley: click Download — top middle of the Dashboard, or on the Cap Table page. Check that the Download Cap Table dialog says “Includes all cap table details (fully diluted)”, leave All time checked and Include Drafts unchecked, then download. If a file turns out to hold only one section — just your convertibles, say — it came from a different export and has none of your shares in it. The right export is one workbook containing every tab — Summary, Ownership, a tab per share class (CS-Common, SPS-1-…), plus your convertibles, warrants, and equity plan.
Uploading your file
Start a new import from your workspace home. Pick your source, then drag your file onto the upload area or click to browse. Tenacap accepts .xlsx and .zip files (the Tenacap CSV source also takes .csv) up to 50 MB; exports for companies below Series C fit comfortably under that.
Exports don’t carry a few company facts Tenacap needs, so you’ll also enter the incorporation date, jurisdiction, and entity type (the legal name is auto-extracted if you leave it blank). When you continue, your file uploads and parses, then you land on the preview.

Reading the preview
The preview is the heart of the import. Nothing has been written yet — this is a dry run that replays your file against an empty cap table and totals up the result.
At the top is the trust check: Totals match your source when Tenacap’s outstanding, fully-diluted, and capital-raised figures are exactly equal to the numbers your source reported. If they disagree, the screen shows each mismatched figure side by side and the import will not commit. Below that, a “Will create” card breaks down how many stakeholders, share classes, and ledger transactions will be added, with totals you can read straight off the card.
For option grants, the preview also cross-checks vesting. Tenacap recomputes each grant’s vested quantity from its start date and schedule; when your source (currently Pulley) reports its own vested figure for a grant and the two disagree — which happens whenever real-world vesting was modified after the fact, such as a stop-vest on a role change, a leave of absence, or an acceleration — the preview names the grant and shows both numbers side by side. This never blocks the import: which number is right isn’t something the file alone can answer, so the grant imports either way, anchored to the source’s reported figure. Once committed, the stakeholder page asks you which it was — see when an import disagrees with the schedule — and your answer takes effect on the cap table, ISO $100k / Form 3921, and everywhere else that grant’s vesting is shown.
The preview also reports email coverage — how many of the incoming stakeholders have an email address on file. Carta and Pulley exports usually omit emails — Pulley’s cap-table workbook has no email column at all, so a Pulley import always shows zero — and emails are what let you invite holders to the portal and send them notices. Both platforms will hand you the addresses separately: in Pulley, Stakeholders → Actions → Download; in Carta, Manage stakeholders → Download → Contact spreadsheet. Add Carta’s on the upload step, or bring either in afterwards with an email import.

Reviewing line items
The totals check answers “do the aggregates match?” The Review line items card answers “is every individual row right?” Expand it to see each transaction the import will write — its type, effective date, the stakeholder and share class (resolved from your file’s own references, not raw codes), the quantity, and the price or consideration. It’s the same data the commit step writes, shown row by row so you can spot a misattributed holding or a wrong class before anything is committed. The list loads on demand when you open it, so a large cap table doesn’t slow the preview down.
If your export records a termination or end date for someone who has left (Pulley’s equity plan and Carta’s certificate ledger both carry one), the import marks that stakeholder as departed and stops their vesting on that date — so people who have left don’t keep looking active. Re-import to backfill departures you added since your last upload.
If a certificate in your export came from an option exercise, the import keeps the link. Both platforms record it — Pulley’s certificate ledger has a Source column reading “Exercised from ES-39”, Carta’s share ledger an Origin column naming the grant — and the resulting share holding shows “exercised from grant ES-39” on the stakeholder’s page, the same way a share that came from a converted SAFE names the SAFE. That is the answer to a routine diligence question you otherwise cannot reconstruct once the export is closed. Options exercised before you migrated used to arrive as plain common stock with no route back to the grant; re-import to pick the links up on a cap table you brought in earlier.
The exception report
Anything Tenacap can’t bring in as-is is listed as an exception, never silently dropped. Exceptions come in two flavors. Deferred items — such as vesting schedules, option grants, and warrants — are captured in the report and will be added automatically in a later update; your share totals already match your source without them. A small number of unsupported items can’t be represented yet and need a closer look.
You can download the full exception report as a CSV from both the preview and the post-import screen, so you always have a record of what was set aside.
Committing the ledger
When the totals match, check the box confirming you’ve cross-checked the numbers, then commit. Everything is written in a single atomic transaction — the company, every stakeholder, every share class, and every issuance all succeed together, or nothing is written at all. Re-running the same import is a no-op, so a network blip mid-commit won’t double-import your cap table.
Importing into a company you already created
If you (or a colleague) already set up the company but haven’t built its cap table yet, importing lands into that company rather than creating a new one — nothing is deleted. When the file’s company details differ from what was typed at setup (legal name, incorporation date, state, or entity type), the preview shows a short side-by-side and keeps your typed values by default; you choose the file’s value per field only if you want it. The share counts and share classes always come from the file. If the company already has a cap table, importing instead offers to replace it — a separate, clearly-flagged, irreversible step.
What to verify after
Open your new cap table and confirm the fully-diluted totals match the numbers you cross-checked in the preview. Then open the exception report and record by hand anything that was set aside (an unrecognized row, a value we couldn’t map). If your stakeholders came in without email addresses — always the case from Pulley — run an email import to fill them in from a contact sheet. Once those are in, your cap table is complete and ready to share through the stakeholder portal.
