Magento POS Integration: Connectors, Cost and Timeline
A POS integration is really a decision about who owns stock. Lightspeed, Square, Clover and Shopify POS each expose a different API with different limits, so the sync you build depends on which one is at your counter.
✦ WHAT SYNCS
What moves between POS systems (Lightspeed, Square, Clover, Shopify POS) and Magento.
| DATA | DIRECTION | NOTES |
|---|---|---|
| Inventory | Both ways | Stock per location. One system has to own the on-hand number. scandiweb describes configurable stock ownership on its Clover build to prevent competing writes, and a source of truth defined per entity on its Lightspeed build. |
| Products and prices | Both ways | SKU-level records with names, prices, tax class, barcodes and variants. Direction depends on which system owns the catalog. |
| Orders | Both ways | Square transactions are imported into Magento as orders. Lightspeed receives Magento orders as sales. Clover receives Magento orders with line items, taxes and discounts, and returns status updates to Magento (scandiweb). |
| Customers | Both ways | Matched on email, phone or POS customer ID to cut down duplicates. |
| Refunds and returns | Both ways | Refund and return events update order state and stock. |
✦ THE API
The POS systems (Lightspeed, Square, Clover, Shopify POS) API.
| ASPECT | DETAIL |
|---|---|
| API type | Differs by vendor. Square: an Inventory API for per-location counts. Lightspeed Retail (R-Series): scandiweb describes connecting through the Lightspeed Retail API. Clover: API for inventory, orders and payments. Shopify POS: the Shopify Admin GraphQL API, which POS UI extensions can call. |
| Authentication | Lightspeed Retail: OAuth 2.0 bearer tokens, generally valid for 60 minutes. Square, Clover and Shopify: see each vendor's documentation; we did not verify them. |
| Rate limits | Lightspeed Retail: leaky bucket with a base size of 90 and 1 drip per second per connection (plus 10 and 0.5 for each additional register), and a separate burst limiter. Clover: 50 requests per second per app and 16 per token, with 10 concurrent requests per app and 5 per token. Square documents RATE_LIMITED errors with a 429 status and advises retrying with increasing delays. Shopify: plan-based limits on its Admin API pages. |
| Documentation | POS systems (Lightspeed, Square, Clover, Shopify POS) API docs (opens in a new tab) |
✦ CONNECTOR OPTIONS
Connector options.
| NAME | TYPE | NOTES | LINK |
|---|---|---|---|
| scandiweb Square POS integration | Custom | Agency-built sync of products and variants, per-location inventory, orders and customers, with delta sync and a retry queue. | Vendor page (opens in a new tab) |
| scandiweb Clover POS integration | Custom | Agency-built sync of products, per-location inventory, orders, customers and refunds, with configurable stock ownership. | Vendor page (opens in a new tab) |
| scandiweb Lightspeed Retail integration | Custom | Agency-built sync through the Lightspeed Retail API: products, inventory by location, orders, returns and refunds. | Vendor page (opens in a new tab) |
| Square extension for Magento (per Magestore) | Extension | Magestore describes a free Square extension that syncs transactions, refunds, customers, catalog and inventory, but not orders or loyalty points. Verify the current scope with Square. | Vendor page (opens in a new tab) |
| Custom build | Custom | A direct build against the POS vendor API and the Magento REST API. For Shopify POS that means the Admin API. We found no pre-built Shopify POS to Magento option. | Vendor page (opens in a new tab) |
| Celigo (iPaaS) | iPaaS | Celigo's Magento page lists prebuilt ERP and finance syncs (NetSuite, QuickBooks, Acumatica, Business Central) and names Lightspeed under payment status updates. It does not name Square or Clover, and shows no prices. | Vendor page (opens in a new tab) |
| Magestore POS (Magento-native) | Extension | Replaces the POS rather than connecting one. Magestore's pricing page shows POS Lite at $69/month and POS Simple at $89/month plus $25 per additional store, with offline mode listed on every plan. POS Commerce is a one-time license quoted on request. | Vendor page (opens in a new tab) |
| ConnectPOS (Magento-native) | Extension | Magento POS vendor. Its home page mentions online and offline synchronization and a Multi Source Inventory product, and shows no prices. | Vendor page (opens in a new tab) |
✦ COST AND TIMELINE
Cost and timeline.
| LEVEL | SCOPE | TYPICAL RANGE | TIMELINE |
|---|---|---|---|
| Level 1 | Connector set up and configured | $3,000-8,000 | 2-4 weeks |
| Level 2 (this integration) | Custom API integration (orders, inventory, customers) | $10,000-25,000 | 4-8 weeks |
| Level 3 | Complex ERP sync (B2B pricing, multiple warehouses, middleware) | $25,000-75,000+ | 8-16 weeks |
Typical range, quoted after a scoping call.
Stock and order sync between one POS and Magento is level 2. POS and connector fees are separate from the project price. It climbs with many locations, promotions or bundles that do not map cleanly, or when both systems are allowed to change stock. Shopify POS has no pre-built Magento option that we found, so that one starts from the Admin API. Native POS or an external one. Magento-native extensions such as Magestore and ConnectPOS replace the counter system. Connecting Lightspeed, Square or Clover keeps it and makes the sync the project. Magestore's prices above are as its pricing page shows them. ConnectPOS shows none on its home page, so get a quote. Offline selling and reconciliation. A connected POS keeps selling when the web is down, and the sync has to catch up afterward. scandiweb lists offline modes, returns, partial captures and cash drawer scenarios among its Clover test cases. Run the same cases against real receipts and reconcile counts per location after any outage. Multi-Source Inventory. Adobe defines a source as a physical location where inventory is managed and shipped, and a stock as an aggregated inventory offered to sales channels (websites). Each sales channel has one stock. Decide which POS location maps to which source, or whether one stock covers them all, before the build. Rollout order. Pick the single owner of stock first. Then pilot one store before the rest. scandiweb describes a staged rollout for Clover and a Lightspeed cutover with rehearsals, fallbacks and rollback playbooks.
✦ WHERE THESE PROJECTS GO WRONG
Where these projects go wrong.
- Two writers on one count. If the POS and Magento can both change on-hand quantity, counts drift. Name one owner per location.
- Item and variation mapping. POS items and variations have to line up with Magento configurable children and barcodes.
- Locations. scandiweb maps Lightspeed outlets to Magento websites, store views or MSI sources, and Clover locations to Magento sources. Settle the mapping before the build.
- Vendor limits. Lightspeed and Clover cap how fast a catalog or stock level can sync, and Square returns RATE_LIMITED errors with a 429 status.
- Promotions and tax. POS discounts, bundles and tax settings rarely match Magento one to one.
- Returns. Partial refunds, offline sales and cash-drawer cases all need testing against real receipts.
- Duplicate customers. In-store and online accounts need matching on email or phone.
✦ QUESTIONS MERCHANTS ASK
POS systems (Lightspeed, Square, Clover, Shopify POS) integration FAQ.
Which POS systems can connect to Magento?+–
What is the biggest risk?+–
Do POS API limits matter?+–
Is there an off-the-shelf extension?+–
Should we use a Magento-native POS or connect our existing one?+–
What happens when the store is offline, and how do we roll it out?+–
✦ KEEP EXPLORING
Related integrations.
Magento Amazon Integration: Connectors, Cost and Timeline
Amazon rations how fast you can pull orders: getOrders is documented at 0.0167 requests per second with a burst of 20. Whether you buy an extension or build on the Selling Partner API, the integration has to work around those token buckets with notifications and feeds instead of polling.
Magento QuickBooks Integration: Connectors, Cost and Timeline
QuickBooks Online and QuickBooks Desktop need two different integrations. Online talks REST and OAuth 2.0. Desktop talks qbXML through the Web Connector. Find out which one you run before anyone quotes you a price.
SOURCES
- Square developer docs: Handling errors (opens in a new tab)
- Square developer docs: Inventory API (opens in a new tab)
- Lightspeed Retail API: Rate limiting (opens in a new tab)
- Lightspeed Retail API: Authentication overview (opens in a new tab)
- Clover developer docs: API usage and rate limits (opens in a new tab)
- Shopify.dev: API limits (opens in a new tab)
- Shopify.dev: Extending Shopify POS (opens in a new tab)
- scandiweb: Magento integration with Square POS (opens in a new tab)
- scandiweb: Magento integration with Clover POS (opens in a new tab)
- scandiweb: Magento integration with Lightspeed Retail (opens in a new tab)
- Magestore: Square POS and Magento (opens in a new tab)
- Magestore: POS pricing (opens in a new tab)
- ConnectPOS (opens in a new tab)
- Celigo: Magento integrations (opens in a new tab)
- Adobe Experience League: Stocks and sources (opens in a new tab)