Skip to main content

File and Job Error Codes

Error and warning codes for file analysis, data formatting, import commands, and jobs.

Altera shows a code such as ABC001 with each error or warning. This article explains the codes for this area of the app and how to resolve them. For codes from other areas, see Error and warning codes.

File Analysis Codes

These codes will appear when you upload a spreadsheet to be imported with the app.

ALYS001 - File Does Not Exist

There was an error opening the file you uploaded. Please try again and contact us if the problem persists.

ALYS002 - Zip File Must Contains a CSV File

You can upload a ZIP file with multiple CSV files to have them processed at once. However in this case the app did not detect any CSV files in the zip file you uploaded.

If you want to process multiple Excel sheets at the same time you can combine them into a single Excel workbook and upload that.

ALYS003 - Unsupported File Type or Invalid Content

We couldn't determine if your file was CSV, Excel, or a valid ZIP. Please upload either a CSV file, an Excel workbook with the .xlsx extension, or a ZIP file containing CSV files so our system can process it.

ALYS004 - No Valid Sheets Found

Our system tried to read your file but did not detect any sheets with the required structure. Ensure your file includes sheets that match one of our supported object types (for example, a valid Products or Orders sheet) and try again.

ALYS005 - Unmatched Columns

Your spreadsheet contains columns that Altera does not recognize and these columns will be ignored when you import data through the app.

The most common cause of this is trying to import data that does not match the Altera/Matrixify format. To fix this, make sure your spreadsheet matches the format in our documentation ( Product Fields for example).

ALYS006 - Shopify Product Export Format

The file you uploaded appears to be a product export from Shopify's admin in Shopify's native format. Altera requires product files to be in the Altera/Matrixify format instead. See our Product Fields documentation for the correct format.

You can convert your file to the Altera format by going to Tools > Data transformations in the left menu. Note that even if you convert a Shopify product export to the Altera/Matrixify format, some data may not come through.

Recommended solution for copying products between stores:

If you're trying to copy products from one Shopify store to another, the best approach is to:

  1. Export the products from the source store using Altera

  2. Import the exported file into the destination store

This ensures all product data is captured and transferred correctly.

ALYS007 - Unsupported Duplicate Columns

Some columns can appear multiple times in a spreadsheet but others cannot. Make sure that you don't have any columns with duplicate names besides Tags and Image Src.

The same applies to a column and its old name. For example, Transaction: Shop Currency Amount is the old name of Transaction: Amount (Shop Currency), and Risk: Score is the old name of Risk: Level. Both columns set the same value, so keep only one of them.

ALYS008 - Invalid ID

The ID column contains a value that doesn't look like a valid Shopify ID. Shopify IDs are numeric and at least 9 digits long (e.g., 16224095404377). The ID column should either be empty, contain a Shopify numeric ID, or contain a GraphQL identifier like gid://shopify/Product/16224095404377.

