Wholety User Manual
Website

Chapter 2 Core Concepts & Glossary

This is the chapter to read first if you are new. Master these terms and every later chapter becomes easy.


2.1 Product Hierarchy

Term Meaning
Category Product category, the top grouping of products
Brand Brand the product belongs to; can have an annual target
Brand Category Sub-category under a brand
Product (SPU) A product. In this system the smallest manageable unit is the SKU — there is no separate SPU parent
SKU (spec) Stock-keeping unit, the smallest buy/sell unit, with a unique code
SKU code Business-unique code; the join key across stock / orders / finance

In this system a "product" is a SKU. Creating a product = creating a SKU.


2.2 Pricing

Price Where maintained Notes
Purchase price Entered when creating a supply-chain order Follows the order; used as cost at settlement
Sale price Product detail → Price Standard price, written to the price table
Discount price Product detail → Discount Promo price, selectable when creating a sale order
Historical price Auto-recorded by system Trace past price changes per SKU

2.3 Trading Parties

A merchant is not an internal user. Merchants log in via the Merchant Purchase Portal (Chapter 9).


2.4 Document Types

Document Meaning
Supply-chain order Purchase order to a supplier (10-state)
Sale order Sales order to a merchant (7-state)
Return order Sales return document (4-state)
Stock-in / Stock-out doc Generated by warehouse in/out operations
Transfer doc Generated by cross-warehouse transfer
Invoice (AP / AR) Payable / receivable invoice, registered in finance
Tax invoice Tax document, collected in tax-invoice management

2.5 Five-dimension Stock

Stock is not a single number. It is split along five dimensions:

st=>start: Stock of one SKU
a=>operation: Dim 1 - SKU spec
b=>operation: Dim 2 - Warehouse
c=>operation: Dim 3 - Expiry date / batch
d=>operation: Dim 4 - Source supply-chain order
f=>operation: Dim 5 - Shelf position
e=>end: One precise stock unit
st->a->b->c->d->f->e

A specific stock record = one unique combination of SKU × warehouse × expiry × source supply-chain order × shelf position.

That is why the same SKU can show different quantities in different warehouses, at different shelf positions, or with different expiry dates.


2.6 Three Stock Values

st=>start: Physical stock
op=>operation: Subtract sale-occupied (frozen)
io=>inputoutput: Available stock
cond=>condition: Enough available?
ok=>end: Accept order (freeze qty)
no=>end: Reject / reduce qty
st->op->io->cond
cond(yes)->ok
cond(no)->no
Value Meaning
Physical stock Actual quantity physically in the warehouse
Sale-occupied (frozen) Quantity locked by sale orders not yet shipped
Available stock Physical − Occupied = what you can still promise to a new order

When a sale order is confirmed, available stock drops immediately (the quantity is frozen). It is released after stock-out.


2.7 Snapshot

When you create an order, the product information (name, price, volume, etc.) on that order line is frozen as a snapshot. Later changes to the master product (e.g. a price edit) do not change already-created orders.

This protects historical orders: the price you agreed at order time stays on the order, even if the catalog price changes later.


2.8 State Machines

Every core document has a state machine — an ordered set of states, moved forward by business actions. These three are the most important in the manual.

Supply-chain order (10 states)

st=>start: 0 Applied (draft)
sub=>operation: 1 Pending approval
ap=>condition: Approved?
s2=>operation: 2 Approved
s3=>operation: 3 Ordered
s4=>operation: 4 Shipped
s5=>operation: 5 Arrived port
s6=>operation: 6 Cleared customs
s7=>operation: 7 In transit
s8=>inputoutput: 8 Stocked in (partial batches allowed)
e=>end: 9 Settled (freight allocated, cost written back)
st->sub->ap
ap(yes)->s2->s3->s4->s5->s6->s7->s8->e
ap(no)->st

Sale order (7 states)

st=>start: 0 Applied (draft)
sub=>operation: 1 Pending approval
ap=>condition: Approved?
s2=>operation: 2 Approved
s3=>inputoutput: 3 Ordered (stock frozen)
s4=>operation: 4 Stocked out
s5=>operation: 5 Delivered
e=>end: 6 Settled (payment cleared)
st->sub->ap
ap(yes)->s2->s3->s4->s5->e
ap(no)->st

Return order (4 states)

st=>start: 0 Returning
s1=>operation: 1 Stocked back (warehouse)
s2=>operation: 2 Price confirmed
e=>end: 3 Refunded (finance)
st->s1->s2->e

Sale settlement (state 6) requires the order stocked out (≥4) and its linked supply-chain order settled (state 9). See 8.5 / 11.7.


2.9 Cross-border Specifics

Term Meaning
Container / Container no. Shipping container; unique tracking id
Port arrival Container arrives at destination port
Customs clearance Released by customs
Transit Moving from port to warehouse after clearance
Volume (m³) Per-unit volume; basis for freight allocation & loading
Freight allocation Freight split to each SKU's cost by volume ratio
Loading calculation Estimate how much fits, by box type & available volume

Volume is the most error-prone field with the worst consequences — freight allocation and loading both depend on it. Fill the real per-unit volume (m³).


2.10 Finance Concepts


2.11 Tax Concepts

Tax is computed automatically by:

Tax types include GST / PST / QST / HST, configured per province in System Admin → Region & Tax-rate Management.

Get the tax zone right when creating a merchant — wrong zone = wrong tax everywhere.


2.12 Timezone & Currency


Chapter Summary

Next: Module Map & Relationships — where each concept lives in the menu.