Skip to content

Table · reads transaction

Expenses

Line-item costs with totals.

Rows and columns, sortable and filterable.

Two receipts missing. That column is why this beats a shoebox.
DateDescriptionAmountCategoryReceipt
2 SepPrinter, flyers€40.00MarketingYes
5 SepVan diesel€78.50TravelMissing
9 SepPackaging, 500 units€212.00StockYes
11 SepClient lunch€64.00EntertainingMissing

What it does

Behaviours, not fields. Choosing between two modules is choosing between these.

A row is written the moment spending is mentioned, with whatever is known. Waiting for complete information is how expenses go unrecorded.

The missing-receipt column is the one that costs money at year end, so it defaults to Missing rather than to optimism.

Categories are inferred only where the description makes it obvious — a wrong category is worse than an empty one.

A correction edits the row rather than adding a second, so the total never drifts.

How it works

  1. 1

    Somebody mentions spending money. The agent writes a row immediately, with whatever is known.

  2. 2

    A photographed receipt attaches to the nearest matching row by amount and date; failing that it creates one.

  3. 3

    Category is inferred only where the description makes it obvious. A wrong category is worse than an empty one.

  4. 4

    Rows never leave. An expense corrected later is edited, so the total does not drift.

Best for

Comparing many records across many fields.

Not the right choice for

A phone. A table is the first thing that stops working narrow.

What a row holds

Every field, and what the agent listens for to fill it — which is the difference between a page you type into and one that fills itself.

FieldTypeFilled from
DaterequireddateWhen it was spent. "Yesterday" and "last Tuesday" resolve against the conversation date.
DescriptionrequiredtextWhat it was: "diesel for the van", "packaging". Kept verbatim rather than tidied.
AmountrequiredmoneyThe figure spent. Positive; this module is money out, so a sign would be noise.
CategorychoiceStock · Travel · Marketing · Entertaining · Equipment · Premises · OtherInferred from the description where it is unambiguous, asked once where it is not.
ReceiptrequiredchoiceYes · MissingWhether an image was attached, not whether one exists somewhere.Defaults to Missing. Optimism here is what makes the column useless at year end.

What it does not do

A module chosen for something it cannot do costs more than one that was never offered.

  • No OCR. Attaching a receipt records that one exists; nothing reads the amount off it.
  • One currency, no conversion — the same constraint as Budget, and the same silent wrong total if ignored.
  • It does not know about tax deductibility. Category is for the owner and their accountant, not a rule engine.
  • Nothing reconciles against a bank feed, so a spend nobody mentions is simply absent.

Before it works

What you have to provide, if anything.

  • Nothing.
  • Set the categories first if the business has its own; the defaults are generic and renaming them later leaves old rows behind.

In practice

A sole trader running a van, buying materials in small amounts constantly.

Seventy-eight fifty of diesel this morning.
What was said to the agent

What the agent built

A travel expense at 78.50, dated today, receipt marked Missing because none was attached.

What changed

At year end there were nine missing receipts rather than an afternoon of reconstruction from bank statements. Six were recoverable because the date and amount were exact.

Questions

What data does the Expenses page use?

It reads transaction records the agent has collected. Line-item costs with totals. Nothing has to be imported first — the page appears once there is something to show.

Do I have to build or configure it?

No. You describe what you need in a sentence and the agent chooses the view and fills it. Custom pages exist for the cases no built-in view covers, and those are reviewed before they go live.

When is a table the wrong choice?

A phone. A table is the first thing that stops working narrow. It is best for: comparing many records across many fields.

Does it stay up to date?

Yes. The page is a view over the data rather than a copy of it, so anything the agent learns afterwards shows up without a rebuild or a re-import.

Ask for it in a sentence

You do not configure this page. You tell your agent what you need and it builds it from what it has already collected.

Build your agent free

Agents

More

👤
Profile
FAQ