What’s new
Everything that ships to Tenacap, in the order it shipped. We update this with each release so you can see what changed without having to ask — including the fixes, not just the wins.
Tenacap ships continuously to one hosted environment, so releases are dated rather than numbered — the date is the version. Changes that affect your own company’s records are separately recorded in your change log, which is tamper-evident and exportable.
September 24, 2026
2026.09.24
New
- A re-import can be undone — Replacing your cap table with a fresh import used to be a one-way door: the old share classes, ledger and every hand correction you had made since were deleted outright. Now a complete copy is kept first, and support can put it back exactly as it was — same certificate numbers, same history, same manual entries — including the corrections you made after the import you are going back to. Restoring is itself reversible, because the state you leave is kept too. If you re-imported the wrong file, contact us rather than rebuilding by hand.
September 23, 2026
2026.09.23
New
- We go back and fix imports we read wrong — When we fix a bug in how we read a Carta or Pulley export, the cap tables already imported with the old reading stay wrong until somebody notices. They no longer do. Every night we re-read the file you originally uploaded, compare it with the cap table we built from it, and where your file plainly states something we recorded differently — whether a share class is common or preferred, for instance — we correct it. The cap table as it stood is saved first, so nothing is lost and every correction can be undone. One exception, on purpose: if you have recorded anything on your cap table by hand since importing, we change nothing at all and a person looks at it instead. Your own entries exist in no spreadsheet, and we will not risk them to fix our own mistake.
Fixed
- The nightly import correction sweep now attributes its work to a person already on our internal admin list, instead of a second, separately-configured account. No visible change to what it does — one less setting that could be missed and silently turn the sweep off.
September 22, 2026
2026.09.22
New
- We check the shape of an imported cap table, not just its totals — Until now the only automatic check on an import compared two numbers: total shares outstanding, and total money raised. Both can be exactly right while the cap table is still wrong — a share class recorded as common instead of preferred has identical share counts, and is paid no liquidation preference at all in an exit. We now model an exit against every imported cap table and check the result holds together: that a company recording investment also holds preferred stock, that every preferred class takes its preference, and that an exit distributes to the last cent.
September 21, 2026
2026.09.21
Fixed
- Whether a share class is common or preferred is stated in your export — Carta and Pulley both head the class list with “Common Stock classes” and “Preferred Stock classes.” We were skipping those headings and working it out from the class name instead, which is right for a class called “Series Seed-1 Preferred” and wrong for one called plainly “Series A.” We now read what your file says. This matters more than it sounds: share counts are identical either way, so nothing flagged it — but a preferred class recorded as common is paid no liquidation preference at all in an exit scenario.
September 20, 2026
2026.09.20
Improved
- Replacing a cap table is no longer permanent — When an import replaces an existing cap table, we now keep a complete copy of what was there first — every share class, holding, grant and ledger entry, including any corrections you made by hand after the last import. Nothing about this is visible yet; being able to restore one is the next step. We are keeping the copies from today so that when the button arrives it has something to restore.
Fixed
- Re-importing a cap table used to leave the notes from the PREVIOUS import on screen — including ones you had just fixed by exporting a better file — while quietly failing to record the notes from the new one. Both halves are fixed: the old notes are marked resolved, and the new ones are recorded.
September 19, 2026
2026.09.19
Fixed
- If an import was blocked because the numbers we read disagreed with the numbers your file stated, and the cause turned out to be a bug in our reader, you had to log back in and start the import again once we fixed it. You no longer do. We re-read the file you already sent us and finish the import for you — you get told it is ready rather than asked to do it again. This only ever applies where no cap table exists yet: changing a cap table you already have still needs your approval, every time.
- After we re-read a file, the import console showed “parsed successfully” — which only meant the file could be read, not that the reading was right — while the old disagreement stayed on screen underneath it. It now states plainly whether the totals agree with your file, with the share count, and the old figures are replaced rather than left sitting there.
September 18, 2026
2026.09.18
New
- We say when your Carta export was run without the securities ledgers — Carta puts SAFEs and convertible notes in a per-class ledger sheet, and a “Detailed Cap Table” export run without those sheets contains none of them — four of the ten real exports we have seen took this path. Previously your convertibles were simply not on your cap table and nothing said why. We now name it plainly: they are absent from the file, we never received them, and here is the tickbox to re-export with. If you have never issued a SAFE or a note, nothing is missing and you can say so.
- Transferred certificates say what we did and did not record — When a Carta export shows one certificate transferring shares to another, we retire the first and issue the second in its own right. Every share count, percentage and total is correct — but the link between the two certificates is not recorded, so the transfer does not appear on either holder’s page. That used to be invisible. It is now stated, with the count of transfers affected.
September 17, 2026
2026.09.17
New
- We tell you who we can’t reach, and what we had to estimate — Two new cards after an import. If your export carries no email addresses — neither Carta’s nor Pulley’s cap-table download does — we say how many shareholders that leaves unreachable and where to get the contacts file, in one action rather than one per person. And where a Carta export states only a class total for money raised, we now say that each holder’s amount is our estimate, split in proportion to shares: the class total is right, but anyone who paid a different price shows the wrong figure until you check it.
Fixed
- Uploading Pulley’s raw data export — the one whose tabs are database names — used to fail with a message about whichever tabs the importer you picked was looking for, which was true and no help at all. We now recognise that file and tell you which Pulley download to use instead.
September 16, 2026
2026.09.16
Fixed
- Preferred share classes imported from Pulley could arrive marked as common stock. Whether a class was preferred was decided by looking for the word “Preferred” in the sheet name, and Pulley names those sheets after your own class names — so a company whose classes are called “Series Seed-1” rather than “Series Seed-1 Preferred” had every preferred class imported as common. Share counts were unaffected, which is why nothing flagged it, but an exit scenario would have paid those classes with no liquidation preference. We now read the class code as well as the name.
- A share class could also be imported twice — once from its own ledger sheet and once from the summary — when its code contained a digit (“PS1”, “PS2”). The two spellings did not match each other, so both were kept.
September 15, 2026
2026.09.15 · A Pulley import could silently leave out entire share classes — keeping your founder common and dropping every priced round. If your import was refused for totals that didn’t match, this was very likely why.
Fixed
- We identified a Pulley export’s per-class ledger sheets by the code in the tab name, and only recognised the codes we had seen before. Pulley builds that code from your own class naming, so a company whose preferred classes are coded differently had those sheets quietly treated as something else — the shares and the money in them never reached the cap table, with nothing said. Because the check only needed ONE recognisable sheet, a file with a recognisable common ledger passed it and lost everything else. We now identify a ledger by what is IN it rather than what it is called.
- This is what the totals check exists for: any import affected by it was refused rather than committed, so no cap table was quietly wrong. If yours was blocked, please import it again — it should now go through.
September 14, 2026
2026.09.14
New
- What an import couldn’t bring, listed rather than lost — Some Carta reports state a holding without its terms — a report exported without the securities ledgers has the holder and the share count for every option position, but no strike price, grant date or vesting, so it cannot become a grant. Those holdings used to be counted in a sentence and left off your cap table. They now appear as their own list after an import, showing who holds what, with two honest ways to finish: re-export from Carta with the securities ledgers ticked, which also brings any SAFEs the report is missing, or enter them here. Where there are ten or fewer we offer both equally; above that re-exporting is the faster path, though entering them by hand is always available.
September 13, 2026
2026.09.13
New
- Sub-series: two share classes can now rank equally — A Series A-1 can sit alongside a Series A at the same rank, priced differently and paid alongside it in an exit rather than before or after it. This is how a round where the lead negotiated different economics is actually papered, and until now we could not store it — two classes were required to have different ranks. Exit scenarios already calculated equal-ranking classes correctly; they can now be entered.
Fixed
- When the certificates in one share class state different terms from each other, we now split them into separate, equal-ranking classes on your import review — because shares in a single series all carry the same rights, so different terms mean more than one series. Each certificate goes to the class whose terms it states, and the review tells you which went where so you can check the placement and rename them to match your charter. Nothing reaches your cap table until you approve the import.
September 12, 2026
2026.09.12
New
- What still needs you after an import — A new “Needs you” list appears after an import, with a card for anything worth your attention — a share class whose terms your export doesn’t state, a plan whose remaining reserve we and your file disagree about. Each card says plainly whose job it is: something you can fix, something that’s ours, or something only you can check. You can mark one as seen and come back to it; nothing can be dismissed outright, because a wrong number you can swipe away is still a wrong number.
- See what we checked your file against — After an import, a new “What we compared” section shows every total your file states about itself — your overall share count, each share class, each equity plan’s remaining reserve — next to the figure we calculated from the individual holdings we read. Anything that disagrees is shown outright; the ones that agree tuck away behind a link, because they are there as evidence rather than as something to act on. If your file states no totals of its own, we say that too, rather than showing you a clean bill of health nothing actually checked.
September 11, 2026
2026.09.11
Fixed
- Restricted stock granted out of an equity plan and imported from Carta now draws on that plan’s reserve, the way it already did for Pulley imports. Carta records these as ordinary share certificates that name the plan they came from, and we were reading them as plain common stock — so the plan looked like it had room it does not have, and the same shares were counted twice in your fully-diluted total: once as stock you have issued, once as pool you have not. Your available-to-grant figure will fall and your fully-diluted total will fall with it; both smaller numbers are the true ones. Companies imported before this release need to be imported again to pick it up.
- Restricted stock issued outside any plan — ordinary founder stock — is deliberately unaffected: no plan funded it, so no plan is charged for it.
- If a restricted-stock certificate names an equity plan your export has no sheet for, we now say so instead of passing over it, and we say how much reserve is unaccounted for as a result.
September 10, 2026
2026.09.10 · Shares repurchased back into an equity plan now count as available to grant again — so your available-to-grant figure goes UP, and it now matches what your source platform says.
Fixed
- Shares that were repurchased back into an equity plan were not being returned to that plan’s reserve, so we showed less room to grant than you actually have. Standard plan forms say repurchased shares become available for future grant again, and your source platform was already counting them that way — we were not reading the figure. Your available-to-grant number will rise, and it should now agree with the total your export states.
- The same applies to a “pour over” — an older plan’s unused remainder rolled into a newer plan. It now adds to the newer plan’s capacity instead of being dropped.
- These shares appear as their own “Returned” column on the plan table rather than being added to Authorized, so the Authorized figure still matches the number your board approved, and Granted plus Available still adds up. The plan history shows where each credit came from. Companies imported before this release need to be imported again to pick it up.
September 9, 2026
2026.09.09
Fixed
- A share class imported from Carta was given standard terms — a 1x liquidation preference, no dividend — no matter what your export actually said. Carta states each class’s economic terms in a column on its certificate ledger, and we were not reading it, so a 1.5x preference arrived as 1x and a stated dividend arrived as none. We now read what your file says. Because the exit waterfall calculates on these terms, any exit scenario you modelled before this is worth running again, and companies imported before this release need to be imported again to pick it up.
- Where the certificates of one class state different terms from each other, we no longer pick one at random — the class keeps standard terms and the disagreement is reported, because guessing a liquidation preference is worse than saying we could not tell.
September 8, 2026
2026.09.08
Fixed
- A cap table imported from Pulley gained a shareholder who is not a person. Pulley’s ownership sheet carries a row for the shares still available in each equity plan, and we were reading it as a human being — so a plan appeared in your shareholder list, in your shareholder count, and could have been invited to the shareholder portal. It is now recognised for what it is, and the figure on it is kept as one more number we can check our own arithmetic against. Companies imported before this release keep the phantom until they are imported again.
September 7, 2026
2026.09.07 · Options you have already exercised now count against your equity plan, which they always did in reality. Your fully-diluted total goes DOWN, and every ownership percentage goes up.
Fixed
- An option that had been exercised stopped counting against its equity plan. The reserve it used is spent for good — exercising does not hand it back — so your plan has been reporting room it does not have, and you could be told you can still grant shares that are already gone. Your available-to-grant figure will fall, in some cases sharply, and that figure is the accurate one.
- The same gap meant your fully-diluted total counted those shares twice: once as the stock the exercise produced, and again as unissued pool. Fully-diluted now FALLS by the exercised amount. Nothing was lost — every ownership percentage calculated against it rises, because the denominator had been inflated.
- An option grant that was cancelled in part was still counted at its original size, so the cancelled shares never returned to the plan. Where your source reported a cancellation we now use that figure rather than our own estimate of it, so a grant cut short by someone leaving is never counted back twice.
- Granted and available now add up to the plan’s authorized total on the cap-table page, which they did not before.
September 6, 2026
2026.09.06
Fixed
- Warrants imported from Carta or Pulley were missing from the cap table entirely — no Warrants tab, no rows, nothing to say they existed. They had imported correctly and were being discarded on the way to the screen. The tab is back, with each warrant’s quantity and strike price.
- Convertible notes brought in from an import were listed without their dollar amount, so the tab showed a row of nameless notes. The amounts are back.
- The exit waterfall was silently leaving out every imported warrant and every imported convertible note. That understated what those holders receive and overstated everyone else’s share, so any exit scenario you modelled before this is worth running again.
September 5, 2026
2026.09.05 · Restricted stock granted from an equity plan now counts against that plan — which means some fully-diluted totals go DOWN. That drop is the correction, not a loss.
Fixed
- Restricted stock awarded out of an equity incentive plan now draws on that plan’s reserve, the same way an option grant does. It always did in law — a standard plan reserves shares for “Awards”, and Restricted Stock is one — but we were not recording it, so the plan looked like it had room it did not have and you could be told you can still grant shares that are already spoken for.
- Because of the same gap, those shares were being counted twice in your fully-diluted total: once as the common stock they already are, and once again as unissued reserve. Fixing it makes fully-diluted FALL by exactly the restricted-stock amount. Nothing was lost — the smaller number is the true one, and every ownership percentage derived from it was slightly understated until now.
- Restricted stock imported from Pulley now appears on the holder’s page as an award, with its quantity, grant date and the plan it came from — and the shares it produced say so underneath them. Before this it arrived as bare common stock with no grant behind it, so a holder with six certificates could show only four awards.
- Companies imported before this release need to be re-imported to pick it up, because the change is in how the file is read. Nothing changes on its own until then. Imported from Carta rather than Pulley? Restricted stock there is still not counted against the plan — that is next.
September 4, 2026
2026.09.04
New
- The Tenacap workbook imports as itself — The nine-tab workbook we hand out is now its own choice on the import screen, next to Carta and Pulley. Upload it whole and all nine tabs are read in one pass — holders with their emails and departure dates, share classes with their authorized counts and liquidation terms, option grants with their plans and vesting schedules, plus SAFEs, notes and warrants. There is no sheet to pick and no columns to map, because we already know the shape. Because the tabs refer to each other by name, a security naming a share class, plan or vesting schedule with no row of its own is reported back to you rather than quietly guessed at — and where a workbook leaves a date or a seniority blank, you are told which value stood in and why. Workbooks built on the earlier version of the template are read too, so nothing needs re-keying. One tab is not read yet: rows you have put on Transactions are listed in the exception report rather than treated as history, since your holdings come from the Securities tab, which states where things stand today.
September 3, 2026
2026.09.03
New
- Your change log is checked nightly, not only when you look — Opening your change log verifies its chain. That covers the trails somebody opens, which is not where a quiet alteration would be worth making. A nightly sweep now walks every company’s trail whether or not anyone visited it, and if one stops verifying it reaches us that night. Nothing is repaired automatically and nothing should be — the value of the record is that it cannot be rewritten, so a job that rewrote it would be the problem it is meant to catch.
- The change log now shows what a value changed from — An entry used to say that a stakeholder was updated. It now says what moved and in which direction — legalName from “Jane Doe” to “Jane Roe”, email from one address to another — in a What changed column beside it. Corrections made by hand and those applied by a contact import both record it. And because those values are folded into the entry’s fingerprint, rewriting what a record says it used to be breaks the chain the same way deleting the record would: the recorded history is evidence, not a note.
- Your change log now proves it has not been altered — Every entry in your change log is chained to the one before it with a cryptographic hash, so altering or removing a past entry breaks the chain. The page has always said so. It now checks, every time you open it, and tells you the result: how many entries were recomputed from their stored hashes, or — if something no longer adds up — exactly which entry stopped matching. This is the difference between a claim and evidence, which matters most in the situation you would actually want it: a diligence process, or a question about who changed what.
September 2, 2026
2026.09.02
New
- A corrected import puts your own changes back — When we re-import a corrected cap table for you, anything you had entered by hand since the original import used to be your problem to re-enter. Now we check whether every one of those changes can be matched to the rebuilt cap table — and if they all can, we re-apply them for you and say so up front. If even one of them cannot be matched with certainty, we do not guess: we tell you before you approve, list them, and leave them to you. It is all of them or none, because a cap table missing two changes out of six looks complete and is not.
September 1, 2026
2026.09.01
New
- Reset your password — or set one for the first time — There was no way to recover a forgotten password, and no way to add one to an account created with Google: those accounts have never had a password, so every attempt to sign in with one failed with nothing to explain why. Both are now the same link. Enter your email on the sign-in page and we send you one; it lasts an hour and works once. Setting a password adds a way to sign in, it does not take one away — Continue with Google keeps working exactly as before.
Fixed
- Carta imports with a warrant ledger now reconcile. Warrants were being read as issued shares, so the outstanding total came out higher than the figure Carta itself reported and the import stopped with a mismatch you could do nothing about. Warrants are now recorded as warrants — exercised and expired ones included — and the totals agree.
- The sign-in page now says that accounts created with Google have no password, so a failed password attempt is explainable instead of mysterious.
- Re-importing into a company we already know no longer asks you to retype its legal name, incorporation date and jurisdiction. They arrive filled in, and you can still change them.
- When we find and fix a problem in how we read your cap table, we can now offer you the correction directly. You get an email saying what we found, a page showing exactly what would change — your numbers now, next to your numbers after — and a single button. Nothing changes until you press it, we already have your file so there is nothing to re-upload, and anything you entered by hand since the import is listed first so you know what you would need to re-enter.
- Re-importing your cap table no longer deletes the things attached to it. It used to replace the whole company — which meant your 409A reports, your signed documents and the links you had already shared all disappeared, and everyone in your cap table was renumbered behind the scenes. A re-import now replaces the cap table and leaves the rest exactly where it was.
- Bug-report screenshots are now filed against the account that sent them, so closing an account deletes them along with everything else. Previously nothing linked a screenshot to an account, which meant it survived an erasure — and a bug report is very often a screenshot of a cap table.
- Closing an account now deletes the files it held, not just the records of them. Uploaded cap tables, 409A reports and signed documents were left behind in storage even though the account itself was erased. Import uploads are deliberately kept for as long as the account exists — that is what lets us re-run an import when we fix something — and closing the account is what ends it.
August 31, 2026
2026.08.31
Fixed
- Setting up a company no longer flashes a false error on its way to working. Creating a company, creating a second workspace, or finishing the build-your-cap-table wizard would briefly show a red "something went wrong" message and then carry on to the next screen anyway. The work had in fact succeeded every time — the message was wrong, not the save — but there was no way to tell that from the outside, which is the worst possible thing to be unsure about when the subject is your cap table.
- The blank import template is now offered as a CSV or as Excel, named for the two formats rather than as “a spreadsheet” and “Excel” — which read as two different things when they are the same template.
- The page where you add to your cap table is called Update everywhere. The dashboard’s top-right button said Manage, the sidebar said Update, and they went to the same place; the button, the page’s own heading and the help center all say Update now.
- Share counts and amounts now accept commas. Typing 2,500 or 5,000,000 used to be a blocking error, which was awkward given the app prints those numbers with commas everywhere. A comma is only removed when it is genuinely a thousands separator — something like 0,10 is still refused rather than quietly read as ten, because guessing wrong on a price is worse than asking.
August 30, 2026
2026.08.30 · Ownership percentages now include the option pool. Most will read lower than before, and the new number is the correct one.
Fixed
- Ownership percentages were calculated against issued shares only, leaving the option pool out of the denominator — so they were really outstanding percentages wearing a fully-diluted label. A founder holding every issued share read 100% while the fully-diluted total beside it counted the pool, and the two could not both be right. They now use the same denominator. Expect most percentages to go down: a founder with every issued share and a 10% pool now reads 90%, which is what fully diluted has always meant. The old figure also appeared in the shareholder portal and on the ownership statement PDF, so those change too.
August 29, 2026
2026.08.29
Fixed
- An imported SAFE, convertible note or warrant now keeps the number it had in your old system. Cap-table lineage read "converted from a SAFE" where it should have read "converted from SAFE S-3", because the source-side number was parsed at import and then dropped before it was saved. If you have already imported, the numbers appear on your next import — the ones already in your account were never stored.
August 28, 2026
2026.08.28p
Fixed
- On the detailed workbook, the Securities tab now has a Share Type column beside Security Type. One column was being asked to answer two questions — what kind of instrument this is, and what kind of shares it is or becomes — and an option grant needs both: Security Type ISO, Share Type Common. Share Classes keeps Share Type only, because a share class is not an instrument.
August 28, 2026
2026.08.28o
New
- A detailed workbook, for a cap table a single sheet cannot hold — The blank template we have offered so far is one flat sheet — one row per holding. That works for founders, a pool and a SAFE or two, and it runs out the moment you raise a priced round: it can name a share class but has nowhere to record what that class is entitled to, no way to say a grant is part-exercised, and no room for more than one plan. There is now a second, more detailed template alongside it — a workbook with a tab each for stakeholders, share classes, equity plans, vesting schedules and securities. Take whichever fits: most people should still take the single sheet. Neither needs an account to download.
August 28, 2026
2026.08.28n
Improved
- The blank cap-table template is offered where you choose how to start — If your cap table lives in a spreadsheet rather than in Carta or Pulley, you start from a blank template you fill in. That template used to be buried three clicks inside the import screen, so anyone deciding how to begin never saw it existed. It is now on your company page next to “Import”, and you can download it before you have an account.
- Plainer words for the template — The import screen led with “Download our CSV template”, which asks you to know what a CSV is before it tells you what the file does. It now says what the thing is — a blank template you fill in — and treats the two file formats as a detail you pick at the end.
Fixed
- The import screen offered “our CSV template (M2)”. “M2” was one of our own internal milestone codes and should never have been on your screen. A second one, in the scenario modeling footnote, is gone too.
August 28, 2026
2026.08.28l
Fixed
- Spreadsheets whose column names are not on the very first row now import. If your file opens with a title, a logo band or a line of instructions above the table, the mapping step asks which row holds your column names, pre-selects the one that looks right, and lists the candidates with their contents — row numbers matching the ones in your spreadsheet. Previously we read the title row as the headers, so every field bound to an empty column and the import came back "successful" having created nothing.
August 28, 2026
2026.08.28m
Fixed
- The “Tell us what’s missing” button on our home page had been quietly throwing feedback away since the day it shipped. It said “thanks — it’s in our queue”, and there was no queue: our issue tracker had moved, the old address answered with a redirect, and the redirect swallowed the message while still reporting success. Everything sent through that button between 9 July and today was lost, and we’re sorry — if you wrote to us that way, please send it again. Both that button and the in-app bug reporter now refuse to follow a redirect, confirm a real ticket came back before they say a word to you, and when they genuinely can’t send something they say so and give you support@tenacap.com instead of claiming it landed.
August 28, 2026
2026.08.28h
New
- Add vesting to founder shares that are already issued — Founder shares issued before vesting existed in Tenacap read as fully vested, because that is what the records said. You can now record the real arrangement against them: pick the holding under Update cap table → Vesting schedules, set the vesting commencement date (their start date, not today — it defaults to the day the shares were issued), and the holding starts showing a vested / unvested split on the cap table, in the holder’s portal, and on the vesting calendar. A founder eighteen months in reads as eighteen months vested, not back at zero. Nobody’s ownership percentage changes: the shares are issued and outstanding either way.
August 28, 2026
2026.08.28g
Improved
- See whether an 83(b) was filed on the holder’s own page — A holder’s equity history listed their exercised, cancelled and converted equity but said nothing about the 83(b) election — you had to open Option Holdings to find out. Each row now carries an 83(b) column showing the same status: a filed election shows the date it was filed, an early-exercised grant with no election on record reads “Unknown” rather than looking clean, and anything that never needed one stays a quiet dash. It is the same figure Option Holdings reports, not a second calculation, so the two pages cannot disagree.
August 28, 2026
2026.08.28e
New
- Record the board FMV determination you have instead of a 409A — If your company is a few months old you probably have no 409A, and your board has resolved a fair market value instead. That is the normal, correct thing to have done — but the compliance page assumed a 409A existed and left you nowhere to put it. It now opens with a plain statement of where you stand: no valuation on record, what a board determination is, when a 409A actually starts to matter, and a direct link to record what you already have. Choose “Board determination” as the method, enter the effective date and FMV from the resolution, and attach the signed PDF — or enter the figures now and attach the document later. From that point it is your current fair market value and does everything a 409A would: pre-filling option strikes, pricing the portal’s estimated value, and covering the grants made in its window.
Fixed
- A board-determined fair market value was reported as a 409A everywhere the number was shown — the cap-table header said “Current 409A FMV”, and the stakeholder portal told your employees “409A FMV $x/share”. The two are not the same: a 409A appraisal carries the IRS safe-harbour presumption that the strike price was reasonable, and a board determination does not. Every place that shows a valuation now names which kind set the price, and says plainly when there is no safe harbour behind it.
- Uploading a document that wasn’t a 409A report — a signed board resolution, most obviously — silently relabelled the valuation as a 409A, because the reader fell back to “409A” whenever it couldn’t identify the method. It now leaves your choice alone unless it actually found a method in the file.
- The compliance page called an ordinary situation a fault: a company that had never recorded a valuation got the same terse line as one whose valuation had expired. Those are now told apart — having no valuation yet is stated without alarm, and a lapsed one still says so.
August 28, 2026
2026.08.28d
New
- Imported shares now name the option grant they came from — When somebody exercised an option before you moved to Tenacap, the resulting shares arrived as plain common stock — the certificate was there, but nothing said which grant it came from, and once your old export is closed that is not a link you can reconstruct. Both Carta and Pulley state it in the file, and we were reading straight past it. A share holding on the stakeholder page now reads “exercised from grant ES-39”, just as a share that came from a converted SAFE names the SAFE. Nothing about your totals changes. Re-import to pick the links up on a cap table you brought in earlier.
August 28, 2026
2026.08.28f
Fixed
- An 83(b) filing reminder was never sent to anyone we had no email address for — silently, with nothing anywhere recording that it had been skipped. Cap tables imported from Pulley arrive with no email addresses at all, so on those companies nobody was reminded, while the countdown, the compliance page and the equity-health score all carried on as though they were. We now surface an unreachable filer instead of skipping them, and tell the company admin so they can reach the person another way. The 30-day 83(b) window cannot be extended, so a reminder we quietly did not send is the one kind we most needed to know about.
August 28, 2026
2026.08.28c · Exports and the import template are now clearly two different things — and the Help center says plainly what an export is for.
Improved
- The export menu says what each file contains — Downloads are now named for their contents: “Outstanding shares (CSV)”, “Everything — open schema (JSON)”, and “Everything + documents (.zip)”, with a line under them noting the CSV leaves out options, SAFEs and notes. The CSV also arrives named …-outstanding-holdings.csv, so it can’t be confused with the import template sitting in the same Downloads folder.
- The import template is now called the import template — The blank spreadsheet you fill in to bring a cap table in is offered — and downloads — as “tenacap-import-template”, everywhere it appears. It is an input form with eighteen columns; the export is a six-column report. They were too easy to mistake for each other. Older links to the template still work.
Fixed
- The Help center claimed a Tenacap export could be re-imported to reproduce your cap table exactly. It cannot: there is no way to upload a cap-table.json, and the CSV export lists outstanding shares only, so re-importing one would drop every option grant, SAFE, note and warrant you hold. Export is for taking your data out — to back it up, hand to your accountant, or move to another tool — and the Help center now says exactly that, including what each format leaves out.
August 28, 2026
2026.08.28b
Fixed
- Your cap-table export says how each person is related to the company — Carta calls it “Relationship”, Pulley calls it “Stakeholder Type” — and the import read it only to decide whether the holder was a person, a company, or a trust, then threw the word away. Advisors and directors both came out as “person”, so after importing there was no way to tell which was which. The original label is now kept on the stakeholder’s notes, exactly as your export wrote it.
- If you early-exercised a grant and your company has no 83(b) election recorded for it, your portal showed nothing at all on the subject — the 83(b) section only appeared once an election existed, so the one person actually facing the 30-day filing window saw silence. That grant now appears, saying plainly that no election is on record and suggesting you ask your company whether one was filed. It is not a warning: plenty of companies file on paper and never enter it here. Grants that were not early-exercised stay quiet, because 83(b) does not apply to them.
August 28, 2026
2026.08.28
Fixed
- Almost every 83(b) election was labelled “Not linked” on the cap-table 83(b) list, with a “Link to…” dropdown asking you to attach it to the very shares it was already attached to — and, because an unlinked election cannot describe the property, no Election PDF was offered either. Elections created the normal way, by ticking “Seed an 83(b) reminder” when you issue restricted stock or early-exercise an option, are and always were linked; only the list was reading it wrong. The countdown, the reminder emails and the per-grant status were never affected. Genuinely unlinked rows — free text imported from an older system — still show the Link control, which is what it is for.
August 28, 2026
2026.08.28i
Fixed
- The 83(b) filing deadline was showing one day later than it actually is. Fixing an earlier problem — filers on the West Coast being told they had missed the window while they still had hours left — moved the date we display a day past the legal one, everywhere it appears: the cap table, your portal, the compliance page and the reminder emails. A founder who filed on the date we printed would have filed a day late. The date shown is now the real last day, and the two are checked against each other so they cannot drift apart again.
- The countdown next to an 83(b) election overstated how long you have. A brand-new election with the full 30-day window said “32 days left”; it now says 30, and counts down to “due today” on the last day rather than past it. Reminder emails follow the same clock, and one now goes out on the final day itself.
August 28, 2026
2026.08.28j
Fixed
- A Carta export made without the “Securities ledgers by type and class” option carries no SAFEs, no convertible notes, and no option, RSU, or warrant grants — so importing one produced a cap table that was silently missing all of them. We already warned about this on the import preview, but only there: once you committed the import, nothing on the cap table said the numbers in front of you were incomplete, and an absent SAFE looks exactly like a company that never raised one. Your cap table now carries a standing notice if it was built from an export like that, saying what is missing and how to re-export and re-import to fix it. The notice disappears by itself once a complete export has been imported.
August 28, 2026
2026.08.28k
New
- Your 83(b) election, prepared — We tracked the 83(b) deadline but left you to find the form. Every linked election now has an Election PDF: a complete, printable Section 83(b) election filled in from your record — taxpayer, the shares, the transfer date and taxable year, the vesting restrictions in plain language, the fair market value in force that day, and what you paid. It prints twice, the copy you file with the IRS and the copy you must give the company. Your Social Security Number is left blank because we do not hold it, and so are the company address and EIN — write those in by hand before you sign. Anywhere we do not know a figure it prints a blank rather than a guess, because a wrong number on a tax filing is worse than an empty line. It is a draft to review with your advisor, and filing it is still yours to do.
Fixed
- On an imported cap table, the “Buy-backs & repurchases” section on a shareholder’s page showed a total that was wrong. Carta and Pulley exports record a company buy-back, an ordinary cancellation and a transfer out to somebody else as the same event, so once the file is imported there is no way to tell those apart — and adding them together answers a question nobody asked. The section is now hidden on imported companies, with a line explaining why, until we can tell them apart. Buy-backs you record in Tenacap are unaffected and still show in full.
- An 83(b) filing deadline could show as missed nearly a full day and a half before it actually was, for anyone not on Eastern time — the countdown, the reminder emails, and the “missed” flag all measured from the start of your transfer date rather than the end of your 30th day to file. They now agree on when the window actually closes, so you keep every hour you are legally entitled to.
- The restricted stock agreement told founders their 83(b) election “is prepared and tracked… within Tenacap” — we track the election, the deadline, and the reminders, but we do not prepare or file the document itself. The agreement now says only what we actually do.
August 27, 2026
2026.08.27
Fixed
- A Pulley import showed “unsupported instrument” next to restricted stock that had, in fact, imported correctly — the shares were in your cap table the whole time, only their vesting schedule wasn’t tracked. The label now says what actually happened, and the note explaining it is written in plain language rather than ours.
- If your cap-table export had no email addresses in it, the import preview told you they could be “added afterward” without saying where to get them. For a Pulley export it now names the exact menu — Stakeholders → Actions → Download.
- The valuation link on the compliance page read “Record a 409A”, so founders whose shares are priced by a board resolution rather than a 409A reasonably concluded it wasn’t for them. It now reads “Record a valuation”, which is what it has always accepted.
- Clicking a stakeholder from the Options, Convertibles, or Warrants tab and then clicking “Cap table” to go back always landed you on the Ownership tab. It now returns you to the tab you came from.
- A stakeholder with an outstanding warrant showed no equity at all on their detail page — warrants only ever appeared once exercised or converted. Warrants now show up right away.
- On a stakeholder’s equity history, the date next to “Exercised” or “Converted” looked like when that happened, but it was actually the original grant date. That column is now labeled “Granted” to say what it is.
- A holder who had exercised every one of their options was badged “Lapsed” on the options list — the opposite of what happened. The badge now reads Exercised, Cancelled or Expired to match what actually occurred.
- A departed employee’s option row could show a quantity that didn’t equal their vested plus unvested shares, because the shares returned to the pool on their exit weren’t subtracted from the quantity shown. The row now nets those shares out, so it adds up the same way the option pool total already did.
- Shares with no vesting schedule attached — fully vested from the day they were issued — showed a dash in the “Vested” column instead of the share count, on both the downloadable ownership statement and your stakeholder equity view. They now show the full number, since there was never anything unvested to report.
- Building a cap table by hand pre-filled authorized shares with the same 10,000,000 for every company, regardless of how many shares you were actually issuing your founders. It now starts as the total you have given them so far — still yours to change — and shows the number with commas so a long share count is actually readable.
- Our instructions said Pulley’s Download button sits top right of the Dashboard. A tester pointed out it’s top middle. Corrected everywhere we describe it — the upload screen, the help center, and the in-app messages when a Pulley export looks incomplete.
- The totals at the top of the option plan page — Granted and Unallocated — could disagree with the plan table just below them, because they were computed by re-adding every grant instead of using the same figures the table already got right. When a departed employee’s unvested shares had returned to the pool, Granted stayed too high by that amount and Unallocated too low to match. Both totals now come from the same reconciled numbers as the table.
- “Import from Carta, Pulley, or a spreadsheet” went nowhere if you had access to more than one company — the left-nav Import link, the cap-table page, and the build-by-hand wizard all pointed at the import screen without saying which company it was for, and it refused to guess. Every one of those links now carries the company you were already looking at.
- Following the “Needs attention” link on your dashboard for a lapsing 409A or an unfiled 83(b) election led to a page that doesn’t exist. It now opens the actual compliance page, and the 83(b) line now says how many days you have left instead of just that a deadline is coming.
- A stakeholder logging into their portal to see their equity never saw their own 83(b) election at all — every other holding, grant, and convertible was there, but not this one. Your portal now shows it, with the same days-left countdown as the reminder email.
- An imported cap table brings no 83(b) elections with it — the source export doesn’t carry them — but the Option Holdings page showed the same clean dash for an early-exercised grant we know nothing about as for a grant that never needed one. It now says “Unknown” and counts toward Needs attention, instead of implying there was nothing to do.
- An 83(b) election you recorded never showed up on its own grant in the Option Holdings view — every one of them read as if you had never filed anything. Recording a new election now asks which restricted stock or early-exercised grant it covers, and an existing election can be linked to the right one from the same screen.
August 26, 2026
2026.08.26
Improved
- Add stakeholder emails without leaving the import — A Pulley export carries no email addresses, so the last screen of an import used to hand you a link to a different page to fix that. The drop box now opens in place, on the same screen, using the same drag-and-drop you just used for the cap table itself.
Fixed
- The import screen said our CSV template “round-trips with Tenacap’s CSV export”. It does not, and acting on that could have cost you data: the export lists outstanding shares only — six columns — while the template carries eighteen and covers SAFEs, notes, warrants and option grants. Exporting, editing and re-importing would have silently dropped everything that is not plain stock. The wording now says what the export actually is.
August 25, 2026
2026.08.25
Fixed
- If you manage a fund or an SPV as well as a company, there was no way to click through to it. Funds live in the same workspace as your companies — the same login, nothing to sign out of — but the switcher only listed them once you already had one, and the only other link sat on a setup page you stop seeing after your first company. There is now a “Set up a fund or SPV” link in the entity switcher, next to “Add another company”.
August 24, 2026
2026.08.24
Improved
- Download the blank cap-table template straight from the Help centre — If your cap table lives in a spreadsheet rather than Carta or Pulley, you start from our blank template — but the only way to reach it was to already be inside the import screen, and searching the Help centre for “excel” or “template” found nothing at all. The importing guide now links both the CSV and the Excel template directly, and the search box finds them.
- The in-app bug reporter files straight onto our board — When you click “report an issue”, your report now lands directly on the same board we plan from, and the confirmation tells you the reference it was filed as so you can point at it later. Before, reports went into a separate queue that had to be pulled across by hand.
- Product analytics, configured to see nothing about you — We added PostHog so we can see which parts of Tenacap actually get used and where people get stuck. It is set up far more narrowly than analytics usually is, because this is a cap table: we identify you by account ID only — never your name or email — we do not record your screen, we do not capture the text of what you click, and we send no figure from your cap table. Our database is not connected to it. The privacy page lists exactly what it receives.
August 23, 2026
2026.08.23 · Set up founder vesting while you build the cap table, instead of wishing you had.
New
- Founder vesting, asked for rather than assumed — When you build a cap table by hand we now ask, for each founder, whether their shares vest. It is a question rather than a default, because vesting is a term in the paperwork you signed and we would rather record what is true than assume. Choose “these shares vest” and you get the market-standard four years with a one-year cliff, editable, and a start date that can be earlier than the day you incorporated — founders are usually working before the company exists. As you type, the wizard shows what has actually vested today: if you started eight months ago with a one-year cliff that is zero, and it says so plainly, with the date your cliff lands. Vesting founders are recorded as restricted stock, so they appear on the vesting calendar and each founder sees their own vested and unvested shares in their portal.
- The 83(b) clock, counted for you — If the shares were purchased in the last 30 days we show how many days are left to file an 83(b) election, explain in a sentence why it matters, and track the deadline for you if you have not filed. Outside that window we do not start a countdown you cannot meet — we say the window has passed and suggest talking to your lawyer.
August 22, 2026
2026.08.22b
Fixed
- In the “build your cap table by hand” wizard, the field labels weren’t attached to the boxes they describe. If you use a screen reader, it read out the label and then an unlabelled text box; clicking a label didn’t focus its field either. Every field in that wizard is now properly labelled.
August 22, 2026
2026.08.22 · Carta imports now know which option grants are actually still live.
Fixed
- If you import from Carta, every option grant arrived as though it were still outstanding — including grants that had been exercised years ago, and grants belonging to people who left and whose options lapsed. Carta says exactly what happened to each grant, and we were reading only its size. On one real cap table that meant 601,059 options showing as live against a true 142,500: every departed employee’s forfeited or expired grant counted as live equity, and exercised grants counted twice — once as the option, once as the shares it had already become. Grants now import as outstanding, exercised, expired or cancelled to match the source. A grant that is only PARTLY exercised is still recorded at its full size, but the import review now tells you so, and gives you the exercise date Carta reported.
August 21, 2026
2026.08.21d · Options you already exercised no longer show as outstanding — or get counted twice.
Fixed
- An option grant you had already exercised was imported as still outstanding. Your source reported it plainly — fully exercised, nothing left outstanding — and we read that figure, stored it, and marked the grant live anyway. Because the shares it turned into come in separately, the same equity was counted twice: once as an option still to be exercised and once as the stock it had already become. On one real cap table that inflated fully diluted by 2,294,116 shares across 12 grants and four holders. Fully exercised grants now show as exercised, and are excluded from what is still live — while still counting, as they should, toward your option pool draw-down, ISO $100k and Form 3921 reporting, Rule 701, and each holder’s own view of their equity. A grant that is only PARTLY exercised is still imported at its full size, but the import review now says so instead of leaving you to find it.
- The same fix is why exercised grants stopped appearing as unexercised in the stakeholder portal.
August 21, 2026
2026.08.21c · Registering your company and building the cap table are two jobs, and often two people. The setup screens now say so.
Improved
- Hand the cap table to your CFO without finishing it first — Creating a company and filling in the share numbers are separate jobs, and the person who registers the company is frequently not the person who owns the equity details. That was already true of how Tenacap works — a company with no cap table is a perfectly normal, permanent state — but nothing on screen said so, so founders looked for a way to skip a step that was never required. The company screen now says plainly that your company is created and saved, leads with inviting whoever handles your finances (your CFO, accountant, bookkeeper or attorney, who don’t need an account yet and land on that same screen), and says that stopping there is a normal place to stop. The create-a-company form says the same thing before you commit, rather than leaving you to work it out afterwards.
August 21, 2026
2026.08.21b · The import screen now offers to set your company up from scratch instead.
Fixed
- If you landed on the import screen without a file to import — or would rather type your cap table than build a spreadsheet — there was nothing to click. The two ways to set up a company are meant to be equal, but only one of them linked to the other. There is now a “Set up from scratch instead” link on the import screen, and it points at the right place depending on whether you already have a cap table.
August 21, 2026
2026.08.21 · Closing an account on request now actually completes — and says so if it doesn’t.
Fixed
- Asking support to close your account could fail without anyone noticing. The erasure runs as a single all-or-nothing operation, and it was exceeding an internal five-second limit against our hosted database, so it rolled back and deleted nothing — while the operator’s screen sat on “Closing…” indefinitely and the audit log recorded a closure that had not happened. The erasure now has room to finish, the screen reports a failure instead of hanging, and if the erasure ever does fail the audit log records that too, so the record can never claim an account was closed when it was not.
- Ten kinds of company record were missing from the erasure, one of which is created whenever a cap table is imported — meaning any account that had ever imported a cap table could not be closed at all. All are now included, and a new check fails our build if a future record type is added without being covered, rather than leaving it to be discovered during a real deletion.
August 20, 2026
2026.08.20c · See your cap table as it stood on any past date.
New
- View holdings as of a date — Your accountant asks what each shareholder held on 31 December, and until now the only answer was today’s cap table. Pick a date above the cap table and it rebuilds as it stood at the end of that day — issuances, repurchases, transfers and cancellations after it are excluded, and a banner says plainly which date you are looking at so a historical view can never be mistaken for the current one. The date lives in the address bar, so you can bookmark it or send it to whoever asked. It works off each transaction’s effective date rather than when it was typed in, so a correction you record late still counts in the period it actually belongs to.
August 20, 2026
2026.08.20b · Carta imports now bring in your option plan’s real name and its real size.
Fixed
- A Carta import named your option plans after the spreadsheet tab they came from, and Excel cuts a tab name off at 31 characters — so a plan called “2022 Stock Option and Grant Plan” arrived as “2022 Stock Option and Grant Pl”, and “[LEGACY] 2020 Equity Incentive Plan” as “ LEGACY 2020 Equity Incentive”. Plans now use the full name Carta records against every grant.
- A Carta import set each option plan’s size to the total already granted from it, throwing away the authorized pool Carta states on its Summary tab. On one real cap table that turned a 1,959,397-share plan into 509,309 and quietly removed 1.45 million unallocated shares from fully diluted — and because fully diluted isn’t part of the totals cross-check, the import still reported that everything matched. Plans now use the size your source states, and are only ever raised (never lowered) to fit the grants against them, with a note in the import review if the two disagree.
- A Carta plan row could be imported as a phantom share class. The rule that recognises plan rows listed specific endings — “Equity Incentive Plan”, “Stock Option Plan”, “Stock Plan” — and a real plan named “2022 Stock Option and Grant Plan” matched none of them, so it became a common-stock class carrying the option pool as its authorized shares.
August 20, 2026
2026.08.20 · Setting up a company by hand now explains what it is asking for — especially the option pool.
Improved
- The build-by-hand setup explains the option pool — Reserving an option pool used to be a checkbox and a number with no explanation, which is a lot to ask of a founder setting up equity for the first time. It now says what a pool is (shares set aside for future employees, owned by nobody yet), why to do it before a priced round rather than during one, and that 10–15% of the company is the usual range. The suggested size is calculated from the founder shares you just entered and shown as a percentage of the company as you type. Authorized shares are explained too — it is the ceiling in your charter, not what you are issuing today.
Fixed
- The suggested option pool was wrong. It offered a fixed 1,000,000 shares no matter the size of the company — 11% for one cap table and half of another — while the text beside it promised 10%. It is now genuinely 10% of the company once the pool is counted, which is what "a 10% pool" means everywhere else.
- The setup flow asked for each founder’s name and share count but never their email address, even though it was ready to store one. Founders created this way could not be invited to view their own holdings without being edited afterwards. You can enter an email now, and it is optional.
- An option pool created during setup was named "Option Pool" rather than after the year it was adopted, unlike every plan created anywhere else in the product. New ones are named like "2026 Stock Plan".
- If you started building a cap table by hand and then realised you had a spreadsheet after all, there was no way across — the two setup routes only linked one way. There is now a link to the import from inside the build-by-hand flow.
August 19, 2026
2026.08.19g · Tell us how big your option pool actually is when you upload a spreadsheet.
New
- A Pool Size column on the spreadsheet template — The template had no way to say how large an option plan is, so we could only assume the pool was exactly what had already been granted — which left no unallocated shares and made your fully-diluted total look better than it really was. Add a Pool Size on any row carrying that plan (blank on the rest) and the pool comes in at its real size, unallocated remainder included. If the number you give is smaller than the grants already drawn against it, we raise it to fit and tell you, rather than quietly committing a plan that is over-allocated. Leave the column out and nothing changes, except the import review now says plainly that fully-diluted is understated until you set the pool.
August 19, 2026
2026.08.19f · Option grants and SAFEs you added by hand were being saved but not shown. They are all back — nothing was lost.
Fixed
- Any option grant or SAFE added by hand since 9 August was saved correctly and drew down your option pool, but then didn’t appear anywhere in the app — not on the Options tab, not on the 409A or exit-waterfall views, and it couldn’t be edited either. The cause was internal: we started stamping each grant and SAFE with its own number (ES-7, SAFE-3), and the check that reads instruments back hadn’t been told to expect that number, so it rejected the whole record. Every affected grant and SAFE reappears on its own now — your data was never lost, only unreadable, so there is nothing for you to re-enter. Imported grants and SAFEs were never affected.
August 19, 2026
2026.08.19e · The option-plan and option-grant forms stop arguing with how you type.
Fixed
- Entering an option plan’s authorized shares as 8,000,000 was rejected, and the error blamed the number rather than the commas — you had to delete them and guess that was the problem. Commas and spaces in a share count are now simply ignored, here and on the grant quantity.
- A strike price of .001 was rejected while 0.001 was accepted, and the error read “decimal as string” — an internal label that should never have reached you. A leading decimal point, currency symbols, and commas are all accepted now, and the messages say what to do.
- On a new option grant, the expiration date now defaults to ten years after the grant date — the standard option term — and follows the grant date until you change it yourself.
- When a company has exactly one option plan, that plan is preselected on a new grant instead of making you pick the only choice.
- The Grantee field on a new option grant silently preselected whoever sorted first alphabetically, which for imported cap tables was often a stock plan rather than a person — so a grant could go to the wrong holder just by not touching the field. It now requires a deliberate choice.
August 19, 2026
2026.08.19d · If you were invited to view your own equity, you can actually get to it now.
Fixed
- Accepting an invitation to view your holdings left you on a screen that said your dashboard was “coming soon” — with no link, and nothing to click. The dashboard already existed. Accepting an invite now takes you straight to your holdings.
- Signing in as someone who was invited to view their equity — rather than to run a company — dropped you on a page asking you to import a cap table or start a new company, with no way past it, every single time you signed in. Some accounts saw “No workspace found — contact support” instead. If you have equity to view and no company of your own to manage, you now go straight to your holdings; if you have both, there’s a link to your holdings on that page.
- The holdings pages had no header at all, so once you arrived there was no way to sign out or switch between companies that had invited you. Both are now there.
August 19, 2026
2026.08.19c · Two Carta import fixes: shares that moved between certificates were counted twice, and money raised on a converted note was counted as if it were cash for shares.
Fixed
- Carta import: shares transferred to another holder, or reissued onto a new certificate after a partial repurchase, were counted on both the old certificate and the new one — so your outstanding share count came out too high and the import was refused for not matching Carta’s totals. We now reconcile against the “Quantity Outstanding” figure Carta reports for every certificate, which catches a retirement however it was recorded. On one real cap table this accounted for 376,844 phantom shares across six certificates. Transfers are listed in the import review so you can see which certificate each block moved to.
- Carta import: when a convertible note or SAFE converts into shares, no new money arrives — it was raised earlier, when the note was funded. We were counting that money a second time as cash paid for the shares, which overstated capital raised and made the import disagree with Carta on every company that had converted a note. Capital raised now counts cash for shares and money raised on SAFEs and notes separately, each exactly once, matching what Carta reports. The per-share price on a conversion certificate still reflects the full conversion price.
August 19, 2026
2026.08.19b · Support can now close your account for you, on request — the same permanent deletion you can already do yourself.
New
- Support can close an account on a verified deletion request — If you email asking us to delete your account, an operator can now run that closure from our internal console instead of by hand — the same permanent erasure covered in Closing your account, just run on your behalf. It requires typing your company’s exact legal name and a written reason, one account at a time, and the record of who did it and why is written to our tamper-evident audit log before your account’s own records are erased.
August 19, 2026
2026.08.19 · Invite an LP to their portal without leaving the funds product.
New
- Invite an LP to the stakeholder portal from the LPs tab — The LP roster on a fund’s LPs tab now has a Portal column: invite any LP with an email on file to their own read-only portal in one click, see whether that invite is pending, expired, or accepted, and resend or revoke it — all without leaving the funds product. An LP added without an email shows why the button is disabled, right where you’d click it.
August 16, 2026
2026.08.16b · Fund and SPV documents — notices, wiring instructions, LP statements, and e-signature requests — actually generate now.
Fixed
- Every fund/SPV PDF (capital-call notices, wiring instructions, distribution notices, and the LP portal’s ownership and capital-account statements) failed to generate. The cause: these documents render through a third-party PDF library that, inside our hosting platform’s server code, ended up using a different internal copy of React than the one the library itself expects, so it rejected every document it tried to build. Generating a PDF anywhere in the product now works the same way it did for the small set of document types that happened to already be tested.
- Clicking "Request signature" on a capital call or distribution crashed the entire page instead of sending the request, because it silently depended on the same broken PDF generation above. Sending a signature request to an LP now works end to end: the request is created, the LP gets a link, the notice renders for them to review, and their signature shows up against the allocation once they sign.
August 16, 2026
2026.08.16 · Three fund fixes: two wrong reporting numbers, and an LP add that crashed the page.
Fixed
- The K-1 CSV export could overstate an LP’s Box 9a long-term capital gain: it classified an entire distribution by the distribution’s overall Type (e.g. "Gain"), even the part your own waterfall had already computed as return of capital. It now uses each distribution’s own return-of-capital / preferred-return / carry-split tiers, so return of capital lands in Section L (reducing basis) instead of being counted as gain.
- The LP stakeholder portal could show a negative "Ending contributed capital" after a perfectly healthy, profitable distribution — reading as if the LP owed money back. The figure now nets calls against only the return-of-capital portion of distributions (not the whole cash amount, which includes profit), so it settles at zero instead of going negative. The full cash distributed is still shown alongside it for reference.
- On an SPV fund's LPs page, entering a Units value larger than what's left in the authorized pool used to crash the whole page — and silently left behind a phantom LP with no units or commitment that only showed up, uninvited, on the underlying company's cap table. It now shows an inline error naming exactly how many units remain, before anything is created, and the "Add an LP" form shows that remaining count up front so you don't have to guess.
August 15, 2026
2026.08.15b · Upload your cap table as an Excel file, and actually get the template when you ask for it.
New
- The Tenacap CSV source now takes .xlsx too — You no longer have to flatten a spreadsheet into CSV to import it. Upload an .xlsx workbook and, if it has more than one sheet, Tenacap shows you the tab names and asks which one holds your actual share register — it never guesses, because a financing model can hold three different views of the same equity and importing the wrong one either invents shares or double-counts them. Pick a sheet with unfamiliar column names and the same column-mapping step you get for CSV lets you match them to ours. A workbook saved as legacy .xlsb (Excel Binary) isn’t supported — Tenacap says so plainly and tells you to save a copy as .xlsx first.
Fixed
- The "Download the CSV template" link on the import source screen was easy to miss next to the big Continue button, so picking the template option often landed you straight on the upload page with no file in hand. It’s now a real, obvious button — alongside a new one for an .xlsx version of the same template.
August 15, 2026
2026.08.15.1 · Answer a grant whose vesting doesn’t match its schedule, right on the stakeholder page.
New
- Resolve a flagged vesting mismatch, and have it actually change your cap table — When an import flags a grant’s reported vested figure as different from what our schedule computes, the stakeholder page now asks which is true: did vesting stop for good, or was it paused and has since resumed? Your answer takes effect everywhere — the cap table, the stakeholder page, the ISO $100k / Form 3921 view, and the vesting calendar all agree from then on. Grants nobody has answered about keep behaving exactly as before.
August 15, 2026
2026.08.15 · Grants priced by an early board resolution no longer read as unpriced.
Improved
- 409A coverage now tells "board-valued" apart from "no valuation" — The 409A page used to lump every grant without a formal 409A into one "no 409A on record" warning — including grants your board priced by resolution before you needed a 409A, which read like they were void. It now shows three states: 409A on file, board-valued (a valid valuation of record, just without 409A safe-harbour protection), or no valuation on record. Grants with no coverage at all get an "Add board valuation" link that opens the valuation form pre-filled with the right method and date.
Fixed
- Importing from Pulley, a fully exercised (or cancelled) option grant no longer gets flagged as a huge vesting mismatch. Pulley reports "vested and still outstanding" on those grants, which is correctly zero — we were comparing that zero against our own schedule math as if it meant lifetime vested. The warning now only compares grants where that comparison actually means something, and says how many were left out and why.
August 14, 2026
2026.08.14 · A plainer account of what our own team can — and can’t — do in your account.
Improved
- Support can now resend or revoke a stakeholder portal invite — If a portal invite never arrived, or expired before someone found it, our support team can now resend it — or revoke it — directly, without asking you to redo it yourself. It only ever touches a pending invite, never your cap table, and every action is written to your own audit log exactly as if you had done it.
- Support can unstick a cap-table import that failed — An import that got stuck used to be a dead end — you had to start the whole thing over. Our support team can now reset it so you can retry, without anyone here seeing the file you uploaded. Like every support action, it never touches your ledger and is written to your own audit log.
- Support can verify a fix against your file without ever seeing it — When we ship a fix to how we read Carta or Pulley exports, our team can now re-run it against a previously failed import to check whether it actually worked — succeeded or failed, plus which fields came through, never the file’s contents or any value in it. Nothing is written to your account either way; it’s a diagnostic, not a retry.
- Trust & Security now explains our support team’s access — Added a section spelling out that our support/engineering team cannot open your workspace and browse your cap table — only a short list of account-health facts and a handful of narrowly-scoped, audited actions.
- Uploading contacts works the same way as uploading your cap table — Adding stakeholder emails used to mean a plain “choose file” button, while the cap-table upload right next to it accepted a dragged file. They now behave identically — drag a file onto the box, or click to browse. Reported by a founder who noticed the two screens disagreed with each other.
August 10, 2026
2026.08.10 · Everything you issue now has a number on it.
New
- Certificate and grant numbers, minted as you go — If you came from Carta or Pulley, every certificate and grant arrived with the number your old provider gave it. If you built your cap table here, nothing had one — so there was no way to match a line on your cap table to the document sitting in your files. Now shares, option grants, SAFEs and notes are all numbered as they are created. If you already have numbers, we continue your existing sequence rather than starting a second one beside it, and a number is never reused once issued.
Improved
- Imported grants keep the date your board approved them — Carta and Pulley both record a board-approval date against each option grant, and we were reading it only to work out the earliest date for the plan as a whole — the per-grant date was discarded. It now comes across as a board consent covering the grants approved on that date, so “when was this grant approved?” has an answer in your account instead of only in the export you no longer have.
Fixed
- Switching between companies, and adding a new one, work again. Every link in the company switcher had stopped navigating — the menu opened, the links looked right, and clicking one did nothing. If you have more than one company and thought you were misclicking, you weren’t.
- Transferring part of a holding no longer copies the seller’s certificate number onto the buyer’s shares — the new holding gets its own number, so a certificate number always identifies exactly one holding.
August 8, 2026
2026.08.08 · Signing out no longer costs you your import.
New
- A beta notice, and a faster way to tell us something is wrong — Tenacap is in beta, and we would rather say so on every screen than let you find out from the first rough edge. A single line now sits at the top of the app with a link straight into the report form — the same one behind the feedback button in the lower right. We read every report, and we fix what we can within a day.
Improved
- Trace a holding back to the SAFE or option it came from, by number — When a SAFE converts or someone exercises an option, the shares that result are a new line on your cap table — and until now that line said nothing about where it came from. It does now: shares created by a conversion or an exercise show the originating SAFE, note or grant by its own number, the same number your previous provider used.
- Pick up an import where you left off — If you get signed out part-way through an import, nothing is lost — your file and everything we read from it were always saved on our side, there was just no way back to them. Unfinished imports now appear on your home screen with a link to continue.
- We stop signing you out while you’re reading — We end idle sessions after 30 minutes because your account holds your cap table. But we were measuring idleness by requests to our servers, not by whether you were there — so reading an import preview carefully, or studying a long cap table, looked exactly like walking away. Now the clock only runs when you’ve genuinely stopped, and if it does run out you get a warning with a countdown and a “stay signed in” button first, rather than being dropped without notice.
August 7, 2026
2026.08.07 · Imports tell you what actually went wrong — and stop half-importing.
Improved
- Correct instructions for exporting from Pulley — We had been telling everyone to look for a “Reports” section in Pulley. There isn’t one — a founder sent us a screenshot proving it. The Download button is on your Dashboard, or on the Cap Table page; the window it opens should say “Includes all cap table details (fully diluted).” Corrected everywhere it appeared, including the upload screen itself.
- Where to find your stakeholders’ email addresses — Pulley’s cap-table export contains no email addresses, and we used to leave it there — which sent people hunting for a spreadsheet we never told them how to produce. Pulley will give you the addresses: open Stakeholders and choose Actions → Download. In Carta it’s Manage stakeholders → Download → Contact spreadsheet. Either one can be uploaded to fill in every stakeholder’s email in one reviewed pass.
- A Carta export we should have accepted, and didn’t — Carta labels the sheet in its export “Summary Cap Table”. We were looking for “Summary cap table” — an exact match — so two capital letters made us reject valid files and tell people we couldn’t find a cap table in them. Fixed: we now recognise the sheet however Carta capitalises it, and we recognise the plain “captable.xlsx” filename current exports use.
- A Summary-only export is refused, not half-imported — Carta’s Summary report carries your share-class totals but none of the per-holder rows. It would have imported as a cap table with your share classes and nobody in it. We now stop, say exactly that, and point you at the Detailed export that does carry the holdings.
- Pulley section downloads are caught before they cost you an evening — Pulley can hand you a single section — just your convertibles, say — which looks like a normal file but contains none of your shares. Importing one used to quietly produce a cap table showing only your SAFEs. We now stop, name which tabs your file actually contained, and give you the steps to the full workbook.
- Clearer errors when a file isn’t what we need — When we can’t use an upload, the message now lists the sheets and files we actually found inside it, instead of only naming what we expected. If you ever need to ask us about a failed import, that message tells us most of what we need to know.
Fixed
- Re-importing into a company that already held SAFEs or notes could offer to add to your existing data and then refuse at the last step, with no way forward. It now correctly offers to replace, with the usual confirmation.
August 6, 2026
2026.08.06 · One published price per tier — the same for everyone.
Improved
- Price parity replaces the price-lock promise — We used to promise that the price you signed up at was yours forever. It sounded generous, but it meant two customers on the same tier could pay different amounts, and more than one person read it as a warning that renewals would cost more. The model now is simpler: one published price per tier, the same for everyone. If it ever changes, it changes for everyone on that tier at once, with 90 days’ notice and never more than once in twelve months — and that guardrail is in our terms, not just on the pricing page.
- Buy a single feature from the tier above — If you need one thing from the next tier up, you can add just that — $8/month each on Starter, $12/month each on Traction — instead of upgrading for a single feature. We publish the arithmetic: five add-ons costs the same as moving up a tier, so at your fifth we upgrade you automatically and stop billing add-ons.
July 31, 2026
2026.07.31
Improved
- A clearer Members page — On the Members page the column headers now line up with their columns (Email over the email, Role over the role), the Resend/Revoke buttons on pending invites align with the row, and the role dropdown for your only admin now reads as clearly disabled with a plain explanation (“At least one admin is required — promote another member to admin first”).
- Warrants get their own tab — Warrants used to sit in the “Convertibles & SAFEs” tab, alongside instruments that convert rather than get exercised. They now have their own “Warrants” tab on the cap table.
- Build your full 409A history, right on the 409A page — The 409A page now has an “Add a 409A valuation” form so you can record every valuation your company has had — not just the latest — including ones with past effective dates. Upload each report’s PDF (we read the figures for you) and it drops into the history below, where any valuation can be viewed, corrected, or voided. “Add another” lets you enter several in a row.
- Small Cap Table tidy-ups — In the left menu, “View” now comes before “Update.” And the “Replace this cap table with an import” link at the bottom of the cap table is gone — importing lives in the left menu now (under Company), and it still offers the same guarded replace path there.
- See exactly which grants lack a 409A — The “409A coverage on grants” item under Needs Attention used to just drop you on the cap table. It now takes you to a list on the 409A page showing each grant priced with no 409A on record at its grant date — holder, grant, date, quantity, and strike — so you know precisely what to fix.
- 409A expiry defaults to one year after the effective date — When you add a 409A, the expiration date now pre-fills to exactly one year after the effective date (and tracks it if you change the effective date). It’s still editable — set your own expiry whenever the report says something different.
- Starting from scratch is a first-class path, not a fallback — The first screen used to lead with “import” and treat starting a brand-new company as the secondary option — confusing if you have nothing to import. Now it’s an equal, up-front choice: start a new company (build it with a guided wizard, or hand it to your CFO/attorney to finish) or import an existing cap table. The empty-company dashboard leads with build and hand-off too.
- A stakeholder’s full equity history, even after it’s gone — A departed employee whose options were cancelled — or anyone whose options were exercised or whose SAFE/note converted — used to show a blank equity page, because we only listed equity that was still outstanding. Their page now has an “Equity history” section listing that past equity with what happened to it (exercised, cancelled, expired, converted), so the company’s full equity history is never lost.
- A clear next step to add emails after a Pulley import — Pulley (and most cap-table) exports carry no email addresses, which left importers hunting for where to add them. The import-complete screen now shows how many stakeholders still need an email and links you straight to the bulk email import.
- Departed employees are marked departed when you import — If your Carta or Pulley export has a termination/end date for someone, importing your cap table now marks them as departed and stops their vesting on that date — previously we read the rest of the row but ignored the departure, so people who had left still looked active and vesting. (This is separate from the contact-sheet import, which already did this; now the main cap-table import does too.)
- Keep stakeholder addresses from a Carta import — A Carta export lists each shareholder’s mailing address, but we used to read it and drop it on the floor. Importing a Carta file now brings those addresses across onto your stakeholders, so you don’t have to re-key them.
- A “What’s new” link and build number in the footer — Every signed-in page now has a small footer with a link to this changelog and the exact build you’re on — so you can always see what’s shipped and which version you’re looking at.
July 30, 2026
2026.07.30 · A cleaner, calmer app frame — less chrome, one obvious home for everything.
Improved
- A decluttered top bar and sidebar — The Tenacap logo no longer takes up space at the top of the sidebar once you’re signed in, and the top-right corner is now just a single Log out control. The notification bell and account menu that used to live there are gone — Notifications and Account both have a home in the left menu, so the icons were redundant.
- Switch companies in exactly one place — Switching between companies is done from the switcher at the top-left of the sidebar — and only there. (In the admin console, where that switcher doesn’t apply, the switch stays in the top-right.)
- Import moved to where it belongs — Importing a cap table is a one-time action, so it no longer sits in a prominent spot — it’s now under “Company” in the left menu. The “Account” item there is also clearly labelled (it used to read “Overview”).
- A tidier company dashboard — The overview you land on reads a little cleaner: the stat tiles reflow neatly across phone, tablet, and desktop instead of stranding one, the “Shareholders” figure is now labelled “Stakeholders” to match the rest of the app, and the empty-state messages are warmer.
- The left menu stays put on your settings pages — Opening Account or Notifications used to drop you onto a bare page with no navigation. Now the left menu stays with you there, so you can jump straight back to your cap table or anywhere else.
- Record departures from a contact import — If your contact sheet has a “Termination Date” (or “End Date”) column, importing it now marks those people as departed — we used to read that column and quietly ignore it. The review screen tells you how many will be marked departed before you apply, and vesting stops on the departure date automatically.
- Update is now its own page, cleanly separate from View — Editing your cap table used to open a long panel at the bottom of the View page, which made the two feel tangled and confused the navigation. “Update” is now its own page — View shows the cap table, Update is where you make changes — and the left menu highlights exactly one of them at a time. Old links and bookmarks to the manage panel still work.
July 29, 2026
2026.07.29 · Bulk contact import, plus a round of fixes from beta feedback.
New
- Correct or void a wrong 409A valuation — A 409A record entered by mistake — a typo, or a pre-discount value — used to be permanent. Now an admin can fix the fair-market value in place, or mark the record “entered in error.” A voided record stays in your history for the audit trail but no longer counts as your current 409A, so it stops pricing option strikes. A valuation entered in error also can’t be used to defend a grant’s strike price.
- Set up your company now, build the cap table later — or hand it off — Creating your company and building its cap table are now two separate steps. After you enter the legal basics, you land on a dashboard with three ways forward: import a cap table you already have, build one by hand, or invite someone else — a CFO, controller, or attorney — to finish it. They pick up right where you left off, so the person who opens the account no longer has to be the person who owns the cap table.
- Import into a company you already created — If the company exists but its cap table doesn’t yet, importing a Carta, Pulley, or spreadsheet export now lands into that company instead of creating a new one — so the person who sets up the account and the person who imports don’t have to be the same. Your typed company details (legal name, incorporation date, state) are kept by default; where the file disagrees, the preview shows a side-by-side and lets you choose per field. Nothing is deleted; a company that already has a cap table still offers the separate, clearly-flagged replace path.
- Manage more than one company from a single login — Use “+ Add another company” in the entity switcher (top-left) to stand up a new company without signing up again under a different email — ideal for an attorney with several clients or a founder starting their next company. Each company gets its own workspace, members, and permissions, and you switch between them from the same menu.
- Import stakeholder emails in bulk — Cap-table exports rarely carry email addresses — Pulley’s has no email column at all. Upload a contact sheet, review the name matches we propose one by one, and fill in every stakeholder’s email in a single pass.
- This page — A running log of what changes, so you can see progress without asking.
Improved
- Clearer company setup — The state of incorporation is now a dropdown of state names instead of a box asking for an ISO-3166-2 code, and entity type no longer assumes Delaware.
- The left navigation tells you where you are — The company name in the sidebar now takes you to your dashboard, and “Update” reads as a button rather than looking permanently selected.
- One place to switch companies — Switching between companies lived in two spots — the switcher at the top-left and a “Switch entity” item in the account menu at the top-right. The account-menu duplicate is gone; the top-left switcher is the single place to switch (it stays in the account menu only in the admin console, where the sidebar switcher doesn’t apply).
- Reach the importer from the navigation — There’s now an “Import” item under Cap Table, so bringing in a Carta, Pulley, or spreadsheet export no longer means hunting for a link at the bottom of the page. The footer link is also clearer that importing a file replaces everything already on the cap table.
Fixed
- The selected filter on the QSBS page was invisible — white text on a background that never rendered.
- Both “View” and “Update” could appear highlighted at once in the cap-table navigation.
- The company name appeared three times on one screen; the duplicate in the breadcrumb is gone on desktop.
- The “Back” button on the first step of company setup was shown but disabled; it’s now hidden until there’s somewhere to go back to.
- The back link on account and notification settings said “All companies” even when you only had one.
- The Tenacap logo now appears in the top-left of both the app and the website.
July 28, 2026
2026.07.28 · Fund reporting depth and a security pass on dependencies.
New
- A dedicated Fund Positions dashboard — Positions was a redirect; it’s now a real holdings table with totals, and the fund Overview is a cleaner KPI snapshot.
- Personal holdings in the entity switcher — If you hold equity in a company you also administer, your own holdings now appear as their own group in the switcher.
Fixed
- Security: patched 3 critical and 8 high-severity advisories across authentication and framework dependencies.
- “Needs attention” links on the overview pointed at a placeholder instead of the real company.
July 11, 2026
2026.07.11 · A rebuilt information architecture — the largest navigation change so far.
New
- Left-column navigation — Every surface moved behind a grouped left-hand nav with a unified entity switcher, replacing the wide top-tab layout that had grown past what a single row could hold.
- One Model view — Round pro-forma, exit waterfall, and the founder calculators now live behind a single Model toggle instead of three separate pages.
- Invite workspace members by email — Company admins can invite teammates directly from Permissions.
- QSBS and Option Holdings roll-ups — Two new compliance views: per-holding QSBS eligibility with attestation tracking, and an option-holdings roll-up including Form 3921 status.
Spotted something wrong, or want something that isn’t here? Use the Provide feedback button in the app — it files directly into our tracker and we read every one.
