On Shopify we arrange our variants in a certain order for many conversion related reasons such as cheapest first, what we want featured on collection pages (since it defaults to first variant of a product), most popular color first, putting a item line that’s mostly sold out last, etc. We always understood that Acumatica does not have its own variant priority/sort order, which is true as far as customizable, but we were fine managing that on Shopify side only.
We have found however that template sync will rearrange all the variants on the product in Shopify even if there were no changes, if template is pushed, or if something else changed on the template.
Things we have tried:
1. Unmapping option 1,2,3 in template and stock item export mapping. This stops the variant order from being overwritten, but does not work since it doesn’t support any new variants being added or syncing a new product since it then pushes everything as an empty default with no attributes.
2. Manipulating Acumatica’s enforced matrix ordering, which is by attribute sort and then num/alp but for anyone with a large catalog as we have this also does not work since it affects ALL products sharing those attributes, when variant sort order is a specific item level strategy on Shopify side. So I may wan’t “blue” first on one page but not on every other product with a “blue”, and so on.
3. Trying to unmap the “position” and “variant position” with various hand typed freehand text keys into the external field in export mapping. None we could figure to try including (position, Position, variant position, variantPosition, sort order, var position….) worked at all. In the json on Shopify this is defined by “position” within the variant object.
We are using Acumatica 2023 R1 currently. If anyone could offer a solution we’d much appreciate!
You are looking for a sort order in the Matrix items?
If you don’t want to have this sort order, you can do the customization to override the method MapVariantPositions(TemplateItems local, ProductData external) in SPTemplateItemProcessor graph.
In Attributes screen, we have Sort Order column, and in Item Classes we have Sort Order column. Is any of them being used to sync with Shopify?
When you say Option 1, Option 2, Option 3 - what entity are you referring to and how is the order defined (alphabetically, internal ID sequence, etc.)?
Thank you in advance!
The option values are from the variant attribute:
That is to say we want Size first and Color second displayed for T-Shirts for example.
But our setup had the color as Default Column Configuration and Size as the default row column config so I switched them:
then on the item class I also sorted the attribute order:
Now every time we sync the Size always comes first.
One thing I noticed with this in 24R1, is if the order is reversed and this is different than the Shopify PDP, it thinks you are creating new ‘variants’ and the product availability gets set to 0 for all items and the product availability sync fails saying you need to sync the template item. THere is a published workaround from ACU to delete the prod avail entity sync record, resync the template and then it should work. but if your order is not correct it will keep causing the error.
When re-reading the original post, I think they are looking for an option to control sort order of attributes and attribute values on the template item level, which according to Acumatica, is coming in the future.
However the template item in ACU was organized opposite. Color by Size. SO when we sync the template item it reverses them in shopify and it we have to correct it. This has ALWAYS been the issue until I figured out that we can change the ‘column/row’ configuration and the sort order as noted above.
The new issue with 24R1 (since we just upgraded and it’s now happening) is when we sync the template it was still swapping the color and size (before I made config change) AND it was removing the pictures and product availability from the variants and when we tried to sync product availability it said none of the variants existed on Shopify. ACU recommended we then delete the prod availability record from sync history and resync the template and resync prod avail. but this would obviously give us the same issue where it was organized incorrectly and we enter the vicious circle....
So i had to figure out that if the Template Sync is correct in the first place (i.e. the config changes so that SIZE is above COLOR in Shopify) it does not erase availability and it does not fail on the sync! voila we are back to normal. But now we have to go through and correct about 50 template item configs. which itself is a large task.
I must say that organizing products with variants in e-commerce platforms is simple only on the UI side. On the API level, it’s pretty complicated. Moreover, e-commerce platforms often make changes (v2 vs v3 in BigCommerce, in Shopify, they have new API version every 4 months...). Acumatica is probably trying to stick to the most basic solution, but it obviously makes our lives a lot more complicated.
I hope what you’re dealing with is a one-time issue though.
Reply
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.