On this page, you can see a list of all released changes in the Matrixify app.
To get notified about the changes as soon as they happen, follow Matrixify Slack workspace #whats-new channel.
- Import Customers: when setting the
Email Marketing: Status, but not
Email Marketing: Levelis not specified, then assume it is
single_opt_in. That is – to avoid failing because of Shopify API validation.
- Export & Import: set the Option to specify which time to use for file name dynamic placeholders –
Started At (Default)or
- Export & Import Companies: columns [
Location: Shipping/Billing First/Last Name] changed to [
Location: Shipping/Billing Recipient] because of Shopify API changes.
- Fix: Import Orders & Draft Orders: when aggregating the same Line Items into one Line Item – also compare additional Line columns.
- Import from Zip: sometimes zipped Excel file was falsely detected as Excel.
- Import Metafields: auto-detect if there is a Metafield Definition for this Metafield in the Admin – and if there is, then use the Metafield type and correct UPPER/lower case name from the Admin Metafield Definition.
- Import: increased max allowed total files size inside the zip file to
30 GB, so that you can do larger migrations to Shopify.
- Import Orders & Draft Orders: squash several identical
Line Itemrows into one, summing the quantity and discounts, to avoid confusions when need to create Fulfillments and Refunds for those Line Items.
- Fix: Import from WordPress: was failing to download images with international file names with the error “URI must be ASCII-only”.
- Fix: Settings -> Servers: when checking the FTP/SFTP server connection, then should not fail if
/has no permissions.
- Import Orders: matching Refunds to Transactions – do not force the gateway to match strictly if it starts with
- UI All Jobs: improved performance for filtering by Job State.
- Import: Customers: workaround to set and change the
Email Marketing: Statusand
SMS Marketing: Status.
- Import Blog Posts: if the import has Blog attributes of a non-existing Blog, then create a new Blog and move Blog Posts to that (instead of updating existing/first Blog like it was till now).
- Import: maximum allowed upload file size increased from 3 GB to 7 GB.
- Export Discounts: added new export-only column
Status– shows discount status as
- Export Discounts: New filter
Status– available conditions
- Fix: Import Orders from WooCommerce: do not multiply Line Item weight with quantity for
Line: Gramsfield, because Shopify already does that.
- Import Metafields: change maximum allowed namespace length to
255, and key length to
64characters, to match changes in Shopify.
- Fix: Import Orders: match Line Items even if title has named character references like
- Export Orders & Draft Orders: added new column group [
Companies] – to include Order related Companies columns.
- Fix: Import from FTP/SFTP: improve parsing the credentials from URL if password contains #.
- Fix: Import from URL: do not interpolate date for escaped characters in URL.
Limitedbadge for limited Exports, adjusted colors for badges in Jobs list.
- Fix: Import from filenames with non-English characters were sometimes failing.
- Import Metafields: when specifying Metafield type as
number_integerwith float value like
5.12345, then round it to an integer.
- Fix: Import from FTP/SFTP: in some cases we could not download or import files with
+in the sheet name.
- Import Products: When deleting all variants, then keep the last variant all fields, but set Options to “Default Title”. This is to match exactly how Shopify Admin “Delete All Variants” is working.
- Export Orders & Draft Orders: new column
Line: Discount per Itemfor Orders and Draft Orders.
- Export Orders: new column [
Line: Discount Allocation].
- Fix: Import: in some cases, if time value was with time zone specifically
+0000, then we assumed it has the Shop time zone, not the UTC. Now it’s properly UTC.
- UI: All Jobs: improved jobs filtering by filename prefix – now it should filter jobs much quicker.
- Fix: Import Products: be able to link images to variants when creating new product with images of “empty”/strange file names like
- Fix: UI: All Jobs: allow to clear the file name filter text by pressing the (x) button.
- Fix: Import Companies: there was error [
unexpected keys] from Shopify when sending empty value for [
Customer Since] column.
- Import Orders from WooCommerce API:
- Fix: if
coupon_codesare empty then assume the Discount from the
- When [
Billing/Shipping Last Name] empty, swap it with First Name because Shopify requires Last Name.
- Fix: if
- Import Metafields: convert [
date] and [
date_time] Metafield types to ISO format as required for Shopify.
- Export: added additional date format for UK:
d/m/Y. If you choose this date format, then be sure not to import this file in Matrixify, because auto-detecting date format will confuse it with US format which is
- Fix: Migrate Products from Magento: product prices taken from options did not take into account special price expiry date.
- Import Products from Magento CSV: Take [
Body HTML] also from Magento [
short_description] column if [
description] is empty.
- Import: Magento Orders – ability to switch to import order prices without tax included. Ask our Support if you need to enable this for your store.
- Import: do not give warnings about assumed Commands when creating new items – to cause less confusion.
- Import: upload file size limit increased from 2 GB to 3 GB.
- Fix: Export to Excel – when option was set to add apostrophe prefix for Numbers, it was showing 0.00.
- Import Orders from WooCommerce API: pass the URL query parameters [
since] and [
order_status]. Also, you can combine
order_statusquery parameters to migrate Orders for a date interval.
sinceincludes the date (as
beforeexcludes the date boundary (as
<). Dates need to be in ISO format, UTC time zone – like this:
- Fix: Export: format all the amount columns as
0.00– in Excel and in CSV. Even if prefixed by
- Import: improved stability for uploading files with the browser – will retry several times if your internet connection is unstable or dropping.
- Import: do not show the warning about the “Assumed Tags Command” when creating new items, because it might be confusing in that case.
- Import Companies: if there is an error then tell more precisely which Location or Company/Contact has that error.
- Export Orders: include
Line: Discountvalue also for
- Export & Import: B2B – Companies: usability improvements and bugfixes:
- Renamed “Customers” column group to “Linked Customers” to better indicate that you can link customers to Companies, but cannot create new Customers with Companies sheet. To create new Customers, use the “Customers” sheet.
- Can replace all Locations in Company – even if there are already maximum limit of Locations created.
- Can remove the Main Contact even if it was not mentioned in the Company Customers columns.
- Company import will fail if updating Location by Name, but there are several Locations with the same “Location: Name”.
- UI: You can now open the Job in new tab – by
Ctrl+Click(on Windows) or
Cmd+Click(on MacOS) on the Job #id link. Or you can right-click on that Job #id and choose from the menu to open in new window/tab, or copy the link to this job. Pro tip: if you additionally hold the Shift key, then it will open in new Tab/Window, and activate it too (on Chrome).
- Export: for running or finished Export jobs – you can see which column groups were not selected (previously we were showing only those column groups that were selected).
- Migrate from WooCommerce: continue importing Products the next day if exceeding daily Shopify Variant Limit.
- Import: show error that comes from Shopify if item import or deletion failed (instead of sometimes showing generic error that something went wrong).
- Export: you can now go to “Customize Columns”, click on the pencil icon for any Command column, and select a custom value for that column in the export.
- Export & Import: new entity Companies for Development and Shopify Plus stores (the Companies section is available in Shopify Admin only for those shops).
- Export & Import: Files that are video links (via “Files” sheet).
- Import: accept .xlsx files that have MIME type application/wps-office.xlsx.
- Import: Assume
MERGEvalue as the default for
Tags Commandif file imports
Tags Commandis empty or not in the file. Show warning if app assumes
Tags Commandvalue to inform about the change in logic. This logic has changed for your safety. To replace
Tags Commandto value
- Export: Orders: Ability for Matrixify support to enable a feature to all store Order exports fill Basic Columns in all rows for the order not just first one. Ask support if needed.
- Migrate Customers from Magento: save the
Magento Address: euvat_vat_idcolumn,
Metafield: magento.created_at [date_time],
Metafield: magento.last_order_date [date_time].
- Import: reverted the Shopify API workaround for
Variant Weight Unitchange that removed InventoryItem – because Shopify fixed the issue now.
- Import: Give better error if the file contents are not right.
- Import: Tell in the error if the Google Sheets link is not shared publicly, and thus cannot be read for the import.
- Export Customers:
Accepts Marketingcolumn is removed, and changed to column
Email Marketing: Status. Imports continue working also with the old
Accepts Marketingcolumn, too.
- Fix: Export Collections: was not including all linked products because of Shopify API issue, made a workaround.
- Fix: Export Products, filtered by Collection and Status was not getting all the products in the collection, because of bug in Shopify API.
- Import Draft Orders: give warning if shipping line was not created by Shopify, because Shopify ignores Shipping Line if there are no shippable line items.
- Import: ability to set shop default value for Option “Transliterate Handles to English”. To change the default value for your store, please, ask Matrixify Support.
- Export: Option to include the apostrophe prefix for numbers – to avoid Google Sheets converting prices to dates.
- Import Products from Magento: put
country_of_manufacturevalue to [
Variant Country of Origin]; save simple product price in Metafield and respective Variant Metafield (because we take the configurable product price by default and adding adjustments to it – this shows to be the most correct in most cases, but just in case, you can use the values from the Metafields)
- Import Products: Allow importing country name in [
Variant Country of Origin] column (previously it required 2-letter country ISO code).
- Fix: Import Orders from Magento DB: be able to convert serialized PHP object that has a newline in it.
- Import Orders: allow creating Transactions with empty gateway (when
Transaction: Force Gatewayis
TRUE), and also match refund transactions with no gateway.
- Export Customers:
Email Marketing: Statuscolumn takes the data from from new Shopify attribute
- Export Orders: added new coluns
Price: Total Discountand
Price: Total Shippingcolumns.
- UI: Export: show indeterminate checkbox state for groups if not all columns are selected.
- Import Products: ability to set the default
Draft) for a newly created Product (ask Support if you need to set it for your store).
- Import from Turn14: take the price from MAP price at first. If MAP price is empty, then take the cheapest from Jabber and Retail price.
- Fix: Import Products: Shopify API has a bug that when setting
Variant Weight Unit, then
Variant Costdisappears for that variant – we made a temporary workaround and reported the bug to Shopify.
- Import from Turn14: take the
part_numberfield (instead of
mfr_part_number) – to have unique SKUs; Add MFR SKU to Tags and to
- Fix: Import Products: if Shopify changed the Handle to something else, then we generated Redirect to the Original Handle.
- Fix: Import: detect the file as
Filesentity if the file name contains [
files] word (but not the
- UI: Export: show filters when Sheet collapsed; select column group when clicking on whole column group row; Customize Columns collapsed by default.
- Import Orders: if having error when putting all OrderFulfillments in one Fulfillment, then split Fulfillment by separate OrderFulfillments. So, if you fulfill the whole Order, but actually get 2 Fulfillments created, it means that Shopify was not able to join all of the Line Items in one Fulfillment – they needed to be fulfilled separately (e.g. if you have one of the Line Items as a subscription item).
- Fix: UI: Export: date filters should work with Shopify store time zone, instead of computer time zone.
- UI: show which job files are deleted (when re-installing the app after the historical files were purged).
- Import: validate image links more strictly before sending them to Shopify (also increase the feedback speed when image links are coming from unknown hosts).
- Export: enable to include Metafields in all rows for specified entities (ask Matrixify Support if you need it enabled for your store).
- Fix: Migrate Orders from Magento: take the [
Fulfillment: Processed At] at first from the shipment file.
- Export Orders & Draft Orders: Additional columns [
Line: Variant Price] and [
Line: Variant Compare at Price] in group [
Line Item Product Data].
- Import Orders: fulfill remaining Order based on Line Items grouping by new OrderFulfillments – to be able to fulfill subscription Line Items in the same Fulfillment with the other Line Items.
- Fix: Import Blog Posts: was failing when there were many Comments.
- Export Files: 3 size columns with data from Shopify, much faster:
Size(human readable). Also can filter by
- Fix UI: “Contact Support” button was not working due to Shopify UI library issue which we have reported.
- Import Metafields: allow to import with type prefix [list.] for all Metafield types.
- Import Products: allow several repeated columns with the same names [Image Src, Image Alt Text, Image Position] to import several images.
- Import Products: support the Shopify CSV coming from Banggood.
- Import: do not complain that columns are not valid if Shopify CSV file has [banggood] in the name, but it’s not a Banggood file.
- Export Orders: calculate total refunded amount correctly if refund transactions are in different currency.
- Import Orders from Magento DB: parse Payments
additional_informationcolumn also as JSON string.
- Fix: Migrate Orders from Magento DB: parsing of
nullvalues in additional_information. Also, ignore any values that have
nulltext in them.
- Import from WooCommerce: limit description size to 1 MB and maximum 100 images per product; for relative image links – assume the source server.
- Export Payouts: do not request Orders data if columns
Transaction: Source Order Name,
Transaction: Source Order Checkout IDare not included – to make the export much faster, do not include those columns.
- Migrate Orders from WooCommerce API: ability to work with two different structures of
_wc_shipment_tracking_itemsmetafield | Fixed
Fulfillment: Processed Atdate format.
- Import Orders: fail the Order if there are Transaction columns filled for the
Refund Linerow – to avoid making an error, because we ignore the Transaction columns for refund lines. To refund a specific amount, you need to provide the row with
- Migrate Orders from WooCommerce API: ability to work with two different structures of
_wc_shipment_tracking_itemsmetafield | Fixed
Fulfillment: Processed Atdate format.
- Shopify API migrated to version
- Fix: Import Products: new Metafield type
- Fix: UI: All Jobs – show job filter State counts for all jobs, not just for the first page jobs.
- Fix: Import Products: further improved matching imported source image URLs to Shopify CDN images – by removing all GUIDs, not just the last one.
- Import: give warning about repeated ID or Handle due to wrong sorting in respective Import Results rows (also for Dry Run).
- Import Images: better match images to existing ones, and to variants (e.g. when image filename has additional dots in it, and Shopify sometimes converts it to _, but sometimes keeps the .).
- Import Metafields: new Metafield type [list.single_line_text_field].
- FTPS: use implicit mode when connecting to port 990, and fall back to explicit FTPS if implicit is failing.
- Export & Import Options: additional dynamic placeholders for custom filename –
- Fix: Import from Google Drive: determine file extension from the Mime Type if the file does not have an extension.
- Fix: Import from Google Drive: because of occasional [403 – Forbidden] error – download files from Google Drive using the Google API.
- Import from Google Drive: allow to share files privately with Matrixify – just share your Google Drive file with e-mail [email protected] with Viewer permissions.
- Migrate from WordPress, WooCommerce, BigCommerce: when downloading images – add -1 suffix to filename even if image has different capitalization, because otherwise Shopify would treat them as duplicates.
- Export to Google Shopping Data Feed: option to include values from Standard Type (need to check the box in the Export to include the “Standard Type” column group, then it will be a bit slower, as it needs to read each value separately from Shopify API).
- Fix: Migrate Orders from WooCommerce API: improved logic for determining amounts for Stripe payments.
- Import Orders: require
Line: Quantityvalue for
- Import from WooCommerce: migrate product attributes to Metafields in
- Import from WooCommerce: include hidden attributes into Metafield woo_attribute_hidden.
- Import from WooCommerce: improved downloading the same image for different sheets.
- Import from WooCommerce API: try to convert Visual Composer descriptions to HTML.
- Import from WooCommerce: added column [Woo: Description] to show the original HTML that we got from the API, with unconverted Visual Composer and links.
- Fix: Import from Google Drive: retry downloading the file if Google Drive is giving error 403 – Forbidden.
- Import from WordPress: ability to switch off automatic conversion from Visual Composer for specific shops (ask Support if you need to).
- Migrate from WordPress/BigCommerce/LightSpeed: if there are images with the same filename from different paths, then rename those images so that they are unique.
- Migrate from WooCommerce: squash Metafield columns that have numbers in their names to one Metafield.
- Fix: Migrate from WooCommerce: it was not possible to get the Weight Unit if the API JSON response had unexpected
<script>HTML tag in it.
- Import Orders: retry when getting Shopify API error
array contains unpermitted members.
- Migrate from WordPress: also download images from
Image URLcolumn in the AllExport CSV file, and replace their URLs in HTML, and create respective Redirects.
- Migrate from WordPress, WooCommerce, BigCommerce, Magento, LightSpeed: better convert image links also in other HTML tags, and ignore http(s) differences.
- Fix: Import Customers: sometimes was giving error
undefined method merge for nil:NilClasswhen setting
SMS Marketing: Status.
- Migrate from WordPress, WooCommerce, BigCommerce: generate redirects also for image links.
- Migrate from BigCommerce API: take the SEO Metafields from
- Fix: Import Product Images: was sometimes failing on files with different URLs but the same file names.
- Upgrading our job scheduling server, so the scheduled jobs scheduling will get delayed for some 10 minutes, and then will return back to their usual schedule (upgrade went good without noticeable issues).
- Fix: Import from exported Matrixify CSV: we were giving error that there is no newline if there was 1+ MB of data in just column names, first row.
- Fix: Import from WooCommerce: Dry Run technical errors.
- Migrate from WooCommerce: improved getting data from API – even if it is giving different data per page, also avoid duplicates.
- Fix: Import Products: set the
Variant Requires Shippingor
Variant Taxableeven if either of those are the only columns for variants.
- Import Products: better attach new images to variants – even if new images have the same (duplicate) file names, and redirects.
- UI: Fix – when canceling the job in the job list, the spinner was shifting to the next job in the list.
- Export Orders: Guess the
Transaction: Authorizationvalue from the transaction receipt if authorization is empty.
- Fix: Import Products from Magento: in CSV file the
\before closing quote got interpreted as escaped quote.
- Export Discounts: new filter conditions – [
starts with any of,
contains any of].
- UI: All Jobs – optimized performance for filtering jobs, even if there are very many Import/Export jobs in your store.
- Fix: Export Discounts: we were exporting just the first 250 Discount Codes for each Discount. Now exporting all of them.
- Fix: Import Orders: Order Source was changed to
Matrixify Appby default when updating order and not importing Source column with a value.
- Fix: when importing Draft Orders we were indexing existing Draft Orders in shop. If existing Draft Order count exceeded the maximum import limit allowed by the plan, we gave a warning that the import is too big (even though it wasn’t).
- Fix: Import Draft Orders: retry up to 10 times if getting Shopify API error
This order has not finished calculating, please try again laterwhen completing the Draft Order to Order.
- Export & Import Customers: New E-mail and SMS Marketing columns:
Email Marketing: Status,
Email Marketing: Level,
Email Marketing: Updated At,
SMS Marketing: Status,
SMS Marketing: Level,
SMS Marketing: Updated At,
SMS Marketing: Source.
- Fix: Import Customers: do not go into a limbo if cannot replace a Customer because its e-mail already exists, but cannot find it by e-mail to delete.
- Export: Orders & Draft Orders: new export only column total of all taxes per line –
Line: Tax Totalfor Orders and Draft Orders.
- Import images from URLs that have redirects, including images from Google Drive – Shopify fixed the issue, so images are importing now properly, as they should.
- Export & Import: Smart Collections – support
Is Not Emptyconditions for
Variant Compare At PriceRule.
- Fix: Import & Export: Product Standard Type columns can now be imported (as Shopify fixed the API issue).
- UI: Optimized “All Jobs” filter by filename – works better for shops with very many jobs. If your search gets stuck, please, contact our Support.
- Now you can have a bookmarkable link to each place inside the app. For example, you can bookmark the “Export Again” page of any previous job – to use it as a template for your typical exports. Or, for example, you can bookmark a page with specific All Jobs filters.
- Import: retry up to 10 times when searching by Handle and found more than 1 – because lately Shopify API responds with all results if filtering by Handle.
- Import Orders: improved speed and reliability when searching Orders by Name – searching only by one GraphQL method, and retrying only if query took too long.
- Import & Export Products: slightly improved speed when importing/exporting Multi-Location Inventory Levels.
- Fix: Import Orders: match capture transactions to authorization directly, if there is just one authorization transaction.
- Fix: Import Orders: match capture transactions to authorizations – only to those with
- Export Orders: new column
Line: Pre Tax Price.
- Fix: Import Orders: with multiple threads was not able to find locations for first Orders, until locations got loaded in the background.
- Export & Import Orders: new column
Transaction: Parent ID.
- Import Orders: always generate the unique
Transaction: Authorizationvalue within that Order (if it’s not provided as unique already), because Shopify requires that.
- Import Orders: match Capture transactions to Authorizations by
Transaction: Parent IDcolumn values, because Shopify requires that.
- Fix: Import Products: Metafields had error if importing Products with Metafields and specific variant positions.
- Import Orders: give a warning if unable to restock Line Items when doing a refund with
TRUE. E.g. when that item is not stocked in the specified (or default) location.
To restock Line Items at a specific location, specify the location in column
Refund: Restock Location.
- Fix: Import Customers: sometimes when updating the Address, the Province was lost. While fixing this, we also made recognition of Countries and Provinces better.
- Import: if the file has so many items that it exceeds “per file” limit, then give a warning about it when estimating (before pressing the Import), so that you can know in advance that the file will be cut off at the “per-file” limit.
- Import Orders from WooCommerce: now taking also fulfillment tracking details from default WooCommerce tracking meta-data.
- Import Orders: improved searching Orders by Name, following the Shopify API changes.
- Export & Import Discounts:
Buy X Get Ydiscount type now works when
Customer buysis set to
Minimum purchase amount.
- Fix: UI: App was not loaded with styles on some browsers.
- Import Products from WooCommerce: mapped WooCommerce product statuses more precisely to Shopify Product Status.
- Fix: Import Products: protect if Shopify is returning all products in some cases when searching by Handle.
- Fix: UI: if you deleted the FTP/SFTP server in Matrixify Settings, and then opened the previous job which was using that server, then the app UI crashed, and you had to reload the page.
- Import from URL: assume that URL exists if it returns code
501 - Not Implemented.
- Fix: Export & Import Products:
Standard Typechanges in Shopify API – export works now, but the import is not – waiting for an update in Shopify API. Currently – when we are setting this new field value, it’s being ignored. At the moment we will give you a warning when importing the
Standard Typethat this value might not be set – please, check it in your Admin.
- Fix: Import Files – support URLs with spaces.
- UI: Better readable error and warning messages in jobs.
- FTP: improved stability of uploading and downloading files – retrying on more network errors.
- Import Orders: when importing from Google Sheets, remove the
.0from the Order Name if it is a number. Because, for example, if you write a value
1001in Google Sheets, then it automatically gives it as
So for Order Name it could mean that we didn’t find the Order with the correct name. Other way to avoid it is to set the column type to Text in Google Sheets.
- Import Orders: optimized searching Orders by name – to be as quick as possible, but also in a more reliable way.
- Fix: UI: there were sometimes errors when moving Export columns.
- Import from WooCommerce: the ability to specify the
?product_status=to migrate only products with specific statuses (can add several with a comma).
- Import: Products: ignore the
Variant Imagecell by setting the value
[IGNORE]– this gives an effect as if there was no such column in the file for this row, so we will keep the existing Shopify value for that variant image.
For example, if you don’t know the Variant Image for that specific variant, but want to add a new variant with its own variant image, and update other variant attributes at the same time.
- Import: Metafields: allow metafield column names to be lowercase / not case sensitive.
- Export: Metafields: set to include only specific Metafield columns by new Shopify Metafield types.
- Fix: Import Products: setting Variant Metafields when some of the deleted variants actually did not exist.
- Import: Products and all other entities with Handle column: give warning if Shopify transliterated handle from international characters to English characters. This issue in Shopify Forums thread.
- Fix: Export to Google Shopping: was too slow when not including Metafields.
- Export: Google Shopping: dynamically adding columns of all Metafields in the mm-google-shopping namespace.
- Migrate Orders from Magento DB: taking
Customer: First Name,
Customer: Last Namefrom order-level email field, and if there is no e-mail, taking them from billing address – to not attach Order to the billing-address customer, if this is a different Customer than the Order E-mail.
- Export: Orders: Fallback to UTM values from [order.referring_site] if [order.landing_site] has no UTM values.
- Export Orders: Added
Physical Locationcolumn, taken from [order.location_id].
- Import Orders: finding Order by name with two methods – to decide which is more stable (Orders import by Name will be a bit slower for this week).
- Export & Import Product Standard Type: Product Taxonomy file updated.
- Import from URL: follow the URL redirects which requires passing cookies from
- Import from Microsoft SharePoint URL
sharepoint.com– be able to download the file from it.
- Fix: Import Products: was failing with [Metafield: Type cannot be blank] when adding Variants with Metafields.
- Import Orders: when searching by Name – if there are more than one Order found, then fail.
- Fix: FTP – was not able to connect to server that returns error 502 for MLST/MLSD commands.
- Fix: Import Metafields: no implicit conversion of Symbol into Integer.
- Giving warning after analyzing the file if there are Handles which contain non-English characters, which might get transliterated. You can switch off the transliteration in the Import Options – scroll down on the same page. Also, improved color-coding for errors and warnings, and showing separately for each sheet.
- UI: Export: When selecting columns, do not automatically add any related columns – show them as suggested columns which you can accept.
- Fix: Import: Metafields: Properly validating multiline json string Metafields.
- Security: enabled Permissions Policy for web browsers – to assure you that we will never request access to any peripherals or services like your GPS coordinates, speakers, etc. The only allowed browser permissions we keep is access to clipboard – to allow you copy/paste in the app.
- Import: should not assume as Files sheet if the file/sheet name contains [file] word (singular).
- Export: Option to add apostrophe
'prefixes to values.
- Import: Option to remove apostrophe
'prefixes from values.
- Fix: Export to non-Matrixify formats sometimes did not include all the columns.
- Fix: Import: DraftOrders: should not index Draft Orders if the duplicate check is disabled (even if Name column is present in the file).
- Fix: Import Customers: set
Address: Provincewhen replacing the address, and not providing the
Address: Province Code.
- Fix: Export Products: Standard Product Type was failing because Shopify changed their API. Please, restart any exports where you need Standard Product Type that have failed.
- Fix: Export: stop exporting when the plan limit is reached, instead of iterating through all items.
- Export & Import: Files (those in Shopify Admin -> Settings -> Files). Read documentation.
- Import Orders: when searching by Name, try searching multiple times. Will make Orders import a bit slower, but a bit more reliable – to avoid duplicates.
- Fix: Import Products: Standard Type importing was failing if a product had images.
- UI: Settings: Additional explanation about Private Apps API call limit.
- UI: Jobs: show more precise % for API call increase, considering if this is a Plus or non-Plus store.
- Import & Export Products: Standard Type columns –
Type: Standard ID,
Type: Standard Nameand
- Import Orders from WooCommerce: add Fee lines as Line Items.
- Fix: Import Products from Magento: Metafield columns got duplicated if the same fields were as custom columns and in additional attributes column.
- Fix: Import Products from Magento: should not generate Redirects for Products that don’t have a Handle.
- Import: Orders: import tax from Order-level Tax columns if there are no Line Item Tax values, and auto-distribute the Tax across taxable line items.
- Import Orders from WooCommerce: added Order-level Tax.
- Fix: SFTP: retry on a timeout of [execution expired] when determining an entry type (e.g. on CouchDrop SFTP).
- FTP: retry to download or upload a file when getting EOFError – end of file reached.
- Fix: Export & Import: e-mails about the started job were not sent.
- Fix: Export to UPS WorldShip: we did not include <VendorCollectIDNumberExempt> element in some cases when it was needed.
- Fix: FTP: improved work with FTP server types that don’t support MLST/MLSD.
- UI: Settings for Servers: tell that SFTP private key should be generated without a passphrase.
- Fix: FTP – could not connect to a certain FTP server type – saying
[500 'FEAT': command unrecognized].
- We made a change that makes the connection to Shopify API faster and more stable, so jobs should be running slightly faster, and be less “stuck” than before.
- Fix: UI: Export options time format dropdown was disabled for CSV if it was set to Excel friendly in Excel format.
- Fix: Export Products: plan limit was reached too soon when filtering by Metafields.
- Export to UPS WorldShip: Added <VendorCollectIDNumberExempt>=Y to <ShipmentInformation> to comply with new EU VAT regulation – for shipments to EU, GB, NO.
To include the IOSS number in the XML file, please, sent it to our Support.
- Import: Orders: Importing
Phonecolumns on Order level. Improved customer attach/detach logic for the Order.
- FTP: improved work with different FTP server types, e.g. couchdrop.io.
- Fix: Charge: App was showing a blank screen after approving the app charge.
- Import Orders: guarantee that we will find existing Order by Name which has a space in it (workaround for Shopify API defect in their newest API version).
- UI: Upgraded Shopify AppBridge to version 2.0.4.
- Fix: UI: show proper error if the specified URL is not valid – for uploading files, and for Export and Import options.
- Removed unnecessary Shopify API access scopes.
- Import: give more meaningful errors about missing or duplicate columns.
- Import: Magento Orders: convert HTML to plain text from history comments in Note field – to make it more readable.
- Fix: UI: sometimes the file was not downloading from the app – showing Forbidden, when files were private.
- Fix: When selecting the “Schedule on” date on the computer where the time zone is ahead of the Shop time zone, could not select today’s date.
- Fix: Import Products: image was not properly linked to Variant if image filename did not have a file extension.
- Fix: Export: Discounts – some items were failing when Prerequisite Subtotal Range was defined in Shopify API in an undocumented way.
- UI: Show file copy icon as a lock if Public file downloads are not enabled.
- Return HTTP 403 if the file is not found or public downloads are not enabled.
- Export & Import Draft Orders: New column
Charge Taxes, to set the inverted tax_exempt field.
- Fix: Import Orders & Draft Orders: be able to match line items even if those have escaped HTML symbols like
- Export: Metafields where namespace or key differs from other Metafield by just a special symbol or extra space are now exported as separate columns. Previously – they were treated as the same Metafield.
- Export to CSV: if custom delimiter, newline or quote is empty, then reset to default.
If need to have no quote symbol, then in Options deselect the “Force quotes” checkbox – then there will be no quote symbol (unless the value contains the delimiter, then it will be put in quotes, otherwise it would offset the columns with extra delimiter).
- Fix: Export Orders: sometimes got the
invalid byte sequenceerror when including Browser columns with UTM tags.
- Export Orders: added separate columns for [
Phone] and [
Customer: *] columns).
- Fix: allow export custom file name to include square brackets
- UI: Show date attributes for Jobs more logically.
- UI: All Jobs – improved loading speed and filtering of all jobs.
- Fix: UI: Export on Safari: selecting an entity app moved the selected entity to the end of the entities list, but now it stays at the same place on the screen.
- Fix: Import Products: HS codes could not be imported for some stores because of differences in versions of Shopify stores.
- Fix: Import Products:
Variant HS Codecan now have any additional symbols, keep only digits.
- Fix: UI: filter calendar week to start with Monday (to be consistent with Shopify Admin).
- Fix: UI: All Jobs filter by date range to include also jobs from the last day.
- Fix: UI: When canceling a scheduled future job, make it not appear on top of all other jobs anymore, but show sorted by the date when it was canceled.
- Export: Google Shopping Data Feed: Added columns
- Fix: Exporting to Custom File Name that includes
:returned an error for the export job. Now will get converted to
-as other special characters.
- Migrations: improved that import from Dry Run results file or no-Dry Run (direct import from another system) produces the same result in Shopify after importing.
- As we are rebranding to Matrixify, we have changed the app URL from
It also means that the file download URLs have changed respectively.
All the previous file download URLs will continue working, so you shouldn’t feel any changes.
- Download files much faster by redirecting to temporary download URL directly on S3 (HTTP 307).
If you have some scripts that cannot follow HTTP redirects, then please ask our Support – we will enable downloads for your shop without redirecting. But now downloads will be 50x faster than before.
- Export: new Option – Prefix phone numbers with apostrophe
'(more Excel-friendly) – so that you can switch it off.
- Migrate from WooCommerce: recognize also weight unit
- Fix: Migrate Orders from WooCommerce: take into account if the tax is included in Line Item price when calculating Line Item price for Shopify.
- Import from URL: stop the repeated job chain if the source file was permanently deleted – with HTTP 410 status (typically deleted Google Sheet).
- Fix: Import from Google Sheets: Some Google Sheet links were returning an error
URL does not exist. Changed URL app uses to download Google Sheets Excel file.
- Fix: Migrate from WooCommerce: ignore
pa_optionmetafields to make fewer Metafields.
- Export & Import: Metafield new type
- Import: improve file upload speed and stability.
- Fix: Showing proper error message if the downloaded file is empty.
- Import & Export: Products: Ability to import and export
Variant Province of Origincolumn.
- Import: Handling empty values in numeric cells in Excel files and passing excel parsing errors to the user
- Fix: Import: WooCommerce Products: Only importing trash products if they are supported by the server and ignoring the otherwise.
- Import: WooCommerce Products: Importing trash products from WooCommerce as Archived in Shopify.
- Import: WooCommerce Products: Save Product dimensions into product and variant metafields.
- Import: Magento Orders: Saving store_id into order metafield
Metafield: magento.store_id [integer].
- Import: Shop: detect as the Shop sheet if has the shop word in the sheet name, and no other words (can have other numbers or special symbols in the sheet name).
- Allow creating 10 jobs per minute, separately for batch and non-batch jobs.
- Fix: Import – retry if getting error 520 from Shopify which means “Unknown Error”.
- Fix: Migrating files to new storage – Downloading file from a link without job id parameter was downloading an old migrated file which was considered the newest file.
- Import: Products: match Variant
Optioncolumns more precisely, and ignore if they have any extra words.
- Import: Allow importing files with non UTF-8 characters in the file name.
- WordPress Migration: improved stability to download images.
- UI: Pause the job progress refreshes after 10 minutes of inactivity – saves your network traffic. Resume when moved the mouse.
- Fix: Import Products: improved variant sorting by positions when adding new variants or updating existing variants to an existing product.
- Fix: File uploads longer than 1 minute were failing with internal server error.
- Fix: Import: Understand the date fields where time is one number without leading 0, like
- Fix: It was not possible to re-install the app if it was uninstalled earlier.
- UI: app is no longer using 3rd party cookies; now you can use Matrixify app on several stores at the same time in the same browser (separate tabs).
- Export Orders: do not export Discount Line with duplicate script discount which is already on Line Item level.
- Export Filters: check that the filter condition
contains all ofmatches in the whole list, not just in a single element.
- Export Filters: validate date to be in a normal human date range.
- Fix: Import Products: Variant Metafields failed with an error if there are more than 1000 Variant Metafields to update.
- Import: fail if importing Shopify Admin exported Orders or Draft Orders because those files lack significant details. Use Matrixify exported format instead.
- Import: Show warning if Command
REPLACEis being used – to bring attention that this will delete those existing items.
- Import: Imports in general made faster, to utilize Shopify API call limits smarter.
- Import: Discounts: import speed optimized by making fewer API calls.
- Import: Orders: do not retry creating new Order if Shopify API is responding with error 5xx – to avoid creating duplicate.
- Import from ZIP: Detecting encoding for each CSV sheet instead of once per import.
- Import from URL: when importing from a URL that does not return importable data assume the file is Unknown and be clear that we cannot import that.
- Import: Products: be able to import Variants with each having 1000+ Variant Metafields.
- Import: show more understandable [From URL] names for repeated imports from Google Sheets, Google Drive, Dropbox, and Matrixify links.
- Import: Products: Improve update speed by not reading inventory levels when it’s not needed to be updated.
- Import & Export: Orders: new column
Refund: Generate Transaction–
TRUEgenerate refund transactions even if there are no Transaction data linked to the refund in the file; exported as
FALSE, import default
- Fix: Job Scheduling: for jobs with repeating intervals over 1 month it was sometimes fluctuating by 1 day because of daylight saving.
- Fix: Export: Orders – was failing if there was an empty response with transactions from Shopify.
- Fix: Import Metafields: if Command was NEW, but the item already existed, it still updated the Metafields of the existing item, but now it will not anymore.
- Fix: Import from Turn14 was failing.
- Import: Discounts: Optimize speed by not searching related items which are already found, and failing faster if something is missing.
- Import: Do not retry if getting
HTTP 502error from Shopify when creating new items – to avoid duplicates.
- Fix: Export Filter by Metafields: was not working if Metafield namespace or key were not in lowercase.
- Import from Google Sheets: retry downloading the file up to 10 times if any cell in the first 2 rows has value [
Loading...] – to avoid the Google Sheets defect that it is giving the file before completing formula refresh.
- Import: when specifying the wrong value for
Inventory Available: ...column – then show that column in the UI errors during the import.
- UI: Allow to upload only files with acceptable extensions –
- Update app to Shopify API version
- Export Options:
Time formatOption to choose Time format for all date & time columns.
- Export: Include entity name in the exported file name if exporting a single entity with unzipped
- Fix: Import: Products: Was failing when option value ends or starts with space.
- Fix: Import from URL: Importing with escaped characters made more reliable.
- Fix: File upload: Take file name from path only if the path exists.
- Fix: When exporting or importing files of the same name – the ability to download that specific file version that was exported or imported for that specific job. (For jobs that are created after 2021-05-28 11:00 UTC).
- UI: Rearranged Import Options more logically.
- Import: BigCommerce API: migrate BigCommerce
- Export: unified all date column formats to be ISO standard. Option to export date as Excel friendly – for reports and local regional formatting.
- Fix: Importing CSV file with Results file set to Excel – cut the sheet/tab name to 31 characters, to fit in Excel sheet/tab name limit.
- Fix: When the sponsor shop changed the plan after 30 days, the sponsored shops got detached automatically but had to stay attached.
- Import Options: Ability to specify the Result file type – Default, CSV or Excel.
- Fix: Import: limit Import Result column length to 1000 characters – to not overwhelm storage if having long errors.
- Import from CSV: use UTF-8 encoding when importing from unsupported encoding.
- Import: Products: Improved flexibility when updating/deleting product options.
- Import from WooCommerce: If not able to read a Product from the WooCommerce API, the app will create a placeholder row for that product with the WooCommerce ID and fail that row. If such a Product is in an Order, then that Order will receive a warning that app could not read the product to get line item details.
- Import Orders: for Refunds without Transactions – check if
Line: Pricematches the actual line item price, to avoid accidental full refund when need to have a partial refund.
- Orders: Rename column
Line: Gift Card Send to Customerto
Line: Force Gift Card.
- Import from Turn14: Set the
Variant Costvalue from
purchase_cost. Due to how the Variant Cost is saved in Shopify API, this will could make imports from Turn14 longer.
- Fix: Import Orders: Incorrect value in the
Line: Gift Card Send to Customercolumn failed order with
uninitialized constant ...error.
- Fix: Import: UI was not showing correctly Started At date for the automated jobs that had longer estimates.
- Security: Send an e-mail notification to store Owner if changing Matrixify Security Settings.
- Fix: Export Metafields: Different Metafields were written in the same column if both of them returned the same column header when normalized (without special characters and spaces).
- Fix: UI Filters were not available for about an hour.
- Import Orders: optimized Transactions import, also can import authorization transactions for existing Order
- Fix: Import Customers: Importing
Multipass Identifiercolumn empty will set it in Shopify to a proper empty value –
null, not to an empty string
- Fix: Export Products: Receiving Shopify error
undefined method `' for nil:NilClasswhen getting Product Status via GraphQL.
- UI: Pricing removed Image Server – due to the low popularity of the feature, it is being removed from the offered services for the Enterprise plan. You can still easily create your own Amazon S3 bucket for image file hosting.
- Fix: Import from WooCommerce: the ability to process the WooCommerce API response of 101-level-deep [[[…]]] nested JSON array.
- Import: BigCommerce API: Migrate Google Shopping Metafields for Products.
- Export: when no items are exported, show
Exported: 0– otherwise, users were thinking that the total count is the exported count.
- Fix: Export Orders: plan limit was reached when filtering export even if no items were exported.
- Fix: WooCommerce API: When migrating to Shopify, ignore
sort_cat_Product metafields because they generate a lot of unnecessary metafields in Shopify.
Statusfield was exporting empty for some Products due to exporting from Shopify REST API. Now taking Status from GraphQL API if it’s empty – should be exported for all Products.
- Import: Orders: added safety mechanism when importing Transactions – set the imported gateway only if column [Transaction: Force Gateway] is TRUE. Otherwise custom Gateway will be set to ensure that no real money transactions are created. This currently does not affect
capturetransaction imports and is intended for migrated Order
authorizationtransactions to be imported without a real gateway.
- Export: removed
Amazon Inventory Flat Filefrom export format dropdown. Change is done based on this not being a popular feature, the complexity of exporting to Amazon format, and multiple merchant complaints about not being able to make it work in Amazon as the process is complicated. If you still wish to use this feature, you can find an export job you have done previously to Amazon Inventory Flat File and click “Export Again” button.
- UI: Ability to detach the linked My Other Shop. After 30 days have passed since the stores were linked, you can go into app settings and detach the stores yourself.
- Import Orders: Amazon FBA: if Amazon gives empty Customer data, then fill in the Last Name from Email and Address1 as REDACTED.
- Export Summary: Added columns:
Seconds per Itemto see more details about the export job in the exported file.
- Export: Clicking the
Export Againbutton will not copy
Schedule ondate in the new export page to ensure that export is not scheduled in the past. If you require to copy a job scheduled at a specific time, you need to again select the
Schedule onoption in the export options.
- Fix: Import from BigCommerce CSV: was failing if there was an empty collection.
- Fix: Import Orders: correctly getting fulfillment service from linked variant to check if the product is a Gift Card. If Product that is linked to the Line Item is Gift Card but the file says not to create a Gift Card then Line Item will not be linked to the Product to ensure that Shopify does not automatically issue a Gift Card.
- Fix: Import Orders: for PayFlow transactions assuming manual gateway because PayFlow sometimes sends out the real refunds for fake transactions.
- Fix: Import Products: Creating a new product with custom fulfillment was failing due to how Shopify handles inventory locations for custom fulfillments.
- Fix: Import / Export Metafields: If Metafields namespace or key includes dot
.then escape it with a backslash
\so it can be properly detected and imported. For example, in the column header
Metafield: my\.items.specsthe namespace will be imported as
my.itemsand key will be
Make sure to check if your automated imports do not have an additional dot in the Metafields column header, if it does then adjust the import and escape the additional dot with backslash.
The same applies for exports – if you are processing exported file which contains Metafields then adjust your system for it to understand escaped dot in namespace or key if you have any.
- Fix: Export Orders: Do not allow to enter text for the
- Fix: Export Orders: Rows with the same data were exported as the same row, e.g. if two line items are the same product and variant.
- Fix: Export: Repeated exports with relative time filter were filtering from jobs scheduled time not taking a full hour.
- Fix: Scheduled Import & Export: Improved repeated jobs by considering the daylight savings time (DST) shifts. If the job has been scheduled at a specific time, then it should run at the same local time after the DST shift, if the job has been only set as repeated then it will run by UTC time ignoring DST shifts.
- Fix: Sometimes an e-mail notification was sent that job failed with no error when the job was running seemingly correctly.
- Fix: FTP: upload file without the
.filepartif cannot delete the existing file, try to overwrite it directly.
- Fix: Upload to FTP: retrying to rename
.filepartfile to the final file name if the file is still present.
- Fix: Import Products: swapping variant images to featured image sometimes did not work.
- Import from WordPress AllExport: Take content and dates from WordPress API to have accurate front-end HTML code.
- Fix: Import Products: swapping variant images to featured image sometimes did not work.
- Export: Orders Filter: Fulfillment Status filter unified with Admin UI filter, when exporting Unfulfilled Orders.
- Fix: Upload to FTP: give error if cannot rename uploaded
.filepartfile – so that you can contact Support with such server details.
- Fix: Import from WordPress: properly detect the dates for AllImport format.
- Fix: Import Discounts: do not retry creating Discount Code if it already exists for Price Rule.
- Fix: Import from FTP/SFTP: adding
/to path prefix if not specified.
- Fix: Import from FTP/SFTP: moving files that have dynamic placeholders sometimes did not find the file.
- Export: Orders: include customer data only in first row for specific store (ask Support if you need it too).
- Fix: WooCommerce API: Calculate Order tax rate even if tax has been deleted in WooCommerce store.
- Import: ignore extra surrounding spaces for
Titlevalue for Products, Collections, Pages, Blog Posts.
- Fix: Proper error when “
Line: Discount” is not a valid number.
- Fix: Import from WordPress / WooCommerce: limit generated variants to
- Fix: Export: Orders: when exporting with Refunds and Transactions – the same transaction was appearing 2 times.
- Fix: Import: Orders: do not create refund if the refund transaction was with “
- Export: Orders: improved speed when exporting without “
Line: Variant Inventory Qty” column.
- Export: Orders & Draft Orders: include values in all rows for “
Customer: ...“, “
Billing: ...” and “
Shipping: ...” columns.
- Import: when deleting items, check if it is actually deleted in Shopify. Fail if Shopify is not eventually deleting it after retrying 50 times. Deleting will be slightly slower, but you will be sure it actually deleted those items.
- Fix: Import Batch: for repeated/scheduled Batch job was sending notification as for manual import.
- Fix: Import from FTP: support the username that contains
- Fix: importing CSV files from FTP/SFTP with the dynamic file name, and moving them in folders was failing, or importing two files.
- Import: ability to cancel when uploading large files.
- SFTP: make file downloading and uploading more robust and stable.
- Import from FTP/SFTP: limit uploaded file size to 2 GB.
- Import: improved work with file names that have spaces and other symbols.
- Import from CSV: for files encoded in UTF-8 encoding, remove any non-UTF-8 encoded characters, or invalid byte sequences.
- Import from WooCommerce: added support for additional payment gateways:
- Fix: Import from WooCommerce: fill the “
Refund: Created At” for refunds and their transactions.
- Import Products: when identifying by [
Variant SKU] – put the found products at first, and only then rows of missing products.
- Import from Google Sheets: allow importing from a direct link to Sheet as CSV file.
- Import from BigCommerce: equally spread the available product level quantity among generated variants.
- Fix: Import from FTP/SFTP: file action to delete or move was not done if file name contained a space.
- Import Orders from Amazon FBA: made the Shopify Total to match the Paid Amount, even if there is a discrepancy in Amazon/Shopify total amount.
- Export: Customers: filter by [
Accepts Marketing] field.
- Fix: FTP: ensure that when retrying to connect, the previous connection is closed; detect permission error and do not retry on that.
- Fix: Import: Orders: cancelled Fulfillments sometimes could not be created – it was telling that cannot overfill the fulfilled Order.
- Import: Orders: ignore Fulfillment Lines which have [
Line: Quantity] of 0.
- Import: Products: improved warning messages when updating variants.
- Fix: Export Products: the Status value was not included when filtering by Collection.
- Fix: SFTP: retry if uploading or downloading file is stuck longer than 1 hour.
- Fix: Import Orders from WooCommerce: setting negative “
Line: Quantity” for Refund Line, and filling correct “
Refund: Created At“.
- Fix: Import from FTP/SFTP: file actions (Delete and Move) now work when importing from URL with dynamic placeholders.
- Import: WooCommerce API: Fail individual items where cannot get notes or refunds from WooCommerce.
- Export Orders: fail the whole job if lacking any permissions to related items in the Private App.
- Fix: Import Products from BigCommerce API: use pre-calculated price adjustment for non-modifier variants; use Compare At Price from Retail Price.
- Import Products: More informative warnings when unable to update variants.
- Import: show Import Comment in the Result file telling which entity was not found.
- Export to CSV: Specify custom delimiter, quote, newline, and encoding.
- Fix: Export Discounts: should not fail if cannot get count of Discounts in the store, but still try to export them.
- Import Products from LightSpeed: prefer English language values when file has multiple languages.
- Settings: [
Allow downloading your files by external services] is off by default for newly installed shops.
- Import Orders from Magento DB zip file format: significant speed improvement – from
- Fix: Import: Command
UPDATEwas not allowing to update some items by ID when updating basic fields.
- Export: Orders & Draft Orders: include all taxes for Line Items (not just first 3).
- Fix: Export Draft Orders & Activity: Status filter got ignored for exports.
- Import from WooCommerce: new payment gateway [
- Upgraded to newest Shopify API and Polaris platform versions.
- Export: if the store has more than 10 Blogs, then not showing the count of Blog Posts – because it takes too long to count them.
- Fix: Export Orders: [
Refund: Restock] column was always
TRUE, regardless of the real value in Shopify.
- Fix: Import Products from BigCommerce API: Take the largest-size images instead of the standard-size images.
- Fix: Import Products: Should not transliterate the Custom Collection handles if the Option asks to not transliterate handles.
- Fix: Import Orders from WooCommerce API: improved Line Item amount and Order Total calculations – considering Tax and Discounts (with/without taxes).
- Fix: Import from BigCommerce API with auto-repeated job was failing on the 2nd time.
- Import: changing Command
UPDATEto strict – fail if item does not exist. To create or update – use Command
- Fix: Import from WooCommerce: show progress when loading products in Demo plan – do not make impression that it is stuck.
- Fix: Import Orders: make sure Gift Card is not auto-fulfilled by Shopify if Product itself is a Gift Card, when [
Line: Gift Card Send to Customer] is
- Import from WooCommerce: added payment gateways –
Credit Cardwith Authorize.net.
- Migrate from BigCommerce, WordPress and WooCommerce: download and convert also responsive images in
- Import Products: Ignore the “Ignore ID” option if identifying Products by
Variant SKU, because we need to use the found ID for each SKU.
- UI: Removed Google Analytics tracking form the App.
- UI: Ability to close notifications on App page.
- Fix: Import Orders: workaround of Shopify bug that creating an Order causes Customer to not accept marketing.
- Export to UPS WorldShip and Wurth IT: Removed GB from EU countries – due to Brexit.
- Migrate from WooCommerce: generate variants from variation attributes too.
- Export to UPS WorldShip: switched off special COVID-19 VAT which ended on Jan 1st, 2021.
- Import Blog Posts: changed default “
Comment: Command” to “
- Import Products: following image redirects to improve linking images to variants.
- Import Products from Magento: parse custom options that have
|in their title; import column
variant_inventory_policyfrom Magento file.
- Import: new Commands – MERGE, IGNORE. Warning if using UPDATE instead of MERGE, because UPDATE will become strict.
- Export: Filter all the entities by Metafield value (Products, Collections, Customers, Orders, etc.).
- Import Orders: ignore transactions with 0 amount (except for void transactions).
- Import from FTP: support the AS400 system based FTP server.
- Import from WooCommerce: detect the weight unit even if Settings API is not available.
- Import Orders from Amazon FBA: generate also transactions for all the imported Orders to show that the Customer has paid that Order in full amount.
- Fix: Import Products: Sometimes still was getting the “
Compare at price needs to be higher than Price” error when Product Price is not smaller than Compare At Price.
- Import Metafields: column name Metafield prefix and the type need not be case-sensitive.
- Import Orders: read Transaction columns for any line type – so that can import Line Item and Transaction from the same row.
- Export Orders Filter: added “
equals to all of” and “
contains all of” conditions.
- Export Orders: include also Discounts with “
automatic” and “
script” types; and show the Percentage value in “
Line: Price” column.
- Export Filters: multiple choices for Products -> Status; Draft Orders -> Status; Orders -> Status, Payment Status, Fulfillment Status; Activity -> Subject Type.
- Import Orders: import Gift Cards as Custom Line Items to make sure Shopify does not auto-fulfill them (as an unexpected surprise for your clients from 6 years ago). Change that by setting the column [
Line: Gift Card Send to Customer] – to get the real Gift Card fulfillment.
- Fix: Export Collections: exporting some column combination returned rows without Linked Products columns.
- Import Products: when identifying by
Variant SKU, then put current Shopify product Handle value in new “
Handle (Ref)” column to ignore it for imports – as it’s just for reference to see what product it is that’s updated by SKU.
- Fix: Import Products: improved workaround to allow setting
Variant Pricelarger than
Variant Compare At Priceif only importing one of those columns (not both).
- Export Orders: Filter option to “Include only matching Line Items” that match applied Line Item filters (Line: Variant Inventory Qty, Line: Vendor, Line: Product Handle, Line: SKU).
- Export to CSV: when unselecting the Excel-friendly format option, then do not include BOM and do not put quotes around all fields – to make CSV files more compatible for automation.
- Import Products: Command for strict update
UPDATE_STRICT– to only update the product if it exists, and Fail if it does not exist. This is a temporary command for the strict update because we are gradually transitioning to swap the commands –
MERGEwill create or update if exists;
UPDATEwill be strict in the future – we will keep you updated on the transition schedule.
- Export Draft Orders: added filters – by
- FTP/SFTP: write to temporary
.filepartfile at first, and then rename to the real file name – only when the file is copied. To avoid automation scripts reading the file before it is finished uploading.
- Export Draft Orders: new columns: “
Invoice URL” and “
Invoice Sent At“.
- Export: Filter Orders by Metafield value.
- Export to CSV: new option to encode the CSV file for Excel (with BOM) or for automation (without BOM).
- Import: Products – workaround to allow
Variant Compare At Pricenot to be higher than
Variant Price(fixing the [
Compare at price needs to be higher than Price] Shopify API requirement).
- Fix: Import from SFTP – error “
false can't be coerced into Integer“.
- Import: WordPress with AllExport format: fix the featured image link if it is with newline and tab symbol in it.
- Fix: Import Metafields – getting the “
Key: must be unique within this namespace on this resource” error if Metafield key has language-specific special characters.
- Export: Orders – filter by [
Line: Variant Inventory Qty] of the linked Product.
- Import: BigCommerce – Products and Categories with all the needed details from API (ask Support for instructions while we are working on the Tutorial).
- Import: Products – when importing “
Variant Compare At Price” as
0then set it to empty (to comply with new Shopify API requirements).
- SFTP: Export to SFTP using Private Key authentication. Upload Import Results to SFTP using PK, too.
- Export & Import: Product
Statuscolumn; also filter export by Status.
- Import: Products – “
Image Position” now indicates the place from the top, meaning that if another image already exists on that Position, then it is moved down.
- Import: allow to import also from Google Sheet “Publish to Web” link as CSV or Excel file.
- Export: UPS WorldShip – automatically exclude any Orders which do not have any fulfillable Line Items in them.
- Fix: Import: Orders – when Fulfillment columns are filled for the same Line Item row, fulfill only Line Items that have Fulfillment columns filled.
- Fix: Import: Orders – generate Fulfillments also for Gift Cards because Shopify did this automatically earlier, but stopped doing.
- Import: Option to not check if items already exist in Shopify – to increase import speed. Enabled only for specific stores when asked Matrixify Support.
- Fix: Export Orders – Additional Details was not escaping the
:symbol in the name, and therefore it was failing in the imports.
- Fix: Import Product – adding Variant with image was not setting that image for the new variant.
- Fix UI: Export – switching Simple/Advanced tabs on Safari was jumping on Safari.
- Fix: Import Redirects – had an error “
Failed. Path: has already been taken” if there was a
/at the end of the Path value because it didn’t find an existing redirect.
- Fix UI: Dropdown in Export Advanced tab was closing after changing each checkbox.
- Fix: Import from WooCommerce API – converting Product “lbs” weight unit to “lb”, and retrying if WooCommerce API responds with an error.
- FTP/SFTP: Improved connection stability and retry mechanism when connecting, sending, or reading files.
- Fix: Import from WooCommerce API – was failing if there are too many Metafields which start with digits.
- Fix: Export Orders – Fulfillment Line Discount to be a negative number, and Total to be respectively Price minus Discount.
- Import: WordPress – allow to import from WooCommerce API which is under a path (subdirectory).
- Fix: UI: Import from Magento – was not showing the “Old server URL” input box.
- SFTP: Import – choose to authenticate using the Private Key instead of the password.
- SFTP & FTP: Do not show passwords on UI.
- Fix: Export to eBay format – was failing if could not find variants for a Product (if the Product was deleted while export is in progress).
- Import: Skip empty lines, and stop reading the file if there are more than 100 consecutive empty lines.
- Fix: Export Activity – allow filtering by Created At with larger timeframes, that previously failed due to Shopify API limitation.
- Export: Google Shopping – limiting “
additional_image_link” column to 10 images or 2000 characters to comply with Google Shopping requirements.
- Import: Orders from Magento – improve Dry Run speed by automatically switching to CSV format for larger files.
- Fix: Import: Orders – match Line Items in Refunds and Fulfillments also by Variant Title.
- Fix: Import: Orders – whole Shipping Address was empty if “Shipping: Country Code” was empty.
- Import: Custom Collections – “Product: Command” column to allow
REPLACEproducts in Collection.
- Fix: Import – Magento Orders: fulfill Simple item if a Configurable parent item is fulfilled; Generate Shipping Line even if Shipping Price is 0.
- Export: Customers – “Multipass Identifier” column with values from Shopify.
- Import: Fail and do not retry if Shopify API responded with an error when creating a new item – to avoid creating duplicates.
- Fix: There was a “Not Found” error when replacing a Collection with Metafields. Also, made replacing items with Metafields a bit faster.
- Export: fail if exporting to Excel with more than 10,000 columns (due to many Metafields), and suggest to use CSV format.
- Fix: Export Orders – fill data for columns “Refund: Restock Type” and “Refund: Restock Location” when exporting Refunds without Line Items.
- Fix: Export – Activity: sometimes failed when filtering by Created At, because of the Shopify API issue.
- Import: WooCommerce Products and Orders – Metafields that end with a number like
wt_awarded_nth_coupon_78567, save as two Metafield columns:
Metafield: woo.wt_awarded_nth_coupon, to avoid generating thousands of Metafield columns.
- Fix: Import: Magento – sometimes the import job got frozen when canceling while indexing the files.
- Fix: Import from Google Sheets – Phone sometimes got added 0 to the end because of formatting.
- Fix: Allow using Matrixify on linked store if Sponsor store has been closed/uninstalled.
- Fix: SFTP – connecting to SFTP servers which require different/less known encryption methods.
- Fix: Import – auto-retry if Shopify API responds with unknown error “
Failed. Base: Internal error” when creating or saving an item.
- Fix: Import BlogPosts and Pages from WordPress – downloading images with non-ASCII symbols: “
URI::InvalidURIError - URI must be ascii only“.
- Fix: Was not able to change the paid Plan – due to sudden Shopify API changes.
- Fix: Import from SFTP was not working if the password contains a special symbol.
- Export: when having repeated job with Relative Time filter, then do not jump over the time intervals even if the job takes longer than the interval itself.
- Export: if the scheduled job with Relative Time filter will start a few seconds/minutes after the scheduled time, it will still apply the Relative Filter from the time it was supposed to be actually started.
- Export: Format all price and amount columns as
- Export: Format all price and amount columns as
0.00in Excel (with two decimal places).
- Fix: Import – Products: weight gets re-calculated from grams if not even updating the weight, making it change a bit.
- Fix: Import – retry when saving an item and getting an error [Failed.] from Shopify API without an explanation.
- Fix: Import from WooCommerce – when results file is saved to CSV, then save each sheet in its own CSV file.
- Import: WooCommerce Orders – allow to filter with
?only=orders&since=2020-01-01T00:00:00to get only Orders since a specific time.
- Import: Orders – fail if adding the Line Item which is linked to the same Product Variant as existing Line Item.
- Fix: Export – include several namespaces as comma-separated values.
- Allow opening the Matrixify app with the non-Admin user even if new API permission scopes are required.
- Fix: Import Orders from WooCommerce – do not fail if Stripe payments don’t have an amount data found.
- Import: Orders – Add line Items to an existing Order (without the need to replace it) – by using the “Line: Command” = “MERGE”.
- Import: Orders – Command “MERGE” to create an Order or update if already exists.
- Fix: Import from WooCommerce – avoid collisions when generating Metafield column names. JSON Metafield values as correct JSON strings.
- FTP: connecting to server even if it returns wrong IP for the Passive Mode.
- Fix: Could not re-install the app after it was uninstalled.
- Import: Orders from WooCommerce – using full order amount for transaction amount if the Order is fully paid, and has an unsupported payment method.
- Fix: Import: Products from Turn14.com – take the Title also from product_name if part_description is empty.
- Fix: Import: Products – “Weight Value: is not a number” when weight is empty. This is a new validation on the Shopify API side.
- Import: migrate Products from BigCommerce format (and generate their Redirects).
- Fix: Cannot use the app if any of the past Jobs got the Plan as “Uninstalled” because the scheduled job started on the shop which was uninstalled.
- E-mails: guaranteed to send an e-mail even if new app version was deployed while job is running.
- Fix: error when importing Orders with Fulfillment: Shipment Status as DELIVERED in all caps.
- Import: Products – remove surrounding spaces from all fields.
- Reduced Shopify API call count to make imports and exports faster, and improve overall app speed.
- Import: WooCommerce / API: WorldPay payment gateway.
- Fix: Export & Import: zip files in such a way that files over 4 GB can be unzipped normally.
- Migrated to new infrastructure to make Matrixify a faster and more scalable.
- Import: WooCommerce Orders – remove HTML code from Notes.
- UI: Show the time zone when hovering on the Job time – the time zone in Matrixify UI is always what your Shopify Admin has in its Settings.
- UI: When clicking on “You have n scheduled jobs” – apply filter to show only Scheduled Jobs.
- Import – Orders: include Shipping Line taxes in the Total Tax.
- Import – Custom Collections: if Shopify gives an error on adding products to a huge Custom Collection, retrying in smaller batches down to 1 product.
- FTP: retry 10 times if uploading a file and getting a Timeout error.
- Import – Orders: allow to update Shipping Address fields to empty, if there are some values set earlier.
- Fix: Import – Orders: when cancelling Order without refunding, void the authorization transaction only if Order has no capture/sale transactions, otherwise Shopify will automatically refund it.
- Fix: Import – Draft Orders: retrying when getting the “Unprocessable Entity. This order has not finished calculating, please try again later” from Shopify.
- Fix: Export: sometimes getting an error “
undefined method `path' for nil:NilClass” when exporting Orders related data. If this repeats, let us know.
- Fix: Import: Correctly detecting if the SFTP link is a file or directory – on some server types it is even more different.
- Email: reduced App notification e-mail size from 350 KB to 22 KB. Showing good on Gmail now too.
- Import: if importing Excel sheet larger than 500,000 rows then generating results file as CSV to make it faster.
- Import: from Bespoke Factory – setting Tags Command to MERGE.
- Import: Migrate Orders from WordPress / WooCommerce.
- Import: Draft Orders – do not preload Draft Orders if there is no “Name” column – to make it faster. Use the “Number” column to mark which rows belong to the same Draft Order.
- Import: tell in Import Comment when existing Draft Order / Discount / Customer is found by Name / Code / Email (instead of telling that it is found by Handle).
- Fix: Import: Magento – calculate the correct variant price if it was modified for specific options, as price correction.
- Export: ITG Orders SAP CSV format – include Shipping Company in the AG column (33: Receiver name-2).
- Unsubscribe link in the e-mail footer.
- Show Job ID in the e-mail body.
- Changed default e-mail settings: sending e-mail only when the Manual job failed or finished; and only when Scheduled job canceled or failed. You can change when the e-mail is being sent in Matrixify Settings.
- Import Collections – tell the exact error why the import of a collection failed instead of just saying that another such collection might exist.
- Export: Google Shopping – to set any field as blank, have the Metafield or Variant Metafield with value “
- The incident with the Shopify API call limit is resolved. We continue to monitor the situation.
- Fix: UI – Batch Job was showing filters of sub-jobs, and was not showing sub-job-state.
- Fix: Working with SFTP which has denied directory listing outside the home directory.
- Fix: UI – could not open “All Jobs” page on a slower internet connection.
- Fix: UI – show shorter FTP/SFTP links so that the error message fits in the message box.
- Fix: Import – Products: deleting over 100 images for a Product caused Shopify API to time out, so it was retrying 50 times before it gave up, making such import very slow.
- Fix: Import from FulfilmentCrowd FTP server.
- UI: Job List – show in dropdown only relevant states and their counts when filtering jobs by State.
- Import: Products – because you can import a Product into several Custom Collections by separating them with “,” – if you need to have a custom collection with a comma in the collection title, then escape it as “\,”.
- Fix: UI – recent job list to show max 5 jobs or all unfinished.
- Fix: Import: get the real file name if uploading from web URL which redirects to another URL.
- Export: If format is Excel and any of the sheets has more than 500,000 items, then automatically switch to zipped CSV format, because this will most likely exceed Excel limit of 1 million rows.
- Export: Google Shopping Data Feed – export shipping_label field. Also, any field names that had space, now have
_(underscore) as a word delimiter, which is a more precise Google Shopping format.
- UI: Filter [All Jobs] history by ID, File Name, State, Entity, Queue, Created At date.
- Import: Ignoring invalid characters in CSV files that cannot be converted to UTF-8 encoding.
- Fix: Import from CSV – if CSV file had BOM, and it contained invalid UTF-8 characters, then the other encoding was assumed, which caused the first column name to be corrupted.
- Import: Auto-detect CSV file encoding, like UTF-8, ISO-8859-1 (Latin 1), ISO-2022-JP, etc., and automatically convert to UTF-8 as needed for Shopify.
- Import: Products from WordPress / WooCommerce using API. Put the link to API in Matrixify import URL:
- Fix: Import: getting around CSV file issue which gave an error –
Unquoted fields do not allow new line <"\r"> in line 1234567.
- UI: view All Jobs history with pagination.
- Export: Specify custom file names also for all other export formats, not just for Matrixify.
- Import: from Google Sheets as CSV file by specifying
?format=csvat the end of the Google Sheets URL.
- Import: specify the custom file name for Result file, and whether the Result file should be zipped.
- Fixed: FTP – ability to work with DriveHQ FTP servers.
- Fixed: Import: Orders – create Fulfillments where products and Gift Cards are in the same Fulfillment.
- Import: Tell if there are any errors with file columns as soon as possible, before scanning through data rows.
- Import: WordPress Pages – generate Handle from slug if the page is a draft.
- Export: Metafield columns selector (under Advanced tab) – to include only Metafield columns that match specific Namespaces, Keys, and Types.
- Import: Orders from Magento – conversion from exported Magento DB CSV files with Dry Run to Matrixify template is now much faster. Even for migrations over 1 million Orders.
- Fixed: Import – sometimes reading Excel cell value which looked like HTML code, was wrapped in <html> tags.
- Import Orders – Dry Run quicker by not checking if Line Item SKUs exist in the store. That is also impacting the Dry Run file conversion from other formats like migrating Orders from Magento.
- Import Orders – generate Fulfillments only for line items which are not Gift Cards, because Shopify generates Gift Card Fulfillments automatically.
- Export: Products – made it a bit faster when exporting with included Collections.
- Fixed: Export Products – when combining filters of Collections and Tags – was filtering only by Collections, but not by Tags.
- Import: CSV – when there is an error parsing specific CSV file row, tell what was previously known correct row values, so that you can find the wrong row easier.
- Fixed: Uploading files larger than 200 MB got stuck. Remember that you can upload files up to 2 GB in size. Non-Excel files can be even zipped to make them smaller.
- Import: Orders – group Transactions by kind, status, and gateway – to allow separate gateways appearing as separate transactions.
- Fixed: UI – Export: when filter has very long text, cut it off so that you can remove the filter too.
- Fixed: Import from FTP/SFTP when password contains #.
- Import: Products – assume Fulfillment Service as “manual” for new products which have inventory, but have not specified any Fulfillment Service.
- Export: Google Shopping – include “adult” column, with value taken from Metafields, Options, or Tags.
- Export: Google Shopping – cut description to 5000 characters even if forced Metafield value is longer than that.
- Import: Products from Magento: include the “type” and “tax_class_id” fields as Metafield and Variant Metafield.
- Import & Export: Products which are Gift Cards. New column “Gift Card” for Products sheet.
- Import: Retry saving items in case of the “expected Array to be a Hash” error from Shopify API.
- Export: do not remember Options from the latest Export job.
- Fixed: Import Customers – delete addresses for customers which have more than 10 addresses.
- UI: Show job ID in the job list.
- Fixed: Import Orders and Draft Orders – “Additional Details” ability to escape the name with \:.
- Fixed: Cannot export more than 10 customer addresses.
- Fixed: Updating only Draft Order Additional Details wipes out any customer details including address.
- Fixed: Import: Product images from AWS S3 which have escaped space symbol %2B in the file name.
- Fixed: Updating only Draft Order Additional Details field wipes out any customer details including address.
- Export: Select individual fields to export for all the data entities in the Advanced tab.
- Fixed: Export Customers – ability to choose columns: Send Account Activation Email, Send Welcome Email, Password, Multipass Identifier.
- Import: Orders and Draft Orders – link line items to Product Variant by having only the “Line: SKU” value. This will also link migrated Magento Orders to the Products in Line Items.
- UI: Double-confirm when exporting Customers with Activation URLs – to avoid accidental resetting of previously generated Activation URLs.
- Export: Fixed estimates when exporting filtered items.
- Fixed: Export – filter by “Created At”.
- Fixed: Export – Amazon, eBay, etc – get variants when filtering by collection.
- Fixed: Download exported files that are larger than 1 GB.
- Import: Products form “Bespoke Factory” supplier format.
- Fixed: Import Products – remove surrounding spaces from Template Suffix values.
- Import: Orders from Magento v1.11 with older table structure.
- Import: Smart Collections – warn in Import Comments if sorting products in Smart Collections times out (Shopify might still be sorting products in the background).
- Newest Shopify API version 2020-01 (requires approving additional API permissions).
- Import: Collections – if the related “Product: Handle” will not exist in the store, then it will not fail, but will just give the warning in the Import Comment.
- Fixed: Import – Products: properly delete and re-create variants when importing with “Variant Command” as “REPLACE”.
- UI: Show special window if opening tabs of several shops in the same browser, which mixes up Shopify Admin sessions.
- UI: Made Matrixify work with some older versions of Edge, Opera and Firefox browsers (let us know if something doesn’t work).
- Fixed: Export – if cannot determine the count of a specific entity from Shopify, then just tell that could not get the count, instead of retrying 50 times.
- Fixed: Export: Sometimes there were no columns selected when selecting column groups.
- Import: Customers – when using Command “REPLACE”, sometimes existing customer was not found when it actually existed when it was recently created.
- Export: ITG format – do not assume filters, but allow customers to apply their own filters.
- Fixed: Import – Products: Solved the error when updating inventory quantity which said “Write requests to inventory_quantity and inventory_quantity_adjustment are no longer supported. Please use the Inventory Levels API.”.
- Export: Added option [Export items sorted in the order as they come from Shopify] – by not generating export rows in parallel.
- Fixed: Scheduled/repeated job scheduling across daylight savings.
- Fixed: Import WordPress – set the Published At date if Post or Page has status which includes the word “publish”, as it varies by WordPress version.
- Fixed: Export: Products – include the columns if only Variant Cost or Variant Customs columns selected with no other Variant columns.
- Import: Magento Products – extract the “short_description” field to “Metafield: magento.short_description” column.
- Import: WordPress Posts and Pages: convert also links to images – to point to new Shopify uploaded image.
- Import: Magento – recognize the Magento Products exported file more precisely – don’t require the [msrp_display_actual_price_type] field because Magento versions don’t have it.
- Fixed: Import Orders and Draft Orders – was failing that cannot find the Customer when importing with [Ignore ID] option, and it had [Customer: ID] provided.
- Import: Products from Lightspeed POS platform.
- UI: Export – Products: columns for [Inventory Available: …] and [Inventory Available Adjust: …] – as a group of all locations, instead of each location column separately.
- Import: Products – skip the variant data if the first variant row is empty.
- Export: Products – Filter by SKU starts with.
- Fixed: Import was failing if there were any empty sheets without data.
- Fixed: App UI – crash if uploading the file before the job list was loaded.
- Fixed: Export Products: “Variant Inventory Qty” was empty if choosing that field to be exported without “Variant Inventory Tracker” field.
- Import: Products from Banggood – keep the images in Body HTML by default. If you need to remove images from Body HTML, set the Import Option: [Remove images from Body HTML].
- Fixed: Import: from URL with space in it – both escaped or non-escaped should work now.
- Export: Google Shopping – take the Metafield values also from Variant Metafields, if they exist.
- Import: Orders – fail if [Refund: ID] is not a number.
- Import – ability to read from CSV files larger than 2 GB, zipped.
- Fixed: Export to Amazon, eBay and Google Shopping – include data from Metafields.
- Settings: Configure job notification e-mails more precisely – Started, Queued, Cancelled, Failed, Finished.
- Fixed: Export: Don’t allow %D in the custom file name, because it generated date as d/m/y.
- Export: customize which columns to export, and change columns positions (in Advanced tab).
- Fixed: Import from URL with date placeholders was saving the interpolated URL instead of dynamic.
- Fixed: Import from Google Sheets wasn’t downloading.
- Fixed: Export to FTP/SFTP couldn’t be created if the password contained % symbol.
- Fixed: Import – Products: ignore inventory quantity for empty inventory location, got rid of “Location [Adjust] not found” error.
- Export: Activity – Path as a full URL to the item.
- Import: Products – when deleting all variants of a Product, assume the default variant with the data from the last variant and no options.
- Fixed: Don’t start another repeated job if the previous is not yet finished.
- Scheduling: Daily, weekly, monthly, yearly jobs will start at the same local hour:minute regardless of daylight savings.
- Safari browser now should work as well. Please, contact Matrixify Support if you experience any issues with Safari or any other browser.
- FTP: Allow connecting to FTP servers using SSL/TLS encryption even if the server certificate is not configured correctly.
- Fixed: Import – Products: [Failed. Inventory Policy: is not included in the list] if Variant Inventory Policy is empty.
- Fixed: SFTP server “permission denied” and “bad message” errors fixed.
- Import: continuously import all files from an FTP/SFTP directory as a Batch import job.
- Import: when importing from FTP/SFTP server – specify an option to either delete the file when it’s being imported; or move imported files to folders by job status: In Progress, Finished, Failed, Cancelled.
- Import: option to upload Import Results file to an FTP/SFTP server directory.
- Import & Export: Import Results file name and default export file name now has seconds to not overwrite files if two imports finish in the same minute.
- Import & Export: Validating FTP/SFTP URLs before creating the job.
- Import & Export: allow to set an option to repeat jobs every minute.
- UI: latest jobs sorting – don’t show on top the canceled scheduled jobs which are in the future, but put them in chronological order when they were created.
- Fixed: Import Products – remove accidental spaces from Variant Inventory Tracker, Variant Inventory Policy, Variant Fulfillment Service – to avoid unexpected error message from Shopify because of that
- Fixed: Import: Products – “Key: must be unique within this namespace on this resource” when adding Metafields and simultaneously changing Tags and Options.
- Export: Orders using the Shopify API cursor to make them export safer and faster.
- Import: Magento Products – don’t allow to generate more than 1000 variants from option combinations, because Shopify anyway allows 100 variants.
- Export: Google Shopping Feed – added the ability to export feed file as a regular CSV file instead of tab-separated .txt – for certain shops. If you need it too, please, let us know via Matrixify Support.
- Import: Banggood Products – convert Tag, Type and “Custom Collections” comma to ” &” to not confuse categories that have a comma in their name.
- Import: read CSV files with unescaped ” – work around error: “Any value after quoted field isn’t allowed in line x”.
- Import: Banggood Products – trim ” from both ends for Title.
- Import Product images – don’t re-encode the image URL if it has encoded comma %2C character – because some web servers need an encoded comma.
- UI: removed HotJar Poll.
- Export: Allow only legit characters for the custom filename.
- Fixed: Import – Magento Products – take custom options only from an empty option store, to avoid combining options from all languages.
- UI: HotJar Poll about Matrixify.
- Make the Matrixify App work on Chrome 80.
- Import: Order – “Line: Type” column validation, to allow only recognized values.
- Fixed: Export – Blog Posts: Do not create multiple rows per Blog Post with comments if comments are not exported.
- Import: LightSpeed Orders – assume Tax Rate 0% if VAT is 0.
- Import: Orders – if cannot find Line Items for Fulfillments by any of unique attribute values, then assume by Fulfillable Quantity.
- Import: Orders – show exactly which Line Item product has no price.
- Import: Orders – read Discount Line amount also from “Line: Discount” column, if “Line: Total” empty.
- Fixed: Export & Import – falling back to zipped CSV if cannot save the file to Excel.
- Settings: show Approved Documents status with timestamp signature.
- Import: Body HTML – remove specific invalid UTF-8 characters when importing, like “Â”.
- Fixed: Orders Import – require the Line Item price only for new Orders and new Draft Orders.
- Import: Draft Orders – allow to import percentage discount without specifying the discount price amount, but just percentage.
- Fixed: Import Products – error “Cannot find the variant by title […] to attach the image”.
- Export: Orders – new column “Checkout ID”.
- Import: Magento: Generating variants from custom options with radio custom option type.
- Fixed: Import – Discounts with multiple Codes – retry if failing to create a Discount Code.
- Import: Product Images – when importing images split by ; without specified position – make sure the existing images stay where they are, but added images add added to the end. As a result – also improved overall matching of images by URL/file name, and attaching them to variants.
- Import Products from Magento: take the variant price from _custom_option_row_price column if generating variants from options and price is 0.
- Privacy: in the spirit of GDPR and CCPA – removed all the individual user tracking. Kept only aggregate tracking on Google Analytics and individual app actions log for security reasons.
- Fixed: Import Product Images – NoMethodError – undefined method key? for nil:NilClass.
- Export: always include SEO Metafields [Metafield: title_tag] and [Metafield: description_tag] when exporting Metafields for Products, Collections, Pages, Blog Posts.
- Import Products: generate variants from Options separated by ; only when column “Variant Generate From Options” is set to TRUE.
- Import Products: Optimized speed when importing images with Alt Text.
- Import: Allow special symbols like @®©℗™ªº in Handle, when not transliterating Handles.
- Fixed: Import Customers – set new tags and other attributes when replacing addresses.
- Import: optimized speed when importing Custom Collections column from Products sheet – not trying to add when product is already in that collection.
- Import: if there are any Failed items, show a summary of why they fail.
- Import: Products by SKU – smart preload to faster index products by SKU.
- Fixed: When saving Excel file which has more than 1 million rows – fallback to zipped CSV file with correct file extension.
- UI: Job view – show estimated finish date & time as hover for the estimate time while the job is running.
- Fixed: Import Product Images – set image Alt Text when importing existing image with Image Command REPLACE.
- Import: Products – recognize options also from columns like “Option 1 Name” – with extra spaces in column name.
- Fixed: Import: WordPress Posts & Pages: when having empty Title or Handle – set them to ID value.
- Fixed: Import Metafields – delete or update Metafield even if namespace or key is surrounded by a space in Shopify database.
- Import Orders from Magento: auto-detect CSV file delimiters for your exported file from database. Recognize: , ; | tab.
- Import: removed “Preload existing items from Shopify” Option because people were accidentally messing their data by unchecking this box. And the speed gain is not so significant to risk it. Will monitor how many people really need it.
- Run your previous job again by pressing button “Export Again” or “Import Again”.
- Fixed: Import Products – if you change just Option2, then require to include also Option1.
- Image import: Recognize and return an error when Image Alt Text is too long and rejected by Shopify.
- Fixed: Downloading 9GB Import Results file should no longer timeout in any case.
- Import: Orders and Draft Orders – strip HTML from Line Item “Title”.
- Import: detect sheet if file name has several extensions, e.g. “Import.2019-discounts.csv.zip” will get assumed as “Discounts”.
- UI: For each job show its “API Call Limit”, “Threads” count, and whether the job was ran in “Private App” mode.
- Import: not pre-loading whole store items before starting an import (except for Draft Orders) – so that store items don’t get overwritten by the app if changed from Admin while the import is running.
- Import Orders: Allow fulfilling line items by filling “Fulfillment: …” columns in “Line Item” rows.
- Import Orders: Take “Fulfillment: Shipment Status” date from “Fulfillment: Processed At” – import only.
- Import and Export Orders: Split “Fulfillment: Tracking Number” and “Fulfillment: Tracking URL” semicolon-separated into several tracking numbers or URLs.
- Settings: Allow setting up the private app in Settings -> Private App section.
- General: Display subscription expiry date and display warning if it’s less than 24 hours from now.
- Import Options: change “Check if items already exist” to more dramatic checkbox “Preload …”.
- Export and Import: show correct column colors for Excel file even when column names are in lowercase.
- E-mail: Subject for queued jobs changed from “Export Postponed on …” to “Export Queued on …”.
- Import: Orders allow up to 100 different Taxes with columns: “Line: Tax X Title”, “Line: Tax X Rate”, “Line: Tax X Price”.
- Import: Improved error message if importing an unknown file format.
- UI Fixed: show months for the export filter date picker.
- Import: Magento: collecting variant images also from media_image column.
- Retry the GraphQL request if Shopify API has SSL errors.
- Import: Discounts – show a full error from Shopify if discount code already exists.
- UI: Show long filenames so that they fit on the screen.
- Export: added filters for Discounts Title: “contains none of”, “matches pattern”.
- Save the file to CSV format if failed saving to Excel file.
- Import: Banggood – recognize more options.
- Fixed: Import – detect delimiters in CSV files that have \r line endings.
- Fixed: Export – “Processed At” filter for Orders to filter also by the time when using Relative Date filter.
- Export “Tags Command” for Blog Posts. Unify colors for all “Tags Command” columns for exports in all sheets.
- FTP: Retry uploading files to FTP if failed.
- Import: Banggood: Improved option parsing and price correction calculations.
- UI: Mobile improvements for Counts and Totals
- Import: execute different Tags Command by rows for Products, Customers, Draft Orders, Orders, Blog Posts.
- Import Products: faster updating of Products.
- Fixed: Import Products: allow combining DELETE and REPLACE in Image Command.
- When importing from external formats like WordPress, Magento, Banggood – recognize also file names in a singular form.
- Magento: taking images from “gallery” and “media_gallery” columns to Product images and variant images.
- Import Products from Banggood: allow to set in import Options – to remove images from Body HTML, or to keep images in Body HTML.
- Improved export estimates.
- Added Security Settings: to allow or deny to download Matrixify files by external services.
- Fixed: UI – should be able to accept GDPR popup when viewing from small screens or mobile.
- Retry connecting to the FTP server 10 times, before giving up. Show error message which comes from the FTP server.
- Fixed: Import from WordPress: don’t fail the whole job if cannot download one image with an unhandled error. Show that error in Import Comments.
- Fixed: Make importing Products with Tags and Options simultaneous changes fast again.
- Import: Magento Products – include “material” column as a Metafield.
- Fixed: Export Filters – reset filter value when switching between filter fields.
- Fixed: Export Filters – status filter crashed UI.
- Fixed: Export Filters – properly specifying max dates for daylight savings winter time.
- UI: Polaris version upgrade to 4.7.2.
- Fixed: Don’t send an email twice when a job can’t connect to the Shopify.
- FTP – try connecting to FTP using SSL/TLS.
- Fixed: FTP – catch all connection issues, and retry without SSL if SSL is broken.
- Import: Banggood – improved options conversion to variants.
- Import: LightSpeed Products – decompose options with quotes in it.
- Fixed: Import from Products with Google Shopping fields and “Metafield: description_tag” – was a duplicate key error.
- Import: LightSpeed – detect CSV delimiter, sort the whole file before converting, remove the country prefix from column names.
- Import: Tell that “Title cannot be blank for Products import” – to hint that this is Products sheet, in case you didn’t specify the correct sheet name.
- Fixed: Import – Orders with Refunds with processed_at date that have no transactions.
- Export: Google Shopping – use SKU value for ID only if SKU has any value. If SKU is empty – generate the full Google Shopping ID from Product ID and Variant ID.
- Import: Magento Orders – if “Customer: Last Name” is empty, then put the First Name in the Last Name field, because the Last Name is a required field in Shopify.
- Mobile: make the job list look better when using Matrixify from the mobile phone.
- Import: allow updating Discounts by ID, without specifying the Discount Title.
- Import – rescue from job crashes if filename is not encoded as valid UTF-8 characters.
- Fixed: Export to UPS WorldShip – AccessPointID to the correct element.
- UI: Long item counts for export or import – not to overlap; better visibility on mobile.
- Import: “Tag” and “Tag Command” column aliases for “Tags” and “Tags Command” columns.
- Fixed: Import Blog Posts – convert Blog Handles to Handles before creating them, to avoid blog duplicates.
- Settings: Improve linked shop message for changing once per month.
- UI: Stop reloading jobs list when the shop is uninstalled, but the app stayed open in another browser.
- Fixed: Import Smart Collections with product positions, make sure to always wait until those positions are updated in Shopify.
- Send e-mail even when job failed with an unexpected error.
- Fixed: Import from WordPress: make it more stable on images that cannot be downloaded.
- Schedule the next job even if unable to connect to Shopify, as this might be a temporary issue.
- Import from Magento: if Variant has 0 Price – take it from Parent product.
- Shopify reconnection improvements, so that the job doesn’t get stuck.
- Import: Validating image and variant position.
- Export: Auto-select “Order Line Items” checkbox if “Line Item Data” checkbox selected – so that there are Line Items in the exported Orders.
- Import: Orders – Transaction as gift_card gateway changed to manual.
- Export: Filters sorting improved.
- Fixed: Import – Discounts: “Applies To” with duplicate values failed.
- Export: Date filters – add some, and remove some which don’t exist actually.
- Import: Magento – put the quantity in Variant Metafield.
- Import: Magento: Adding “Magento” prefix to the generated Metafields.
- Export: Filters for dates – Created At, Updated At, Published At, Relative.
- Shopify API: upgrade to version 2019-10.
- Import: Magento – MSRP and other fields as Metafields.
- Fixed: Import Orders/Draft Orders – allow escaped \: in “Additional Details” and “Line: Properties” columns.
- Fixed: Export count when filtering by IDs.
- Fixed: Import from WordPress – catch SSL error when downloading images.
- Export: Show count of exported items.
- Fixed: Export – Order Filters with default statuses.
- Import: Recognize sheets like “blog-posts”.
- Fixed: Import Blog Posts with Big or Enterprise Plan created duplicate Blogs.
- Export: Filters – combine different filters in the same export.
- Fixed: Import – truncate generated Handle to 255 symbols because it is maxed in Shopify.
- Import: Failing job on variant loading error with a proper message.
- Fixed: Import from WordPress: conversion comments were empty for failed images.
- Fixed: Import from WordPress: invalid URI, validate old server URL, don’t download HTML as an image.
- Fixed crash during job canceling.
- Import: Improved performance of the multithreaded discount code import.
- Fixed: Import from WordPress: don’t crash if redirection is not allowed.
- When you select to export Orders with “Line Items Product Data” – you will see the additional column “Line: Variant Cost” among other product data columns.
- Change which allows you to import all 250 images for each product, which is the Shopify maximum.
- In History, you can see for each job – how much time did it take to run it.
For the jobs which are still running, the time shows how long it was running so far.
- Made Shopify Export Faster.
- Now, when you run the “Dry Run” it will check more things about the file you import.
It will go with importing as far as possible, but not send any data to Shopify.
- When you export to eBay format, all the product variants will get included as “Variations” in the eBay template.
Read the full eBay export template specification to see all the exported fields.
- The following changes are made to Shopify Discounts:
- Import and Export the “Minimum Number Of Items” – to apply the discount code for certain minimum quantity of ordered items.
- Fixed the “Code: must be unique” issue when importing Discounts.
- When importing Discounts – it will not pre-load existing Discounts anymore, so the import of Discounts will be faster in most cases because you will not have to wait for it to pre-load existing ones.
- Now Matrixify can understand better what you are importing from each sheet. Your sheet names can be lowercase.
- Whatever time you put in the date/time columns – the Matrixify app should now recognize the correct time format.
- Export and import Shopify Draft Orders.
- Now the Amazon Inventory Flat File export contains the column “department_name” where the Department is exported – so that you can prepare it in Shopify and import it to Amazon.
- Now you have an option to NOT compress those CSV files into Zip file but export them as plan CSV/TXT files.
- When you request from Shopify Admin to remove the Customer data, then the app will receive this request from Shopify and will remove all the exported, uploaded and imported files which were related to Customers or Orders. When you delete the app, then all your files are deleted from the app history.
- Now you can filter the export of Shopify Customers by the Tags and by Date Updated (in addition to the previously existing filter by Date Created).
- When exporting Shopify Orders, now you can use additional filters to filter by the order “Status”, “Payment Status” or “Fulfillment Status”.
- When you export the Custom Collections with Linked Products – now you will always have also the “Product: Handle” column filled in with the Handle of the Product.
When importing, the app will try to attach products by both columns – “Product: ID” and “Product: Handle”.
- Now you can create and update Order Fulfillments so that you can set a specific shipment status for your Orders in the import table, too.
- Now you can set the relative time filter as “Last x minutes / hours / days / months” for the time when the Order was created.
- There are the following new columns that you can import for Orders:
- Send Receipt
- Fulfillment: Send Receipt
- Inventory Behaviour
- You can have one line of “Line: Type” with value “Fulfillment Line” for the whole Order to be fulfilled.
- You can now apply the filter of the Published Status – as published or unpublished.
- You can now update some of the fields for your existing Shopify Orders without having to re-create (replace) them using “UPDATE” in the “Command” column.
- You can bulk import and export the Shopify Redirects (also known as 301 URL Redirects).
- You can filter Collections by IDs, Handles or Titles. To filter by several Collections, split them with a comma.
- The filters will reset after each export, so that you don’t have to clear them out each time.
- When running the export, the exported file will contain the “Export Summary” sheet with the summary data about the export – what was exported, and what filters were used
- We have implemented the GDPR regulation requirements.
- Now there is a column “Variant Weight” where you can set any value in the units as you specify in the “Variant Weight Unit“.
- Now there is a “Variant Tax Code” column for Shopify Products export and import.
Specifies the Avalara tax code for the product variant. Will export and import only for stores that have the Avalara AvaTax app installed on your Shopify Plus.
- When exporting Product Images or Collections, you will see new columns “Image Width” and “Image Height” in pixels for each of the images. Those columns are only exported.
- If you want to export only products that don’t match any of the listed SKUs, by using SKU filter condition “not equal to any of”.
- You can improve the speed by checking the “Ignore ID” box and that will tell the app not to try to use those IDs if migrating from another store.
- If you have a store that is so large that the data don’t fit into an Excel file, now you can choose to Export into the “Matrixify: CSV” format.
- Now when you export Product Images from Shopify, the Image Alt Text column will be there always and the export and import of product image alt texts works super fast now.
- You can filter Products by Vendor in finer detail:
- Vendor equals any of several vendors, split by comma
- Vendor not equal to any of several vendors, split by comma
- When clicking the “History & Schedule” button, you can see the whole history of your imports and exports, their statuses.
You can also download all your historically imported and exported files and you can cancel the scheduled jobs from there, too.
- There is a new column “Image Alt Text” in Smart Collections and Custom Collections sheets now to export Image Alt Text for your Collections.
- When exporting Products, the export contains the URL column, which takes to the Product page.
- Now you can bulk update, delete, and do all the other things to Products by just knowing its SKU number. No need for ID or Handle by using the column “Variant SKU”.
- You can import Orders to Shopify in bulk now with all the details.
- When exporting from Shopify, you can filter Products by Price
- You can remove images (<img> tags) from your Body HTML description by selecting a checkbox option “Remove images from Body HTML” when importing.
Here is the tutorial: How to remove images from Shopify Body HTML descriptions?
- Fixed import errors like:
- Field [metafields.key]: must be unique within this namespace on this resource – was happening because importing Metafield update, giving Metafield name in different small-BIG letters than already exists.
- product_id prefix_option is missing – was happening when retrying to import product because Shopify didn’t download some images
- When exporting Customers, you can filter by Customer registration date interval.
- You can filter Shopify Products by many titles – put them in filter split by , (comma), and it will export only products that contain any of those titles.
- Added Shopify Pages export and import with Excel.
- In order to prevent further damage of Product images, when importing non-existing images, app will stop as soon as at least one product image will not be possible to download.
- You can force the import to not check if such items already exist – this will speed up the import even more.
- You can export your Shopify Products to Google Shopping Data Feed file.
- You can filter export of Products by Handle, Title, Vendor, Type, and Tags, and you can filter Orders export by date.
- Now you can choose more finer details what data to export for each item, so that you don’t have to delete unneeded columns and rows when updating data.
- If Shopify will not be able to import all Product images, app will issue warning about that in Import Results file “Import Comment” column.
- Product variant reordering can now be done by changing the “Variant Position” number and importing that column in as update.
- When exporting, all the base rows like Title, Vendor, Tags, etc. are filled also for duplicated rows, so that you can filter and group them easier in Excel.
- Metafields Import
- Speed: Metafields import speed doesn’t depend on Metafield count anymore. Even for 100 Metafields per item, it will import as quickly as with no Metafields.
- Delete: You can delete Metafields for items just by clearing values in that Metafield column, and importing.
- Set type: Metafield can have “string” or “integer” type, which is now auto-detected from Excel cell type, and set correctly when you do the import.
- Import speed dramatically improved
- To import or update several images for a product, put them all in the same row of “Image Src” column, separated by ; (semicolon). Read tutorial: How to import several product images from one row?
- Order Export is now in Beta testing – export unlimited Order data to create custom sales reports, check fulfillment, and generate additional business intelligence data for your store.Read more in: Shopify Orders Export
- Matrixify Launched
- The Big Bang