Articles

Data Model Pack powerful features

E-commerce database design based on real business workflows

December 2025 / in Blog / by Data Model Pack

If you are searching for an E-commerce Data Model that supports multiple sales channels, real-time item stock management, complex price and discount configuration, and comprehensive tracking of customers and orders, Data Model Pack provides high-quality, professionally designed E-commerce database schema tailored for real business workflows.

Integrated Order data from multiple Sales Channels

  • Our E-commerce Data Model supports Customers to place Orders through multiple Sales Channels such as: ONLINE, PHONE, IN-STORE, DRIVE-IN.
  • The smart E-commerce database design ensures that all information - whether it is from an ONLINE, IN-STORE, DRIVE-IN or via PHONE placed Order - is synchronized in real-time, creating an integrated view of Orders across all Sales Channels.
  • Each Sales Channel configuration is explained with detailed use-case mappings. See Subject Area: ORDER and Order Process and Status for more information.

Example of Sales Channels that support integrated Order data

Name Description
ONLINE The REGISTERED ONLINE Customer places an Order on Store website / through a mobile application.
PHONE The GUEST Customer makes a phone call to the Store to place an Order. Store Employee answers the call, asks for the mandatory information about Customer and places the Order on Customer behalf, through a mobile or desktop application.
IN-STORE The ANONYMOUS Customer steps into Store and asks to place an Order. Store Employee places the Order on Customer behalf, through a mobile or desktop application.
DRIVE-IN The ANONYMOUS Customer drives to the Store ordering window / microphone station and asks to place an Order. Store Employee places the Order on Customer behalf, through a mobile or desktop application.

See Subject Area: ORDER and Subject Area: CUSTOMER for more information.

Efficient Order management operations

  • We maintain all Order data in a single database providing an accurate view of Item/Product stock and Order fulfillment.
  • From Order capture and validation to Order delivery, the production-ready E-commerce database schema efficiently supports the business operations. See Order Process and Status for more information.
  • Our E-commerce database schema is offering real-time Order tracking and Order history archiving.
  • The database design allows Store Employees and registered Customers to access Order Status information in real-time and to receive Order Status notifications.

See Subject Area: ORDER and Order Process and Status for more information.

Real-time Inventory tracking

  • By supporting real-time inventory tracking, Data Model Pack's E-commerce database schema avoids the situations when the system could mistakenly indicate that an Item/Product is available when in fact it is out of stock.
  • Our powerful E-commerce database design offers support to optimize stock management and to avoid the out of stock or over stock situations.
  • We offer the best Inventory Management database solution by implementing Stock control indicators such as: Preferred Stock Quantity, Low Stock Quantity, Low Stock Warning and ensuring accurate tracking of Item Stock levels history: Initial Quantity, Stock Entry/Exit Quantity, Current Quantity.

See Subject Area: INVENTORY AND STOCK for more information.

Accounting documents for tracking the Item Stock movements

  • Our professionally-designed E-commerce database model allows deep insights into the Item Stock movements resulted from business operations such as: Stock Purchase, Stock Return, Sale Order, Sale Return, Inventory Count, Loss and Damage etc.
  • An Item Stock movement can be a Stock Entry, when an Item Quantity is added to the Item Stock, or a Stock Exit, when an Item Quantity is decresead from the Item Stock. See Entity: STOCK_HISTORY for more information.
  • Every Item Stock movement should have assigned an accounting Document to justify that Stock movement. See Subject Area: DOCUMENT for more information.
  • For example, when a Customer requests to return a part or all the Order Items, the database ensures support for: recording the Sale Return request (see Entities: ORDER_HEADER, SALE_RETURN, SALE_RETURN_ITEM), updating the Item Stock (see Entities: STOCK_HISTORY, ITEM), processing Refund (see Entity: REFUND) and recoding all the required accounting documents (see Entity: DOCUMENT).

Example of accounting documents for tracking the Item Stock movements

Document Category Document Type
1 - Expense 100 - Stock Purchase
1 - Expense 120 - Stock Return
2 - Sale 200 - Sale Order
2 - Sale 210 - Sale Return
2 - Sale 220 - Sale Refund
3 - Inventory 300 - Inventory Count
4 - Loss and Damage 400 - Loss and Damage

See Subject Area: DOCUMENT and Subject Area: INVENTORY AND STOCK for more information.

Scalability through multiple Stores configuration

Our E-commerce database schema supports operations scalability by adding new Stores.

  • Each Store has it's own data configuration such as: Name, Tax Code, main Currency, taxes to be applied, suppliers list etc. , and can use some shared data configuration such as: Item/Product Categories, Payment Methods, Sales Channels and more. See Subject Area: STORE for more information.
  • The E-commerce application Administrator can create a new Store and add a Store Administrator. See Subject Area: EMPLOYEE AND ROLE for more information.

