
How to structure a CSV for import into 1M Finance
Last updated: May 19, 2026
1M Finance uses a sectioned CSV format. Each section starts with a SECTION marker row, followed by a section name, then column headers, then data rows. For reliable imports, include the account and category sections used by your transactions.
Quick start: Download the sample below or export your current data first from Profile & Settings → Data Management → Import & Export → Export Data. Edit that CSV shape, then import it from Profile & Settings → Data Management → Import & Export → Import from 1M Finance.
If your app is in Spanish: Perfil y ajustes → Gestión de datos → Importar / Exportar → Importar desde 1M Finance.
Download a starter CSV
This sample includes accounts, categories, income, expenses, a normal transfer, an expense transfer, budgets, and one recurring template. It is intentionally small so you can edit it as a starting point.
Download sample CSVA file can contain up to five sections, in this order:
TRANSACTIONS contains the rows you want to import. Include ACCOUNTS and CATEGORIES for the names referenced by those transactions so the import can map them correctly. BUDGETS and RECURRING_TRANSACTIONS are optional.
Each section follows this pattern:
SECTION,,,,,
SECTION_NAME,,,,,
Column Header 1,Column Header 2,...
data row 1
data row 2
If you're building this in a spreadsheet, just leave the extra cells in the SECTION rows blank. The app ignores them.
Define your financial accounts. Include every account name referenced by your transactions.
| Field | Type | Required | Notes |
|---|---|---|---|
| Account Name | Text | Yes | Unique name for the account |
| Account Type | Text | Yes | regular, savings, or debt. Aliases like checking, cash, investment, credit, loan are also accepted. |
| Starting Balance | Number | Yes | Balance at the start of tracked history |
| Current Balance | Number | Yes | Current balance (recalculated on import) |
| Currency | Text | Yes | 3-letter ISO code: USD, EUR, GBP, BTC, XAU, etc. |
| Include In Total | Boolean | Yes | true or false — include in net worth |
| Display In Expenses | Boolean | Yes | true or false — show in expense charts |
| Is Archived | Boolean | Yes | true or false |
| Max Credit Balance | Number | Optional | Debt account limit/balance floor. Exported values are usually negative for credit cards or loans, such as -3000.0. |
| Description | Text | Optional | Short description for your reference |
| Color | Integer | Optional | Numeric color code (e.g. 4280391411). Leave blank — the app picks one for you. |
| Initial Balance Date | Date | Optional | yyyy-MM-dd format. When the starting balance was set. |
SECTION,,,,,,,,,,,
ACCOUNTS,,,,,,,,,,,
Account Name,Account Type,Starting Balance,Current Balance,Currency,Include In Total,Display In Expenses,Is Archived,Max Credit Balance,Description,Color,Initial Balance Date
Checking,regular,0.0,5200.0,USD,true,true,false,,Main checking,4280391411,
Savings,savings,1000.0,8500.0,USD,true,true,false,,Emergency fund,4283215168,
Credit Card,debt,0.0,-1200.0,USD,true,true,false,-5000.0,Visa card,4294930688,
Euro Account,regular,500.0,250.0,EUR,true,true,false,,Travel fund,4284890654,2024-06-01
Define expense and income categories. If omitted, the app creates categories from names used in your transactions.
| Field | Type | Required | Notes |
|---|---|---|---|
| Category Name | Text | Yes | Unique name for the category |
| Category Type | Text | Yes | expense or income |
| Color | Integer | Optional | Numeric color code. Leave blank — the app picks one for you. |
| Is Archived | Boolean | Yes | true or false |
| Parent Category | Text | Optional | Name of the parent category for subcategories. Parent must appear before its children. |
SECTION,,,,,
CATEGORIES,,,,,
Category Name,Category Type,Color,Is Archived,Parent Category
Food & Dining,expense,4294924066,false,
Transportation,expense,4282339765,false,
Salary,income,4283215168,false,
Coffee,expense,4294924066,false,Food & Dining
Fuel,expense,4282339765,false,Transportation
In this example, Coffee is a subcategory of Food & Dining, and Fuel is a subcategory of Transportation. Parents must be listed before their subcategories.
This is the only section you must include. Each row is one transaction.
| Field | Type | Required | Notes |
|---|---|---|---|
| Date | Date | Yes | yyyy-MM-dd (recommended), dd/MM/yyyy, or MM/dd/yyyy. The app auto-detects the format; use yyyy-MM-dd to avoid ambiguity. |
| Type | Text | Yes | expense, income, transfer, or expenseTransfer |
| From Account | Text | Yes | Account name (must match ACCOUNTS section). For income, this is the account that receives the money. |
| To Account | Text | Transfers | Destination account for transfers |
| Category | Text | Non-transfers | Category name (must match CATEGORIES section) |
| Subcategory | Text | Optional | Subcategory name, if applicable |
| Amount | Number | Yes | Transaction amount (positive number) |
| Currency | Text | Yes | 3-letter ISO code matching the source account |
| To Account Amount | Number | Optional | Amount received in destination account (cross-currency transfers) |
| To Account Currency | Text | Optional | Currency of the destination account (cross-currency transfers) |
| Amount USD | Number | Optional | USD equivalent snapshot. Keep this column from an export or fill it with the same amount for USD files. |
| Amount Home Currency | Number | Optional | Home currency equivalent snapshot. Keep this column from an export or fill it with the same amount when your file currency is your home currency. |
| Notes | Text | Optional | Free text description |
| Recurring Ref | Text | Optional | Links this transaction to a recurring template. Auto-populated on export — do not edit manually. |
From Account. Use an income category such as Salary.From Account. Use Category and optional Subcategory to describe the spending.From Account to To Account. Leave Category and Subcategory blank. This should not count as spending.SECTION,,,,,,,,,,,,,
TRANSACTIONS,,,,,,,,,,,,,
Date,Type,From Account,To Account,Category,Subcategory,Amount,Currency,To Account Amount,To Account Currency,Amount USD,Amount Home Currency,Notes,Recurring Ref
2025-01-03,expense,Checking,,Food & Dining,,52.0,USD,,,52.0,52.0,Trader Joe's,
2025-01-15,income,Checking,,Salary,,3200.0,USD,,,3200.0,3200.0,Monthly salary,RT-1
2025-01-15,transfer,Checking,Savings,,,500.0,USD,500.0,USD,500.0,500.0,Monthly savings,
2025-01-20,expenseTransfer,Checking,Credit Card,Card Payment,,250.0,USD,250.0,USD,250.0,250.0,Credit card payment,
2025-01-10,transfer,Checking,Euro Account,,,1000.0,USD,920.0,EUR,1000.0,1000.0,Travel fund top-up,
For a same-currency transfer, set Amount, Currency, To Account Amount, and To Account Currency to the same value and currency. For a cross-currency transfer, Amount and Currency describe what left the source account, while To Account Amount and To Account Currency describe what arrived in the destination account. Transfers normally leave Category and Subcategory blank, except expenseTransfer.
The Recurring Ref column links a transaction back to a recurring template (for example, RT-1 matches the salary template below).
Set monthly budget targets per category. One row per category per month.
| Field | Type | Required | Notes |
|---|---|---|---|
| Category Name | Text | Yes | Must match a category from the CATEGORIES section |
| Amount | Number | Yes | Monthly budget amount |
| Currency | Text | Yes | 3-letter ISO code |
| Year | Integer | Yes | e.g. 2025 |
| Month | Integer | Yes | 1–12 |
SECTION,,,,,
BUDGETS,,,,,
Category Name,Amount,Currency,Year,Month
Food & Dining,550.0,USD,2025,3
Transportation,250.0,USD,2025,3
Entertainment,150.0,USD,2025,3
Set up transactions that repeat automatically.
| Field | Type | Required | Notes |
|---|---|---|---|
| Notes | Text | Optional | Description of the recurring transaction |
| Type | Text | Yes | expense, income, transfer, or expenseTransfer |
| From Account | Text | Yes | Account name |
| Category | Text | Non-transfers | Category name |
| Amount | Number | Yes | Transaction amount |
| Currency | Text | Yes | 3-letter ISO code |
| Frequency | Text | Yes | daily, weekly, monthly, or yearly |
| Interval | Integer | Yes | Repeat every N periods (e.g. 1 = every month, 2 = every other month) |
| Start Date | Date | Yes | yyyy-MM-dd |
| End Date | Date | Optional | yyyy-MM-dd — when to stop recurring |
| Max Occurrences | Integer | Optional | Stop after N occurrences |
| Auto Create | Boolean | Yes | true to create transactions automatically |
| Is Active | Boolean | Yes | true or false |
| To Account | Text | Transfers | Destination account for recurring transfers |
| To Account Currency | Text | Optional | Currency of the destination account (cross-currency recurring transfers) |
| Ref | Text | Optional | Unique identifier for this template (e.g. RT-0). Used to link transactions back to their recurring template. |
SECTION,,,,,,,,,,,
RECURRING_TRANSACTIONS,,,,,,,,,,,
Notes,Type,From Account,Category,Amount,Currency,Frequency,Interval,Start Date,End Date,Max Occurrences,Auto Create,Is Active,To Account,To Account Currency,Ref
Monthly rent,expense,Checking,Housing,1200.0,USD,monthly,1,2025-01-01,,,true,true,,,RT-0
Monthly salary,income,Checking,Salary,1600.0,USD,monthly,1,2025-01-01,,,true,true,,,RT-1
Make sure every row has a value (or an empty comma) for each column in the header. Rows with missing columns are silently skipped during import.
Account names and category names in your transactions must exactly match (case-sensitive) the names defined in the ACCOUNTS and CATEGORIES sections. Missing account or category mappings can cause affected rows to be skipped.
Numbers: For hand-written files, use dot decimals such as 1234.56 and avoid thousands separators. If a spreadsheet rewrites values with local separators, export back to CSV and check the raw file if import results look wrong.
Encoding: Save your file as UTF-8 CSV for best results. If values contain commas, wrap them in double quotes (e.g. "Food, Drink & Dining").