- 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 BogCommerce, 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 Excelify 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 Excelify 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 Excelify 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 Excelify 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 Excelify 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 Excelify 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 Excelify 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 Excelify.
- 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 Excelify 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 Excelify 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 Excelify 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 Excelify 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 Excelify.
- Make the Excelify 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 Excelify 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 Excelify 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 Excelify 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 Excelify 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 “Excelify: 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
- Excelify Launched
- The Big Bang