High-quality Customer experience

Data Model Pack delivers an E-commerce database schema carefully designed for streamlining the processes related to Customer experience, from Customer registration and Order placement, to Order delivery and Customer feedback capture.

  • The E-commerce database schema ensures support for structuring information about Customers from multiple Sales Channels.

Customers can be in one of the following categories:

  • REGISTERED ONLINE
    Customer creates an user account and self-registers on Store website / through a mobile application.
  • GUEST
    Customer makes a phone call to the Store to place an Order and a Store Employee registers the mandatory information about Customer: First Name, Last name, Phone, etc.
  • ANONYMOUS
    Customer places an Order in Store (or at a Drive-In station) and the Order is picked-up by Customer as soon as the Order is paid. In this case there is no information recorded about Customer.

    There are many other scenarios for Customer registration supported by our E-commerce database schema.
    For example, if an ANONYMOUS Customer asks for a detailed invoice/ or wants to return an Item/Product, then the Store Employee will register the mandatory information about Customer and in this case Customer becomes a GUEST Customer.

See Subject Area: CUSTOMER for more information.

  • A Customer can have a Loyalty Card assigned that will entitle the Customer for promotions and marketing campaigns enrollments.
  • The Registered Online Customers who placed an Order can have access to Orders Status and can assess the ordering experience through Order Review.
  • Orders can be handed off to Customers through many delivery methods such as SHIPMENT and PICK-UP. Both delivery methods are handled in the same database model that makes the Order fulfillment tracking more easy.

When places the Order, Customer can choose the delivery method:

Name Description
SHIPMENT Order is delivered to Customer at Shipment_Address. See Entity: SHIPMENT, Attribute: Shipment_Address for more information.
PICK-UP Order is picked-up by Customer from Store.

See Subject Area: ORDER for more information.

  • The system allows shipment tracking notifcations as the Shipment is integrated with Order Status history.
  • Our E-commerce database model is tailored for real business workflows and supports flexible Order delivery scenarios.

Examples of Order delivery scenarios

‐ The REGISTERED ONLINE Customer can place an Order through ONLINE Sales Channel and select the Delivery Type: SHIPMENT

‐ The GUEST Customer can place an Order through PHONE Sales Channel and select the Delivery Type: SHIPMENT

‐ The ANONYMOUS Customer steps into Store and asks to place an Order with Delivery Type: SHIPMENT at a Shipment Address. In this case the Store Employee records the Customer as a GUEST Customer and the process continues as for a GUEST Customer.

See Subject Area: ORDER and Order Process and Status for more information.

Flexible Payment Terms

  • Customers can make the payments with many Payment Methods: CASH, CARD, DIGITAL ( Stripe, Paypal etc)
  • Depending on Delivery method - SHIPMENT or PICK-UP, Orders can be paid IN ADVANCE or AT HANDOFF.
  • Entity: PAYMENT_TERM implements the allowed combinations of Sales Channel, Delivery Method, Payment Method, Payment Time for an Order.

Example

Entity: PAYMENT_TERM

SALES CHANNEL DELIVERY TYPE PAYMENT METHOD PAYMENT TIME Is Allowed
ONLINE SHIPMENT CASH IN ADVANCE FALSE
ONLINE SHIPMENT CASH AT HANDOFF TRUE
ONLINE SHIPMENT CARD IN ADVANCE TRUE
ONLINE SHIPMENT CARD AT HANDOFF TRUE
etc

For example the below combination does not make sense and Is Allowed is FALSE:

SALES CHANNEL DELIVERY TYPE PAYMENT METHOD PAYMENT TIME Is Allowed
ONLINE SHIPMENT CASH IN ADVANCE FALSE

For an Order placed ONLINE and delivered through SHIPMENT it's impossible to make a CASH payment IN ADVANCE.

See Subject Area: ORDER for more information.

  • The data model is flexible and the E-commerce application Administrator can easily add new Sales Channels, Delivery Types, Payment Methods. For example can add a record to Entity: PAYMENT_METHOD for a BANK_WIRED_TRANSFER payment method and then add a record to Entity: PAYMENT_TERM to reflect the new configuration.

Item/Product Catalog management

  • Data Model Pack's E-commerce database design supports Items/Products to be grouped by hierarchical Item Categories and listed in an Item Catalog.
  • For every Item/Product, the database model ensures tracking of Supplier's detailed information, taxes applied by Supplier and taxes applied by Store.
  • We created an integrated view of Suppliers and Item/Products so registered online Customers can get access to view all Items/Products sold by an individual Supplier/Company.

See Subject Area: ITEM for more information.

Price and Discounts management

