> ## Documentation Index
> Fetch the complete documentation index at: https://help.finerd.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Move your data from another app or spreadsheet

> Bring your history from Saldo, another finerd space, another finance app or your own spreadsheet into a new finerd space with Import data.

To move your financial history to finerd from Saldo, another finerd space, another finance app or your own spreadsheet, export it as CSV files and upload them with **Import data** in the space settings. finerd reads the files and creates your accounts, categories, tags and transactions in one go.

Moving your data is free and works on the web, Android and iOS; in the iOS app it needs a plan that includes imports. It works only in a space that has no transactions from a connected bank or an imported statement yet, and only the space's owner can run it. To add a bank statement to one account instead, see [Import a bank statement](/bills/import-statement).

<h2 id="before">
  Before you move your data
</h2>

**Use a fresh space.** finerd moves your data only into a space without transactions from a [connected bank](/institutions/connect-institution) or an [imported statement](/bills/import-statement). Transactions you added yourself don't get in the way. The easiest moment is right after you sign up, before you connect a bank: the setup on the web offers to move your data (see [Start fresh or import history](/getting-started/choose-how-to-start)). If you've already connected a bank, add older history to each account with [Import a bank statement](/bills/import-statement) instead. For a business, you can move the data into a new [business space](/business/create-business-space).

**Know what finerd creates.** From your files, finerd creates:

* **Accounts**, with the names in your files. If the space already has an account with the same name and type, finerd adds the transactions to it instead of creating another one.
* **Categories** and subcategories, named as in your files. Categories in the space that have no transactions and aren't in your files are removed, so your category list matches your old one.
* **Tags** and **merchants** from your files. Merchants that finerd knows, such as Starbucks or IKEA, get their logo.
* **Transactions**, with the date, amount, currency, notes and, where your files have it, the accrual month.

**Check your plan and role.** On the web and Android, moving data is free. In the iOS app, **Import data** shows a **Pro** badge if your plan doesn't include imports; use the web or Android instead. In a business space, only the owner can move data into it.

<h2 id="prepare">
  Prepare your files
</h2>

finerd takes CSV files. If your data is in Excel, Numbers or Google Sheets, save or download each sheet as **CSV** first. Excel workbooks (`.xls`, `.xlsx`) and PDF files can't be used.

| Where your data is | What to upload | Choose |
| - | - | - |
| Saldo | The CSV export of your transactions from Saldo. finerd reads Saldo's format as it is, including account types and archived accounts. | **Saldo** |
| Another finerd space | The transactions file from the [export of that space](/account/export-data): unzip the export and upload the transactions CSV without editing its columns. | **Finerd** |
| Your own spreadsheet | Your transactions sheet saved as CSV. | **My spreadsheets** (on Android, **Other**) |
| Another app | The CSV export of your transactions from that app. If the app splits it into several files, upload them together. | **Other** |

**A spreadsheet or another app's export** doesn't need renamed or rearranged columns: finerd works out what each column holds. Each row should be one transaction with at least a **date** and an **amount**. finerd also uses these columns when it finds them:

* The **account** the money went from or to. A transaction without one goes to an account named **Imported account**.
* The **category**, and a parent category if you use subcategories. A transaction without one is recorded as **Uncategorized Expense** or **Uncategorized Income**.
* The **merchant** or payee, **description**, **currency**, **notes** and **tags**.
* Money in and out as one column with a minus for spending, or as an amount plus a column that says whether it's income or an expense.

Remove rows that aren't transactions, such as opening balances and totals. Rows with an amount of zero are skipped.

