Skip to main content
Question

Shopify - Tracking price/compare at price from Shopify on an order level

  • July 28, 2026
  • 1 reply
  • 8 views

Does Acumatica have a solution for tracking price/compare at price from Shopify on an order level?

There are a number of reasons to use the ‘Compare At’ price function in Shopify. They can be utilized in more complex promos to avoid Shopify’s limited discount ‘slots’. They also offer a better customer experience with slashed pricing, an immediate view on the actual sales price, and no requirement to remember a code.

 

The problem with this is that Acumatica is just receiving the price as compare at price so it doesn't look as if it has been discounted.

 

E.g.

Product X has a normal price of $50

We use Shopify compare at functionality so that this now has an 'Is' price of $40 and a 'Was' price of $50 (which will shown a slashed pricing on the storefront).

When this comes in to Acumatica the line item just shows a pricing of $40 but we want to be able to track the fact that this actually represents a $10 discount

 

The compare at pricing isn't available through normal order JSON but is accessible via product/variant API/Graph QL calls.

 

We handle our pricing in Shopify directly and ideally this solution can be handled without enabling 2-way stock item sync.

1 reply

You're right that this needs a workaround since Shopify's own Order JSON only returns the actual transaction price, not the Compare At price — that's a Shopify limitation, not an Acumatica one.

Here's how you can handle this without turning on full 2-way item/price sync:

  1. Add a couple of UDFs on the Sales Order line (via Customization) — something like CompareAtPrice and DiscountAmount. These just sit there waiting to be populated; they don't affect normal pricing/inventory sync at all.
  2. Use a scheduled process (or Business Event) that calls Shopify's Admin GraphQL API separately — specifically the productVariant.compareAtPrice field — right after (or during) the order import. This is a read-only call per SKU/variant, so it has nothing to do with your 2-way stock sync, it's just pulling one extra pricing attribute you already have access to.
  3. Populate the UDFs during import: CompareAtPrice = what Shopify shows as "Was", and calculate DiscountAmount = CompareAtPrice - ActualPrice on the line. This way your $50 vs $40 example shows up clearly as a $10 discount on the SO line, without touching how the item is priced or synced in Acumatica.
  4. If you're using the standard Acumatica Shopify Connector, this would typically go into the Processing/Mapping screen as a custom mapping extension — you're essentially adding one extra API call into the existing import flow, not replacing anything.

The key point: since you already manage pricing in Shopify, you don't need Acumatica to use the Compare At price for anything price-driven — you just need it captured for reporting/promo tracking purposes, which is exactly what the UDF + separate GraphQL call approach gives you, with zero impact on your existing one-way sync setup.

If you're on the standard connector (not a custom build), this would need a small customization by a certified partner — it's a fairly contained piece of work, not a rebuild of your integration.