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

# Import and export data

> Import transactions via CSV and export your data.

If your broker doesn't have automatic sync, you can bring in your full trade history from a CSV file, so your portfolio is complete without entering each trade by hand.

## Import broker transactions from CSV

First, export your transaction history as CSV from your broker (the broker import reads CSV or TSV, not PDF statements). Then import that file into guito.

<Steps>
  <Step title="Go to Investments">
    Open **Investments** in the sidebar.
  </Step>

  <Step title="Click Import file">
    **Import file** is in the **⋯** menu, at the top of the page.
  </Step>

  <Step title="Select the CSV file">
    Choose the CSV or TSV file (up to 10 MB) exported from your broker. guito reads the file automatically, recognising exports from several brokers across multiple languages, so you don't need a specific column layout.
  </Step>

  <Step title="Review before confirming">
    guito compares the file's prices with market prices. If one is far off, a warning appears with that day's market price, so you can check that the product and the listing are the right ones.

    On a sell row, guito shows how much you have available at that exchange underneath the quantity, already counting the other rows in the same import, and **Sell all** fills that amount in. A sale comes out of where you hold the shares: if you hold the product on more than one exchange, say which under **Sell from**.

    A row that is already in guito (the same product, on any exchange, on the same date, with the same type, quantity and price) is marked **Already in guito** and left out, so you can import a file that has grown without duplicating what you already had. Each movement already in guito leaves out only one row: if the file has two identical purchases on the same day and guito has only one, the other is imported. Dates are compared by the day: guito does not read the time of day from the file. A second purchase on the same day at another price, or with another broker order number, is imported as usual. If a marked row really is a different movement, choose **Import anyway** on that row. That choice stays with the row as long as its movement doesn't change. When you change a row (its product, date, type, quantity or price), guito checks again what's already there before it lets you finish. If it can't check, the import waits until you choose **Try again**.

    In the mobile app, tap a row to fix it in **Edit row**: the type, product, exchange, date, quantity, price per unit and fee. The row shows which line of the file it comes from, so you can find it easily. A sale is only accepted if you hold enough units on that exchange on that date, counting the earlier purchases in the same file. **Don't import this row** leaves it out, and any row under **Not imported** can come back with **Import this row after all**.
  </Step>

  <Step title="Complete">
    Click **Complete** to add the transactions to your portfolio.
  </Step>
</Steps>

<Note>
  If some rows can't be imported, guito imports the rest and tells you how many were left out, and which. Rows are left out when they are missing a date, a quantity, or a price, when they sell more units than you held on that exchange on that date or than guito currently records for that product, when they are dated before that product began, or when they are purchases or subscriptions dated after the product closed to new money (sales and redemptions after that date are accepted). A row whose quantity, price, fee or total is too large to record (usually a figure misread from the file) is left out too. Fix them in the file and import again. A movement entered by hand goes through the same checks.

  Rows that are not purchases or sales are left out too, such as dividends, deposits, interest, fees, or currency conversions: many brokers export them in the same file, but this import only records purchases and sales. When guito doesn't recognise the type written on a row, it reads that text with the help of AI (only the type text, never the quantities, amounts or dates). If the text describes another kind of movement, such as a bonus or a fee, the row is left out and counted among the rows left out. In the mobile app, these rows appear under **Not imported** with the type the file gives, and you can bring back one that is a purchase or a sale after all. If it looks like a purchase or a sale, the row appears at the top of the review, under **Needs your answer**, with that type suggested: confirm it with one tap or choose the other one. With several suggestions, **Accept suggestions** confirms them all at once. If it isn't clear, the row appears in the same group with no suggestion, for you to choose whether it is a purchase or a sale. No suggestion is imported until you confirm it. Only in a file with no type column does guito go by the quantity's sign: a negative quantity is a sale.

  A quantity, price, or fee written in a different format from the rest of its column (for example, `3.5` in a column whose decimals use a comma) is never read as another number. On the web, the row appears in the review with that field left for you to fill in; in the mobile app, it appears under **Not imported** with the reason, and you fix it by tapping the row.

  Some assets have no price source at all, such as certain issuers' certificates and products, or securities that don't trade on an exchange. If they were imported, their value would never update, so their rows are not imported and say there is no price source. On the web, the row appears in the review with no asset: you can pick another one or remove the row. In the mobile app, it appears under **Not imported** with that reason. If you still hold the asset, add it as an [investment without automatic pricing](/en/features/manual-investments) and enter its value.