Common causes:

  • An order name (e.g., #1001) was placed in the ID column instead of the Shopify ID

  • A custom reference number or external identifier was used instead of the Shopify ID

  • A number was formatted as a decimal like 8106245782738.0 instead of a whole number

If you are intentionally using your own identifiers in the ID column for row grouping, you can ignore this warning.

ALYS009 - Truncated Metafields

Excel has a character limit of 32,767 characters per cell. When metafields with exactly this character count are detected, they will be ignored during import to prevent data corruption in Shopify. This typically happens when Excel has truncated a longer value.

Note that the limit applies any time Excel reads or writes a cell, including when it opens a .csv file. Saving as CSV after opening in Excel does not restore the original value because Excel has already cut it. To preserve long metafield values, export the file directly from your source as CSV and edit it in a tool without this limit (such as Google Sheets, which allows up to 50,000 characters per cell, or a plain text editor). See IMP007 for more detail.

ALYS010 - WooCommerce Export Format

It looks like you are trying to upload an export of your WooCommerce products to Altera. Please try uploading the file again in the Altera/Matrixify format instead.

ALYS011 - DELETE Command Warning

You are using the DELETE command in your import. Please note that deleting items is permanent and cannot be undone. The deletion will also process any hidden rows in your spreadsheet, so make sure to review your data carefully before proceeding.

ALYS012 - REPLACE Command Warning

You are using the REPLACE command in your import. When replacing items, the existing item will be completely deleted and recreated with the new data. This means all existing data not included in your import will be lost. The replacement will also process any hidden rows in your spreadsheet, so make sure to review your data carefully before proceeding.

ALYS013 - ZIP File Contains Subdirectories

ZIP files uploaded for import should not contain subdirectories. All CSV files should be placed at the root level of the ZIP file. Please restructure your ZIP file to place all CSV files in the root directory without any subdirectories.

ALYS014 - ZIP File Contains Non-CSV Files

The ZIP file you uploaded contains files that are not CSV files. ZIP files for import should only contain CSV files (plus any system files like .DS_Store which are automatically ignored). Please remove any non-CSV files from your ZIP file and try again.

ALYS015 - Invalid Boolean Value

The value provided cannot be converted to true/false. Boolean columns in your spreadsheet must contain recognized true or false values.

Accepted true values:

  • true

  • 1

  • yes

  • y

  • on

  • 1.0

  • 1.00

  • enabled

  • active

Accepted false values:

  • false

  • 0

  • no

  • n

  • off

  • 0.0

  • 0.00

  • disabled

  • inactive

Values are case-insensitive, so TRUE, True, FALSE, and False are also valid. Make sure all values in boolean columns match one of these accepted formats.

ALYS016 - Shopify Order Export Format

The file you uploaded appears to be an order export from Shopify's admin in Shopify's native format. Altera requires order files to be in the Altera/Matrixify format instead, which contains more data than Shopify's native export.

You can convert the file under Tools > Data transformations in the app. Note that even if you convert a Shopify order export to the Altera/Matrixify format, not all order data will come through. Shopify's native order export is missing many fields that are required for a complete order import. For example:

  • Line item properties and custom attributes

  • Detailed fulfillment information (tracking numbers, fulfillment locations)

  • Which specific items were refunded (the export only shows refund amounts, not which line items were refunded)

  • Transaction details beyond basic payment information

Recommended solution for copying orders between stores:

If you're trying to copy orders from one Shopify store to another, the best approach is to:

  1. Export the orders from the source store using Altera

  2. Import the exported file into the destination store

This ensures all order data is captured and transferred correctly.

ALYS017 - No File Analysis Found

The system could not find a file analysis for the uploaded file. This typically occurs when trying to process a file that hasn't been analyzed yet. The file analysis should be triggered automatically when a file is uploaded.

If you continue to see this error, please contact support.

ALYS018 - File Analysis Missing Data

The file analysis completed successfully, but no analysis data was found. This is an unexpected error that indicates a problem with the analysis process.

Please try re-uploading your file. If the problem persists, contact support.

ALYS019 - File Analysis Failed

The system was unable to analyze your file due to an error. This could be caused by:

  • The file being corrupted or unreadable

  • An unsupported file format

  • A problem with the file's internal structure

Try re-uploading your file. If the error persists, verify that your file is a valid CSV, Excel (.xlsx), or ZIP file. Contact support if you need further assistance.

ALYS020 - File Analysis Timeout

The file analysis took too long to complete and timed out. This can happen with very large files or during periods of high system load.

Please try again in a few moments. If the problem persists with the same file, consider:

  • Breaking your file into smaller chunks

  • Removing unnecessary columns or rows

  • Contacting support for assistance with large file imports

ALYS021 - Unrecognized Command

The Command column contains a value we don't recognize. Valid commands are:

  • MERGE - Update existing items or create new ones if they don't exist (default behavior)

  • NEW - Only create new items, skip if the item already exists

  • UPDATE - Only update existing items, skip if the item doesn't exist

  • DELETE - Delete the item from Shopify

  • REPLACE - Delete the existing item and create a new one

  • IGNORE - Skip this row during import

Check your Command column for typos (e.g., "CREATE" instead of "NEW") and update them to one of the supported commands above. You can also leave the Command column blank to use the default MERGE behavior.

ALYS022 - Etsy Product Export Format

The file you uploaded appears to be an Etsy product listings export. This file needs to be converted to the Shopify format before importing.

Use the Etsy Products transformation under Tools > Data transformations to convert this file. See How to Migrate Etsy Products to Shopify for step-by-step instructions.

ALYS023 - Etsy Order CSV Export Format

The file you uploaded appears to be an Etsy Order CSV export. This format gives a summary of each order but does not include the individual line items, which are required for importing into Shopify.

To import your Etsy orders, you need to export the Order Item CSV from Etsy instead. See How to Migrate Etsy Orders to Shopify for step-by-step instructions.

ALYS024 - Etsy Order Item CSV Export Format

The file you uploaded appears to be an Etsy Order Item CSV export. This file needs to be converted to the Shopify format before importing.

Use the Etsy Orders transformation under Tools > Data transformations to convert this file. See How to Migrate Etsy Orders to Shopify for step-by-step instructions.

ALYS025 - First Row ID is Blank But Other Rows Have IDs

Your spreadsheet has an ID column where the first row is blank, but subsequent rows contain ID values. This pattern often indicates a data formatting problem in your spreadsheet.

Why this matters: If there are any valies in the ID column it will be used to group related rows together. For example, a product with multiple variants will have the product ID in the first row, and the variant rows below it share that same ID. When the importer sees a blank ID, it assumes those rows belong to the same item as the previous row.

Common causes:

  1. Newline characters in cell values: If a cell in your data contains a line break (newline character), it may cause data to "leak" into the wrong row, shifting values into the ID column unexpectedly.

  2. Copy/paste errors: When copying data between spreadsheets, formatting issues can cause values to shift into incorrect columns.

  3. Missing ID in first row: If you're creating new items, the first row should still have an ID (or be completely blank in the ID column). Having the first row blank but subsequent rows with IDs suggests the data structure may be incorrect.

How to fix:

  1. Open your spreadsheet and check the first few rows of the ID column

  2. Look for any cells that contain unexpected line breaks or special characters

  3. Verify that each item's first row contains the correct ID

  4. If creating new items, either leave the entire ID column blank or provide valid IDs for all top-level rows

ALYS026 - Shopify Theme ZIP File

The file you uploaded appears to be a Shopify theme ZIP file. Altera is designed for importing and exporting data like products, orders, and customers-not for managing themes.

How to upload themes to Shopify:

  1. Go to your Shopify admin

  2. Navigate to Online Store > Themes

  3. Click Add theme and select Upload zip file

  4. Select your theme ZIP file and upload it

Theme ZIP files typically contain folders like assets, config, layout, locales, sections, and snippets, along with .liquid template files. If you intended to upload a data file (like products or orders), make sure you're uploading a CSV, Excel, or ZIP file containing CSV files instead.

ALYS027 - ID Column Contains Scientific Notation

The ID column in your spreadsheet contains values in scientific notation (e.g., 1.48E+13). This is typically caused by Excel automatically converting large numeric IDs into scientific notation format. This is a critical issue because the ID column is used to group rows together during import - when IDs are in scientific notation, many different rows can appear to have the same ID, causing them to be incorrectly grouped as a single record.

How to fix:

  1. Open your spreadsheet in Excel

  2. Right-click the ID column and select Format Cells

  3. Choose Text as the format

  4. Re-enter or re-paste the original ID values - simply changing the format will not convert existing values back

  5. Verify the IDs are displayed as full numbers (e.g., 1481234567890) rather than 1.48E+13

  6. Save and re-upload the file

Tip: When working with large numeric IDs, always format the column as Text before pasting values to prevent Excel from converting them.

ALYS028 - All Sheets Have Errors

Your spreadsheet was matched to a Shopify data type, but all detected sheets contain errors that prevent the import from starting. Review the error messages shown for each sheet and correct the issues in your spreadsheet before re-uploading.

ALYS029 - Unable to Parse CSV File

The CSV file could not be parsed because it contains formatting errors such as mismatched quotes, inconsistent column counts, or other structural issues. This typically happens when:

  • A value contains commas but is not wrapped in double quotes

  • A value has an opening double quote but is missing a closing one

  • A value contains double quotes that are not properly escaped (double quotes inside values should be doubled, e.g. ""example"")

  • A row has a different number of columns than the header row

How to fix:

The easiest fix is to open the CSV file in Google Sheets or Excel and then save it as a new CSV file. This will automatically re-format the file with proper quoting and consistent columns.

If that doesn't work, you can manually inspect and fix the file:

  1. Open the CSV file in a plain text editor (not Excel) to inspect the raw content

  2. Look for the line mentioned in the error message and check for unmatched quotes or extra commas

  3. Ensure all values that contain commas, quotes, or newlines are wrapped in double quotes

  4. Escape any double quotes inside values by doubling them (e.g. "She said ""hello""")

  5. Verify that every row has the same number of columns as the header row

  6. Save the file and re-upload

ALYS030 - Multiple Columns Set the Same Collections Field

Your file has more than one column that assigns a product to custom (manual) collections, such as both a Collection column and a Custom Collections column. Both map to the same underlying field.

This is informational, not an error. The import does not discard either column: it merges their values additively, so the product is added to the collections listed in every colliding column (duplicates are removed).

How to fix:

No action is required. If you prefer to keep things simple, use a single Custom Collections column with a comma-separated list of collection handles or titles, and remove the extra column.

Tip: If you originally exported the file from another application, try re-exporting it. Many applications have options for CSV export that handle quoting automatically.

ALYS031 - Password Protected or Encrypted Spreadsheet

The uploaded spreadsheet is password protected or encrypted, so Altera cannot read its contents. This applies to both .xls and .xlsx files that have been secured with a password.

How to fix:

  1. Open the file in Excel.

  2. Go to File > Info > Protect Workbook > Encrypt with Password.

  3. Clear the existing password and save the file.

  4. Alternatively, export or save an unprotected copy of the spreadsheet.

  5. Upload the unprotected file again.

ALYS032 - Damaged Spreadsheet Structure

The uploaded .xlsx file is a valid ZIP archive, but the spreadsheet data inside it doesn't follow the Excel format. The most common cause is cell references that are missing their column, which happens when a file is generated by a third-party tool or script rather than saved by a spreadsheet application. Altera can't tell which column each value belongs to, so it can't read the file.

How to fix:

  1. Open the file in Excel, Google Sheets, or another spreadsheet application.

  2. Save a new copy as Excel Workbook (.xlsx). In Google Sheets, use File > Download > Microsoft Excel (.xlsx).

  3. Upload the new copy.

Saving the file through a spreadsheet application rewrites the underlying structure and repairs the damaged references. If the tool that produced the file can also export CSV, uploading the CSV instead works too.

ALYS033 - File Over the Import Size Limit

The uploaded file is larger than the 250 MB import size limit, so Altera can't analyze or import it.

How to fix:

  1. Split the data into multiple smaller files, each under 250 MB.

  2. Upload and import each file separately.

For CSV files, splitting by rows works well because each row (or group of rows sharing an ID) is independent. Compressing a CSV into a ZIP file also reduces the upload size significantly.

ALYS034 - File Too Large to Analyze

The file is within the upload size limit, but analyzing it used more memory than allowed. This usually happens with ZIP files that expand to many gigabytes of data, or spreadsheets with an extremely large number of rows or columns.

How to fix:

  1. Split the data into multiple smaller files.

  2. Upload and import each file separately.

ALYS035 - Damaged Spreadsheet File

The uploaded spreadsheet file is damaged. This usually affects older .xls files, which store their data in numbered blocks with an index that says which blocks belong to the spreadsheet. When that index is wrong, parts of the file overlap or point past the end of the file, so the spreadsheet can't be pieced back together. Common causes are an upload or download that stopped partway through, a file recovered from a failing disk or a corrupted email attachment, and older accounting or ERP systems that write incorrect .xls files.

How to fix:

  1. Open the file in Excel. If Excel offers to repair it, accept the repair.

  2. Save a new copy as Excel Workbook (.xlsx).

  3. Upload the new copy.

If Excel can't open the file either, the original is unrecoverable. Export the data again from wherever it came from, and choose CSV or .xlsx if that option is available.

ALYS036 - Damaged or Incomplete Excel File

The uploaded .xlsx file isn't a complete archive. An .xlsx file is a compressed archive of smaller files, with an index of its contents stored at the very end. When that index is missing or a part of the archive is damaged, there's no way to unpack the spreadsheet. The usual cause is a transfer that stopped partway through, such as an interrupted upload, a download that was cancelled, or a file copied from a disconnected drive or a syncing cloud folder.

How to fix:

  1. Upload the file again, and wait for the upload to finish before leaving the page.

  2. If it fails again, open the file in Excel to confirm it still opens on your computer.

  3. If Excel can't open it either, export or download a fresh copy from wherever the file came from.

Checking the file size against the original is a quick way to spot a truncated copy.

ALYS037 - Unreadable Spreadsheet Contents

The uploaded spreadsheet opened, but the data inside it is scrambled, so it can't be read. Unlike ALYS032, where the spreadsheet is structured in a way Altera can't interpret, here the underlying content is damaged and no application can parse it reliably. This usually follows file damage, such as a copy that was interrupted, a recovery from a failing disk, or an editing tool that crashed while saving.

How to fix:

  1. Open the file in Excel. If Excel offers to repair it, accept the repair.

  2. Save a new copy as Excel Workbook (.xlsx), or export the data as CSV.

  3. Upload the new copy.

If Excel can't open the file either, use an earlier version of the file, or export the data again from the system that produced it.

ALYS038 - Customer Notifications Enabled

A customer notification column in your orders file contains TRUE. Shopify sends an email to the customer for every row where the column is TRUE:

  • Send Receipt: order confirmation email

  • Fulfillment: Send Receipt: shipping confirmation email

  • Refund: Send Receipt: refund notification email

  • Cancel: Send Receipt: cancellation notification email

This is usually not intended when you import historical orders, for example during a store migration. Customers would get emails about orders they placed months or years ago. The warning tells you which column is affected and how many rows have the value TRUE.

How to fix:

  1. If customers should not get an email, set the column to FALSE or remove it, then upload the file again.

  2. If customers should get an email, no change is needed. The import runs as normal when you start it.

Files exported from Altera always contain FALSE in these columns. Customers who use the Shop app can still get a notification in the app when you import orders. See Customer notifications in the order fields reference for details. For notifications sent to your staff, see ORD004.

ALYS039 - Mixed Collection Column Names

The Collections sheet mixes two sets of column names: the Matrixify columns (Source: Type, Source: Title, Inclusion: Type, Condition: Field, Condition: Value, Sort: Position, ...) and the Altera columns used before September 2026 (Source, Source Target, Must Match, Rule: Product Column, Rule: Condition, Product: Handle, ...). Both sets describe the same source data, so a file that carries both cannot be read unambiguously.

How to fix:

  1. Use one set of column names. New files should use the Matrixify column names; a file exported with the older Altera column names imports unchanged.

  2. Remove or rename the columns from the other set, then upload the file again.

ALYS040 - Undecodable Characters Replaced (Warning)

A few bytes in the CSV file are not valid in the file's text encoding. This usually happens when text with curly quotes or dashes is pasted from another program into a file that is saved as UTF-8, or when a file was saved with one encoding and edited with another. Altera replaced only those bytes with the replacement character (�) and imported the rest of the file unchanged.

How to fix:

  1. Search the import results file for � to find the affected values.

  2. Save the file as UTF-8 (in Excel, choose the CSV UTF-8 (Comma delimited) file type) and import it again, or upload the Excel workbook itself, which has no text encoding to get wrong.

Data Formatting Codes

Error codes related to data formatting and validation that can occur across different object types (orders, customers, products, etc.).

DAT001 - Invalid Phone Number

The phone number provided in your import is not in a valid format that Shopify accepts. Shopify is fairly strict about phone numbers and may reject numbers that are accepted in other platforms.

To ensure the phone number is accepted we recommend the following:

  • Include the country code at the start of the phone number (e.g., +1 for US/Canada)

  • Make sure the phone number isn't too short or too long

  • Use only valid phone number characters (digits, spaces, hyphens, parentheses, plus sign)

For US phone numbers specifically, Shopify rejects the area code 555 and all area codes starting with 1 as those are not real phone numbers.

Excel formatting tip: When entering phone numbers that start with a plus sign (like +16308545555), Excel may interpret them incorrectly or apply unwanted formatting. To prevent this, prefix the phone number with a single quote character (e.g., '+16308545555). The quote tells Excel to treat the value as text, and it won't be visible when the file is processed.

DAT002 - Invalid Province Code

The province/state code provided in your import is not valid for the specified country. Shopify uses ISO 3166 standard province codes, and each country has its own set of valid province codes.

How to fix this:

  1. Check that you're using the correct province code for the country

  2. Make sure the province code matches exactly (codes are case-sensitive)

  3. Some countries don't have province codes - leave the province field empty for those countries

Common examples:

  • United States: Use 2-letter state codes like CA for California, NY for New York, TX for Texas

  • Canada: Use 2-letter codes like ON for Ontario, BC for British Columbia, QC for Quebec

  • Australia: Use 2-3 letter codes like NSW for New South Wales, VIC for Victoria, QLD for Queensland

  • United Kingdom: Leave province empty (UK doesn't use province codes in Shopify)

If you're importing addresses for a country that doesn't require province codes, simply leave the province column empty rather than trying to provide a value.

DAT003 - Invalid Country Code

The country value provided in your import could not be recognized. Shopify stores countries as ISO 3166-1 alpha-2 codes (two-letter codes). Altera accepts either the two-letter code or a full country name and converts recognized names to the matching code, but the value you provided matched neither.

How to fix this:

  1. Use the correct 2-letter country code (e.g., US for United States, CA for Canada, GB for United Kingdom) or a standard country name (e.g., United States, Canada, United Kingdom)

  2. Check for typos or non-standard spellings; unrecognized names are skipped rather than guessed

  3. Avoid ambiguous abbreviations such as UK (use GB)

Common examples:

  • US - United States

  • CA - Canada

  • GB - United Kingdom

  • AU - Australia

  • DE - Germany

  • FR - France

  • JP - Japan

  • MX - Mexico

Common mistakes:

  • Using UK instead of GB for United Kingdom

  • Misspelled or non-standard country names that can't be matched

  • Using a local-language country name (e.g. Italia instead of Italy)

DAT004 - Invalid Email

The email address provided in your import is not in a valid format. Email validation is performed by Shopify, not Altera, so any email that Shopify rejects will produce this error.

How to verify: You can confirm whether an email is valid by trying to manually create a customer with it in the Shopify admin. If Shopify rejects it there, it will also be rejected on import.

How to fix this:

  1. Ensure the email follows the standard format: [email protected]

  2. Check for common formatting errors:

  3. Missing @ symbol

  4. Missing or invalid domain extension (e.g., .com, .org, .net)

  5. Extra spaces before or after the email address

  6. Invalid special characters

  7. Multiple @ symbols

  8. Consecutive or adjacent symbol characters such as .., ..., or .-

Common examples of valid emails:

Common examples of invalid emails:

DAT005 - Invalid Numeric Value

The value provided is not a valid number or cannot be converted to a number. This error occurs when numeric fields contain text, special characters, or formatting that cannot be interpreted as a valid numeric value.

This error applies to various numeric fields across different import types including:

  • Product imports: Variant Grams, Variant Weight, prices, inventory quantities

  • Order imports: Line quantities, prices, transaction amounts

  • Other numeric fields throughout the application

Accepted number formats:

Numbers may be written with comma and period grouping, and are interpreted as follows:

  • When a value has both a period and commas, the period is the decimal separator and commas are treated as thousands separators: 1,234,567.89 becomes 1234567.89.

  • When a value has only commas, a single comma is read as the decimal separator: 12,50 becomes 12.50. A value with more than one comma and no period (for example 1,000,000) is rejected.

  • A period is the decimal separator: 1234.56.

See DAT019 for a warning about values whose grouping is interpreted in a way you may not expect.

How to fix this:

  1. Ensure the value contains only digits, commas, periods and an optional leading minus sign

  2. Remove any currency symbols, percentage signs or other non-numeric characters

  3. Remove any spaces, including spaces used as thousands separators

  4. Make sure a value has at most one decimal separator

Common examples:

Invalid values:

  • $100 (contains currency symbol)

  • 10% (contains percentage symbol)

  • 1 234.56 (contains a space)

  • 1,000,000 (multiple commas with no decimal point)

  • 1.2.3 (more than one decimal point)

  • abc (contains letters)

Valid values:

  • 100

  • 1234.56

  • 1,234,567.89

  • 0.5

DAT006 - Invalid First or Last Name

The first name or last name provided in your import is not valid. Shopify has certain requirements for name fields that must be met for the import to succeed.

Common causes:

  • Name is empty or missing - First or last name fields cannot be left blank when they are required for the record you're importing

  • Name is too short - The name must be at least 1-2 characters long depending on the field requirements

  • Name contains emoji characters - Emoji characters are not supported in name fields for certain data types. Remove any emoji from the first or last name

How to fix this:

  1. Ensure the name field is not empty if it's required

  2. Remove any emoji characters from the name (e.g., 🎉, ❤️, ✨)

  3. Make sure the name meets minimum length requirements

  4. Check for invisible or special unicode characters that may have been copied from another source

Note: The support for emoji in name fields varies depending on what type of data you're importing. Some Shopify resources accept emoji in names while others do not. If you're seeing this error, the specific data type you're importing does not support emoji characters in the name field.

DAT007 - Required Field is Empty

A required field in your import is empty or blank. Shopify requires certain fields to have a value and will reject records where these fields are missing.

Common required fields include:

  • Product title

  • Variant price (for new variants)

  • Customer email (for new customers)

  • Order line item product

How to fix:

Review the field mentioned in the error and provide a valid value. If you're updating existing records and don't want to change a field, you can leave it empty only if it's not required for the operation.

DAT008 - Value Exceeds Maximum Length

The value provided is too long and exceeds Shopify's maximum character limit for this field.

Common character limits:

  • Product title: 255 characters

  • Product handle: 255 characters

  • Variant SKU: 255 characters

  • Variant barcode: 255 characters

  • Option name: 255 characters

  • Option value: 255 characters

  • Tags (individual): 255 characters

  • Metafield values: varies by type (typically 100,000+ characters)

How to fix:

Shorten the value to fit within the allowed character limit. If you're working with long text content, consider using a metafield with a larger capacity instead.

DAT009 - Value Below Minimum Length

The value provided is too short and does not meet Shopify's minimum length requirement for this field.

How to fix:

Provide a longer value that meets the minimum length requirement. Check the specific field's requirements in Shopify's documentation.

DAT010 - Value Already in Use

The value you're trying to use is already taken by another record. Shopify requires certain fields to be unique across your store.

Fields that must be unique:

  • Product handle (URL slug)

  • Variant SKU (within the store)

  • Variant barcode

  • Customer email address

  • Collection handle

  • Page handle

  • Blog handle

  • Discount code

How to fix:

  1. Use a different value that isn't already in use

  2. If you're trying to update an existing record, make sure you're providing the correct ID to identify it

  3. If you want to merge with an existing record, use the UPDATE command instead of creating a new one

DAT011 - Referenced Record Not Found

The ID or reference you provided does not match any existing record in your Shopify store. This typically happens when trying to link to another resource that doesn't exist.

Common causes:

  • The ID belongs to a different Shopify store

  • The referenced record was deleted

  • There's a typo in the ID

  • Using a GraphQL ID format when a numeric ID is expected (or vice versa)

How to fix:

  1. Verify the ID exists in your store by checking the Shopify admin

  2. Make sure you're using IDs from the correct store

  3. If referencing by handle or other identifier, ensure it matches exactly (case-sensitive)

  4. For product variants, ensure the parent product exists first

DAT012 - Invalid Value

The value provided is not valid for this field. This is a general validation error that occurs when the input doesn't meet Shopify's requirements.

Common causes:

  • Incorrect format (e.g., invalid date format, malformed JSON)

  • Value contains invalid characters

  • Value doesn't match expected pattern

  • Logical inconsistencies in the data

How to fix:

Review the field's expected format in the documentation and ensure your value matches. Check for any special characters, encoding issues, or formatting problems.

DAT013 - Resource Limit Reached

You've reached a Shopify limit for this type of resource. Shopify imposes limits on various resources based on your plan.

Common limits:

  • Product variants: 100 per product (2,000 with Combined Listings)

  • Product options: 3 per product

  • Product images: 250 per product

  • Metafield definitions: varies by owner type

  • Tags per resource: varies

  • Locations: depends on plan

How to fix:

  1. Review Shopify's resource limits for your plan

  2. Consider upgrading your Shopify plan if you need higher limits

  3. Reorganize your data to work within the limits (e.g., split products, use fewer variants)

  4. Remove unused resources to free up capacity

DAT014 - Invalid Value for Field Type

The value provided doesn't match the expected format or constraints for this specific field type. This is common with metafields and fields that have specific validation rules.

Common causes:

  • Metafield value doesn't match its defined type (e.g., providing text for a number metafield)

  • Value doesn't match the options defined in a metafield definition

  • JSON metafield contains invalid JSON

  • Reference metafield points to wrong resource type

How to fix:

  1. Check the field's type definition and ensure your value matches

  2. For metafields, verify the value matches the metafield's type (number, date, JSON, etc.)

  3. For metafields with validations, ensure the value is in the list of allowed options

  4. For JSON fields, validate your JSON syntax

DAT015 - Invalid Data Type

The data type provided doesn't match what's expected for this field. This occurs when the wrong type of data is provided (e.g., text instead of a number).

Common causes:

  • Providing text where a number is expected

  • Providing a number where a boolean (true/false) is expected

  • Incorrect metafield type specified

  • Type mismatch in structured data

How to fix:

  1. Check the expected data type for the field

  2. Convert your value to the correct type (e.g., remove currency symbols from prices)

  3. For boolean fields, use true/false or 1/0

  4. For metafields, ensure the type matches the metafield definition

DAT016 - Non-Numeric Shopify GID

The Shopify resource GID contains a non-numeric identifier where a numeric ID was expected. Some Shopify resource types (such as Online Store theme JSON templates) use string-based identifiers like article, blog, or cart instead of numeric IDs.

Common causes:

  • Importing translations for Online Store theme JSON templates (e.g., gid://shopify/OnlineStoreThemeJsonTemplate/article?theme_id=...)

  • Resource types that use handles or slugs instead of numeric IDs in their GIDs

How to fix:

  1. This usually indicates an internal handling issue - please contact support if you encounter this error

  2. Ensure the GID format matches what Shopify provides for the resource type

DAT017 - Invalid Date/Time Value

The date or time value in your import file is not valid. This usually means the timezone offset is outside the allowed range (±24 hours), or the value is otherwise malformed.

Common causes:

  • A date/time field contains a timezone offset that Python cannot represent (e.g., -2501 instead of a valid UTC offset like -0500)

  • The date/time value was corrupted or incorrectly formatted when the source file was created

  • A migration tool generated sequential or placeholder timezone offsets that are not real UTC offsets

How to fix:

  1. Open your import file and locate the affected date/time column (e.g., "Email Marketing: Updated At", "Processed At", "Published At")

  2. Replace any invalid timezone offsets with a valid UTC offset such as -0500 or +0000

  3. If the time zone is unknown, you can remove the offset entirely and just provide the date and time (e.g., 2025-07-02 18:36:30)

  4. Re-upload the corrected file

DAT018 - Date Before Year 0001

A date or date/time value in your import file falls before the year 0001 (1 AD) once it is converted to UTC. Neither Shopify nor the underlying date library can represent a year earlier than 0001, so the value was rejected.

Common causes:

  • A placeholder or "zero" date such as 0000-00-00 or 0001-01-01 that a migration tool exported for records with no real date

  • A date in the year 0001 combined with a positive timezone offset (e.g. 0001-01-01 00:00:00 +0500), which shifts the value to the previous year when expressed in UTC

  • Corrupted or sentinel date values carried over from another platform

How to fix:

  1. Open your import file and locate the affected date/time column

  2. Replace the placeholder value with a real date, or clear the cell if the field is optional

  3. Re-upload the corrected file

DAT019 - Ambiguous Number Format

This is a warning, not an error. The import is not blocked. A numeric value uses comma or period grouping that was read in a way you may not have intended, so it is worth double-checking the result.

This happens because a comma can mean two different things. When a value has no period, a comma is treated as the decimal separator, so 1,000 is read as 1 (one), not 1000 (one thousand). Mixed formats such as 1.000,00 are read the same way (the period is the decimal separator and the comma is removed), giving 1.

When you will see this:

  • A value like 1,000, 12,345 or 1.500,00 where the comma was treated as a decimal point

  • A value beginning with a decimal point such as .5, where the leading point is dropped

How to fix this:

  1. If the comma is meant to be a thousands separator, remove it (1,000 becomes 1000) or write the decimal explicitly (1000.00)

  2. If the comma is meant to be the decimal separator, no change is needed, but confirm the imported value is correct

  3. Standard thousands grouping with a decimal point (1,234,567.89) is always unambiguous and never triggers this warning

DAT020 - Too Many Colons in Line Properties

A Line: Properties value has a line with more than one colon (:). Each line item property is written as key: value on its own line, separated by real line breaks, and the colon separates the key from the value. A line with two or more colons is ambiguous, so the row is rejected.

The most common cause is a file that contains a literal \n (a backslash followed by the letter n) instead of a real line break, which leaves two key: value pairs on the same line.

Example that fails:

  • Display_Name: Black\nWarranty: 2 Years (the \n is text, so this is one line with two colons)

  • link: https://example.com (the value contains a colon)

How to fix this:

  1. Put each property on its own line using a real line break (in a spreadsheet cell, press Alt+Enter or Option+Enter to add a line break)

  2. If a key or value needs to contain a literal colon, escape it as \: (for example link: https\://example.com)

  3. Make sure each line has exactly one unescaped colon separating the key from the value

DAT021 - Invalid Tags Command

The Tags Command column contains a value we don't recognize. This column controls how the tags in the row are applied to the object and must be one of MERGE, REPLACE or DELETE (case insensitive). The row was rejected so its tags are not applied incorrectly.

  • MERGE - adds the listed tags to any existing tags (this is the default when the column is left blank)

  • REPLACE - replaces all existing tags with the listed tags

  • DELETE - removes the listed tags from the existing tags

This commonly happens when a row-level command such as NEW or UPDATE is mistakenly entered in the Tags Command column instead of one of the values above.

How to fix this:

  1. Check the Tags Command column for typos or row-level commands (e.g. NEW) and replace them with MERGE, REPLACE or DELETE

  2. Leave the Tags Command column blank to use the default MERGE behavior

  3. Re-run the import once the column values are corrected

DAT022 - Invalid Reference Handle

A metafield reference value didn't start with gid://shopify/, so it couldn't be processed. Check that all reference handles match the expected gid://shopify/ format.

Previous code: OBJ004.

Import Command Codes

These codes indicate that a row was skipped during import based on the command used and whether the item exists in Shopify. Skipped rows are not errors - they are expected behavior when using NEW, UPDATE, or DELETE commands with items that don't match the command's requirements.

IMP001 - Item Already Exists

You used the NEW command to create an item, but an item with the same identifier already exists in your Shopify store. The row was skipped to prevent creating duplicates.

Why this happens: The NEW command is designed to only create items that don't already exist. When it finds a matching item, it skips the row rather than failing.

The same applies to a Variant Command of NEW on a product import: a variant row that matches an existing variant is left unchanged, and the product row reports which variants were skipped.

How to resolve:

  • Use MERGE instead if you want to update the existing item or create it if it doesn't exist

  • Use UPDATE if you only want to update the existing item

  • Use REPLACE if you want to delete the existing item and create a new one with the imported data

IMP002 - No Matching Item to Update

You used the UPDATE command to update an item, but no matching item was found in your Shopify store. The row was skipped because there's nothing to update.

Why this happens: The UPDATE command is designed to only update items that already exist. When it can't find a matching item, it skips the row rather than failing.

How to resolve:

  • Use MERGE instead if you want to create the item when it doesn't exist

  • Use NEW if you only want to create items that don't exist

  • Check that the ID or handle in your spreadsheet matches an existing item in Shopify

IMP003 - No Matching Item to Delete

You used the DELETE command to delete an item, but no matching item was found in your Shopify store. The row was skipped because there's nothing to delete.

Why this happens: The DELETE command is designed to only delete items that exist. When it can't find a matching item (perhaps because it was already deleted), it skips the row rather than failing.

How to resolve:

  • Verify that the item exists in your Shopify store

  • Check that the ID or handle in your spreadsheet is correct

  • The item may have already been deleted in a previous import or manually in Shopify

IMP004 - CSV File Not Found in ZIP

When importing a ZIP file containing multiple CSV files, the system could not find a CSV file matching the expected sheet name. This typically occurs when the ZIP file structure doesn't match what was detected during file analysis.

How to resolve:

  • Ensure all CSV files are at the root level of the ZIP file (not in subdirectories)

  • Verify that the CSV file names match the expected sheet names

  • Re-upload the ZIP file and try again

IMP005 - Unsupported File Format

The file format is not supported for this operation. Altera supports Excel (.xlsx), CSV, and ZIP files containing CSV files.

How to resolve:

  • Ensure your file is in one of the supported formats: Excel (.xlsx), CSV, or ZIP containing CSV files

  • If you have an older Excel format (.xls), save it as .xlsx first

  • Contact support if you believe your file format should be supported

IMP006 - Multiple Matching Items

The import row matched more than one existing item in your Shopify store, so the app could not safely determine which one to update, replace, or delete. The row was failed to avoid modifying the wrong item.

Why this happens: Some lookup columns (like Title for products or Name for orders) are not unique in Shopify. When the import file only includes a non-unique identifier and multiple items match it, the app cannot know which one you meant.

How to resolve:

  • Add the ID column to your import file and set it to the ID of the specific item you want to modify

  • For products, use the Handle column - handles are unique per store

  • Export the items first to see all matches, then pick the right ID or Handle

IMP007 - Content Truncated by Excel

A cell value is exactly 32,767 characters long, which is the maximum cell length in Excel. This strongly suggests the value was truncated by Excel, so Altera skips the row or field to avoid overwriting your Shopify data with incomplete content.

This affects Body HTML for products, pages, and blog posts as well as metafield values. When Body HTML is truncated the entire row is skipped. When a metafield value is truncated only that metafield is skipped.

Why a CSV file can still trigger this warning:

The 32,767 character limit applies whenever Excel reads or writes a cell, not just to .xlsx files. If you open a CSV in Excel, Excel truncates any long cells when it loads the file. Saving back to CSV from that point on preserves the truncated value, so the file extension is CSV but the content has already been cut. Altera detects the truncated length and warns even though the file is a CSV.

How to resolve:

  • Do not open the file in Excel at any point. Once Excel reads the cell, the long value is already truncated even if you save back to CSV.

  • Export directly from your source (Shopify, Altera, your CMS) as CSV and import that file as-is.

  • If you need to edit the file, use a tool that does not have the 32,767 character cell limit. Google Sheets allows up to 50,000 characters per cell, and a plain text editor has no limit at all.

  • If the content is genuinely longer than what your editor supports, split the value into smaller sections before importing.

IMP008 - Content Truncated by Google Sheets

A cell value is exactly 50,000 characters long, which is the maximum cell length in Google Sheets. This strongly suggests the value was truncated when the file was saved, so Altera skips the row or field to avoid corrupting data in Shopify.

This affects Body HTML for products, pages, and blog posts as well as metafield values. When Body HTML is truncated the entire row is skipped. When a metafield value is truncated only that metafield is skipped.

How to resolve:

Download your data as a CSV file directly from your source rather than copying it through Google Sheets.

IMP009 - No Object Returned for Row

Shopify accepted the request for this row but returned no object and no error, so Altera had nothing to record as the result. This is usually a transient condition that happens when the item is changed or removed in Shopify while the import is running (for example, an article that is updated by another process at the same moment).

Only the affected row is skipped. The rest of the import continues normally.

How to resolve:

  • Re-run the import. The row will usually succeed on a second attempt.

  • If the same row fails repeatedly, check that the item still exists in Shopify and is not being edited by another app or automation at the same time.

IMP010 - Timed Out Processing Row

Altera processes rows in parallel and uses a short-lived lock so that an image reused across many products is only uploaded once. This row waited too long for that shared upload (or another shared resource) to finish and gave up. This typically happens during large migrations where the same image appears on hundreds of products and is slow to process in Shopify.

Only the affected row is skipped. The rest of the import, including later steps, continues normally.

How to resolve:

  • Re-run the import. By then the shared image is already uploaded, so the row attaches it immediately and succeeds.

  • If many rows time out on a very large catalog, import in smaller batches so fewer products compete for the same image upload at once.

IMP011 - Import File Too Large to Process

Altera could not finish reading this import file because the process ran out of memory or stopped unexpectedly. This can happen with very large files (multiple gigabytes) when the server is busy with other large imports at the same time.

No rows from the file were imported. Your store data was not changed.

How to resolve:

  • Try running the import again. The server may have more memory available on the next attempt.

  • Split the file into smaller parts and import them one at a time.

  • If the error keeps happening with the same file, contact support and include the job ID.

IMP012 - Import File Processing Timed Out

Reading and preparing this import file took longer than the allowed time limit, so the import was stopped before any rows were processed.

No rows from the file were imported. Your store data was not changed.

How to resolve:

  • Try running the import again.

  • Split the file into smaller parts and import them one at a time.

  • If the error keeps happening with the same file, contact support and include the job ID.

IMP013 - Conflicting Commands Across an Item's Rows

Rows that belong to the same item have different values in the Command column, for example MERGE on one row and DELETE on another. Rows belong to the same item when they repeat the identifier of the row above them (ID, Handle, Email, Name, and so on) or leave it blank, or when a variant [ID] column on a product import matches them to the same product. Only one command can be applied to an item, so the item is not imported and no changes are made to it. The message lists the conflicting commands and the first row that uses each one.

This applies to every data type with multiple rows per item, such as products with variants, customers with addresses, orders with line items, and companies with locations. Translations are the exception: each translation row can carry its own command.

How to resolve:

  • Set the same command on every row of the item, or leave the Command cell blank on every row except the first.

  • If you want per-row behavior, use the row-level command column for that data type instead, such as Variant Command on products. See IMP014 if the first row is the one that is blank.

IMP014 - Blank Command on the First Row of an Item

The Command cell is blank on the first row of an item, but another row of the same item has a command such as DELETE. The command for an item is read from its first row, and a blank cell means MERGE, so the later row's command would be ignored. Instead of silently merging the item, the item is not imported and no changes are made to it. The message names the row that has the command.

This applies to every data type with multiple rows per item, such as products with variants, customers with addresses, and orders with line items. Translations are the exception: each translation row can carry its own command.

How to resolve:

  • Put the command on the first row of the item, or set the same command on every row.

  • If the rows of an item aren't next to each other, sort the file by its identifier column first so the row that carries the command is the first row of its group. Blank cells on the rows below a filled first row are fine.

Job Codes

Codes related to creating and managing import or export jobs.

JOB001 - Concurrent Job Limit

In order to provide a reliable service to all users you may have a limit to the number of jobs you can run at the same time. You can either cancel another job or wait for it to finish before starting a new job.

JOB002 - Maximum Scheduled Jobs

You have reached the maximum number of scheduled jobs allowed by your plan. To create a new scheduled job, you'll need to either disable an existing scheduled job or upgrade your plan for a higher scheduled job limit.

JOB003 - Export Row Limit Reached

Your export has reached the maximum number of rows allowed by your current plan. The export was completed up to this limit, but additional data could not be included in the file.

To export more data, you can:

  • Upgrade to a higher plan that supports larger exports

  • Use filters to reduce the amount of data in your export

  • Split your export into multiple smaller exports with different date ranges or filters

  • Contact support if you need assistance with large data exports

The exported file will contain a message indicating where the row limit was reached.

JOB004 - Single CSV Format Requires One Object Type

The single CSV export format only supports exporting one object type at a time. To export multiple object types, use the ZIP format (matrixify_zip) instead, which creates separate CSV files for each object type in a single archive.

JOB005 - Schedule Not Configured

You cannot enable scheduling for a job that does not have a schedule configured. Please configure the schedule settings (start time and repeat interval) before enabling scheduling.

JOB006 - Data Transformation Failed

A step in the data transformation recipe could not be applied to your export. The export completed using the original data without the transformations applied, and the file was not delivered to a remote connection.

The message on the job names the step that failed by its position and type in the recipe, for example Transformation step 2 (Copy column) failed. When the step can tell why, the message says so. The most common reason is a column the recipe refers to that is not in the export, for example because the export's field selection does not include it, or because the column has a different name in this data type.

To resolve this:

  • Open the transformation recipe and find the step named in the message

  • Check that every column the step refers to is part of the export (compare against the export's field selection or a previous export file)

  • Try running the export without transformations to verify the base export works correctly

If the message gives no reason, the step failed unexpectedly. Please contact support with your job ID so we can look at the details.

JOB007 - Invalid Export Configuration

The export configuration sent to the API is missing or contains invalid values, such as an unsupported filter relation or field name. The error message lists which part of the configuration failed validation and the accepted values.

To resolve this:

  • Check the error message for the configuration path that failed and correct the value

  • Compare your filter relations and field names against the Altera CLI overview and the field reference articles for the objects you are exporting

JOB008 - Unknown Export Filter

An export was created with a filter column that the selected data type does not have, for example a typo such as Bogus or a wrong-case key such as Handle instead of handle. Altera rejects the export instead of running it, because a filter it does not recognize cannot be applied and the export would otherwise contain the whole store.

The error message lists the valid filter columns for the data type.

To resolve this:

  • Use one of the filter columns listed in the error message. Filter keys are lowercase slugs such as handle, created_at, or status

  • In the Altera CLI, run altera ref filters <resource> to see the filters for a resource

  • In an MCP client, call ref_filters for the resource

JOB009 - No Output File Produced

The export finished writing its data, but no output file path was recorded, so the job could not deliver the file or run the steps that follow it, such as data transformations and remote uploads. This is an internal error.

Run the export again. If it keeps happening, contact support with your job ID.

Previous code: TSK001.

JOB010 - No Objects Selected for Export

The export job has no object types selected, so there is nothing to export. Edit the job and select at least one object type, such as Products or Orders, then run it again.

Previous code: TSK002.

JOB011 - Unexpected Job Failure

The job stopped because of an unexpected error before it could finish. This can happen during a temporary service disruption, such as a Shopify outage, while the job is starting up or counting your data.

To resolve this:

  • Wait a few minutes and run the job again

  • Check the Shopify status page if the problem continues

  • Contact support with your job ID if the job keeps failing

Previous code: TSK003.

JOB012 - Results File Could Not Be Written

The import stopped at its last step, where the results file (a copy of your spreadsheet with the Import Result and Import Comment columns) is written. Every row that was imported before that step is already in your store, so do not import those rows again. This can happen when the spreadsheet carries a workbook setting that the file library rejects, even though Excel opens the file without complaint.

If the run was cancelled or reached your plan's row limit before this step, the sheets after that point were not imported.

To get a results file:

  • Open the spreadsheet in Excel or Google Sheets, save it as a new .xlsx file, and import that copy

  • Or export the data type you imported to check the values in your store

  • Contact support with your job ID if it keeps happening

Previous code: TSK004.

JOB013 - Job Run Does Not Exist

A background task was started for a job run that no longer exists. This usually means the job or run was deleted while the task was waiting to start. No data was changed.

If you did not delete the job, run it again. If it keeps happening, contact support with your job ID.

Previous code: TASK001.

JOB014 - Unknown Export Type

When trying to export objects, the provided object type wasn't recognized. Ensure you're using a valid object type (e.g., products or orders).

Previous code: OBJ001.

JOB015 - No Matching Type

Sheet analysis didn't find a matching type for the label. Double-check your sheet configurations or labels before importing.

Previous code: OBJ002.

JOB016 - Unknown Import Type

You tried to import using an object slug that isn't supported. Confirm it's a valid import type (e.g., products, customers).

Previous code: OBJ003.

JOB017 - Unknown Object Type

You attempted to export using a data type the system doesn't recognize. Please try to reconfigure the job and run it again.

Previous code: WRT001.

JOB018 - Unknown Export Type

The export format is not recognized. Currently Altera only supports CSV and Excel files in the Altera/Matrixify format.

Previous code: WRT002.

JOB019 - Google Shopping Feed Only Supports Products

The export uses the Google Shopping Feed format, but includes an object type other than products. The Google Shopping Feed format can only be produced from product data.

Edit the export so that Products is the only selected object type, or choose the CSV or Excel format for the other object types.

Previous code: WRT003.

Did this answer your question?