Investor accounting
Investor capital, positions and profit distribution from project profit
When partners fund a project, the business takes on obligations that a spreadsheet handles badly: who put in what, into which project, what share of a profit they are due, and what has already been paid. This is how those facts should live in the ledger — as postings — and how a distribution can be tied to a profit the accounts have actually certified.
Last revised
Why investor capital ends up in a spreadsheet
Most property developers with project investors track them in a workbook because their accounting software has nowhere else to put them. The ledger sees one “investor capital” balance; the workbook holds the real information — who invested, into which project, when, what share they hold, what profit they have been promised and what has already been paid — and the two are reconciled by hand, if at all.
The consequence is the same one every off-ledger register produces: a payout is made against a number nobody can trace to the accounts, and a profit share is calculated from an estimate that later turns out to be wrong. This guide is about putting those facts in the ledger as postings, so that each investor’s position is a query and each distribution is tied to a profit the books have actually certified.
The model: investor, project, position, movement
BuilderOne’s Investor Management module is built on four ideas:
- An investor is a person or a company, linked to the platform’s shared contact record — so the same party can also be a customer or a contractor without being entered twice.
- A position is one investor’s stake in one project. Positions are per project, deliberately: capital put into Project A is not automatically available to Project B, and profit earned by A cannot be allocated to an investor in B.
- A movement changes a position. There are exactly six kinds — capital contribution, profit allocation, transfer in, transfer out, payout and reversal — and every position is the sum of its movements. Nothing is stored as a balance to be edited.
- A position keeps principal and allocated profit as two separate quantities. Capital contributed is not profit; profit allocated is not a further contribution; and the two are reported separately on the position register and the investor ledger.
What each movement posts
Every movement that changes an investor’s position is also a posting into the general ledger, through its own governed adapter. The investor equity control account (3400 in the seeded chart, or a mapped alternative) is the ledger side of the subledger, and the two are held equal by construction:
| Movement | Debit | Credit | Effect on the position |
|---|---|---|---|
| Capital contribution | Bank (the treasury account the money landed in) | Investor Equity | Principal increases. |
| Profit allocation | Investor Profit Allocation Clearing (equity) | Investor Equity | Allocated profit increases; total equity is unchanged — the allocation reclassifies within equity. |
| Project-to-project transfer | — | — | Principal moves between two of the same investor’s positions; total equity is unchanged. |
| Payout | Investor Equity | Bank | Principal and/or allocated profit decreases. No revenue, no expense, no profit or loss. |
| Reversal | the original credit | the original debit | A linked reversing journal, never an edit. |
The last column of the payout row is the one investors and auditors ask about. Paying an investor is a return of capital or of allocated profit; it is not an expense of the business, and the posting says so.
Distribution from certified project profit — not from an estimate
The step that separates a ledger-based approach from a workbook is where the profit to be allocated comes from. In BuilderOne it comes from Accounting, through a narrow read: the certified project profit for a project over a date range. That figure is the project’s own result — revenue less cost on the postings that carry the project — read from the same ledger as the company statements, and it comes with a completeness status:
| Status | Meaning | What a distribution should do |
|---|---|---|
| Complete | Every posting in range is classified; the figure is fully attributed. | May proceed. |
| Partial | The basis is known but some lines are still unclassified — a manual journal that named no project, for instance. | The figure is still returned, with the warning that forced the status; an operator sees what is uncertified and why before deciding. |
| Unknown | The basis cannot be established. | Refuse. |
Against that figure the module tracks what has already been allocated. Available profit is certified profit less profit already allocated through allocation documents — and a payout does not hand profit back to the pool: paying out allocated profit reduces the investor’s position, not the amount that was allocated. That rule is what stops the same rupee of project profit being allocated twice, which is the most common error in a spreadsheet register.
The chain, end to end: operational documents post by project → the period closes → the project profit is read and certified → a distribution document allocates a share of the available profit to each position → payouts settle allocated profit or principal to the bank. Each arrow is a posting or a document with an approval; none is a cell.
The investor ledger and the position register
Two reports fall out of the model without a rebuild step. The position register lists every investor–project position with principal, allocated profit and their total, and reconciles in aggregate to the investor equity control account in the ledger. The investor ledger lists one investor’s movements in order — contributions, allocations, transfers, payouts, reversals — with the document behind each, which is the statement an investor is entitled to and the one an auditor reconciles.
Because every movement is also a project-attributed posting, the same figures appear in the project profit and loss view: the profit a project earned, the share of it allocated, and the cash that left to pay it. The investor’s books and the project’s books are one set of books.
Controls worth insisting on
- Positions are derived from movements, never edited. A correction is a reversal.
- Capital and profit are tracked separately within a position and reported separately.
- Profit is allocated per project, from a certified figure, and allocated profit is never re-pooled by a payout.
- A transfer moves principal only, between positions of the same investor; it cannot move one project’s profit to another.
- A payout debits equity and credits the bank account actually used — no revenue, no expense — and is approved before it moves cash.
- The subledger total equals the equity control account, and the clearing account for allocations is excluded from that relationship by design.
Where this lives in BuilderOne
See it on your own numbers
The fastest way to judge whether this is how your software should work is to put a real project through it. Tell us what you run and we will set your company up.
