A friend of mine is using Lightspeed Retail POS for a physical store and Shopify for eCommerce.
They are trying to find a way to sync daily Lightspeed POS sales into Shopify so Shopify shows the complete customer purchase history, including in-store purchases, not just online orders.
Has anyone implemented something like this?
What integration method or middleware are you using?
Yes, but this usually requires middleware.
Standard Lightspeed–Shopify integrations sync Shopify orders to Lightspeed, but some integration platforms also sync Lightspeed POS receipts into Shopify so customer profiles show full purchase history (online + in-store).
It’s worth looking for integrations that support POS receipt sync, not just inventory and orders.
That sounds interesting. Do you have any reference, article, or example of how this setup works? I’d like to understand how Lightspeed POS sales get synced into Shopify customer history.
This Smart Receipts solution from Octopus Bridge syncs Lightspeed POS receipts into Shopify customer accounts, including customer details and receipt data, so customers can access their complete purchase history in Shopify (both online and in-store purchases).
This is useful if Shopify is being used as the main customer database and for customer accounts, reporting, returns, and purchase history tracking.
honestly before jumping into middleware solutions i’d push back a little — your friend should really think about whether they actually need the data in Shopify or just need a unified view of the customer. i’ve seen people burn weeks getting syncs working only to realize the order data comes in messy and doesn’t map cleanly to Shopify’s order schema. imo the better first step is figuring out what they’re actually trying to do with the combined data — if it’s just “see full customer history” then exporting both into a shared spreadsheet or lightweight dashboard might be way less painful.
if they truly need it living inside Shopify though — the big gotcha is deduplication. POS customers and online customers almost never match cleanly on email, so they end up with duplicate profiles everywhere. has your friend actually audited how many of their in-store customers even have emails on file? because that’s gonna determine whether any sync is even useful.
Those are really good points, especially about duplicate customers and order data mapping.
In this situation the goal isn’t just reporting — it’s more about having Shopify as the central customer account where customers can log in and see all their purchases, including in-store purchases, and also for returns and customer service history.
They do capture emails for most POS transactions, so matching customers should work for a good portion of the database.
Mainly just trying to find out if others are pushing POS receipts into Shopify customer profiles, not just syncing Shopify orders to the POS.
A faster and more reliable method is to start from the browser instead of the code:
1. Use DevTools → Network tab (Browser using inspect)
Reload the page and filter by JS. we will see instantly see all third-party scripts, their domains, and their size impact. It’s much quicker to spot dead script and unused apps this way than check each an every files through theme files.
2. Check App Embeds first (OS 2.0)
A lot of leftover scripts now live there, even after uninstalling apps.
Go to the theme customisation and check in the each page which app block is exist or its currently we using or not app block
3. Use Lighthouse or similar audits
Tools like Lighthouse can highlight unused JS and third-party impact, which helps prioritize what to remove.
4. Then clean code selectively
Once you identify the source, go into the theme and remove only what’s confirmed in the above steps find unused app script , instead of blindly searching in the theme.liquid file.
This is an interesting use case especially the goal of making Shopify the central customer account across both channels.
One thing that tends to come up with this approach is that POS receipts and Shopify orders don’t map cleanly to the same structure, so even if the data sync works, the context can still feel off (returns, line items, pricing, etc.).
On top of that, identity becomes a big factor even with good email capture, there are usually edge cases where customer records don’t line up perfectly.
Curious is the main goal here customer-facing (letting customers see their full history), or more operational (returns, support, reporting)? That usually changes how far it’s worth pushing everything into Shopify itself.
To get Shopify working as the central customer account showing in-store + online purchases — the two hard parts are the ones metric_nerd and kthoppae flagged: customer dedup and how a POS receipt maps to Shopify’s order structure. Product handling is also especially critical, if you want the data to be useful.
On dedup: Shopify requires each email and phone number to be unique without exception. The key behavior to look for is how sync matches a POS customer to an existing Shopify customer, what customer info does it update, and what info does it include when there is no match and a new customer is created.
On structure: a POS sale doesn’t map 1:1 to a Shopify order, so look for a tool that brings over line items, tax, payment, and the original POS invoice reference, and that handles the messy cases — deleted or merged products, MISC line items, returns posted against the original sale, exchanges. That’s what makes returns and support lookups behave correctly later. And makes reporting accurate and meaningful.