---
title: Why We Build Retail Workflows On Moqui
description: "Why HotWax builds retail workflows on Moqui: durable entities, services, jobs, screens, and permissions instead of one-off logic hidden in app code."
---

[![HotWax Commerce](https://www.hotwax.co/hs-fs/hubfs/hotwax-logo.png?width=200&height=63&name=hotwax-logo.png)](https://www.hotwax.co/)

[![HotWax Commerce](https://www.hotwax.co/hs-fs/hubfs/Common%20assets/Logos/HotWax/HWCLogoDarkMode.png?width=200&height=63&name=HWCLogoDarkMode.png)](https://www.hotwax.co/)

☰

- Product 
    - Overview 
          - [Order Management System](https://www.hotwax.co/product/omnichannel-order-management-system/)
          - [Store Inventory Management](https://www.hotwax.co/solution/store-inventory-management)
          - [Omnichannel Suite](https://www.hotwax.co/product/omnichannel-order-management-system-for-shopify/)
          - [OMS Architecture](https://www.hotwax.co/product/technology/oms-architecture)
          - [MCP Server](https://www.hotwax.co/product/technology/mcp-server)
          - [AI Powered Order Routing](https://www.hotwax.co/product/technology/ai-powered-order-routing)
          - [FAQ](https://www.hotwax.co/frequently-asked-questions)
          - [Product Updates](https://www.hotwax.co/product-updates)
          - [Knowledge Base](https://www.hotwax.co/hotwax-commerce-documentation)
    - Integrations 
          - [Shopify](https://www.hotwax.co/shopify-order-management-integration)
          - [NetSuite](https://www.hotwax.co/hotwax-netsuite-integration)
          - [All Integrations](https://www.hotwax.co/all-integrations/)
- Use Cases 
    - By Business Benefits 
          - [Prevent Overselling](https://www.hotwax.co/use-cases/prevent-overselling)
          - [Unified Inventory](https://www.hotwax.co/solution/unified-inventory/)
          - [Order Routing](https://www.hotwax.co/solution/configurable-order-routing)
          - [Ship From Store](https://www.hotwax.co/solution/ship-from-store-software)
          - [Buy Online Pick-Up In Store](https://www.hotwax.co/solution/buy-online-pick-up-in-store-bopis-software/)
          - [Pre-Orders](https://www.hotwax.co/solution/pre-orders/)
          - [Inventory Transfers](https://www.hotwax.co/inventory-transfers)
          - [Cycle Counts](https://www.hotwax.co/cycle-count)
          - [Return In Store](https://www.hotwax.co/solution/buy-online-return-in-store-boris-software)
          - [Retail Sales Audit](https://www.hotwax.co/product/omnichannel-retail-sales-audit-oresa/)
    - By Business Model 
          - [Footwear](https://www.hotwax.co/industries/footwear)
          - [Jewelry](https://www.hotwax.co/industries/jewelry)
          - [Fashion & Apparel](https://www.hotwax.co/industries/apparel-and-fashion)
          - [Beauty](https://www.hotwax.co/industries/beauty-and-personal-care)
          - [Travel](https://www.hotwax.co/industries/travel-and-bags)
- Resources 
    - [Blog](https://www.hotwax.co/blog)
    - [Podcast](https://www.hotwax.co/podcast)
    - [Whitepaper](https://www.hotwax.co/whitepaper)
    - [Luxury Order Management](https://www.hotwax.co/order-management-system-for-luxury-brands)
    - [Comparing Order Management Capabilities B/W Shopify and HotWax](https://www.hotwax.co/comparing-order-management-capabilities-between-shopify-and-hotwax)
    - [How To Do By Online Pick-Up In Store Right](https://www.hotwax.co/how-to-do-buy-online-pick-up-in-store-right)
    - [Solution Briefs](https://www.hotwax.co/solution-briefs)
    - [Demo Videos](https://www.hotwax.co/demo-videos/)
    - [Sample BI Reports](https://www.hotwax.co/business-intelligence-bi-reports)
- Company 
    - [Our Story](https://www.hotwax.co/about-us/our-story/)
    - [Team](https://www.hotwax.co/about-us/)
    - [Partners](https://www.hotwax.co/become-a-partner)
    - [Customers](https://www.hotwax.co/customers)
    - [Pressroom](https://www.hotwax.co/hotwax-commerce-pressroom)
    - [Social Impact](https://www.hotwax.co/social-impact-hotwax-commerce)
    - [Events](https://www.hotwax.co/events-and-conferences)
    - [Security](https://www.hotwax.co/privacy-and-security)

[Book a demo](https://cta-na2.hubspot.com/web-interactives/public/v1/track/click?encryptedPayload=AVxigLISXXGkcOtRysPKfjcriLyodY4rudkc50veKlKDe8q2B1%2FRWGeLxDhbY%2BkohRU8XspED5h92umpu7OkRZM1bllkBJKAFAlbNGEnCRAQX7O752HQT17G9v%2FBCweH%2FXvHlZ5%2FUC0MRPtKYCn5XoGb8TpxbLxvKbLalLOZcHeqoaHicFtr15mZOUkn2Y06IxHVsa5b0g%3D%3D&portalId=6357099)

[HotWax Engineering](https://www.hotwax.co/engineering) 3 min read 4 Jun, 2026

Architecture Notes

# Why We Build Retail Workflows On Moqui

Why HotWax builds retail workflows on Moqui: durable entities, services, jobs, screens, and permissions instead of one-off logic hidden in app code.

Read Path

Retail operations do not stay inside one screen.

 

An order hold may start in fraud review, affect allocation, block fulfillment, appear in customer service, and eventually change what gets exported to an ERP. A store fulfillment workflow may touch orders, facilities, inventory, employees, packing, shipment, and audit history. A return may start as a Shopify event but become an inspection, disposition, refund, restock, and exception-management workflow.

 

That is why the foundation matters.

 

HotWax Commerce is not just a collection of UI pages around Shopify. It is an OMS built on a framework that gives retail operations a durable model: entities for data, services for business behavior, screens for interaction, permissions for access, jobs for background work, and integration points for external systems.

 

That framework is Moqui.

 

The industry problem

 

Commerce teams often start with controller logic because it is fast.

 

A button calls an endpoint. The endpoint updates a few tables. A webhook runs some custom code. Another screen gets added later. Then a customer asks for a variation, a store team needs a different exception flow, and an integration partner needs the same behavior exposed as a service.

 

Now the team has three versions of the same business process.

 

The problem is not that the code was bad. The problem is that the architecture treated retail workflow as page behavior instead of system behavior.

 

OMS work needs the opposite.

 

The business process should exist as a reusable service. The data model should be explicit. Permissions should be consistent across screens and APIs. Jobs should be schedulable. Integrations should call the same behavior that the UI calls.

 

What Moqui gives HotWax

 

Moqui is useful because it is built around enterprise application patterns that match OMS problems.

 

Its documentation describes a framework with a relational data layer and a service-oriented logic layer. It also includes artifacts for screens, services, entities, jobs, security, and integration-style application behavior. That maps well to retail operations because the same workflow usually needs to be driven by people, jobs, and external systems.

 

In HotWax, this helps keep the business rule close to the domain instead of hiding it in a random controller.

 

If an order is released from hold, that should be a service-level event with a clear data effect. If inventory is reserved, the reservation should be visible in the data model. If a store shipment is packed, the result should not only update the UI; it should change the operational state other systems depend on.

 

The service layer as a contract

 

The most important idea is that the service layer becomes a contract.

 

A UI can call it. A scheduled job can call it. An integration can call it. A test can call it. A future app can call it.

 

That makes the workflow easier to reason about. It also makes the product easier to extend without creating duplicate implementations.

 

For example, consider store fulfillment.

 

The user interface may show a picker a list of orders to pick. But picking is not only a UI action. It affects allocation, inventory availability, shipment readiness, customer promises, and downstream sync. The workflow needs service-level behavior that remains valid whether the action came from an operator, a mobile app, an API, or a background recovery job.

 

That is the kind of thing Moqui is good at supporting.

 

Why this matters for GTM

 

This is not only an engineering preference.

 

Retail buyers care because architecture affects implementation speed and operational reliability.

 

When a requirement appears during implementation, the question is whether the platform has a natural place for it. Does this become a service? An entity extension? A job? A permission? A screen? A data view? Or does the team create another special-case endpoint?

 

The more often the architecture has a natural place for work, the more predictable the product becomes.

 

That predictability matters for customer trust.

 

What we have learned

 

The more operational a workflow becomes, the more expensive it is to treat it as UI code.

 

Fraud holds, brokering, partial fulfillment, returns, inventory publishing, purchase order receiving, and customer service exceptions all cross boundaries. They need shared data and shared behavior. They also need security and auditability.

 

Moqui gives HotWax a way to model those workflows as platform behavior.

 

It does not remove complexity. Retail is still complex. But it gives the complexity a structure.

 

The takeaway

 

HotWax builds retail workflows on Moqui because order management needs more than endpoints and screens.

 

It needs a durable application framework where data, services, permissions, jobs, and user workflows can evolve together. That is what lets HotWax support real retail operations without turning every new requirement into another isolated customization.

Next Signals

## More engineering notes

### [4 Jun, 2026 The Shopify Compatibility Matrix Every OMS Should Publish "Do you integrate with Shopify?" is not a precise question.](https://www.hotwax.co/engineering/shopify-compatibility-matrix-every-oms-should-publish)

### [4 Jun, 2026 From OMS Events To Operational Dashboards An OMS creates a lot of data.](https://www.hotwax.co/engineering/from-oms-events-to-operational-dashboards)

[![HotWax Commerce](https://www.hotwax.co/hubfs/Hotwax-2021/HotWax_February2020/Images%20Icons,%20Apparel%20background,%20Hexagon/logo-hotwax-dark.svg)](https://www.hotwax.co/)

### Connect

### Headquarters

175 S Main St Suite 1310,   
 Salt Lake City, UT 84111

- Product 
    - [Omnichannel Order Management](https://www.hotwax.co/product/omnichannel-order-management-system/)
    - [FAQ](https://www.hotwax.co/frequently-asked-questions)
    - [Product Updates](https://www.hotwax.co/product-update)
    - [Documentation](https://www.hotwax.co/hotwax-commerce-documentation)
- Use cases 
    - [Buy Online Pick-Up In Store](https://www.hotwax.co/solution/buy-online-pick-up-in-store-bopis-software/)
    - [Configurable Order Routing](https://www.hotwax.co/solution/configurable-order-routing)
    - [Ship From Store](https://www.hotwax.co/solution/ship-from-store-software)
    - [Unified Inventory](https://www.hotwax.co/solution/unified-inventory/)
    - [Pre-Orders](https://www.hotwax.co/solution/pre-orders/)
    - [Buy Online Return In Store](https://www.hotwax.co/solution/buy-online-return-in-store-boris-software)
    - [Store Inventory Management](https://www.hotwax.co/solution/store-inventory-management)
- Solutions 
    - [Omnichannel OMS for Shopify](https://www.hotwax.co/product/omnichannel-order-management-system-for-shopify/)
    - [Omnichannel Retail Sales Audit](https://www.hotwax.co/product/omnichannel-retail-sales-audit-oresa/)

© 2026 HotWax Commerce

```json
{
  "@context" : "https://schema.org",
  "@type" : "BlogPosting",
  "author" : {
    "@type" : "Person",
    "name" : "Aditya Patel",
    "url" : "https://www.hotwax.co/engineering/author/aditya-patel"
  },
  "dateModified" : "2026-06-04T12:36:29.021Z",
  "datePublished" : "2026-06-04T12:36:29.000Z",
  "headline" : "Why We Build Retail Workflows On Moqui",
  "mainEntityOfPage" : {
    "@id" : "https://www.hotwax.co/engineering/why-we-build-retail-workflows-on-moqui",
    "@type" : "WebPage"
  },
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "url" : "https://www.hotwax.co/hubfs/hotwax-logo.png"
    },
    "name" : "HotWax Commerce"
  }
}
```