</Note>

<Note>
  Savings-certificate statements are handled separately: in the same import screen, first pick your savings certificate series, then click **Import file** in the left column — that is the path that accepts PDF. In a certificate statement, a negative quantity suggests a redemption, but you confirm whether each row is a subscription or a redemption. In the mobile app, fixing a certificate row asks only for the type, the series, the date and the quantity. See [Savings certificates](/en/features/savings-certificates).
</Note>

<Note>
  The same importer accepts cryptocurrency exchange exports (for example, Binance, Coinbase, or Kraken). Each row should identify the coin or the pair traded (such as `BTC`, `BTCUSDT`, or `BTC/EUR`); guito recognises the coins it tracks. See [Cryptocurrencies](/en/features/crypto).
</Note>

<Info>
  For brokers with automatic connections (Trading 212 and Interactive Brokers, on the Plus plan), you can instead connect the account in Connections. That connection syncs positions and history, so you don't need to import files. See [Trading 212](/en/features/trading-212) and [Interactive Brokers](/en/features/interactive-brokers).
</Info>

<Note>
  Bank statements have their own path: open the account under **Accounts**, choose **Import statement** in the **⋯** menu, and pick the CSV or TSV file you downloaded from your bank's portal. See [Importing a bank statement](/en/features/import-bank-statement), which covers credit-card statements too.
</Note>

## Export your data

You can request a full copy of your data as CSV files, one per area, bundled into a .zip and sent by email. Request it under **Settings -> General**, in **Export your data**. See the full steps in [Your data](/en/account/your-data).

For specific data, there are also more direct routes.

### Save a subscription invoice

Under **Settings -> Billing**, in the invoices list, each issued invoice has a **View** link that opens the PDF — save it from your browser. Right after a payment you may see **Pending** for a few moments, until the invoice is issued.

### Get specific data

Ask the guito assistant in chat — it answers specific questions about balances, positions, spending by category, or capital gains.

## Related pages

<CardGroup cols={2}>
  <Card title="Investments" icon="https://mintcdn.com/guito/Z2-mKthyIORVPFl5/icons/sprout.svg?fit=max&auto=format&n=Z2-mKthyIORVPFl5&q=85&s=6c5def6ea2f5124143b6b3e4ae91176c" href="/en/features/investments" width="24" height="24" data-path="icons/sprout.svg">
    Track stocks, ETFs, and other products in your portfolio.
  </Card>

  <Card title="Trading 212" icon="https://mintcdn.com/guito/Z2-mKthyIORVPFl5/icons/sprout.svg?fit=max&auto=format&n=Z2-mKthyIORVPFl5&q=85&s=6c5def6ea2f5124143b6b3e4ae91176c" href="/en/features/trading-212" width="24" height="24" data-path="icons/sprout.svg">
    Connect Trading 212 with an API key and skip the files.
  </Card>

  <Card title="Transactions" icon="https://mintcdn.com/guito/Z2-mKthyIORVPFl5/icons/orbit.svg?fit=max&auto=format&n=Z2-mKthyIORVPFl5&q=85&s=15024db7279b8e04c679a37ef479014b" href="/en/features/transactions" width="24" height="24" data-path="icons/orbit.svg">
    View and categorise your banking transactions.
  </Card>

  <Card title="Plan and subscription" icon="https://mintcdn.com/guito/Z2-mKthyIORVPFl5/icons/credit-card.svg?fit=max&auto=format&n=Z2-mKthyIORVPFl5&q=85&s=bbd73fbf3ac94fbcfc402633266f1142" href="/en/account/plans-and-pricing" width="24" height="24" data-path="icons/credit-card.svg">
    Invoices and subscription management.
  </Card>
</CardGroup>


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