Skip to main content
Solved

Shopify Connector Customer Main Contact Address fields not working for exports


PorchlightZach
Varsity III
Forum|alt.badge.img

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.  

Best answer by PorchlightZach

Since I have been unable to find a resolution that makes it possible for the main contact address fields to be updated using the default export map behavior, I’ve created a work around by adding customization fields for address information to our Acumatica customer record. This gives us a place to safely store the information we do not want the connector to change.

I also created a PXAction on our graph extension that “backs up” the address on the general tab to these new fields so my coworkers do not need to micromanage copying that data to the new fields.  Any time a user other than admin changes one of the customer address fields, I have a business event trigger an import scenario to run my PXAction. 

With the above in place, I’ve updated the export mapping to send values from the customization fields to Shopify to be stored on the metafields on our customer records there.  Similarly, the import mapping is now configured to set the customer main contact address fields to the values from the shopify metafields.

So far, this setup seems to be working with my limited testing.  I’ll select this as the answer if no one can offer a solution that does not require a customization.

View original
Did this topic help you find an answer to your question?

2 replies

PorchlightZach
Varsity III
Forum|alt.badge.img

As an aside, I did try to read through the known issues for Acumatica 23R1 and could not find anything related to export mapping for customer records (or in general). 

In my original post I forgot to mention that before I even tried this meta field work around, I was trying to export the customer main contact address fields to the Shopify Customer → Customer Address fields with the “Is Default” field set to true.  No matter what I did in Acumatica, Shopify would not change the default address after a sync. 

Originally, I though the option to override the default address was broken but given what I ran into with the meta fields it seems more likely that Shopify won’t set an address with a bunch of empty fields to the default.


PorchlightZach
Varsity III
Forum|alt.badge.img
  • Author
  • Varsity III
  • 44 replies
  • Answer
  • March 7, 2025

Since I have been unable to find a resolution that makes it possible for the main contact address fields to be updated using the default export map behavior, I’ve created a work around by adding customization fields for address information to our Acumatica customer record. This gives us a place to safely store the information we do not want the connector to change.

I also created a PXAction on our graph extension that “backs up” the address on the general tab to these new fields so my coworkers do not need to micromanage copying that data to the new fields.  Any time a user other than admin changes one of the customer address fields, I have a business event trigger an import scenario to run my PXAction. 

With the above in place, I’ve updated the export mapping to send values from the customization fields to Shopify to be stored on the metafields on our customer records there.  Similarly, the import mapping is now configured to set the customer main contact address fields to the values from the shopify metafields.

So far, this setup seems to be working with my limited testing.  I’ll select this as the answer if no one can offer a solution that does not require a customization.


Reply


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings