Export data

Elevate, May 20-22-2025, Miami Beach, Florida

Learn to bulk export resources to a CSV or JSON file from Composable Commerce.

Prerequisites and preparation

Permissions

To export data, the Administrators Team must grant you the following permissions for the Project:
  • View all: Operations permission to access the export logs page and to download export files
  • View all: Categories permission to export Categories
  • View all: Customers permission to export Customers
  • View all: Discount codes permission to export Discount Codes
  • View all: Orders permission to export Orders
  • View all: Products permission to export Products, Inventory, and Custom Objects

Identifiers

Export and import functionality uses only user-defined identifiers, such as keys, to identify resources.

System-generated ID values are unique within a single Project. This makes them unsuitable for managing data across multiple Projects (such as staging and production). In these scenarios, resource ID values will differ between Projects, whereas user-defined identifiers can be maintained consistently. Relying solely on user-defined identifiers therefore ensures predictable and reliable data imports across different Projects.

Keys are optional, so they may be missing from your Project's resources and embedded objects. Before exporting, ensure that the resources to export and all related resources have keys. For example:

  • When exporting Discount Codes, both the Discount Codes and the Cart Discounts they use should have keys.
  • When exporting Products, the Products, their Product Variants, and Embedded Prices should have keys.
Resources without keys will be exported, however, if you later use the exported file to import data, those resources will not be updated.

Improve performance

To speed up the export process and reduce the size of exported files, you should:

  • Export a limited number of resources. Instead of exporting all the resources, you can filter or select specific resources to export.
  • Select only the necessary locales and fields.
  • Create multiple export files for large resources. For example, when exporting Products, create separate files for general fields, price fields, and asset fields.
If you intend to import the exported CSV file, the CSV file must be no larger than 35 MB and contain fewer than 80 000 rows.

Use a CSV template file to export

You can create a CSV template for a resource to control the structure of your exported data and streamline exports. To create a CSV template, you can export a file with the required fields for the resource, and then use it as a template for future exports.

Structure of exported CSV files

Exported CSV files follow a hierarchical structure, where subitems (such as Variants and Prices) are nested under their parent items (like Products).

The first subitem's values appear on the same row as the parent item, while each additional subitem is listed on a new row.

By default, when a resource has multiple subitems, the parent item's values are listed only once in the row with the first subitem. Subsequent rows for the subitems will leave the parent item cells empty. The following example shows how exported Product data looks when the Fill all rows with complete data option is not selected. The parent-level fields (key, name, and id) are only filled in the first row of that resource, and subsequent rows exclude them.
keyname.en-USidvariants.keyvariants.skuattributes.color.en-US
maya-pillow-coverMaya Pillow Cover2aa591c3-1db7-4a0a-ab13-a81829edd431mayaPillowCover01MPC-02Plum:#DDA0DD
mayaPillowCover02MPC-07Beige:#F5F5DC
mayaPillowCover03MPC-08Orange:#FFA500
If you prefer these cells to be filled for each row, select Fill all rows with complete data when exporting the data. Please note that this will increase the size of the exported file, and the export may take longer to complete. The following example shows how the same Product data looks when the Fill all rows with complete data option is selected. The parent-level fields (key, name, and id) are included in every row of that resource.
keyname.en-USidvariants.keyvariants.skuattributes.color.en-US
maya-pillow-coverMaya Pillow Cover2aa591c3-1db7-4a0a-ab13-a81829edd431mayaPillowCover01MPC-02Plum:#DDA0DD
maya-pillow-coverMaya Pillow Cover2aa591c3-1db7-4a0a-ab13-a81829edd431mayaPillowCover02MPC-07Beige:#F5F5DC
maya-pillow-coverMaya Pillow Cover2aa591c3-1db7-4a0a-ab13-a81829edd431mayaPillowCover03MPC-08Orange:#FFA500
If the exported data contains two or more parallel arrays, these fields will remain empty even when Fill all rows with complete data is selected. This is to reduce the complexity of the exported file and to ensure that the file remains importable.

Configure separators for CSV files

When exporting data as a CSV file, you can configure the separators used for columns and decimals to match your locale or meet specific requirements. By default, a comma (,) is used as the column separator, and a point (.) is used for decimals. If your locale uses commas for decimals, you can change the column separator to another value and the decimal separator to a comma (,).
If you intend to import the exported CSV file, the decimal separator must be a point (.).

Export Categories

  1. Go to Categories > Categories search.
  2. Click the Import / Export drop-down and select Export categories.
  3. In the dialog, follow these steps:

    • Choose to export all Categories, or only the ones you have filtered or selected.
    • For File name, enter a name for the file containing the export data.
    • For File format, choose to export the data as a CSV or JSON file.
    • If you selected CSV as the file format, you can configure the separators for Columns and Decimals.
    • To include parent-level information in each row of the CSV file, select Fill all rows with complete data.
  4. Click Step 2: Select content to export.
  5. If you're exporting the data as a CSV file, you can select fields in the given list or select fields from an imported CSV.

  6. For Locales, select the languages to export the data in. If you are using an imported CSV file to select the fields to export, you can choose to only export the locales specified in the fields within the CSV file.
  7. Click Step 3: Confirm selection.
  8. Preview the fields to export and click Start export.

Export Customers

  1. Go to Customers > Customer list.
  2. Click the Import / Export drop-down and select Export customers.
  3. In the dialog, follow these steps:

    • Choose to export all Customers, only the ones you have filtered or selected, or only those that match a Query Predicate.
    • For File name, enter a name for the file containing the export data.
    • For File format, choose to export the data as a CSV or JSON file.
    • If you selected CSV as the file format, you can configure the separators for Columns and Decimals.
    • To include parent-level information in each row of the CSV file, select Fill all rows with complete data.
  4. Click Step 2: Select content to export.
  5. If you're exporting the data as a CSV file, you can select fields in the given list or select fields from an imported CSV.

  6. For Locales, select the languages to export the data in. If you are using an imported CSV file to select the fields to export, you can choose to only export the locales specified in the fields within the CSV file.
  7. Click Step 3: Confirm selection.
  8. Preview the fields to export and click Start export.

