Note: Modern Treasury empowers teams to make payment operations simple, scalable, and secure. The “Guides” series walks through representative businesses or payment processes and explains step by step how best to go about building them from scratch.
Venture capital and private equity funds have become a large industry, with hundreds of new funds getting started on an annual basis. They range in size from an angel investor investing a million dollars to giant growth and PE funds managing $100 billion or more.
The key to success lies in the investing decisions: attracting deal flow, identifying deals to invest in, winning those deals, and managing the companies to a successful outcome, be it an acquisition or IPO. But in addition to these there are the mechanics of fund operations, from receiving capital calls from Limited Partners (an “LP” is an investor in a fund), wiring funds to portfolio companies, receiving the proceeds from sales of the companies or sales of shares post IPO, and distributing those back to LPs.
For smaller funds, these operations tend to be outsourced to fund custodians, third parties that handle the backoffice of funds and manage incoming and outgoing wires. These third parties can get quite large. Some examples include Gen II Fund Services, Brown Brothers Harriman, or SS&C. Larger firms often build an in-house team to manage these operations. But regardless of the specific organizational setup, the work tends to be quite similar, and the pressure on maintaining cost and accuracy leads to more focus on automation.
This post is a guide to the operational, money movement aspects of private investing. While the specifics of the investments and the horizon for repayment might vary widely, we hope that this guide is useful in simplifying and demystifying how a fund might automate some of its internal operations.
The User Experience
Let’s start with defining the user experience for a new fund. Let’s say our new team, which is expert in bagels, believes there’s a wave of innovation coming to that space. With Sesame, Everything, and Pumpernickel showing success in the market, more is coming. So, the team launches Bagel Ventures and raises a new venture fund (“Bagel Ventures I”) to invest in startups. They will raise their fund from 10 limited partners (LPs) who are the endowments, pension funds, and individuals investing in the fund. Bagel Ventures will not receive all the funds at the outset. Rather, they will ask for funds as they prepare for a new investment, and receive “capital calls” from each of the 10 LPs.
The fund flow might involve the following steps:
- The team identifies a new investment (“Have you heard of pickle bagels?!”).
- The Fund sends capital call requests to all LPs, and receives 10 wires, one per LP.
- The Fund wires the investment to the company.
- After a while, the company sells and the Fund receives their share of the proceeds.
- The Fund distributes the proceeds to the LPs, each getting what they are due, and keeps a carry fee for itself.
In reality, things might be more complex. There could be multiple funding rounds for a company, and it might be a mixture of equity and debt. We haven’t accounted for fees. For simplicity’s sake, we will use only the case outlined above of a single investment round followed by an exit, and develop a payment ops architecture based on that.
Payment Ops Architecture
Before setting up any payment flows, Bagel Ventures has to establish a banking relationship and open accounts. There might be an Operating Account for the fund for things such as payroll, rent, and other expenses, and a separate Investing Account for investments and distributions. For the purposes of this payment ops architecture, we’ll consider just the Investing Account.
Let’s assume you build for the following setup:
The Fund custodian team and software will oversee the regular collection and disbursement of investment funds, and make sure that everything is tracked and reconciled accordingly.
API Calls and Timings
With this payment ops architecture in hand, we’re ready to build.
Step 1: Collect bank account details from LPs and from the Company
Bagel Ventures first needs to collect the Company’s bank account details. Let’s call the company Pickle Bagels, Inc., and its first product is pickle bagels. To do so, you first create a counterparty in Modern Treasury, and populate it with the bank account and routing numbers you have received (more here on common methods of authenticating accounts, such as Plaid):
curl --request POST \
-u ORGANIZATION_ID:API_KEY \
--url https://app.moderntreasury.com/api/counterparties \
-H 'Content-Type: application/json' \
"name": "Pickle Bagels, Inc.",
In addition to the account and routing number, you might want to hold additional information about the counterparty in metadata. This information might include how much of the fund that LP invested, any unique arrangements, and other information.
Step 2: Collect capital call wires
A counterparty creation response will notify you that everything has been successfully set up. Now that a counterparty exists, you can initiate payments to or from LPs. If LPs allow this, you can ACH debit them for their contribution. More likely, however, the large amounts prevent the use of ACH and the preference is for wires, primarily because ACH is reversible and wires are not. To identify and automatically match the incoming wire, you can create an Expected Payment object for each incoming wire with the information you expect, such as amount, counterparty, payment type, and date range. This can be done over API or manually. As an example, here's what this might look like done manually:
Now, once the expected payment is set up Modern Treasury will scan the account for this incoming information and automatically match it when it’s received. Alternatively, if the LP did not send the wire and the end of the date range has arrived, Modern Treasury will notify you that the fund has not received the expected funds.
Step 3: Fund the investment
Once the funds have all arrived, you can fund the investment in Pickle Bagels, Inc. Let’s say Pickle Bagels is getting $10,000,000 from our Fund in this investment round, and is planning on A/B testing bagels and seeing which ones are gone fastest. Given the amount, you will most likely choose to send that amount via wire. Note that the amount is in cents, not dollars, so it shows up as 1000000000:
curl --request POST \
-u ORGANIZATION_ID:API_KEY \
--url https://app.moderntreasury.com/api/payment_orders \
-H 'Content-Type: application/json' \
"originating_account": "Bagel Ventures account ID",
"receiving_account_id": "Pickle Bagels bank account ID",
"counterparty_id": "Pickle Bagels counterparty ID"
Once the payment goes through, the Fund account will be debited $10,000,000 and the Company will be funded for its next phase of bagel testing.
Finally, you want to add metadata to the payment for future reference. In addition to metadata tags (eg. key value pairs such as Type: SeriesA or Sector: Bageltech) you might also attach the PDF for the legal docs, or the CSV calculating the amounts, for future reference. This will be useful for finance and audit teams that might have to answer questions about this payment in the future.
Step 3: Receive funds at exit
Now, after what could be a few months or a decade, Pickle Bagels, Inc. might sell and the fund will register a return on its investment. For simplicity, let’s assume the company sells in an all-cash transaction such that each investment comes back as a cash disbursement based on the terms of the sale agreement.
The Fund is notified that it will receive $30,000,000 back from the investment, tripling its original investment. In that case, you can set up an Expected Payment for the incoming funds, just as in Step 2 above, and reconcile an incoming wire when it comes in from the acquiring company.
Step 4: Disburse the investment return
Finally, once you’ve reconciled the incoming wire, you can collect the Fund’s fees by transferring those funds to the Operating account, and setting up a disbursal to each of the investors in ten separate wires.
That’s it. With these four actions you can set up the payment ops architecture for a simple private investment fund and focus on finding the right entrepreneurs and companies to back and invest in.
What Can Go Wrong?
Payment operations software, such as Modern Treasury, can manage not only the happy path as described above but also edge cases when things go wrong. A common issue could be handling an ACH return associated with a specific return code.
Another might be a customer service issue if an LP funds too little or too much funds, combines two investments in one, or makes some other unexpected action. In that case, there might be a new transaction necessary or an explanatory note for future reconciliations or audits. Ops teams can process these easily while maintaining the integrity of the data, since all payments sent or received are easily captured and displayed. In the future, accountants and auditors won’t be left wondering about a wire, since the information explaining it can be captured directly tied to the bank statement in question.
This post laid out a simple architecture for payment ops at a VC or PE fund, or a fund custodian, but it lays a strong foundation from which to build. For any specific questions, or to see how Modern Treasury can help make you company’s payment ops simple, scalable, and secure, request a demo of Modern Treasury today.