The gap between what customers expect from omnichannel retail and what most retailers can actually deliver is a data problem, not a strategy problem.
Customers want to check store availability online, buy wherever is convenient, return anywhere, and have staff recognise them across channels. All of that requires inventory, customer identity, and order data to exist in one place and stay accurate in real time. That is the infrastructure problem most retailers are actually working on.
Focus Area
Unified Commerce
Focus Area
Cross-Channel
Focus Area
Inventory Sync
Focus Area
Customer Journey
Understanding the Reality of Retail
Omnichannel retail is genuinely hard to execute because most of the systems that handle different parts of the retail operation — e-commerce platform, point of sale, ERP, loyalty programme, fulfilment management — were acquired at different times, from different vendors, and were designed to work independently rather than together. Inventory that is accurate in the e-commerce system may not reflect what is actually on the warehouse floor because the two systems sync on a schedule rather than in real time. A customer's purchase history in-store is invisible to the e-commerce recommendation engine because the two systems share a customer name but not a customer identity.
The most common gap is not a missing feature — it is a missing shared record. A unified inventory record that every channel reads from and writes to in real time. A customer identity that connects the in-store transaction, the app session, and the website visit to the same person. An order record that knows whether the customer's item is being picked from the store shelf or shipped from a warehouse, and that communicates that status to both the customer and the store staff. Building these shared records requires connecting systems that were designed to be isolated — and the integration work is more demanding than it appears, because every system has its own data model, its own latency tolerance, and its own failure modes.
A store associate who cannot tell a customer whether the size they need is available at another location because the inventory system only shows what is in that store. An online customer who drives to a store to pick up an order marked as ready, and finds the item is not actually there because the online inventory was last updated four hours ago. A customer service team manually processing refunds for online orders returned to stores because the return was entered in the POS but the e-commerce system has no record of it. These are the daily operational costs of omnichannel infrastructure that has not been connected, and they are felt by customers and staff before they appear in any metric.
Solving the Right Problems
We target the specific workflows where manual effort meets its ceiling.
Real-time inventory across channels
Inventory that is updated on a batch schedule — every hour, every four hours, overnight — will be inaccurate by the time any channel reads it. Oversells happen online because the store just sold the last unit. BOPIS orders are promised on items that are not actually in stock. Customers lose trust in inventory information and stop relying on it.
Unified customer identity
A customer who shops online and in-store exists as two or more separate records in most retail systems — one in the e-commerce database, one in the POS, possibly another in the loyalty programme. Without a resolved identity connecting these records, personalisation is limited to each individual channel, and staff in-store have no context about the customer standing in front of them.
Buy online, pick up in store
BOPIS that is implemented as a workaround — an online order routed to a store email address, manually picked by a staff member, with no system-to-system integration — generates the customer satisfaction problems it was supposed to solve. Items are not ready when the customer arrives, the pickup confirmation is manual and inconsistent, and the inventory is not properly allocated until the pick actually happens.
Cross-channel returns
A customer who buys online and wants to return in-store encounters a process that is seamless for the customer but operationally fragmented — the store POS processes the return but has no connection to the e-commerce order record, the refund has to be manually processed in a second system, and the inventory adjustment may or may not happen correctly depending on which staff member handles it.
Consistent pricing and promotions
Price inconsistencies between online and in-store — even small ones, even ones that are explained by different cost structures — generate customer complaints and staff awkwardness. Promotions that apply online but not in-store, or vice versa, create friction at the exact moment when a customer is completing a purchase.
What We Build
Outcomes defined in the language of the people who rely on them.
Commerce platform unification
Integration of the e-commerce platform, POS system, ERP, and fulfilment management into a shared commerce backend — with a single source of truth for inventory, orders, and customer data that all channels read from and write to.
Real-time inventory management
A distributed inventory system that updates stock levels across all channels as transactions occur — with allocation rules, safety stock configuration, and fulfilment priority logic that prevents oversells and enables cross-channel fulfilment decisions.
Unified customer data platform
Customer identity resolution connecting online behaviour, in-store purchases, loyalty activity, and app engagement to a single profile — with the privacy consent management that cross-channel data collection requires.
Order management system
Intelligent order routing across fulfilment locations based on inventory availability, cost, and delivery speed — with split order support, partial fulfilment handling, and real-time status updates across every channel the customer might check.
Store associate tools
Mobile applications for store staff covering customer profile lookup, real-time inventory search across all locations, mobile checkout, and access to the full catalogue for endless aisle ordering — replacing the experience of a staff member saying they do not know if an item is available elsewhere.
Cross-channel analytics
Customer journey analytics tracking how shoppers move across channels — which touchpoints influence purchase decisions, where channel-to-channel transitions create friction, and how omnichannel engagement correlates with retention and lifetime value.
Honest AI for Retail
Specific, grounded applications—no hype. We use machine learning for tasks that are repetitive, high-volume, and data-dependent.
Inventory forecasting models require historical data that reflects the unified channel picture — not just e-commerce history or just store history. For retailers in the early stages of unifying their data, forecasting models trained on channel-specific data will inherit the gaps in that data. We are direct about the data maturity required before forecasting models add meaningful value beyond well-configured business rules.
The concern we hear most often about AI personalisation across channels is around privacy — specifically whether customers have consented to the level of cross-channel data connection that personalisation requires. We build consent management into the customer identity platform from the start: customers who have not consented to cross-channel data use receive channel-specific experiences rather than unified ones. The personalisation improves with consent, but the system functions correctly without it.
Inventory allocation and demand forecasting
A model trained on sales history, seasonal patterns, and channel-level demand signals recommends how to allocate incoming stock across locations — and flags locations where stock levels are likely to be insufficient before the stockout occurs rather than after. For BOPIS-heavy traffic patterns, the model adjusts allocation toward stores with higher pickup demand.
Cross-channel personalisation
A model that combines in-store purchase history, online browsing behaviour, and app engagement data surfaces product recommendations that reflect the customer's full relationship with the brand — not just their behaviour in the current channel. A customer browsing bedding online who recently bought pillows in-store receives recommendations that account for both signals.
Fulfilment routing optimisation
For orders where multiple fulfilment locations have the requested item, a model that weighs shipping cost, delivery time, in-store pickup demand, and current stock levels at each location routes each order to the fulfilment source that minimises cost while meeting the delivery commitment — rather than routing to the nearest or largest location by default.
How We Work
We start with inventory and customer identity — because everything else in omnichannel depends on having a reliable shared record for both.
We map the current systems and data flows before proposing any integration
The integration challenge in omnichannel commerce is almost always more complex than it initially appears, because each system has its own data model, its own latency, and its own failure behaviour. We spend the first phase of every engagement understanding what each system does, what data it holds, how frequently it updates, and what happens when it is unavailable — before proposing how to connect them. Surprises discovered mid-integration are more expensive than surprises discovered during the assessment.
We start with inventory synchronisation and validate it before building anything on top of it
Customer experience features — BOPIS, cross-channel returns, associate tools — all depend on inventory data being accurate. If inventory synchronisation is unreliable, everything built on top of it will produce wrong answers. We treat inventory accuracy as a hard prerequisite and validate it against real transaction data before any customer-facing features are enabled.
We involve store operations in the design of associate tools
Technology designed for store associates by people who do not work in retail stores frequently fails the usability test of a busy Saturday afternoon. We involve store managers and associates in the design and testing of associate-facing tools before they are deployed — because the decisions that determine whether associates actually use a tool are made in the first shift it is available, not in the UAT environment.
We plan for peak trading periods during the implementation, not after
An omnichannel integration that works correctly at normal trading volumes but has not been tested at Black Friday levels will discover its failure modes at the worst possible time. We design load testing, failover behaviour, and degraded-mode operation — what happens when a channel system is temporarily unavailable — as part of the implementation rather than as a post-launch activity.
We do not connect channels and call it omnichannel. The integration depth — whether inventory updates are real-time or eventual, whether customer identity resolution is probabilistic or deterministic, whether the order management system handles fulfilment edge cases — determines whether the customer experience is genuinely seamless or whether the seams are just invisible until a customer encounters them.
68% → 97%
Inventory accuracy improvement
fashion retailer following real-time inventory synchronisation
~67%
Increase in cross-channel sales
electronics chain following pricing unification and associate tools
~140%
Increase in in-store pickup traffic
home goods retailer following BOPIS workflow implementation
Stories of Change
Real scenarios where manual bottlenecks were replaced by continuous visibility.
A 200-store fashion retailer had separate e-commerce and in-store systems with no real-time connection between them. Inventory accuracy was roughly 68% — a significant portion of items shown as available online were not actually in stock. Customers could not return online purchases to stores because the systems had no shared order record, and BOPIS was not offered because the inventory data was too unreliable to promise availability.
A unified commerce backend connecting the e-commerce platform, the POS, and the warehouse management system — with real-time inventory updates, a BOPIS workflow including inventory reservation and pick notification, and a cross-channel returns process that updated both systems simultaneously.
Inventory accuracy improved from roughly 68% to approximately 97%. BOPIS was launched and grew to represent around 180% of its initial target within the first year. Cross-channel returns were available for the first time, and customer satisfaction for returns improved by approximately 42%. Overall revenue increased by around 23% in the first year — attributed to both the BOPIS addition and the reduction in online cart abandonment caused by inaccurate availability information.
A consumer electronics chain had a showrooming problem — customers would examine products in-store and then buy online, often from a competitor, because they could not confirm the in-store and online prices were the same. Store associates had no visibility into online purchase history and could not provide continuity for customers who had engaged with the brand online before visiting the store.
A unified pricing engine that updated all channels simultaneously and a customer data platform connecting in-store and online purchase history to a single profile accessible to associates through a tablet tool.
Price consistency eliminated the specific price-discrepancy complaint that had been the primary stated reason for buying elsewhere. Associates reported that having access to purchase history changed the nature of in-store conversations — they could reference what a customer had already bought rather than starting from zero. Cross-channel sales increased by roughly 67%. Customer lifetime value across the combined base grew by approximately 31%.
A home goods retailer wanted to launch BOPIS but their Shopify storefront and custom POS system had no API connection. Store staff were manually checking emails for online orders, manually picking and setting aside items without any system update, and manually sending pickup confirmation messages. Daily inventory discrepancies were causing both oversells and items being set aside for orders that had already been cancelled.
A real-time integration between Shopify and the POS system, a BOPIS workflow with inventory reservation at order placement, automated pick task notification to store staff, and system-generated pickup confirmation when the order was marked ready.
Manual inventory reconciliation work was eliminated. Customer satisfaction scores for the fulfilment experience improved by roughly 58%. In-store traffic attributable to online order pickup increased by approximately 140% in the six months following launch — with a meaningful proportion of those pickup visits resulting in additional in-store purchases.
Nuance by Retail Segment
The core problems are similar, but the operational environment dictates the solution.
Fashion and apparel
Inventory management across sizes, colours, and locations — with the BOPIS and cross-channel returns workflows that fashion customers expect and the in-store associate tools that make selling across the full catalogue possible.
Consumer electronics
Price consistency across channels, associate tools that surface purchase history and technical specifications, and the endless aisle capability that allows stores to sell from the full catalogue without holding full inventory at every location.
Home goods and furniture
Inventory management for large-format and non-standard items, BOPIS workflow for smaller items available in-store, and the extended catalogue ordering from warehouse that makes store visits productive even when full inventory is not held on the floor.
Grocery and specialty food
Near-real-time inventory for perishables, BOPIS and curbside pickup workflows, and the fresh department inventory complexity that requires separate handling from ambient stock.
Health and beauty
Product recommendation personalisation across channels using purchase history, loyalty programme integration across online and in-store, and the subscription and replenishment workflows that high-frequency categories warrant.
Sporting goods and outdoor
Size and specification inventory accuracy across a large SKU count, in-store expert consultation that can access the full online catalogue, and the seasonal inventory management that sports retail requires.
How to Start
A predictable path from initial assessment to scaled deployment.
Discovery and assessment
A two-week review of current systems, data flows, inventory accuracy, and the specific omnichannel gaps that are creating the most customer and operational friction. Output is a prioritised roadmap with honest estimates of integration complexity and dependency.
Platform integration
An 8–12 week integration engagement starting with inventory synchronisation and customer identity — the foundation — before adding order management and fulfilment capabilities. Timeline depends on the number of systems in scope and their integration surface.
Store enablement
A 4–6 week rollout of associate tools and in-store technology — with store staff involved in the design and pilot, training built around real workflows, and the change management support that makes technology adoption stick.
Ongoing optimisation
Continued involvement after launch — integration monitoring and incident response, new channel additions, fulfilment logic refinement based on operational data, and feature development as the omnichannel strategy evolves.
Security & Compliance
Built for rigorous retail environments where privacy and availability are non-negotiable.
Every solution assumes a high-stakes environment. Data is anonymized at the edge, encrypted in transit, and secured by default.
Payment security
All payment processing across channels — online, in-store, and mobile — is handled through PCI DSS compliant infrastructure. Payment card data is tokenised at capture and is not stored in the commerce backend. In-store and online payment tokens are separate by design to prevent cross-channel card data exposure.
Customer data privacy
Cross-channel customer data collection requires consent management that works across all touchpoints — a customer who consents in-store should have that preference reflected online, and vice versa. We build consent management into the customer identity platform from the start, with the data processing limited to what each consent scope permits.
API and integration security
All channel integrations use OAuth 2.0 authentication, encrypted transmission, and rate limiting. API access is scoped to the minimum data required for each integration. Integration events are logged with sufficient detail for incident investigation without capturing more customer data than necessary.
Underlying Technology
Enterprise-grade architecture capable of processing physical store events in real-time.
Commerce backend
Unified commerce platform handling inventory, orders, and customer data across all channels
- Node.js microservices architecture with separate services for inventory, orders, customer, and pricing
- GraphQL API layer for flexible, channel-specific data access patterns
- Redis for sub-second inventory read performance with write-through cache invalidation on stock updates
- PostgreSQL for transactional data with event sourcing for inventory state history
Integration layer
Event-driven integration connecting POS systems, e-commerce platforms, ERP, and fulfilment systems
- Apache Kafka for event streaming — inventory updates, order events, and customer activity across channels
- Pre-built connectors for Shopify, Magento, Salesforce Commerce, and major POS systems
- Webhook-based real-time sync for systems that support outbound events
- Change data capture for legacy systems without webhook capability
Customer platform
Identity resolution and cross-channel customer data management
- Segment for structured customer event collection across web, mobile, and in-store touchpoints
- Identity resolution layer connecting online and offline transactions to a unified profile
- Consent management with channel-level preference propagation
- Algolia for personalised search and product discovery with cross-channel behaviour signals
Common Questions
Ready to close the gap?
Every retailer is at a different point with omnichannel — some are dealing with a specific problem like BOPIS not working reliably, some are trying to connect systems that have never been integrated, and some are starting from scratch with a new retail concept. If something on this page reflected a situation you recognise, we are glad to hear where you are. No presentation. Just a conversation about what you are working through.
