Skip to content
Finance

Finance

Revenue, costs and cash, with the coverage stated beside it.

Seven pages over one project ledger: the overview, the budget, expenses, subscriptions, payments, invoices and the review queue. Amounts are stored as integer minor units in euros, dollars or pounds. Every figure states what it covers, and the monthly close asks you to acknowledge what the evidence does not establish.

7
pages over one ledger
3
currencies, stored as integer minor units
0
payments sendable from any page

The problem this solves

What goes wrong when this work lives in spreadsheets, documents and one person's memory.

The same cost counted twice

A supplier invoice entered again as an expense, or a matched invoice adding a second cash receipt. Both are called out rather than quietly doubling a total.

A budget line nobody can delete safely

An area still referenced by non-cancelled costs or commitments cannot be removed, so the plan and the ledger stay in agreement.

A half-applied import

A CSV batch commits whole or rolls back whole, and bulk categorisation validates every selected record before any of them change.

In the app

What it looks like

Captures of Growth-OS itself, rendered with sample data rather than our own records.

The finance overview with the coverage behind each figure.
The finance overview with the coverage behind each figure.
A budget plan allocating a pool across named business areas.
A budget plan allocating a pool across named business areas.
Invoices with their aging buckets and payment matches.
Invoices with their aging buckets and payment matches.
The review queue with its explainable exceptions.
The review queue with its explainable exceptions.

Highlights

Why it matters

The budget allocates exactly

Fixed amounts are reserved first, percentages apply to the remaining pool, and the largest fractional shares take the rounding cents, so a hundred percent allocates the pool to the cent.

The review queue explains itself

Possible duplicates, missing receipts, unpaid invoices, upcoming renewals and proposed payment matches, each with its reason and a record of who resolved it and why.

A withheld number beats a wrong one

A missing exchange rate withholds the euro total rather than guessing, and a truncated ledger says that it was truncated.

How it works

From an empty record to something you can act on, in the order you do it.

  1. 1

    Record or import

    Enter an expense or an invoice, or preview a CSV first. An invalid row blocks the batch instead of landing half of it.

  2. 2

    Classify the funding

    Every outgoing cost is necessary, budgeted or unclassified, and a budgeted one names an area that exists in that month's saved plan.

  3. 3

    Reconcile

    Match a payment to an invoice by its provider payment id, after a person has checked the customer and the amount. A provider payment can be allocated once.

  4. 4

    Review, then close

    Work the exception queue, then run the monthly checklist across all three currencies.

Honest limits

What this does and does not promise

  • Payments are stored records carrying a last recorded status. Nothing can be sent, refunded or moved from any Finance page, and reversing a payment record recalculates a balance rather than issuing a refund.

  • The operating result is provisional. It is not a statutory profit and loss statement and not a bank balance, and the monthly close asks you to acknowledge that before it saves.

Questions

Frequently asked questions

Do this work in Finance

The page opens on this project's records. The in-app guide describes every field.