Custom Software & Platforms
How we replaced five Excel sheets and a wall of manual work with a real-time inventory engine — wired directly to Shopify, built to handle 300–400 concurrent orders, and powered by a three-tier deduction logic that knows exactly where every piece of stock should come from.
The problem
The client runs a single fashion store on Shopify selling shirts, pants, and shorts. Their inventory had three distinct stock layers — returned goods, ready-made stock, and raw fabric — and they were tracking all of it across five separate Excel sheets. One sheet for daily orders, one for ladies' tops, one for data tracking, one for fabrics, and one for returns.
As long as order volumes were manageable, the system held. But when orders started scaling, the cracks showed fast. Someone had to manually check each incoming order, figure out which stock source to pull from, update the relevant sheet, and record the deduction. Exchanges made it worse — if a customer wanted a different item, staff had to manually track the price difference and chase the customer for payment.
The core problem: there was no connection between Shopify and the inventory. Every time an order came in, a human had to bridge the gap — opening the right spreadsheet, finding the right stock layer, doing the deduction by hand. When concurrent orders spiked, the process broke down entirely.
The heart of the system
When a Shopify order fires, the engine doesn't ask anyone what to do. It works through three stock sources in priority order, cascades automatically if a layer runs out, and handles partial fulfillment without human input.
The engine looks for the exact SKU in returned goods. Returns are prioritized because they represent already-manufactured stock that needs to move. If the item is there, it gets deducted and the order is fulfilled.
Highest priorityIf returns don't have the SKU, the engine checks the ready-made stock — finished garments available to ship immediately. Found it? Deducted and fulfilled. This is the most common fulfillment path for standard orders.
Second priorityIf ready stock is also empty, the engine looks up the SKU-to-fabric mapping — for example, a black shirt maps to fabric code 11FB with a consumption of 1.7 metres. The exact fabric quantity is deducted and a production slip is generated for the workshop.
Production triggeredIf all three layers have insufficient stock, the store owner receives an immediate notification. No silent failures — every unfulfillable order surfaces immediately.
Owner notifiedLive example — Black shirt order
Partial fulfillment
If an order contains multiple items and only some can be fulfilled, the system doesn't reject the whole order. It fulfils what it can, flags the shortfall items, and notifies the owner — partial production slips are generated for whatever goes to fabric.
Concurrent order processing
The production engine uses Redis to manage concurrent order processing. When multiple orders hit simultaneously, Redis ensures the deduction queue runs correctly — no two orders can deduct from the same stock at the same time, preventing overselling and inventory mismatches at scale.
What's built in
From the moment an order lands on Shopify to the moment it ships, every step is managed from inside the platform.
All incoming Shopify orders visible in one dashboard. Status tracked from receipt through production and dispatch — with no manual data entry required.
When an order routes to fabric, the system automatically generates and prints a production slip — item, SKU, fabric code, quantity, and all relevant details.
When a customer exchanges an item, the system calculates the price difference and automatically sends a Razorpay payment link to the customer for the balance owed.
Returned items are logged into the return stock layer and become immediately available for future order fulfillment — the return manager role handles this with a dedicated view.
A single dashboard showing real-time stock levels across all three layers, order status, pending production, and exchange queue — replacing the five Excel sheets entirely.
Operators can place custom orders directly from inside the inventory system — without going through Shopify's front end — triggering the full deduction and production flow automatically.
Access control
Every user type has a purpose-built view — no one sees more than they need, and no one can touch what they shouldn't.
At scale
The numbers the system manages in normal operation — without a spreadsheet in sight.
orders managed concurrently using Redis-backed queue processing
stock layers — returns, ready stock, and raw fabric — in one unified engine
role types with purpose-built views and access controls
human decisions required to route an order from Shopify to production
Integrations
The system doesn't live in isolation — it's wired to every external tool the store depends on.
Two-way integration. New orders trigger the deduction engine instantly via webhook. Product updates — including images, SKUs, and variants — sync into the inventory system in real time, keeping the platform always current with the store.
When a customer exchanges a product and owes a price difference, the system calculates the delta and dispatches a Razorpay payment link automatically — no manual invoice, no chasing payment over WhatsApp.
Redis underpins the production engine's ability to handle 300–400 concurrent orders without race conditions. The queue ensures deductions are processed sequentially per SKU, preventing two orders from claiming the same stock simultaneously.
Integrated for streamlined checkout handling and one-time payment flows, extending the native Shopify checkout with custom logic required for the store's specific order types and exchange scenarios.
Tech stack
The full stack powering the deduction engine, real-time integrations, concurrent order processing, and role-based access.
Before
After
Start a project
Whether it's inventory, operations, or any back-office process held together by Excel — we build the system that actually fits how your business works.
Get in touch →