Private internal finance workspace

Upload a transactions CSV, map revenue vs. expense, and generate instant statements.

This first delivery gives you a full thin slice: CSV intake, inferred mapping, SQL persistence, import history, transaction detail, Profit & Loss, and a simplified Balance Sheet built from stored activity.

Workspace status
Private mode
Internal use
  • SQL table auto-initializes on load
  • Manual override for inferred mapping
  • Statements generated from stored rows
Batches imported
0
Distinct CSV imports stored
Transactions
0
Stored line items
Revenue
$0.00
Recognized from imports
Net income
$0.00
Revenue less expenses
Step 1

Upload transactions CSV

Create / Input

Expected columns can be flexible. The importer looks for a date, a description, and either an amount or debit/credit columns.

Common headers: date, description, amount, debit, credit.
Suggested format
date,description,amount
2026-03-01,Client invoice,1200.00
2026-03-04,Software subscription,-99.00
No file selected yet.
Step 2

Generate statements

Confirmation / Output

Use the two primary actions below to render the requested statements from stored SQL data. Filters persist in the URL so you can revisit the same view.

Jump to report
Profit & Loss
Revenue, expenses, and net income by inferred account.
Balance Sheet
Simplified cash/equity view based on imported activity.
Statements

Profit & Loss statement

Revenue / Expense

No imported transactions yet

Upload a CSV to populate the statements. Once the first batch is imported, the requested reports will render here.

Current focus

Transaction detail

Detail

Select a transaction

Choose any row from the transactions list to inspect its stored details.

History

Import batches

List

No batches stored

Your first imported CSV will appear here with date range and totals.

Stored rows

Recent transactions

Browse

No transactions to show

Import a batch or select one from the list to populate this table.