Wealth Management by Zahlenwerk is now in beta. Join the waitlist→

From a PDF to a number you can defend

Most portfolio software asks you to type the numbers in. We read them off the statements you already receive. This page is the whole path, including the parts that can go wrong and what stops them.

The problem is not arithmetic

IRR, TVPI and DPI are simple formulas. The hard part is upstream: a quarterly statement arrives as a PDF laid out differently by every manager, it lands in somebody's inbox, and by the time a figure reaches a spreadsheet nobody can say which document it came from or whether the same capital call was already entered last month. Every disagreement between three sources starts there. So the product is a document pipeline first and a finance tool second.

The path, end to end

The whole path, before the detail. Squares transform, triangles decide.

  1. It arrives without anyone doing data entry

    Forward a statement to your private drop-address, or set up a rule once so it forwards itself. The address is provider-agnostic on our side, so it works from a personal inbox, an assistant's, or a shared one like reports@firm.com.

    Every delivery is recorded: what came in, whether it was ingested, rejected or failed, and why.

  2. A classifier throws out what is not a report

    A mailbox is noisy. Before anything is read, each attachment is classified as a fund report or not. Payslips, invoices and the rest are rejected with a reason, and anything that is not a PDF stops right there.

    This gate matters more the wider you open the funnel.

  3. Two checks stop the same statement counting twice

    The first compares files byte for byte, so a report that is both forwarded and uploaded resolves to a single record. The second is a logical key of owner, fund, period and report type, which catches the harder case: two different scans of the same quarterly report, one original and one re-rendered, that are not byte-identical but describe the same quarter.

    Double-counted capital calls are the most expensive kind of quiet error. Both gates run before anything commits.

  4. The document is converted and read in the EU

    The PDF is converted to text in an EU region, then read by a model in an EU region. Both hops fail closed: if a non-EU region is configured, the call raises an error rather than quietly sending your documents somewhere else. Before the text leaves, names of people and entities from your own directory are replaced with opaque placeholders, and the table mapping them back never goes with it.

    Amounts and dates are not masked, because reading them is the entire point. We would rather write that down than let you assume otherwise.

  5. The extraction is scored against itself

    Rather than ask a second model whether the first was right, the extracted record is scored on its own completeness and internal consistency. A statement that filled every field lands at the top of the range; a missing fund name or period end drops it below the bar.

    No extra model call, no network, so the score cannot itself fail or drift.

  6. Below the bar, the numbers go nowhere

    A report under the threshold is flagged, and both the cashflow path and the valuation path skip flagged reports entirely. Its figures cannot reach your portfolio at all until a person opens the review queue, which shows exactly which checks it failed. You approve it, re-run the extraction against a better scan, or archive it.

    Uncertain data is not entered as provisional and cleaned up later. It is inert until someone signs off.

  7. The number keeps its route home

    Once committed, every figure references the document it was read from and what kind of source that was. When your administrator's IRR disagrees with ours, the question stops being whose spreadsheet is right and becomes which cashflows each of us counted, as of when, and from which page.

    This is the only reason the metrics are worth computing at all.

Where the assistant fits

You can ask questions of all of this in plain language, in the app or from Claude and ChatGPT through a connected MCP server. It writes as well as reads, which is the point: it can record a cashflow, add a valuation or create a position. What makes that safe is not that it is timid but that it is bounded. It reaches your portfolio through a fixed list of named operations against a database rather than a free hand over your files, and each write lands as a dated entry on the position's own history. In the app you choose how much it asks: in Manual, the default, every write pauses for you to confirm exactly what would change; in Auto it makes changes in the app without stopping, and anything that leaves the app, such as a Google Doc, still asks. It cannot delete a position, a person, an entity or a bank account.

What the assistant can and cannot do→

You can keep your own copy

Connect your own SharePoint or Google Drive and every uploaded PDF is mirrored into it live, filed by fund, year and period. The documents your numbers are derived from then sit in storage you control, and stay there whatever happens to us.

Connections→
In beta, off by default

Jev answers routine questions in about half a second

Whether an attachment is a capital call, a fund report or neither does not need a large model. For teams that switch it on, Jev answers that question first. Jev is a small decision model from TypeSafe AI. When it is at least 0.9 sure, its answer stands, the model in the EU is not called for that step, and your team uses no credits for it. Below that, the model in the EU decides as before. The same rule lets Jev type uploads with vague filenames, pre-fill accounts from your own chart, set aside headlines about someone else and point out unusual edits.

Only if you switch it on
Off by default for every team. An owner or Team Admin switches it on in team settings, and every change is in the audit log.
Processed in the US
Jev runs at TypeSafe AI, Inc. through the Vercel AI Gateway, with no storage at the provider. There is no EU region yet.
Masked text only
At most the first 8,000 characters, with names from your directory replaced. No file, no filename.
Extraction stays in the EU
Jev does not read figures. Every document that is kept is still read as in step 04.

See it on your own statements

The fastest way to judge any of this is to forward us a quarter you already know the answer to.

Join the waitlist
EN
EnglishDeutschEspañol