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

# Data import overview

> Bulk import products, materials, BOMs, suppliers, activities, and more into Variable

Variable's data import system lets you quickly populate your workspace with bulk data from spreadsheets, ERP exports, or other sources. The same wizard handles every import type - pick the type that matches your data, upload a file, map your columns, and submit.

## What you can import

| Import type                 | Description                                                                                        |
| :-------------------------- | :------------------------------------------------------------------------------------------------- |
| **Products**                | Your company's own products with SKUs and attributes                                               |
| **Materials**               | Material inputs and source products from suppliers - unprocessed, processed, or pre-formed         |
| **Bill of materials (BOM)** | Bill of materials linking products to their inputs, with optional supplier and material breakdowns |
| **Suppliers**               | Supplier companies and contacts                                                                    |
| **Locations**               | Named locations (factories, warehouses, ports) with optional address geocoding                     |
| **Activity data**           | Purchase and sales transactions for GHG inventory tracking                                         |
| **Air travel**              | Air travel emissions data (flights, distances, classes)                                            |
| **Transport**               | Logistics and freight emissions data                                                               |

## Supported file formats

Variable accepts the following file formats:

| Format                 | Extension |
| :--------------------- | :-------- |
| Comma-separated values | `.csv`    |
| Excel spreadsheet      | `.xlsx`   |

<Note>
  CSV and XLSX work equally well. For multi-sheet XLSX workbooks, you'll be prompted to pick which sheet to import. See [Troubleshooting](/docs/import/import-troubleshooting) for tips on merged cells, hidden rows, and formulas.
</Note>

## Import workflow

The import process follows these steps:

```mermaid theme={"system"}
flowchart TB
    A[Upload File] --> B[Parse & Detect]
    B --> C[Map Columns]
    C --> D[Map Values]
    D --> E[Submit Import]

    style A fill:#d1edff,stroke:#d1edff,color:#003540
    style B fill:#d1edff,stroke:#d1edff,color:#003540
    style C fill:#ede5ff,stroke:#ede5ff,color:#003540
    style D fill:#ede5ff,stroke:#ede5ff,color:#003540
    style E fill:#e8f2a1,stroke:#e8f2a1,color:#003540
```

<Steps>
  <Step title="Upload file">
    Choose the import type, set the data source system and decimal separator, and upload your CSV or XLSX file. For multi-sheet XLSX workbooks, pick the sheet to import.
  </Step>

  <Step title="Parse and detect">
    Variable parses your file and identifies columns. AI-assisted mapping suggests how your columns map to Variable fields.
  </Step>

  <Step title="Map columns">
    Review and adjust column mappings. The system learns from your previous imports.
  </Step>

  <Step title="Map values">
    Configure how individual values are transformed: units, dates, and enum values.
  </Step>

  <Step title="Submit import">
    Review your data and submit. Variable creates the records and calculates footprints.
  </Step>
</Steps>

## Key benefits

### Bulk creation

Import thousands of products, materials, or activities in a single operation instead of creating them one by one.

### AI-assisted mapping

Variable uses AI to suggest how your column headers map to Variable fields, reducing manual configuration.

### Learning from history

The system remembers your previous import mappings. When you import similar files, it automatically applies your past configurations.

### Idempotent re-imports

Re-importing the same file produces no duplicate data - products are matched by SKU (or by name when no SKU is given) and inputs are deduplicated automatically.

<Note>
  This applies to products, materials, suppliers, locations, and BOMs. **Activity, air travel, and transport imports are not deduplicated** - each row becomes a new record every time. See [Import behavior by type](/docs/import/import-behavior) for the per-type rules.
</Note>

<Note>
  For **products and materials**, you choose what a re-import does to matched items with an [import match mode](/docs/import/import-behavior#import-match-mode-products-and-materials) on the upload screen - **Create new only** (the product default, leaves them untouched), **Overwrite existing**, or **Fill missing only** (the material default, fills blank fields). Only scalar fields are updated; relationships (supplier, datasets, inputs) are never changed. Other import types reuse matched records without overwriting.
</Note>

### Automatic calculations

After import, Variable automatically calculates CO2e footprints wherever it can - which means wherever a dataset is assigned to supply the emission factors. Products and materials that don't yet have a dataset assigned have nothing to calculate; once you assign one, Variable recalculates automatically.

## Next steps

* [Import behavior by type](/docs/import/import-behavior) - What each type creates and when re-imports create new vs. reuse
* [Prepare your BOM file](/docs/import/prepare-bom) - Learn about required and recommended columns
* [Upload and map columns](/docs/import/upload-map-columns) - Step-by-step import process
* [What happens after upload](/docs/import/import-materials) - Understand how Variable processes your data
* [Troubleshooting](/docs/import/import-troubleshooting) - Solve common import issues
