Shopify categories, multi-store sync and Linnworks

v4.0.352 – 4.0.369ImprovedFixed

This release makes syncing behave the same way whichever button you press, and it refuses bad values before anything is saved instead of failing later.

Categories on Shopify

A missing category image no longer stops the collection. If Shopify can't fetch a category's image when its collection syncs, the collection now syncs without the image, so the title, description and hierarchy still arrive. Before, the whole collection failed.

Existing collections are taken over, not refused. If your Shopify store already has a collection at the address a category would use, perhaps one you built before connecting Fulify, the category's sync used to fail with "Handle has already been taken". Fulify now finds that collection, links it to the category and updates it. A hand-picked collection keeps its products. See Brands and categories on your stores.

Sync works on the All tab. On the Categories list, the bulk Sync button used to be greyed out on the All tab. Click Sync to… and choose the store from the menu.

Sync reaches every store a product is on

The Sync button in the product editor now syncs the product to every channel it's assigned to. Before, a product on two stores of the same platform, such as two Shopify stores, got a "Which channel should this sync to?" message and had to be synced from each channel tab.

Linnworks follows its own switch

Whether a product goes to Linnworks now depends only on its Sync switch, its SKU and its Sync to Linnworks switch. Channel Sync covers your sales channels only.

Before, saving a product in the editor, or switching on Sync to Linnworks there, pushed it to Linnworks only when Channel Sync was on too, while the Sync button, bulk runs and the API ignored Channel Sync. The same product could reach your warehouse or not depending on which button you pressed.

What to do: if you kept Channel Sync off on products you sell through Linnworks only, they now reach Linnworks when you save them. That's usually what you want. To keep a product out of Linnworks, switch off its Sync to Linnworks. See How the Linnworks integration works.

Your plan's channel limit is checked when you connect a store

The number of sales channels in your plan is now checked when you connect a store under Settings → Sales Channels → Add Channel, not when you assign products. If every channel in your plan is in use, Fulify says so before connecting. Assigning products to a store you've already connected never counts against the limit, so Add to Channel no longer refuses a product because your plan is full. See Add a channel.

Stricter checks in the Fulify API

  • Prices, weights and dimensions must be non-negative decimals, on products and variants. A value such as "abc", "", "12,50" or -5 now fails that product with a message naming the field, and dry runs catch it too. Before, a bad product price passed validation and then failed as write failed, and bad variant values were stored as sent.
  • True/false fields take real booleans only. isVisible, isFeatured, isConditionShown, isFreeShipping and excludeFromGoogleMerchant on products, and isActive, isDefault, isFreeShipping and purchasingDisabled on variants, now refuse a string such as "false" with a validation error. Before, "false" counted as true.
  • Ignored fields are reported. If you send brandId, categoryIds or a field name Fulify doesn't recognise, the product's result now carries a warnings entry saying so.

See Products and Errors and rate limits.

Smaller things

  • Brands list: the list keeps its sort, search and page after you sync, duplicate, switch or delete a brand, and its filter menus match the Products list.
  • Deleting a brand now says plainly that it removes the brand from Fulify only. The brand stays on your stores. The button reads Delete from Fulify.
  • Brand Channel Sync now describes what it does: with it on, your edits mark the brand as needing a sync. Saving a brand never pushes it to a store.
  • Attribute filter: a field with the same name in several attribute templates, such as Sale Season, now appears once, and its values find products from every template.
  • Product editor: the side menu's items no longer wrap onto two lines.