← Back to Blog

A Very Opinionated Shopify Client for NetSuite

April 24, 2026 — Dave Weiss

Making Shopify and NetSuite Play Nice Together

I've been reading a lot about Shopify and people trying to make an integration with NetSuite work smoothly. I can see why it's hard to do. As a purely educational endeavor, I set out to build one that "plays nice" with NetSuite.

I made myself a dev account over on Shopify - a big thanks to them for making it open and accessible! NetSuite??? Don't get me started... Diving into the Shopify API docs, I see they have a REST Admin API and another API based on GraphQL. Which one do you use? I had no idea. Sometimes REST Admin works great, sometimes it doesn't. If it doesn't, try GraphQL.

Sorry.... That's the best I can do for you on that front.

The Shopify APIs have a ton of functionality available. Sounds great!

Q: Who doesn't love a robust API that covers all the functionality of the application?

A: In this case, me.

Because it causes confusion. There is so much functionality there that you want to start using it all. If you're going to use Shopify as a web store only (no POS), the only thing I want my web store to do is display the catalog with filterable fields, know how much inventory of each item is available to sell, sell it, and handle all the nasty little credit card stuff nobody likes to deal with.

That's it. No more, no less.

Why? you may ask... Because NetSuite can and should handle everything else in your process flow. Let me explain:

What good is a web store if you don't have merchandise? NetSuite is the system of record for items, so you need to send Shopify your product catalog. Easy enough. What good is a web store that does not know that you are sold out of a popular product? Again, NetSuite is the system of record for inventory, so you need to periodically update Shopify with quantity available per product. Also easy enough.

You buy yourself some traffic to your site and magically (hopefully) some orders come in. Here is where things start to get tricky. A bunch of problems come to the surface after that.

  • Shopify charges the customer's card right away at order time if you're using Shopify Payments. No authorization, then capture at the time of fulfillment. That's a problem for accounting folks, I'm sure. Your average eCommerce manager or warehouse manager could not care less or may not even know what ASC 606 is. A consultant implementing Shopify may not know, either. But your accounting department does or should. ASC 606 is the accounting standard that says revenue is not earned until you have performed your obligation to ship the product.

  • Shopify has functionality for handling fulfillments. Your first instinct might be to use the function. Don't. Why? Because that's what your ERP and/or WMS system should be doing. Don't create a fulfillment in Shopify, then send it down to NetSuite. The flow goes the other way around - NetSuite is your system of record for inventory, remember?

  • Shopify also has functionality for processing returns and issuing credits. Don't use those, either. You CAN start the return process in Shopify, but that's where the flow stops from a Shopify perspesctive. Send the RMA down to NetSuite and let NetSuite handle receiving the goods back, issuing the credit memo and refund. Update Shopify once the process is complete. Why? Because NetSuite is system of record for inventory AND it's your financial system. Credit Memos, Refunds - do it all in NetSuite.

I'll write up a Part II for this in the near future and get into more of the nitty gritty details.

Contact Us

Have a question or want to learn more? We'd love to hear from you.