CSV import
Use CSV import when you want to load a batch of cash items at once — historical transactions from a prior system, a year of known tax payments, or a set of manual items exported from a spreadsheet.
When to use CSV vs manual entry vs Xero
- From Xero — live, incremental, automatic. Don't CSV-import anything that's already in Xero.
- Manual item form — best for a handful of one-offs or a single recurring rule.
- CSV import — best for ten-plus items, especially historical data with no recurrence.
Preparing the file
Cash Runway accepts standard comma-separated files, UTF-8 encoded, with a header row. The minimum columns are:
| Column | Required | Example |
|---|---|---|
name | Yes | BAS Q2 |
amount | Yes | -12500.00 |
date | Yes | 2026-05-28 |
category | — | tax |
notes | — | Due 28th |
Amounts: positive for inflows, negative for outflows. Dates in YYYY-MM-DD are preferred; DD/MM/YYYY is also detected.
You don't have to match these exact column names — the mapping step lets you point any columns at the right fields.
Step 1 — Upload
From the dashboard, open Import → CSV and drop your file onto the uploader.
The file uploads via a signed URL to Cash Runway's storage adapter. It never touches Xero.
Step 2 — Map columns
Cash Runway scans the header row and makes a best-guess mapping. Review each column:
- Skip columns you don't want to import (e.g. an internal reference ID).
- Rebind any column where the guess is wrong — click the dropdown on top of the column preview.
- Preview — the first five rows render as they would appear in the timeline, with any mapping errors flagged.
Step 3 — Validate
Before writing anything, the importer runs every row through a Zod schema:
- Dates parse cleanly and fall within a sensible range.
- Amounts parse as numbers.
- Required fields are present.
- No duplicate
(name, date, amount)triplets (to catch accidental re-imports).
You get a summary screen:
- Importable — rows that will be created.
- Skipped — duplicates and empty rows.
- Errors — rows with validation failures, each with the specific reason.
Partial-success is fine
Cash Runway imports what it can and produces a downloadable error report for the rows that failed. You can fix those rows in your source spreadsheet and re-upload just that subset.
Step 4 — Confirm import
Click Import N items. The rows are written as manual items and appear in the timeline immediately, grouped under their mapped categories.
Undoing an import
Every import gets a unique import ID. Under Manage → Imports, you can:
- Review the rows that came in from a given import.
- Undo an entire import if you realise it was the wrong file (removes every cash item that came from it).
Related
- Manual items — everything you import becomes a manual item.
- Getting started — connect Xero — don't CSV-import things Xero already has.