Every fund manager who has changed systems knows the moment. The new platform is configured, the demo looked right, and now ten years of drawdowns, distributions, TDS, units and side arrangements have to move across. Usually that means somebody retyping values into upload templates, an import that reports "completed", and a quiet hope that the totals still match.
We don't think a migration should rest on hope. It should end with proof: a reconciliation, row by row and total by total, against the figures you already trust, and a written report that shows exactly how your data became ours.
"Completed" is not success. An onboarding is done when every number has been tied back to the client's own books, and not before.
This piece describes how we do it: the people, the rules they never waive, the tooling they built, and the reconciliation every onboarding has to pass before it is allowed to go live.
It starts with people who have done this before
CapHive was built by a team with deep experience in private capital markets and in capital-markets technology, and our onboarding is run by fund-operations people, not by implementation generalists. They know what a capital call is for, why a redemption and a gain distribution are taxed differently, and why a unit balance that is right in total can still be wrong for one folio.
That matters more than any tool, and we learned it the useful way. On an early rehearsal, our automated reconciliation passed 10,992 checks out of 10,992. A fund-ops reviewer then read the result the way an auditor would, and found three things the green ticks had missed:
- Capital calls that never happened. The source recorded drawdowns per investor. Grouping "each investor's first drawdown" into one call produced a call that spanned eight years, which is not a fund event. Calls are now built only from real fund-level events, and when the data cannot say which drawdowns belong together, the question goes to the client instead of being guessed.
- Values nobody gave us. Payment references had been filled in to look tidy. Now an optional field stays blank unless the client supplied it.
- Tax modelled in the wrong place. TDS had been stored alongside each payment as information, so the platform's net payable still equalled gross. TDS now goes in as account entries linked to the distribution as a tax fee, and the distribution is recomputed, so what investors see is net of tax, exactly as in the client's books.
Each finding became a rule in the method, and the reconciliation was rebuilt so that it compares the client's figures with what the platform computes and shows investors, not with values we wrote ourselves. That is also why no onboarding goes live without a fund-ops reviewer's sign-off, however green the checks are.