Our E-commerce data model supports complex pricing and discounts /promotions plans. This will let Stores to roll out different prices to different Customers based on their cart (Order Items), shopping time (week days, hours etc), Loyality cards and more.

  • Our E-commerce data model takes into consideration and manages all the Item Prices a Sales department owns.

E-commerce Data Model can manage the following Item Prices:

  • ‐ Current Item Cost

    The Item cost paid to Item's Supplier. If Moving Average Price method is active, then the Current Item Cost is re-calculated for the entire Item Stock after each Item Purchase.

  • ‐ Markup Percentage
  • ‐ Price before tax
  • ‐ Price after tax
  • ‐ Sale price

    Sale price = Price_After_Tax + Price_After_Tax * Markup_Percentage/100

  • ‐ Price before discount
  • ‐ Price after discount

See Subject Area: PRICE AND DISCOUNT for more information.

  • The data model also allows comprehensive pricing history tracking by recording the time interval within an Item Price is applicable.
  • The E-Commerce Data Model Pack supports complex discounts/promotions plans.

E-commerce Data Model can manage the following Discount types:

  • ‐ Discounts applied at Order Item level and discounts applied at entire Order level
  • ‐ Discounts applied as a percentage or as a flat amount
  • ‐ Discounts applicable for Customers with a particular Loyalty Card type
  • ‐ Discounts applicable with a Coupon code
  • ‐ Discounts applicable for a Minimum Order Value
  • ‐ Discounts applicable for a Minimum Item Quantity
  • ‐ Discounts applicable only on specific days of the week (for example during weekends) and only for a limited time interval (for example from 2 PM to 4 PM)

and more other discounts scenarios.

See Subject Area: PRICE AND DISCOUNT for more information.

Payment and Invoice management

  • Our E-commerce data model supports flexible payment scenarios.
  • An Invoice can have one or many payments applied and each payment can use a different payment method such as CASH, CARD or DIGITAL. The allowed payment methods are maintained in Entity: PAYMENT_TERM.
  • For example for an Order placed and paid in a physical Store, the Invoice can have two payments applied if 30% of the total amount is paid with CASH and the rest of 70% of the total amount is paid with CARD.

See Subject Area: PAYMENT AND INVOICE for more information.

Employees, Roles and Responsibilities management

E-commerce database users are grouped in three categories: Administrator, Employee and Customer. See Subject Area: CUSTOMER for more information about Customers who own an user account.

  • Each E-commerce application database has only one active Administrator.
  • The Administrator has the reponsibility to populate the tables that contain List of Values: ROLE_TYPE, FUNCTION_TYPE, ROLE_FUNCTION, DOCUMENT_TYPE, UNIT_OF_MEASURE, CURRENCY, PAYMENT_METHOD etc which are general and can be used by all Stores.
  • The Administrator has also the responsibility to create new Stores, and to add an Employee with Store Administrator Role to each new Store.
  • Employees are application users who can access/manage the information stored in the E-commerce database accordingly to the Roles granted to them by application Administrator or by Stores Administrators.
  • Roles help to control what application Functionalities/Functions can be accessed by an Employee.
  • The application Administrator can create and assign to an Employee as many Roles as needed.

Example of Roles created by application Administrator

ROLE
Store Admin
Store Manager
Store Cashier
Store Staff

Example of Functionalities/Functions assigned to a Role

ID ROLE ID FUNCTION
2 Store Admin 23 Add Employee
2 Store Admin 27 Edit Store Details
3 Store Manager 7 View Stock History
4 Store Cashier 30 Create Order
4 Store Staff 34 View Inventory
  • Our E-commerce database schema supports user login sessions tracking, from the time the user account was created and was granted access to application functionalities, to the time the user access to application was revoked.
  • We have created the possibility to track the operations on some critical database tables by adding columns (such as: Created_Time, Created_Employee_Login) to record the user sessions who initiated the operations and the timestamp when new records where added to these tables.

See Subject Area: EMPLOYEE AND ROLE for more information.

In summary

Building a data model for an E-commerce application is not a simple set of database tables but should offer support for real business workflows.

Save time and effort in modelling and starting a new application

E-commerce Data Model Pack is an out-of-the-box solution for building your E-commerce database schema in minutes.

Discover E-commerce Data Model Pack →

E-commerce Data Model example

Deploy fully structured E-commerce database schema with the production-ready SQL DDL scripts.

Download the free Demo today →

Documentation

Fully documented E-commerce data model optimized for data quality and scalability

Understand the logic behind every table, column and foreign key — perfect for onboarding new developers too.

Read the Help Docs →

Accelerate every database schema design with powerful data models

We have already created the database diagram and prepared SQL scripts to deploy your database schema.

Try Data Model Pack Free

© 2025 Data Model Pack · Terms of Use · Privacy