Order Implementation Notes
This page collects implementation-level notes for the Order Management module: data model changes required by MVP2, UI/UX requirements and information structure, and the dependency relationships between orders, lines, and upstream entities (Kanban Cards, Items, Item Supplies).
Data Model Changes (MVP2)
Section titled “Data Model Changes (MVP2)”Item Module
Section titled “Item Module”Item Entity
Section titled “Item Entity”New and modified fields required to support purchase order creation:
Item.description(Text): Allows users to provide a description of the item.Item.sku(Text): A code given to the item for identification within the tenant.Item.preferredSupply()(ItemSupply): Computed value providing the preferred supply source for the item:- If
defaultSupplyis notnull, returns theItemSupplywhosesupplierfield matchesdefaultSupplyfromprimarySupplyorsecondarySupply. - If
defaultSupplyisnull, returnsprimarySupplyif notnull, otherwisesecondarySupply(which may also be null). - Otherwise, returns the first
ItemSupplyentry if any exist, ornull.
- If
Item.effectiveSupply(requestedSupplier: String = null)(ItemSupply): Computed value providing the effective supply source:- If
requestedSupplieris notnull, returns theItemSupplywhosesupplierfield matches. If none match, returnsnull. - If
requestedSupplierisnull, returnsItem.preferredSupply().
- If
ItemSupply Entity
Section titled “ItemSupply Entity”ItemSupply.name(Text): Holds the name of the item given by the supply source. Defaults toItemSupply.sku.
Order Module
Section titled “Order Module”OrderLine Entity
Section titled “OrderLine Entity”Additional fields:
title(Text): Holds the identification of the item being ordered by the line.
Kanban Card Module
Section titled “Kanban Card Module”No changes defined yet for MVP2.
UI/UX Requirements
Section titled “UI/UX Requirements”Overview
Section titled “Overview”Order Management functionality is accessed by users through the UI. The information structure below represents an abstract model of what users interact with — it does not prescribe actual UI layout. The different groupings could be implemented as nested menus, tabs within an Ordering section, or filters within a single screen.
Color Convention for Diagrams
Section titled “Color Convention for Diagrams”- Gray boxes group information presentations sharing common actions.
- Blue boxes represent a list of elements (table component). A box joined below a blue box is accessible by selecting an element from that list.
- Green boxes show a read-only display of a single element.
- Pink boxes allow editing of a single element.
- Yellow boxes represent lookup and selection of a single element from a set.
- Red text represents actions available to the user.
User Information Structure (High-Level)
Section titled “User Information Structure (High-Level)”Detailed Information Structure
Section titled “Detailed Information Structure”List Views
Section titled “List Views”Order Queue
Section titled “Order Queue”- Contents: Cards in
REQUESTEDstate. - Actions: Create Order, Add Lines to Order.
All Order Lists
Section titled “All Order Lists”- Contents: Orders.
- Actions (single select): View Header, View Lines, Annotate.
- Actions (multi-select): Print.
Open List (Draft Orders)
Section titled “Open List (Draft Orders)”- Contents: Orders in
NEWstate. - Actions (single select): Edit Header, Add Lines, Remove Line, Receive.
- Actions (multi-select): Submit, Cancel.
Submitted List
Section titled “Submitted List”- Contents: Orders in
SUBMITTEDstate. - Actions (multi-select): Confirm, Receive, Complete, Archive.
Confirmed List
Section titled “Confirmed List”- Contents: Orders in
CONFIRMEDstate. - Actions (multi-select): Receive, Complete, Archive.
Receiving List
Section titled “Receiving List”- Contents: Orders in
RECEIVINGstate. - Actions (multi-select): Receive, Complete, Archive.
Archive List
Section titled “Archive List”- Contents: Orders in
ARCHIVEDstate. - Actions: None.
Order Lines
Section titled “Order Lines”- Contents: Order Lines for a given Order.
- Actions (single select): View Line, Annotate Line, Edit Line (only if Order in Open state).
- Actions (multi-select, Open/Submitted/Confirmed/Receiving): Receive.
Detail Views
Section titled “Detail Views”View Header
Section titled “View Header”- Contents: Properties of an Order Header. Complex properties may be shown in specialized sub-views (e.g., addresses).
- Actions: Same as the list view that originates it.
View Line Details
Section titled “View Line Details”- Contents: Properties of an Order Line.
- Actions: Same as the Order Lines list view that originates it.
Editors
Section titled “Editors”Header Form
Section titled “Header Form”- Contents: Properties of an Order Header (editable). Complex properties rendered and edited in specialized sub-views.
- Validation: Supplier must be compatible with all order lines;
deliverBydate must be afterorderDate.
Edit Line Form
Section titled “Edit Line Form”- Contents: Properties of a single Order Line (editable).
- Validation: Same as Header Form.
- Navigation: User can save or cancel, then close, navigate to the next line, or navigate to the previous line.
Annotation
Section titled “Annotation”- Contents: The
privateNotesproperty of an Order or Order Line, in editable long-text format. - Actions: Save, Cancel; optionally navigate to the next or previous element if opened from a list view.
Receive
Section titled “Receive”- Contents: Read-only order quantity + editable received quantity (
receivedQuantity.amount), plus read-only unit. - Actions: Save, Cancel; optionally navigate to next or previous element.
Lookup Views
Section titled “Lookup Views”Lookup views find and select a single element. They provide a text input for filtering, displaying minimal information for the user to make a selection.
Lookup Order
Section titled “Lookup Order”- Contents: Orders.
- Search: Order Number, Supplier Name.
- Display: Order Number, Supplier Name, Order Date, State.
Lookup Cards
Section titled “Lookup Cards”- Contents: Kanban Card Details.
- Search: Item Name.
- Display: Item Name, Card Number, State.
Lookup Items
Section titled “Lookup Items”- Contents: Items.
- Search: Item Name, SKU, PrimarySupply.Supplier, SecondarySupply.Supplier.
- Display: Item Name, SKU, Location, Preferred Supplier.
- Additional Actions: Add New Item.
Kanban Card and Item Dependency Updates
Section titled “Kanban Card and Item Dependency Updates”Overview
Section titled “Overview”Orders and Order Lines reference information from Kanban Cards, Items, Item Supplies, and Business Affiliates. When any of these upstream entities are updated, open orders need to react to keep their data current.
Propagation applies only to POs in NEW state. Submitted POs (SUBMITTED and beyond) are frozen snapshots: they record the prices and names at the time of submission and are not retroactively updated. See PRO::PO::0009 for the full data propagation specification.
Update Propagation Rules
Section titled “Update Propagation Rules”When upstream entities change, open PO fields are updated using the observer/notification pattern:
| Upstream Change | PO Field Updated |
|---|---|
| Supplier rename | OrderHeader.supplierName |
| Item name change | OrderLine.title |
| Item description change | OrderLine.description |
| ItemSupply price change | OrderLine.unitCost |
Information Model Dependencies
Section titled “Information Model Dependencies”Copyright: © Arda Systems 2025-2026, All rights reserved