[{"data":1,"prerenderedAt":145},["ShallowReactive",2],{"\u002Fwork\u002Fcase-studies\u002Fshopify-amazon-sync":3},{"id":4,"title":5,"body":6,"businessProblem":111,"confidentiality":112,"description":113,"employer":114,"extension":115,"featured":116,"heroStat":117,"meta":118,"navigation":116,"ogImage":117,"order":105,"path":119,"publishedAt":120,"results":121,"seo":134,"stem":135,"summary":136,"technologies":137,"updatedAt":117,"__hash__":144},"caseStudies\u002Fwork\u002Fcase-studies\u002Fshopify-amazon-sync.md","Shopify and Amazon Marketplace Synchronization",{"type":7,"value":8,"toc":100},"minimark",[9,14,18,22,27,31,44,50,56,62,66,82,86,93,97],[10,11,13],"h2",{"id":12},"the-problem","The problem",[15,16,17],"p",{},"Selling the same products on Shopify and Amazon means keeping two independent systems honest with\neach other. Shopify handled the storefront and source-of-truth inventory; Amazon required its own\nlistings, its own pricing rules, and its own inventory feed through SP-API. Left unmanaged, that gap\nproduces the worst kind of ecommerce failure: an oversell on a marketplace, a listing that's\ntechnically live but effectively invisible because pricing or content issues knocked it out of buy\nbox contention, or inventory counts that just quietly drift apart over weeks.",[10,19,21],{"id":20},"architecture","Architecture",[23,24],"architecture-diagram",{":steps":25,"title":26},"[{\"label\":\"Shopify (source of truth)\",\"detail\":\"Inventory, pricing, product data\"},{\"label\":\"Reconciliation engine\",\"detail\":\"Diff, match, policy checks\"},{\"label\":\"Amazon SP-API\",\"detail\":\"Listings, inventory feeds, pricing\"},{\"label\":\"Monitoring\",\"detail\":\"Mismatch + listing-health alerts\"}]","Marketplace sync — simplified",[10,28,30],{"id":29},"what-i-built","What I built",[15,32,33,37,38,43],{},[34,35,36],"strong",{},"Product matching."," Amazon listings get matched back to Shopify SKUs using ASIN\u002FSKU mapping with\nfallback matching on UPC and title similarity for products without a clean existing mapping —\nsimilar in spirit to the matching logic in the\n",[39,40,42],"a",{"href":41},"\u002Fwork\u002Fcase-studies\u002Fcatalogue-automation","catalogue automation pipeline",", applied here across\nmarketplace boundaries instead of supplier boundaries.",[15,45,46,49],{},[34,47,48],{},"Inventory reconciliation."," A scheduled job compares Shopify's on-hand quantity against what\nAmazon believes it has, and pushes corrections through SP-API. Discrepancies beyond a normal sync\ndelay get flagged instead of silently corrected, since a persistent mismatch is usually a sign of a\ndeeper problem (a failed feed, a miscounted receiving, a return that didn't reconcile).",[15,51,52,55],{},[34,53,54],{},"Pricing sync with policy awareness."," Price updates flow to Amazon through SP-API respecting\nAmazon's pricing rules (minimum advertised price, fee-aware margin floors) so a Shopify-side sale\nprice can't accidentally violate marketplace policy or tank margin on a high-fee category.",[15,57,58,61],{},[34,59,60],{},"Listing health monitoring."," A recurring check watches for listings that dropped out of buy box\ncontention, got suppressed for content issues, or otherwise went quietly invisible — the kind of\nproblem that costs revenue for weeks before anyone notices it manually.",[10,63,65],{"id":64},"reliability-and-validation","Reliability and validation",[67,68,69,73,76,79],"ul",{},[70,71,72],"li",{},"Reconciliation runs are diffed and logged before any corrective write, the same discipline used in\nthe catalogue pipeline.",[70,74,75],{},"Persistent mismatches (not explained by normal sync latency) escalate to a human instead of being\nauto-corrected indefinitely.",[70,77,78],{},"Pricing changes are checked against marketplace policy constraints before they're sent.",[70,80,81],{},"Listing-health checks run on a schedule independent of the sync jobs, so a healthy sync doesn't\nmask an unhealthy listing.",[10,83,85],{"id":84},"business-impact","Business impact",[15,87,88,89,92],{},"Marketplace expansion is only worth doing if it doesn't create new operational risk. This system let\nthe business list and sell confidently on Amazon without inventory or pricing becoming a manual\nbabysitting job — a necessary piece of the same growth story covered in the\n",[39,90,91],{"href":41},"catalogue automation"," case study, where this employer's\necommerce revenue grew from roughly $60,000 to $400,000 per month.",[10,94,96],{"id":95},"what-id-change-next","What I'd change next",[15,98,99],{},"Buy-box and pricing dynamics on Amazon move faster than a scheduled job can always keep up with —\nthe next iteration I'd build is event-driven reconciliation triggered by Amazon notifications rather\nthan pure polling, to shrink the reaction window further.",{"title":101,"searchDepth":102,"depth":102,"links":103},"",3,[104,106,107,108,109,110],{"id":12,"depth":105,"text":13},2,{"id":20,"depth":105,"text":21},{"id":29,"depth":105,"text":30},{"id":64,"depth":105,"text":65},{"id":84,"depth":105,"text":85},{"id":95,"depth":105,"text":96},"Running the same catalogue on Shopify and Amazon meant two systems of record that disagreed — oversells when inventory drifted out of sync, pricing that violated marketplace policy, and listings that silently fell out of buy-box contention.\n","anonymized","Architecture and lessons from building inventory reconciliation, pricing, and listing-health workflows across Shopify and Amazon SP-API for a multi-thousand-SKU catalogue.","a Canadian industrial distributor","md",true,null,{},"\u002Fwork\u002Fcase-studies\u002Fshopify-amazon-sync","2026-02-10",[122,125,128,131],{"label":123,"value":124},"Marketplace oversells","Eliminated via reconciliation",{"label":126,"value":127},"Listing issues","Caught before customer impact",{"label":129,"value":130},"Price\u002Finventory sync","Automated, policy-aware",{"label":132,"value":133},"Marketplaces synchronized","2 (Shopify + Amazon)",{"title":5,"description":113},"work\u002Fcase-studies\u002Fshopify-amazon-sync","Keeping inventory, pricing, and listings consistent across Shopify and Amazon SP-API.",[138,139,140,141,142,143],"Shopify Admin API","Amazon SP-API","Python","PostgreSQL","Webhooks","Scheduled reconciliation jobs","VXLn4fG_S_7mzyThYgJ5UW8xRTtAU2H2_wlVKrs1ZgA",1785688078907]