We just switched our main web site to Shopify last week and we’re running into some very annoying issues with the Acumatica Shopify connector. Customer account details on the General tab are repeatedly being overwritten when the Bidirectional customer entity is bringing customer data back from Shopify. We’re on 23R1 and while we plan to upgrade soon, we cannot upgrade right this moment.
The primary issue we’re seeing is that customer information on the general tab is being overwritten by whatever the default address is in Shopify. This seems to usually be the address of the most recent Sales Order’s address (I don’t know if it is the billing or shipping address). Not only does this change the address but it completely rewrites the account name.
I have salespeople telling me their biggest accounts are just “gone” from Acumatica because they use the Display Name to find their orders and customers. These customers are still there but unless the person memorized the account number, they have to try to find the last sales order and figure it out. Not a great look, even if the accounts are just renamed.
These salespeople started fixing their customers, only to have the incorrect information come back in overnight after orders get fulfilled and customer updates come back in from Shopify.
My first thought for preventing this is to try to use the import filter on the customer entity in combination with a tag created with an export map. We were already exporting the customer ID as a Shopify tag so I tacked on “ERP” (more or less recreating what you can enable out of the box with sales orders).
Unfortunately, as with the last time I posted about a similar issue with sales orders, customer import updates from Shopify are ignoring any attempt to filter based on whether the tags contain specific text. Data from Shopify is brought back in even when the tag I am filtering the customer with should prevent that. I am starting to think the purpose of the import filtering tab is not meant to control bidirectional records. Can anyone confirm that import filtering is meant to prevent records from coming into the ERP when the sync direction is Import and it does not work for Bi-directional?
My next idea for a solution solution, and the one I am actually creating this post about, relates to Customer → Main Contact → Address fields apparently being completely unusable as an export mapping, despite being listed.
I ended up creating meta fields on the Shopify customer record to store all of the contact and address detail I want to preserve from Acumatica. The idea is that we’d export account name, attention, email, phone and all of the address information to these metafields and then bring them back in safely using the import mapping. This way even if the connector wants to use some random address from the account to rewrite the customer record, the import map would use the metafields to prevent that.
The problem I am encountering is that while the Main contact fields seem to work fine (customer name, attention, email and phone), none of the main contact address fields are exporting. I even tried using the override address checkbox on the main contact to see if that had something to do with the problem. That did not change the outcome.
Here is a screenshot showing what I am reporting. When I push an export from Acumatica, the contact metafields are filled in but none of the address fields are.

Is this just broken for the Shopify connector and one of those things that maybe is for Big Commerce only? I don’t quite understand why that would be the case seeing as we’re referencing fields in Acumatica, so I am wondering if someone can tell me what is going on with this and if there is a way to get it to work?
The import mapping/export mapping feature is an amazing concept but I’m running into more and more instances where it seems like a beta release and not the well tested and ready for production feature I was expecting.