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

# Import & export

> Download a copy of your catalog, edit it in Excel or move it to another environment, and review every change before it is written.

Loading hundreds of products one by one, or moving a catalog from one environment to another by hand, is where mistakes happen that you only find out about at the register. **Import & export** takes a copy of your data, lets you change it outside the backoffice and, before writing anything, shows you exactly what would be created, updated and deleted.

> [!NOTE]
>
> **The bare minimum**
>
> * Importing **never writes right away**: the file is analyzed first, you review the changes and only then apply them.
> * Before applying, Fire saves a **backup** of the current data.
> * Importing **does not synchronize**: the changes reach stores and channels when you synchronize from [Menu assignment](https://docs.fire.rest/en/manuals/backoffice/menu-assignments.md).

## Prerequisites

* Access to the Fire backoffice at **[app.fire.rest](https://app.fire.rest)**, with permission on the account and the vendor.
* The account, country and vendor chosen in the header. Without them the screen asks you to select them.
* Today you can export and import the **Catalog**. When other data is added, it will show up in the same selector.

## The simple path

Open **Operation → Import & export** and choose **Catalog** in **Data**. At the top there are two tabs, **Export** and **Import**, and below them the **History** of everything that was done.

![Import & export screen with the data selector, the Export and Import tabs and the History](https://mintcdn.com/firepos/2QVkPvzzilOw2-K5/images/manuals/backoffice/data-transfers/01-page.png?fit=max\&auto=format\&n=2QVkPvzzilOw2-K5\&q=85\&s=0b1df6ac8b7995e0fd2c315edc2533a0)

The most common flow is to export, fix and import again:

1. In **Export**, choose the format and tap **Request export**.
2. When the **History** row changes to **Ready**, tap **Download**.
3. Edit the file.
4. In **Import**, upload the file and tap **Analyze file**.
5. Review **What would change** and tap **Apply**.

> [!TIP]
>
> If you only want to fix prices or names for many products, use the **Editable spreadsheet (Excel)** in **Merge** mode. That is all you need: you can skip the rest of this page.

## Export

The file is prepared in the background: you can keep working and download it from the **History** when it is ready.

![Export card with the two available formats and the Request export button](https://mintcdn.com/firepos/2QVkPvzzilOw2-K5/images/manuals/backoffice/data-transfers/02-export.png?fit=max\&auto=format\&n=2QVkPvzzilOw2-K5\&q=85\&s=377c5381175f1cf5a1dfd7d30deb4d63)

There are two formats, and they serve different purposes:

| Format | What it is for | What it includes |
| - | - | - |
| **Full backup (JSON)** | Keeping a faithful copy or moving the catalog to another environment | Categories, modifiers, price lists, products and menus. It does **not** include menu assignments, stores or out-of-stock items |
| **Editable spreadsheet (Excel)** | Changing a lot of data at once | Categories, products and prices in flat rows. It does **not** include combos, modifiers or menus |

The exported file stays available to download for **30 days**. After that the **History** no longer offers **Download** and you have to request a new export.

## Import

![Import card with the Format, Mode and File fields and the Analyze file button](https://mintcdn.com/firepos/2QVkPvzzilOw2-K5/images/manuals/backoffice/data-transfers/03-import-form.png?fit=max\&auto=format\&n=2QVkPvzzilOw2-K5\&q=85\&s=dfb4198fbca4b2d3a135e7a2e1ae8b61)

Choose the **Format**, the **Mode** and the **File**, and tap **Analyze file**. The file can be up to 64 MB.

The modes decide what happens to what is **not** in the file:

| Mode | What it does |
| - | - |
| **Merge** | Creates and updates. Deletes nothing |
| **Replace** | Leaves the data exactly as it is in the file and deletes what is not in it |

> [!WARNING]
>
> **Replace** can only be used by a platform administrator and only with a **Full backup (JSON)**. The spreadsheet is always **Merge**.

## Review before applying

Once the file is uploaded, the import goes through **Analyzing** and ends up **Ready to review**. Tap **Review** in the **History** to open the detail. Nothing has been written up to here.

![Detail of an import ready to review with the What would change summary](https://mintcdn.com/firepos/2QVkPvzzilOw2-K5/images/manuals/backoffice/data-transfers/04-run-planned.png?fit=max\&auto=format\&n=2QVkPvzzilOw2-K5\&q=85\&s=9d3862ff2737f3b839efc497567eedb2)

The detail has up to four tabs:

* **Preview**: each record in the file and what would happen to it (**Create**, **Update**, **No changes**, **Delete**). **Show changes** displays the **Before** and **After** value of each field.
* **Findings**: what the analysis found in the file.
* **Affected combinations**: the store × channel × Fulfillment Type combinations that use a menu or price list that changes.
* **Images**: the images that will be copied when you apply. It appears when the analysis finds images in the file, for example in a backup.

![Preview tab with the changes of a product, showing the Before and After value](https://mintcdn.com/firepos/2QVkPvzzilOw2-K5/images/manuals/backoffice/data-transfers/05-preview.png?fit=max\&auto=format\&n=2QVkPvzzilOw2-K5\&q=85\&s=9a0c1640d0732efc72525461c2805764)

### The findings

Each finding is one of three types:

| Type | What it means |
| - | - |
| **Blocks applying** | Nothing can be applied until it is corrected in the file and uploaded again |
| **Row left out** | That row is not applied; the rest of the file is. Correct it in the sheet and upload it again |
| **Warning** | It does not prevent applying, but review it |

![Findings tab with two rows left out, each with the problem, the record and where it is in the file](https://mintcdn.com/firepos/2QVkPvzzilOw2-K5/images/manuals/backoffice/data-transfers/06-issues.png?fit=max\&auto=format\&n=2QVkPvzzilOw2-K5\&q=85\&s=c06daaa0448ab949738a3e04ec715dfc)

### When the file is not valid

If the file does not have the expected format, the import ends up as **Invalid file**. The detail has no tabs: it only shows **The file is not valid** and the **Analysis findings**, with **Blocks applying** findings that point to the sheet and field of the problem. Nothing was written. Fix the file and tap **Upload again**.

![Invalid import with the The file is not valid notice, the Upload again button and two Blocks applying findings with the sheet and field](https://mintcdn.com/firepos/2QVkPvzzilOw2-K5/images/manuals/backoffice/data-transfers/12-invalid.png?fit=max\&auto=format\&n=2QVkPvzzilOw2-K5\&q=85\&s=b6c3b75e437a315d4192d9109e91dd37)

### Apply or discard

If the analysis has no errors that block applying, tap **Apply**, review the summary of how many records will be created and updated, and confirm. In **Replace** mode the button is called **Replace data** and asks for more confirmation (below). If something does not convince you, tap **Discard**: nothing is written, and to import later you will have to upload the file again.

![Apply this import? dialog with the number of records to be created and updated](https://mintcdn.com/firepos/2QVkPvzzilOw2-K5/images/manuals/backoffice/data-transfers/07-apply-confirm.png?fit=max\&auto=format\&n=2QVkPvzzilOw2-K5\&q=85\&s=dd943e064e2c4338cce4a4f728dcac48)

> [!NOTE]
>
> The analysis is valid for **24 hours**: the detail shows until when. If that time passes, the import becomes **Expired**, nothing is written and you have to upload the file again.

## After applying

### Synchronize what changed

Importing does not synchronize. The **Affected combinations** tab lists which combinations keep the previous version until you synchronize them. Tap **Go to Assignment** to do it from [Menu assignment](https://docs.fire.rest/en/manuals/backoffice/menu-assignments.md).

![Affected combinations tab with the notice that importing does not synchronize and the Go to Assignment button](https://mintcdn.com/firepos/2QVkPvzzilOw2-K5/images/manuals/backoffice/data-transfers/08-ternas.png?fit=max\&auto=format\&n=2QVkPvzzilOw2-K5\&q=85\&s=62c9acc5960aec8e269372820a30ece5)

### The images

If the file comes from another environment, the images are copied to this one after applying, in the background: you can leave the page. An image that cannot be copied **does not stop the import**; the record keeps its reference. If any fail, tap **Retry**. The tab shows how many are **Copied**, **Pending**, **Failed** and how many are **Already in this environment**.

![Images tab while copying: the notice that you can leave the page and the counters To copy and Already in this environment](https://mintcdn.com/firepos/2QVkPvzzilOw2-K5/images/manuals/backoffice/data-transfers/09-images.png?fit=max\&auto=format\&n=2QVkPvzzilOw2-K5\&q=85\&s=1cfef723dcf53a6b5db0d1467478b0cd)

### Replace and undo (administrators)

A platform administrator can replace the data of a vendor. Before applying they see what will be deleted and have to type the vendor name to confirm.

![Replace the data of this vendor? dialog with the warning about what is deleted and the field to type the vendor name](https://mintcdn.com/firepos/2QVkPvzzilOw2-K5/images/manuals/backoffice/data-transfers/10-replace-confirm.png?fit=max\&auto=format\&n=2QVkPvzzilOw2-K5\&q=85\&s=1a0903246fd03a7ce3c89b978f4c4c29)

Nothing is physically removed. In the detail of an applied import, **Download previous backup** downloads the backup saved before writing and **Undo** creates a new import that returns the data to that backup. That import also has to be reviewed and applied.

## The History

Every export and import is kept in the **History** with its date, user, format, **Status** and **Summary**. It refreshes on its own while something is in progress. Filter by type or by status: **In progress**, **To review**, **Done** or **With problems**.

![History with exports and imports in different statuses and the filters by type and status](https://mintcdn.com/firepos/2QVkPvzzilOw2-K5/images/manuals/backoffice/data-transfers/11-history.png?fit=max\&auto=format\&n=2QVkPvzzilOw2-K5\&q=85\&s=8097b18a7e313e5ba6aad55a7c4c0c63)

| Status | What it means |
| - | - |
| **Queued** | Waiting for its turn |
| **Generating** | The export is being prepared |
| **Ready** | The export can be downloaded |
| **Analyzing** | The imported file is being reviewed |
| **Ready to review** | The analysis is done; it is waiting for your review |
| **Invalid file** | The file does not have the expected format. Nothing was written |
| **Queued to apply** / **Applying** | The changes are being written |
| **Applied** | The changes are already written |
| **Outdated** | The data changed since the analysis. Upload the file again |
| **Discarded** / **Expired** | Nothing was written |
| **Failed** | It could not be completed. Try again; if it keeps happening, contact support |

***

## Recipes

> **Raise the price of many products**
>
> 1. In **Export**, request the **Editable spreadsheet (Excel)** and download it from the **History** when it is **Ready**.
> 2. Open the file and change the prices you need in the **Precios** sheet. Do not change the product codes: Fire uses them to find each row.
> 3. In **Import**, choose **Editable spreadsheet (Excel)**, **Merge** mode, upload the file and tap **Analyze file**.
> 4. In the detail, leave the **Preview** on **Only changes** and confirm that only the prices you touched change.
> 5. Tap **Apply** and confirm.
> 6. Synchronize from [Menu assignment](https://docs.fire.rest/en/manuals/backoffice/menu-assignments.md) so the channels receive the prices.

> **Move the catalog from one environment to another**
>
> 1. In the source environment, request the **Full backup (JSON)** and download it.
> 2. In the destination environment, open **Import**, choose **Full backup (JSON)**, **Merge** mode, and upload the file.
> 3. Review the **Findings**: they warn you if the file comes from another country or if an identifier already belongs to another account.
> 4. Tap **Apply**.
> 5. The images are copied on their own from the source environment: look at the **Images** tab and retry the ones that fail.
> 6. The backup does not include assignments or stores: assign the menu to each store and synchronize from **Menu assignment**.

> **Make one vendor identical to another (administrators)**
>
> 1. Request the **Full backup (JSON)** of the vendor you want to copy.
> 2. In the vendor you want to match, open **Import**, choose **Full backup (JSON)** and the **Replace** mode.
> 3. Tap **Analyze file** and check in the **Preview** which records appear as **Delete**.
> 4. Tap **Replace data**, review how many records are deleted and type the vendor name.
> 5. Review the **Affected combinations** and synchronize. The ones left without a menu or price list have to be assigned by hand.

> **I made a mistake when applying**
>
> 1. In the **History**, tap the **Applied** import to open its detail.
> 2. If you want to keep the previous copy, tap **Download previous backup**.
> 3. Tap **Undo** and confirm.
> 4. A new import in **Replace** mode is created with the backup saved before applying. Wait until it is **Ready to review**.
> 5. Review it and tap **Replace data**.
> 6. If you had already synchronized the changes, synchronize again from **Menu assignment**.
>
> **Undo** is only visible to administrators. If you are not one, ask one to do it.

## A worked example

With Sandbox Brasil, the **Editable spreadsheet (Excel)** was exported: 1404 prices, 280 products and 14 categories. In the file, 12 prices and the description of 1 product were changed, 1 new product (**Limonada de la casa**) was added and two rows with data that does not exist were left in: the category **Bebidas de temporada**, whose parent is not in the catalog, and a price for the code `NO-EXISTE-0000`. The analysis gave this:

| Item | Create | Update | No changes | Skipped |
| - | - | - | - | - |
| Prices | 0 | 12 | 1392 | 1 |
| Products | 1 | 1 | 279 | 0 |
| Categories | 0 | 0 | 14 | 1 |

When you tap **Apply**, the dialog says "It will create 1 and update 13 records": the new product, the updated product and the 12 prices. The 2 skipped rows are not applied; the rest of the file is.

## Mistakes that cost money

> [!WARNING]
>
> **Assuming the import already reached the stores.** Importing does not synchronize. Until you synchronize from **Menu assignment**, stores and channels keep the previous version.

> [!WARNING]
>
> **Using Replace to "add a few products".** **Replace** deletes everything that is not in the file. To add or fix, use **Merge**.

> [!WARNING]
>
> **Importing a backup from another account or country without checking.** Review the **Findings**: they warn you if the file comes from another country or if an identifier already belongs to another account.

> [!WARNING]
>
> **Applying with warnings you did not read.** They do not prevent applying, but they can warn about products that look duplicated or child price lists that are recalculated from their parent list.

## Glossary

| Term | What it means |
| - | - |
| **Export** | A file with a copy of your data |
| **Import** | Uploading a file to change your data |
| **Backup** | The copy of your data that Fire saves before applying an import |
| **Combination** | A store × channel × Fulfillment Type combination |
| **Vendor** | The brand or business inside the account you are working on |

## Frequently asked questions

> **I uploaded the file and it says Invalid file**
>
> The file does not have the expected format. Download a new export in the same format, edit it and upload it again. Nothing was written.

> **It says the data changed since the analysis**
>
> Someone modified the catalog between the analysis and the moment of applying. Upload the file again to analyze it against the current data.

> **It does not let me request another export**
>
> There is a maximum of 5 exports or imports in progress at a time. Wait for one to finish.

> **I don't see the Replace option**
>
> It is reserved for platform administrators.

> **How long can I download an export?**
>
> For 30 days from when it was generated. After that, the **History** no longer offers **Download** and you have to request another one.

## What's coming

* Today only the **Catalog** is exported and imported. Other data will be added on this same screen.
* Importing **does not synchronize** and does not include menu assignments, stores or out-of-stock items.
* The **Editable spreadsheet (Excel)** does not delete data or include combos, modifiers or menus.


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