Skip to main content

Imports

New translation export filters for themes and fields

Two new filters make it easy to export just the translations you need - like checkout strings for a specific theme, or only product titles across all locales. What’s New # Theme ID filter - narrow translation exports to a specific theme using its ID. Field filter - filter translations by field key using equals, starts with, or not equals. Nested coverage - both filters apply to all nested resources including JSON templates, section groups, and locale content. Improvements # Translation filter warnings - the export UI now warns when a theme filter is combined with a non-theme data type.

More metafield type conversions for imports

Altera already converts many metafield types automatically during import - things like booleans, colors, dates, money, measurements, and rich text. This update extends that support to cover more types. Improvements # Link metafields - Plain URLs like https://example.com are now converted to Shopify’s required JSON format with url and text keys. Rating metafields - Plain numbers like 4.5 are now wrapped with the correct scale values from your metafield definition. List types - List variants of link and color types are now converted automatically. Metaobject fields - Metaobject imports now use the same conversion logic as product metafields, so all type conversions work consistently across both.

Better handling of duplicate handle conflicts in translation imports

Translation imports are now more resilient when individual fields fail, and give you clearer feedback when something needs your attention. πŸ”§ Improvements # Handle translations processed separately – if a translated handle fails, the rest of the row’s translations (title, description, etc.) still get saved. Clear conflict warnings – when a translated handle conflicts with an existing handle on your store, you now see a specific warning instead of the entire row failing. Redundant handles skipped – if a translated handle is identical to the default handle, it is silently skipped since no translation is needed. Leading quotes stripped from IDs – spreadsheet apps sometimes prepend a single quote to numeric values in the Identification column. These are now stripped automatically so IDs like '339915604166 are parsed correctly.

Category metafields now work across languages

Importing products with category metafields like “Mounting Type” or “Material” now works even when the spreadsheet contains translated values. Altera resolves the correct taxonomy value and creates the necessary metaobject entries automatically. πŸš€ What’s New # Translated category values – imports with non-English category values (e.g., German “HΓ€ngend” instead of “Hanging”) are resolved to the correct Shopify taxonomy entry. Automatic metaobject creation – missing metaobject entries for category metafield values are created during import, even when values are provided in a non-English language.

Re-run jobs from the CLI

You can now re-run any existing job straight from the command line with npx altera job run <jobId>. Set it up in a cron job, wire it into a CI/CD pipeline, or just trigger an export without opening the browser. πŸš€ What’s New # job run <jobId> – triggers a new run on an existing import or export job. The job runs in the background on Altera’s servers. --wait flag – optionally wait for the job to complete before exiting, with live status updates. npx altera job run abc123 See the CLI documentation for full usage details. Update to the latest CLI with npx altera@latest.

Selective menu item updates and position ordering

Updating menus just got more flexible. You can now selectively add, update, or delete individual menu items without touching the rest of the menu. πŸš€ What’s New # Per-item commands – use the “Menu Item: Command” column to control each item individually: MERGE (default) to add or update, DELETE to remove, and NEW to force-create. Items not in the spreadsheet are preserved – only the rows you include are affected, so existing menu items stay untouched. Full replacement still available – set the menu-level command to REPLACE to overwrite all items at once, just like before. πŸ”§ Improvements # Position-aware insertion – new items added via selective merge now respect their “Menu Item: Position” values and are inserted at the correct location among existing items. Unresolvable resource warning (MENU009) – when a menu item’s resource handle cannot be matched to an existing Shopify resource, the import result file shows a warning (see error codes).

Line item discounts automatically rolled up on order import

Previously, Line: Discount values on line item rows were silently ignored during order import because the Shopify API does not support per-line-item discounts. This meant discount information could be lost when exporting orders from one store and importing them into another – particularly for orders with automatic discounts or script-based discounts that don’t have a discount code. πŸš€ What’s New # Automatic discount rollup – when line items have Line: Discount values but no explicit Discount row is present, the discount amounts are now automatically summed and applied as an order-level fixed discount. πŸ”§ How It Works # Line item discount amounts are collected from all Line Item rows that have a Line: Discount value The absolute values are summed into a single order-level fixed-amount discount If an explicit Discount row is already present in the spreadsheet, it takes priority and line item discounts are not rolled up – the Discount row already captures the total discount for the order, so rolling up both would double-count Negative values (as shown in exports) are handled automatically

Control inventory restocking when cancelling orders

Previously, cancelling an order through import always restocked inventory automatically. Now you can decide whether that happens on a per-order basis. πŸš€ What’s New # Cancel: Restock column – set to FALSE to prevent inventory restocking when cancelling an order, or leave as TRUE (the default) to keep the current behaviour. πŸ”§ Improvements # Backward compatible defaults – existing import files without the new column continue to work exactly as before, with inventory restocked on cancellation. Full cancellation control – use Cancel: Restock alongside Cancel: Reason, Cancel: Refund, and Cancel: Send Receipt for complete control over the cancellation process.

Smarter fulfillment line matching for order imports

Importing fulfillments just got more flexible. You no longer need Line: ID columns for fulfillment line matching, and you can now create multiple new fulfillments on existing orders in a single update. πŸš€ What’s New # Multiple fulfillments on update – use custom Fulfillment IDs like F1, F2 with the UPDATE command to create several new fulfillments on an existing order. Composite key matching – fulfillment lines now match to order line items using a combination of SKU, Title, Variant Title, and Price. πŸ”§ Improvements # No Line: ID required – Fulfillment Line rows no longer need a Line: ID column to match correctly, following Matrixify conventions. Consistent matching across flows – the same composite key logic applies to both new order creation and fulfillment updates on existing orders.

Better validation for customer store credit imports

Importing store credit values that aren’t valid numbers could previously cause confusing errors. We’ve added validation at both the file analysis and import stages so issues are caught early and reported clearly. πŸ”§ Improvements # Store credit validation – file analysis now checks that Store Credit: Amount and Adjust columns contain valid numbers. Clearer error messages – invalid store credit values now report the exact problematic value and row number.