**Transfers.** In a Saldo or finerd export, transfers between your accounts stay transfers. In a spreadsheet, a transfer written as two rows with a category, such as **Transfer**, comes in as two separate transactions in that category: money out of one account and money into the other. After the move, turn them into transfers as described in [If a transfer is recorded wrong](/transactions/transfer-or-exchange#fix).

**How many files.** On the web and Android, one migration takes up to **10 files** with a combined size of up to **10 MB**. The iOS app takes **one file** per migration. Put everything you want to move into one migration if you can: a second migration adds its transactions to the first, and if a file goes in twice, its transactions are recorded twice.

<h2 id="migrate">
  Move your data
</h2>

<Tabs>
  <Tab title="Web">
    1. Select your profile at the bottom of the sidebar, then the settings icon next to your space.
    2. Select **Data**, then **Import data**.
    3. Under **Where are you migrating from?**, select **Saldo**, **Finerd**, **My spreadsheets** or **Other**. For **Other**, enter the app's name under **Where are you importing from?** Select **Continue**.
    4. Under **Upload your data from …**, select **Upload** and choose your files, or drag them onto the page. They appear under **Files to import**.
    5. Select **Continue**. finerd shows **Reading your files...** and then **Migration in progress... It’ll take some time**. Select **Go to Dashboard**.

    <Frame caption="Choose where your data comes from.">
      <img src="https://mintcdn.com/finerdai/wPhD4dYEj_lgQcxp/images/bills/move-your-data/web-source.jpg?fit=max&auto=format&n=wPhD4dYEj_lgQcxp&q=85&s=346cdf2bc254af1ba45ff4c1a029c2d8" width="500" alt="Where are you migrating from? with four options: Saldo, Finerd, My spreadsheets (selected) and Other." data-path="images/bills/move-your-data/web-source.jpg" />
    </Frame>

    <Frame caption="Add up to 10 CSV files, then select Continue.">
      <img src="https://mintcdn.com/finerdai/wPhD4dYEj_lgQcxp/images/bills/move-your-data/web-upload.jpg?fit=max&auto=format&n=wPhD4dYEj_lgQcxp&q=85&s=7820fc425f24875720cdc9d5cc245a88" width="500" alt="Upload your data from My spreadsheets: We only accept files that contain transactions, an upload area with an Upload button, and Files to import (1) with pocket-ledger-2026-09.csv (895 B) and a Continue button." data-path="images/bills/move-your-data/web-upload.jpg" />
    </Frame>
  </Tab>

  <Tab title="Android">
    1. Tap the space avatar at the top of the screen, for example on **Dashboard**, then tap **Space settings**.
    2. In the **Data** section, tap **Import data**.
    3. Under **Import from**, tap **Saldo**, **Finerd** or **Other**. The Android app has no separate option for spreadsheets: choose **Other** for a spreadsheet, enter a name under **App you are migrating from** and tap **Continue**.
    4. Tap **Upload** and choose your files. Tap **Upload** again to add more.
    5. Tap **Start migration**. When **Migration in progress** appears, tap **OK**.
  </Tab>

  <Tab title="iOS">
    1. Save the CSV file to the **Files** app.
    2. Open **More** and tap the space icon in the top-right corner.
    3. In the **Data** section, tap **Import data**.
    4. Under **Import from**, tap **Saldo**, **Finerd**, **My spreadsheets** or **Other**. For **Other**, enter the app's name under **App you are migrating from** and tap **Continue**.
    5. Choose the file. finerd shows **Migration started** and returns to the space settings.

    <div style={{ display: "grid", gridTemplateColumns: "repeat(auto-fit, minmax(min(100%, 240px), 1fr))", gap: "20px", alignItems: "start" }}>
      <Frame caption="Import data offers four sources.">
        <img src="https://mintcdn.com/finerdai/wPhD4dYEj_lgQcxp/images/bills/move-your-data/ios-import-from.png?fit=max&auto=format&n=wPhD4dYEj_lgQcxp&q=85&s=03b9fadfa4b92dc9ec78a174cff50937" alt="iOS Import from: Saldo, Finerd, My spreadsheets and Other." width="630" height="675" data-path="images/bills/move-your-data/ios-import-from.png" />
      </Frame>

      <Frame caption="For Other, enter the app's name first.">
        <img src="https://mintcdn.com/finerdai/wPhD4dYEj_lgQcxp/images/bills/move-your-data/ios-other-name.png?fit=max&auto=format&n=wPhD4dYEj_lgQcxp&q=85&s=53f41d2f75000243ff11a1cfae3e352b" alt="iOS dialog App you are migrating from with Pocket Ledger entered, and Cancel and Continue buttons." width="630" height="550" data-path="images/bills/move-your-data/ios-other-name.png" />
      </Frame>
    </div>
  </Tab>
</Tabs>

If you've just signed up, you can also start from the setup: on the web, **Migration to finerd** offers **Start migration** with the same steps; in the Android and iOS apps, the setup offers **Import from Saldo** only.

<h2 id="progress">
  Follow the migration
</h2>

You can keep using finerd while your data is moved. A small file takes about a minute; a long history takes longer. A migration can't be stopped once it has started, and while it runs you can't start another import or connect a bank in that space.

<Tabs>
  <Tab title="Web">
    **Active processes** at the top of the page shows **Data migrating...** with a progress bar and the number of transactions imported, failed and in total.
  </Tab>

  <Tab title="Android">
    A sync icon with a counter appears at the top of the screen, for example on **Dashboard**. Tap it to see **Active processes** with **Data migrating…**, a progress bar, and **Processed**, **Failed** and **Total**.
  </Tab>

  <Tab title="iOS">
    The **Dashboard** shows **Active processes** with **Migration in progress...** and a count, such as **0 of 0 transactions imported. 0 failed**, while finerd reads the file.

    <Frame caption="Migration progress on the Dashboard.">
      <img src="https://mintcdn.com/finerdai/wPhD4dYEj_lgQcxp/images/bills/move-your-data/ios-active-processes.png?fit=max&auto=format&n=wPhD4dYEj_lgQcxp&q=85&s=ca0896ee74678f18440f1dff1c887a62" width="400" alt="iOS Dashboard card: Active processes 1, Migration in progress... It’ll take some time, 0 of 0 transactions imported. 0 failed." data-path="images/bills/move-your-data/ios-active-processes.png" />
    </Frame>
  </Tab>
</Tabs>

When the migration is over, finerd sends a message to **Inbox**, a push notification to your phone and an email. If everything was moved, the Inbox message says how many transactions were imported, for example **All 12 transactions imported. We checked twice - still perfect.**, and the push notification says **Migration successful**.

<Frame caption="The result arrives in Inbox.">
  <img src="https://mintcdn.com/finerdai/wPhD4dYEj_lgQcxp/images/bills/move-your-data/web-inbox-result.jpg?fit=max&auto=format&n=wPhD4dYEj_lgQcxp&q=85&s=487f95f417e48140a33043e4785689d5" width="400" alt="Inbox with the message All 12 transactions imported. We checked twice - still perfect." data-path="images/bills/move-your-data/web-inbox-result.jpg" />
</Frame>

<h2 id="check">
  Check the result
</h2>

Open **Accounts** or the **Dashboard** to see what was created, and compare it with your old app:

* **Balances.** Each account's balance is the sum of the transactions moved into it. Compare it with the balance in your old app; if they differ, look for missing or doubled transactions, or set the balance your bank shows with a [verified balance](/verified-balance).
* **Categories.** Your categories have the names from your files. Rename, merge or archive them as described in [Categories, merchants and tags](/transactions/categories-merchants-tags#manage-categories).
* **Transfers.** Check that money moved between your accounts shows as transfers, especially if your data came from a spreadsheet.
* **Uncategorized and Imported account.** Transactions without a category or an account in your files end up in **Uncategorized Expense** or **Uncategorized Income**, or in **Imported account**. Open them and choose the right category or account.

<Frame caption="Accounts and transactions created from a spreadsheet.">
  <img src="https://mintcdn.com/finerdai/wPhD4dYEj_lgQcxp/images/bills/move-your-data/ios-dashboard-result.png?fit=max&auto=format&n=wPhD4dYEj_lgQcxp&q=85&s=e31fa91f9409bd35163a83cc0649ed76" width="320" alt="iOS Dashboard of the space after the move: Money balances with Help test Checking 1,437 dollars, Help test Card 784 dollars, Help test Wallet 157 dollars and Wallet 0 dollars; Last 5 transactions with Harbor Electric in Utilities, Farmers market in Groceries, Starbucks in Coffee and Boots in Health." data-path="images/bills/move-your-data/ios-dashboard-result.png" />
</Frame>

Moved transactions are ordinary transactions: you can change, [split](/transactions/split-transaction) or delete them like the ones you [add yourself](/transactions/add-transaction).

<h2 id="errors">
  If the migration fails
</h2>

| What you see | What it means | What to do |
| - | - | - |
| **Migration is only available on a fresh space…** | The space already has transactions from a connected bank or an imported statement. | Move your data into a new space, or import your history into each account with [Import a bank statement](/bills/import-statement). |
| **A data migration is in progress…**, **Import is already in progress** or **Importing data… Please wait** | Another migration or import is still running in this space. | Wait for the **Inbox** message about it, then try again. |
| A message asking you to finish connecting and syncing your accounts | A bank connection in this space is still loading its first transactions. | Wait until the connection has finished, then try again. |
| **Migration failed. No transactions recognized in migration files.** in Inbox | finerd couldn't find transactions in your files. | Check that you exported transactions, not a summary or a report, and that the file is CSV. |
| **Migration failed** with a missing column, such as **Column Transaction ID is absent in CSV**, in Inbox; on the web and Android, **Migration failed** right after you start | You chose **Saldo** or **Finerd**, but the file isn't an unedited export from that app. | Upload the original export, or choose **My spreadsheets** or **Other** for any other file. In the iOS app, **Migration started** appears even then; the result comes to Inbox a moment later. |
| **Migration had issues. … of … transactions weren't imported.** in Inbox | Some rows couldn't be moved, for example a row without a valid currency. | Compare the accounts with your old app and [add](/transactions/add-transaction) any missing transaction yourself. |
| The same transactions appear twice | The same file went into two migrations. | Delete the extra copies, or start again in a new space. |

<div style={{ display: "grid", gridTemplateColumns: "repeat(auto-fit, minmax(min(100%, 240px), 1fr))", gap: "20px", alignItems: "start" }}>
  <Frame caption="On the web, a space with bank or imported transactions can't take a migration.">
    <img src="https://mintcdn.com/finerdai/wPhD4dYEj_lgQcxp/images/bills/move-your-data/web-fresh-space.jpg?fit=max&auto=format&n=wPhD4dYEj_lgQcxp&q=85&s=83e8adcb730c686208f3cca31e978076" alt="Web message over the upload step: Migration is only available on a fresh space. Remove your imported transactions to migrate." width="760" height="300" data-path="images/bills/move-your-data/web-fresh-space.jpg" />
  </Frame>

  <Frame caption="The iOS app shows the same check as a dialog.">
    <img src="https://mintcdn.com/finerdai/wPhD4dYEj_lgQcxp/images/bills/move-your-data/ios-fresh-space.png?fit=max&auto=format&n=wPhD4dYEj_lgQcxp&q=85&s=0eccc8101cc14d2f75be42489277fc11" alt="iOS dialog: Migration is only available on a fresh space. Your space already has imported transactions — remove them or use a new space to migrate. OK." width="630" height="800" data-path="images/bills/move-your-data/ios-fresh-space.png" />
  </Frame>
</div>

<Frame caption="Failed migrations in Inbox, each with a Contact support link.">
  <img src="https://mintcdn.com/finerdai/wPhD4dYEj_lgQcxp/images/bills/move-your-data/ios-inbox.png?fit=max&auto=format&n=wPhD4dYEj_lgQcxp&q=85&s=bc5fcb0b2d331cc334de991698b9f40e" width="320" alt="iOS Inbox: Migration failed. Column Transaction ID is absent in CSV. Contact support; All 12 transactions imported; Migration failed. No transactions recognized in migration files. Contact support; All 63 transactions imported; All 12 transactions imported." data-path="images/bills/move-your-data/ios-inbox.png" />
</Frame>

**Get help.** If a migration keeps failing or the result doesn't match your old app, select **Contact support** in the Inbox message or [chat with support](/contact-us#in-app-chat). Say which app your data comes from and which source you chose in **Import data**.

<h2 id="related-articles">
  Related articles
</h2>

* [Start fresh or import history](/getting-started/choose-how-to-start) when you set up finerd.
* [Import a bank statement](/bills/import-statement) into one account.
* [Export your data from finerd](/account/export-data) to move a finerd space.
* [Categories, merchants and tags](/transactions/categories-merchants-tags) to tidy up after the move.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.