Export Custom Objects

You can only export Custom Objects to JSON files.

  1. Go to Operations > Export.
  2. Click Create new export.
  3. In the Export data window, follow these steps:
    • For File name, enter a name for the file containing the export data.
    • For Query predicate, enter a condition to filter which Custom Objects to export. A Query Predicate is a filter that determines which objects are included in the export. For example, use container = "container-name" to only export Custom Objects with the matching container value.
  4. Click Start export.

Export Discount Codes

  1. Go to Discounts > Discount code list.
  2. Click the Actions drop-down and select Export discount codes.
  3. In the dialog, follow these steps:

    • Choose to export all Discount Codes, or only the ones you have filtered or selected.
    • For File name, enter a name for the file containing the export data.
    • For File format, choose to export the data as a CSV or JSON file.
    • If you selected CSV as the file format, you can configure the separators for Columns and Decimals.
    • To include parent-level information in each row of the CSV file, select Fill all rows with complete data.
  4. Click Step 2: Select content to export.
  5. If you're exporting the data as a CSV file, you can select fields in the given list or select fields from an imported CSV.

  6. For Locales, select the languages to export the data in. If you are using an imported CSV file to select the fields to export, you can choose to only export the locales specified in the fields within the CSV file.
  7. Click Step 3: Confirm selection.
  8. Preview the fields to export and click Start export.

Export Inventory

  1. Go to Products > Product list.
  2. Click the Actions drop-down and select Export inventories.
  3. In the dialog, follow these steps:

    • Choose to export all Inventory entries, or only the ones associated with Products you have filtered or selected.

      You can only export up to 500 Inventory entries per Product Variant. Due to eventual consistency, updates made to Inventory entries just before the export may not be included.
    • For File name, enter a name for the file containing the export data.
    • For File format, choose to export the data as a CSV or JSON file.
    • If you selected CSV as the file format, you can configure the separators for Columns and Decimals.
    • To include parent-level information in each row of the CSV file, select Fill all rows with complete data.
  4. Click Step 2: Select content to export.
  5. If you're exporting the data as a CSV file, you can select fields in the given list or select fields from an imported CSV.

  6. For Locales, select the languages to export the data in. If you are using an imported CSV file to select the fields to export, you can choose to only export the locales specified in the fields within the CSV file.
  7. Click Step 3: Confirm selection.
  8. Preview the fields to export and click Start export.

Export Orders

  1. Go to Orders > Order list.
  2. Click the Import / Export drop-down and select Export orders.
  3. In the dialog, follow these steps:

    • Choose to export all Orders, or only the ones you have filtered or selected.

      You cannot export Orders filtered using Advanced Order search.
    • For File name, enter a name for the file containing the export data.
    • For File format, choose to export the data as a CSV or JSON file.
    • If you selected CSV as the file format, you can configure the separators for Columns and Decimals.
    • To include parent-level information in each row of the CSV file, select Fill all rows with complete data.
  4. Click Continue.
  5. Select the fields to be exported and click Start export.

Export Products

  1. Go to Products > Product list.
  2. Click the Actions drop-down and select Export products.
  3. In the dialog, follow these steps:

    • Choose to export all Products, only the ones you have filtered or selected, or only those that match a Query Predicate.
      Only Query Predicates for Product fields are accepted.
    • For File name, enter a name for the file containing the export data.
    • For File format, choose to export the data as a CSV or JSON file.
    • If you selected CSV as the file format, you can configure the separators for Columns and Decimals.
    • To include parent-level information in each row of the CSV file, select Fill all rows with complete data.
  4. Click Step 2: Select content to export.
  5. If you're exporting the data as a CSV file, you can select fields in the given list or select fields from an imported CSV.

  6. For Locales, select the languages to export the data in. If you are using an imported CSV file to select the fields to export, you can choose to only export the locales specified in the fields within the CSV file.
  7. Click Step 3: Confirm selection.
  8. Preview the fields to export and click Start export.

Export Product Types

  1. Go to Settings > Product types and attributes.
  2. Click the Import product types drop-down and select Export product types.
  3. In the dialog, follow these steps:

    • Choose to export all Product Types, or only the ones you have filtered or selected.
    • For File name, enter a name for the file containing the export data.
    • For File format, choose to export the data as a CSV or JSON file.
    • If you selected CSV as the file format, you can configure the separators for Columns and Decimals.
    • To include parent-level information in each row of the CSV file, select Fill all rows with complete data.
  4. Click Step 2: Select content to export.
  5. If you're exporting the data as a CSV file, you can select fields in the given list or select fields from an imported CSV.

  6. For Locales, select the languages to export the data in. If you are using an imported CSV file to select the fields to export, you can choose to only export the locales specified in the fields within the CSV file.
  7. Click Step 3: Confirm selection.
  8. Preview the fields to export and click Start export.

Download the export files

The export operation is a background task. The time to complete the operation corresponds to the amount of data exported. If the data is large, the export can take longer. For quicker exports, you should export only the necessary resources, locales, and fields. To view the current status of your exports, and to download exported files, go to Operations > Export.

If several export operations are run within a short period, they will be queued to ensure smooth running of the export process. Queued exports are automatically processed in the order in which they were created.

Export log files are removed after 24 hours.

View the export file

For CSV exports, the headers and values match those in the CSV import documentation:

For JSON exports, the fields and types match those in the HTTP API documentation: