Domain Model
Author:
Fluent Commerce
Changed on:
21 Dec 2023
Overview
Fluent's Order Management domain oversees the entire order process, including entities like Order, Fulfillment, and Return Order. Billing Management handles financial operations, while Global Inventory aggregates product inventory. The Foundation domain configures setups, and Store Fulfillment manages order fulfillment through the Wave entity. Security governs users and permissions, Shipping records shipping details, and the Product Availability domain ensures real-time product availability. Fulfillment Option and Fulfillment Plan provide flexibility in order fulfillment strategies.
Key points
- Order Management: Comprehensive system for handling orders, from creation to fulfillment and returns.
- Billing Management: Orchestrates billing operations and manages invoices, credit/debit memos, payments, and ERP integrations.
- Foundation Domain: Sets up Fluent Commerce app ecosystem, including Account, Retailer, Activity, and defines locations and networks.
- Store Fulfillment: Crucial for retailers, utilizes the Wave entity for grouping and monitoring orders.
- Shipping & Product Availability: Records shipping details offer real-time product availability considering custom attributes.
- Security Domain: Governs users, roles, and permissions across the Fluent platform.

Order Management
The Order Management domain represents and holds details about all orders across the Fluent platform.
Order
An order is created when a customer completes the checkout process and the order, and its details are recorded in both an e-commerce system and the Fluent platform.
Article
An article represents the physical parcel that transports order items from dispatch to the final destination.
Fulfillment
A Fulfillment represents one or more items in an order that need to be picked and packed for a customer.
Return Order
A return order is an order that requires a return to the location of dispatch. A return order can only be created after an order has been created and fulfilled.
Return Fulfillment
The fulfillment/s associated with a return order.
Customer
A customer is an entity that purchases goods or services from a shop or business.
Billing Management
The Billing Management domain facilitates the management of all billing requirements across the Fluent platform.
Billing Account
The Billing account entity represents financial operations. Billing accounts are responsible for orchestrating all invoices and invoice adjustments (Credit & Debit memos). Additionally, Billing Accounts also manage all associated downstream outcomes including payments, invoice notifications, and ERP integrations.
Invoice
Represents and itemizes a sales transaction between a buyer and a seller. Invoices also track associated Credit Memos, Debit Memos, and Payments.
Credit Memo
A memorandum issued from a seller to a buyer as evidence of a reduction or change in a sale.
Global Inventory

The Global Inventory domain represents aggregations of product inventory across e-commerce systems and the Fluent platform.

Product Catalog
A Product Catalog is a grouping of products and any attributes and details associated with each product in the group.
Category
A class or division of product regarded as having particular shared characteristics.
Standard Product
The base product available to customers.
Variant Product
A variation of a base product. This variation may be in color, size, etc.
Group Product
A grouping of product considered to have shared characteristics.
Inventory Catalog
Inventory catalog consists of inventory positions that can be aggregated from multiple sources. An Inventory catalog holds on-hand inventory of products, variants, and groups.
Inventory Position
The Inventory Position entity represents unique records that identify whether stock exists in a location for a specific stock keeping unit.
Inventory Quantity
The inventory quantity of an available product, SKU and/or variant.
Virtual Catalog
A Virtual Catalog is a collection of subsets of intersections between a product catalog, an inventory catalog and a set of location networks.
Virtual Position
The Virtual Position entity represents different virtual catalog and the stock available in each of the positions in each of the virtual catalogs.
Foundation
The Foundation domain represents the setup and configurations needed in order to implement and build experiences using the Fluent Commerce app ecosystem.
Account
Represents an installation of the Fluent platform. An account can consist of multiple retailers.
Retailer
A business that sells goods to the public.
Activity
The Activity entity tracks all activities that are recorded across the Fluent platform.
Location/Store
A location represents a physical place, whether that is a retail store, a warehouse, or even third-party vendor facilities.
Network
A network defines a named group of locations for the purpose of separating locations into logical or geographic categories.
Store Fulfillment
The Store Fulfillment domain provides the foundation for retailers to manage all aspects of order fulfillments.
Wave
A Wave is the process of grouping orders. The Wave entity holds information about the progress of created waves (completed, started,etc.).
Security
The Security domain represents the users, roles and permissions that are applicable across the Fluent platform.
User
A user is an entity that is interacting with the system. A user can be assigned roles and permissions.
Role
A Role is a set of permissions for a user. Roles are assigned to users.
Permissions
Permissions can be assigned to users. A permission documents abilities.
Shipping
The Shipping domain holds and records shipping details about an order. These details include the chosen carrier and consignment for each article associated with an order.
Carrier
A provider of delivery and shipping services between buyers, sellers, and customers.
Consignment
A consignment is created when an article has been processed for Home Delivery. There is only ever one consignment per article.
Manifest
The Manifest entity records and documents all details pertaining to the shipping of an order. These details include name, carrier and location.
Payments
The Payments domain holds payments details specific to a payment provider and all of Fluent's interactions with that specific identified payment provider.
Financial Transactions
A Financial Transaction is a record of financial activity. A pool of funds available in order to pay for an order.
Payment
A Payment represents the process of capturing or refunding part or all of a financial transaction.
Payment Transaction
Payment Transaction represents log of activities that have occurred whilst processing a payment through its lifecycle.
Product Availability
The Product Availability domain provides a range of availability information for different products. This information is provided by considering custom attributes defined in a business workflow.
Fulfilment Option
Retrieves and identifies the Fulfilment option for the proposed order.
Fulfilment Plan
The Fulfilment plan identifies the strategy to be used to fulfil an order. A fulfilment plan may identify multiple fulfillments to complete an order.