1 · Get transactions in
Import
CSV is the supported path today. Upload a recent bank or card export, then move the rows worth a second look into Review.
The Transactions page is where the day-to-day lives. Every line from an imported CSV shows up here and is classified when it lands. You don’t have to touch a row if we got it right — but every row is editable, and the buttons do what they say.
Importing a CSV
Most banks and card providers let you download a CSV from their web portal. Drop it on the Transactions page; the importer maps the supported headers. Rows with the same (date, merchant, amount) key as an existing transaction are skipped on purpose, so re-importing the same file is safe.
Headers we recognise:
- date — also accepted as “posted date”
- merchant — also accepted as “payee”, “vendor”, or “name”; description can stand in when merchant is absent
- amount — also accepted as “total” or “value”, or use “debit”/“withdrawal” and “credit”/“deposit”
- account and currency — optional; currency defaults to USD
Each row arrives tagged the moment it lands — the categoriser’s work is automatic, and step 3 walks through how it actually picks the tag.
Recurring detection
When a charge or a deposit shows up on a regular cadence — same merchant, same ballpark amount, within a week of the previous one — we flag it as recurring. Recurring rows show in the Recurring summary on the dashboard with the average amount and the next expected date. We don’t act on them automatically — they’re a heads-up so you can spot a price hike or a duplicate subscription the day it lands.
I imported the same file twice by accident. What happens?
Nothing bad. Rows with the same (date, merchant, amount) triple are skipped — the second import shows as “0 imported, 3 skipped (already imported)”. Your books stay clean.
2 · Sanity-check the queue
Review
Low-confidence rows arrive in your Review queue so you can overrule us, and future-you and the model benefit.
Every transaction we’re not confident about is pushed to the Review queue instead of being silently labeled. Most founders end up with a handful a week — the unusual ones, the new merchants, the amounts that don’t match a known pattern.
What goes into Review?
Newly imported rows with a Low confidence label, plus rows that remain unclassified. The badge on the nav tells you how many are waiting; the queue shows the suggested category for each so you don’t have to start from scratch.
How do I clear it?
Click Approve to keep the suggestion, or Change to pick a different category from the dropdown. Either way the row leaves the queue and the P&L updates immediately.
Does correcting a row change future predictions?
Yes. Every correction is fed back into the categoriser for next time, so when the same merchant posts again the row is usually High confidence and lands directly in the main list, not the queue. Step 3 walks through how that feedback loop works.
3 · Categories roll up
Categorize
Each transaction gets a category, and the categories roll up into your daily plain-English P&L — the thing you actually look at.
Active category rules run first, in priority order. A rule can match the merchant, description, or account text, or an amount band; the first match sets the category and its confidence score. Each row carries a confidence label so you can scan the queue at a glance.
- High — we’re confident. Leave it alone, it stays put.
- Medium — probably right, but you might want a glance.
- Low — push it to the Review queue (step 2) for you to decide.
How corrections teach the model
When you change a row in Review, that correction is remembered. The next time a similar transaction arrives — the same merchant, description, account, or amount pattern — the suggestion gets stronger rather than weaker. After a few corrections, a merchant you used to see as Low can move up and skip the queue.
The daily P&L
Once categories roll up, the plain-English P&L is the thing you actually look at. It’s a one-page summary of your money for a given day or range — totals, biggest swing, anything that looked off — followed by a category table sorted by absolute spend. No spreadsheet gymnastics required.
We email you a one-page P&L every weekday morning around 7am in your account’s time zone. It’s three sentences — what you made, what the day’s big move was, anything that looked weird — followed by the same numbers that show in the app. Weekend and holiday runs are skipped so your inbox doesn’t fill up with nothing-buried reports.
Can I turn the daily email off?
Yes. Settings → Notifications has a switch per channel. Turning it off stops the sends but you can still pull today’s numbers from the P&L page whenever you want.
I changed a transaction yesterday — does today’s P&L still match?
Yes. The P&L page recomputes from current state, not from a cached digest. Edits you make are reflected the next time the page loads. The morning email, however, is a snapshot of yesterday morning’s view, so a late edit will only show up in today’s send.
What’s a “normal” day for net?
Whatever your business is. The P&L is calibrated to your own category history: a day that looks very different from your usual pattern is the one that gets flagged in the third sentence. New accounts get a flat baseline for the first two weeks and start using your own history once there is any.
4 · Send your first invoice
Invoices
Track what you’ve billed, what’s been paid, and (politely) nudge the rest. Every invoice has a PDF ready to send.
The Invoices page holds your whole issued list with one row per invoice. Each row has its status — paid, pending, or overdue — and the action buttons you need: mark as paid, send a reminder, download a PDF.
Statuses
- Pending — issued, not yet paid, not yet past due.
- Overdue — past the due date and still unpaid. Shows in red so it stands out.
- Paid — done. Flipping this stops further reminders.
Overdue reminders
A manual reminder is always a deliberate invoice-page action: send one reminder to an overdue invoice, or use the batch action for the overdue list. Separately, the daily dunning-reminders sweep runs at 09:00 UTC and checks the global overdue-reminders setting plus each invoice’s Day 7 and Day 21 switches. Each due threshold is sent once and recorded in the Send log; paid invoices and invoices without a recipient are skipped.
Opening invoice detail can also pick up a dunning threshold that is already due before the next sweep. The reminder log shows whether a Day-7, Day-21, or manual reminder went out, and the scheduled thresholds are idempotent — revisiting the page or running the sweep again does not intentionally resend the same kind.
PDF download
Every row has a PDF button. The PDF is generated server-side and carries your business profile — the name from Settings, your invoice number, line items, due date, and the same amount you entered. If you change your business name in Settings later, future PDFs pick up the new name immediately.
Will I accidentally double-send a reminder?
A scheduled Day-7 or Day-21 reminder is logged once per invoice and threshold, even if the detail page and the 09:00 UTC sweep both check it. Manual reminders remain deliberate clicks, and the Send log shows what went out and when.
5 · Hand to your CPA
Tax export
When it’s time to file, generate a Tax export and hand it to your CPA — one CSV per run, line by line, totals at the bottom.
The Tax export is the simplest thing in the app — one CSV per run, the same shape every time, that your CPA opens in Excel without surprises.
What’s in the file
- Header row — the date range you chose and the run timestamp.
- Line items — date, merchant, category, amount — sorted by date, then by merchant.
- Categorised subtotal — one row per category, summed.
- Grand total — the bottom row, in the same currency as the line items.
Money in the file is the money that posted — in the original currency, no auto-conversion. One row per transaction; nothing is grouped or netted. Categories reflect the tag at the moment of export, including any corrections you made earlier that day.
How to grab it
From the Tax export page, set the date range you want, hit Generate, and the file downloads. Each run is a fresh file — you can run as many ranges as you need and the runs are timestamped, so there’s no ambiguity about which one your CPA is looking at.
Can I run the same range twice?
Yes — running the same range a second time produces an identical file (same line items, same totals); only the run timestamp differs. Hand the CPA the latest one.
When you’re set up
Settings
Settings holds your business profile, display currency, notification switches, and overdue-reminder wording. Most founders touch Business profile once, then return when they want to tune how invoice follow-up sounds or whether scheduled reminders are enabled.
Business profile
Your trading name, your country, and your operating name as it appears on invoices. Edits here flow through to your PDFs, your daily P&L header, and your reminder signature within a few minutes.
Currency
Set the currency you actually invoice and most of your spending lands in. We display your money in that currency everywhere — invoices, reminders, P&L — and group mixed-currency rows separately with the original amount in parentheses.
Reminder template
A subject line and a body for deliberate manual overdue reminders. You can write whatever you want — a polite nudge, a firmer line, or a one-sentence “hey, did this go under your radar?”. Scheduled Day 7 and Day 21 dunning uses its own concise messages; the five manual-reminder tokens are listed next to the textarea, and the live preview renders against your most-recent overdue invoice.
Notifications
One switch per channel: the daily P&L email, the overdue-invoice reminder email, account security alerts. Off means off — we don’t send a half-muted version of anything.
I changed my business name. Do I need to redo my invoices?
No. Existing invoices keep the name they were issued under. Future PDFs and reminders pick up the new name automatically.
Can I have multiple currencies?
Invoices already support per-row currency (a row can be billed in any currency you want). The setting above sets the display currency for the P&L — pick whichever you think in. We don’t auto-convert between currencies, so the number on the P&L is the number that posted, in the original currency.