How to use this template
- Download the CSV. Every data row is fictional and labeled [EXAMPLE] so you can tell sample activity from your own.
- Delete the example rows (or keep one as a formatting reminder), then add one row per posted transaction.
- Use ISO dates (YYYY-MM-DD). Put money in as signed amounts: income positive, spending negative.
- Keep Type as Income, Expense, or Transfer. Transfers should appear on both accounts if you track both sides.
- Leave Reference blank if you do not have a bank ID; otherwise paste the check number, ACH trace, or card auth.
- Save as UTF-8 CSV. If you start from a PDF or photo statement, convert it first, then map columns into this template.
Example rows
Fictional sample activity only. Every description starts with [EXAMPLE] and every Reference uses an EXAMPLE- prefix. Do not treat these as real transactions.
| Sample | Date | Description | Amount | Currency | Category | Type | Account | Reference |
|---|---|---|---|---|---|---|---|---|
| Example | 2026-03-01 | [EXAMPLE] ACME Corp payroll | 3250.00 | USD | Income | Income | Checking *4821 | EXAMPLE-ACH-PAY-0301 |
| Example | 2026-03-02 | [EXAMPLE] Whole Foods Market | -86.42 | USD | Groceries | Expense | Checking *4821 | EXAMPLE-POS-88421 |
| Example | 2026-03-03 | [EXAMPLE] Con Edison electric | -112.18 | USD | Utilities | Expense | Checking *4821 | EXAMPLE-ACH-CONED |
| Example | 2026-03-04 | [EXAMPLE] Transfer to savings | -500.00 | USD | Transfer | Transfer | Checking *4821 | EXAMPLE-XFER-OUT |
| Example | 2026-03-04 | [EXAMPLE] Transfer from checking | 500.00 | USD | Transfer | Transfer | Savings *1190 | EXAMPLE-XFER-IN |
| Example | 2026-03-06 | [EXAMPLE] Shell Oil #4412 | -54.20 | USD | Transport | Expense | Checking *4821 | EXAMPLE-POS-55210 |
| Example | 2026-03-08 | [EXAMPLE] Landlord — March rent | -2100.00 | USD | Housing | Expense | Checking *4821 | EXAMPLE-CHK-1044 |
| Example | 2026-03-10 | [EXAMPLE] Interest paid | 1.14 | USD | Interest | Income | Savings *1190 | EXAMPLE-INT-0310 |
The downloaded file contains only the eight data columns. The Sample label is shown here so example rows stay obvious on the page.
Usage guidance
- One row = one posted transaction. Do not combine several card swipes onto a single line.
- Match Currency to the account’s currency (USD, EUR, GBP, and so on). Do not mix currencies in one file unless you truly have a multi-currency account.
- Category is for your budget labels (Groceries, Rent, Payroll). Type is the accounting direction (Income / Expense / Transfer).
- Account should identify the ledger, for example “Checking *4821”. Mask full account numbers.
- After the file is tidy, import it into BudgetPilot or run it through the bank statement converter if you still need to remap columns from a raw export.
Convert a statement, then import
Starting from a PDF or a bank-specific export? Use the bank statement converter to get a CSV, map it onto these columns, then create a free BudgetPilot account to import the file into a workspace.
Other CSV templates
- Freelancer transaction CSV template — A bookkeeping-friendly CSV for independent contractors who get paid by invoice and pay for tools, coworking, and estimated taxes from a business account.
- Stripe transaction CSV template — A compact ledger that mirrors how money moves through Stripe: gross charges, processing fees, refunds, and payouts to your bank — each on its own row.
- PayPal transaction CSV template — A seller-friendly CSV that separates PayPal receipts, platform fees, buyer refunds, and withdrawals to your bank so balances reconcile.