ModulesWarehouse Management
Modules

Warehouse Management in Jules

How Jules manages warehouse operations — inbound receptions, outbound dispatches, inventory tracking, stockpiles, and yard settings.

Warehouse Management in Jules

Product documentation — How Jules models warehouse operations, from inbound reception through stockpile management to outbound dispatch, and how warehouse-specific settings control the flow.


Table of Contents

  1. Overview
  2. Warehouse as a Special Operation Mode
  3. Inbound Flow
  4. Outbound Flow
  5. Inventory Tracking & Stockpiles
  6. Yard Reception — Local Market
  7. Recycling Processing
  8. Recurring vs Spot Purchases
  9. Logistic Costs for Warehouse Operations
  10. Warehouse Settings
  11. Key Business Rules
  12. Glossary

Overview

The Warehouse module in Jules manages the full physical lifecycle of materials at a warehouse site: purchasing goods into stock (inbound), tracking what is available (inventory), and dispatching goods to customers or export (outbound).

A warehouse is a Site of type WAREHOUSE. It acts as the physical location that holds material between a purchase and a subsequent sale. Most of the warehouse workflow is driven through standard operations and containers, but with a distinct inbound approval gate and stockpile assignment step that do not exist in direct trading flows.


Warehouse as a Special Operation Mode

In Jules, a warehouse operation is still a standard operation (purchase or sale) — the difference lies in the flow: instead of goods going directly from supplier to customer, they pass through an intermediate warehouse site.

FlowDescription
Inbound (Purchase into warehouse)Goods arrive at the warehouse from a supplier. The purchase operation's destination is the warehouse site.
Outbound (Sale from warehouse)Goods leave the warehouse to a customer. The sale operation sources material from a stockpile at the warehouse.

An operation is a warehouse operation when its destination or source is a warehouse site. This changes how margins are calculated (buy cost is separated from sell revenue across two distinct operations) and enables stockpile assignment on each container.

Site type WAREHOUSE

A site must be of type WAREHOUSE to appear in the warehouse module. Warehouse sites carry additional configuration fields compared to regular sites:

FieldDescription
Warehouse typeINTERNAL (owned) or EXTERNAL (third-party)
Default stock picking ruleDefault rule for picking stock: FIFO (First In First Out) or LIFO (Last In First Out)
Allow negative stockWhether stock can go negative (useful when goods are dispatched before formal registration)
Stockpile optionalWhether stockpile assignment is required or optional on containers
Restricted qualitiesWhether only pre-approved qualities can be received at this warehouse

Inbound Flow

An inbound represents a container or truck load of material arriving at a warehouse site. The inbound flow covers three stages: container creation, reception recording, and stockpile assignment.

1. Purchase operation

The inbound starts with a BUY operation whose destination site is the warehouse. This operation defines the material (quality), contracted quantity, price, and supplier.

2. Container arrival and reception

When goods arrive, a reception is recorded on the container. The Reception entity captures:

FieldDescription
Date of receptionDate goods were physically received
Date typeWhether the date is the LAST_DEPARTURE_DATE or LAST_ARRIVAL_DATE
Number of containersHow many containers arrived in this reception event
StatusALLOCATED, CONFIRMED, or CANCELLED

A reception is linked to the purchase operation and optionally to a specific allocation.

3. Inbound approval workflow

Before goods are formally accepted into inventory, the inbound can be subject to an approval gate. Each container carries an inbound status:

StatusMeaning
PENDINGContainer has arrived but approval is pending
RECEIVEDInbound approved — goods are confirmed in stock
CANCELLEDInbound was rejected or cancelled

From the Warehouse Inbounds page, authorized users can:

  • Approve — goods enter inventory
  • Reject — inbound is flagged as cancelled
  • Cancel — container is removed from the inbound queue

Approvals and rejections can be performed in batch for multiple containers at once.

4. Weighing and quality data

Each container in the inbound carries weight data:

FieldDescription
grossWeight / grossQuantityTotal weight including tare
netWeight / quantityNet material weight
tareWeightWeight of the empty container
weightUnitUnit (T, KG, LBS…)
assayStatusQuality analysis status (configurable list of statuses)
reportAmountValue from the assay report

CargoSnap integration: For containers with a reference number, Jules can pull photographic and weight data from CargoSnap automatically using the container reference number. This returns container images, sealed number, VGM, and tare/net/gross weights automatically, reducing manual data entry.

5. Stockpile assignment

Once approved, each container or delivery is assigned to a stockpile at the warehouse:

  • The stockpile assignment on a delivery links the goods to a specific stockpile.
  • The delivery type (MATERIAL or ITEM) indicates whether the stock is tracked by weight or by individual items.
  • Stock records are created, recording quantity, quality, conditioning, and stockpile assignment.

Outbound Flow

An outbound is the dispatch of material from a warehouse stockpile to a customer. It is modelled as a SELL operation whose source is the warehouse.

Stock picking

When creating the outbound, the system picks stock from the stockpile using the configured stock picking rule:

RuleDescription
FIFOFirst In First Out — oldest stock is picked first
LIFOLast In First Out — most recent stock is picked first

The picking rule can be set at three levels (from most to least specific): stockpile level overrides quality level, which overrides warehouse level.

The system supports limit-based picking: given a target quantity and a picking rule, it returns the deliveries to pick in the correct order. Multiple stockpile limits can be specified simultaneously.

Loading and dispatch

Once stock is picked, the container is loaded:

  • Loading and delivery records track the quantities and qualities at each stage.
  • The outbound quantity on a delivery tracks how much of that delivery was consumed for the outbound.
  • The container is linked to the outbound sale operation.

Warehouse Journey Tracking

Containers passing through a warehouse have a specific status tracking their warehouse journey:

StatusMeaning
Purchase to InboundContainer came in from a purchase operation
Outbound to InboundContainer is being transferred between warehouses
Outbound to SaleContainer is going from warehouse stock to a sale
Has both inbound and outboundContainer has both records
No warehouse linkContainer has no warehouse association

Inventory Tracking & Stockpiles

Stockpiles

A stockpile is a named physical location within a warehouse where materials are stored. Each stockpile belongs to one warehouse site and can hold one or more material qualities.

FieldDescription
nameStockpile name (e.g., "Bay A", "HMS Pile 1")
warehouseThe parent warehouse site
typeMATERIAL (weight-based) or ITEM (item-based)
statusCurrent state of the stockpile
qualitiesAccepted material qualities
defaultStockPickingRuleFIFO or LIFO
incotermsApplicable commercial terms
targetPurchaseCostTarget cost per unit for purchased material
targetQuantityTarget stock level

Stockpile statuses

StatusMeaning
RECEIVEDStock is available and ready to be dispatched (also shown as "Available")
QUARANTINEGoods are held pending further inspection — not available for outbound
LOSTGoods cannot be located or have been written off

Stockpile KPIs

Jules provides aggregate inventory KPIs for a set of stockpiles:

KPIMeaning
availableTotal quantity in RECEIVED status
quarantineTotal quantity in QUARANTINE status
lostTotal quantity in LOST status
totalSum of all statuses

Each KPI includes both a quantity figure and a container count, combining both tonnes and container counts, giving a dual tonnes / containers view.

Inventory view

The Warehouse Inventory page shows all current stock across warehouses and stockpiles. Filters include:

  • Filters by warehouse, quality, status
  • Stockpile status
  • Location
  • Show available stock only

Stock entries (Deliveries)

Individual stock entries are modelled as deliveries at the warehouse level. Key fields on a stock entry:

FieldDescription
qualityMaterial quality of the stock entry
quantityNet quantity
grossQuantityGross quantity (before tare deduction)
dateOfDeliveryDate goods arrived at the warehouse
stockpileThe stockpile this entry belongs to
outboundQuantityQuantity already consumed for outbound dispatch
deliveryTypeMATERIAL or ITEM
conditionningPackaging format (e.g., baled, loose, shredded)
conditionningQuantityNumber of packages
packageReferenceReference number for the package
inboundShipmentThe inbound shipment this delivery came in on

Deviation tracking

Deliveries can carry a deviationType to record quality or quantity anomalies:

Deviation typeDescription
DECLASSIFICATIONMaterial downgraded to a lower quality
STERILENon-recoverable residue or waste fraction
UNEXPECTEDUnexpected material found in the load
OVERLOADEDMore material arrived than contracted
UNDERLOADEDLess material arrived than contracted

Yard Reception — Local Market

Recycling yards

A recycling yard is a named pick-up point in the local collection network. Yards are referenced on deliveries and on MQC (Minimum Quality Commitment) calculations to contextualise where material was collected.

Recycling yards appear as a filterable dimension on the MQC suggestion query, which suggests a baseline MQC based on historical deliveries at a given site and yard combination.

CargoSnap integration

For local market receptions (truck loads, walk-in material), Jules integrates with CargoSnap — a container and load inspection platform. Jules connects to CargoSnap using the container reference to retrieve:

FieldDescription
referenceNumberContainer or load reference
sealedNumberSeal number on the container
maximumGrossWeightMaximum gross weight from the inspection
tareWeightTare weight
netWeightNet weight
vgmVerified Gross Mass
imagesPhotographic evidence (url and urlThumb)

This integration reduces manual entry errors and provides photographic proof of load condition at the point of reception.

Assay status

For materials requiring laboratory analysis (metals, plastics with specific purity grades), Jules tracks an assay status per container. The organization configures the list of available assay statuses (e.g., "Pending analysis", "Certified", "Rejected").

The assay status and the assay report value (reportAmount) are stored on the container and can be filtered from the Warehouse Inbounds view.


Recycling Processing

The RECYCLING page mode is used for organizations that operate recycling yards as part of their supply chain. In this context:

  • The site type is RECYCLING_YARD — a specialized supplier site that delivers material to a warehouse or processor.
  • The defaultRecyclingYard field on a site defines the yard associated with that supplier.
  • Quality definitions carry recycling-specific thresholds:
FieldDescription
recyclingLowerThresholdRateMinimum acceptable recovery rate
recyclingUpperThresholdRateMaximum expected recovery rate
recyclingMqcMinimum Quality Commitment specific to recycling flows

These thresholds allow Jules to flag deliveries where the recovery rate falls outside the acceptable range for a recycled quality, supporting quality control at the intake stage.

Contracts in the recycling flow use recurring or spot contract types (see Recurring vs Spot Purchases).


Recurring vs Spot Purchases

The warehouse module distinguishes two types of purchase flows, each with its own UI page and permission role:

TypePageDescription
RecurringRecurringStanding relationships with regular suppliers (e.g., municipality, industrial partner) delivering material on a continuous basis
SpotSpotOne-off or opportunistic purchases of material from any source

This distinction mirrors the broader recurring / spot split in offer types, applied across warehouse management contracts.

How contracts drive the warehouse purchase flow

A WM contract (waste management contract) prefills key fields on a warehouse purchase operation:

  • Supplier and site
  • Quality and pricing terms
  • Logistic defaults (logistic material, area, forwarder)

The contract provides the standing commercial terms; each individual purchase event is an operation child of that contract, allowing Jules to track total volumes received against the contract.


Logistic Costs for Warehouse Operations

Estimated Logistic Costs

A pre-agreed cost per site-to-destination route enables Jules to pre-populate logistic cost estimates on warehouse operations:

FieldDescription
siteThe warehouse origin site
destinationThe customer or export destination site
portOfLoadingOptional port of loading (for export flows)
costThe estimated cost (amount + currency)

These costs serve as a baseline for margin calculations. Multiple cost estimates can be created or updated in batch.

Pre-carriage rates

For local transport legs between the pick-up point and the warehouse (or between the warehouse and the port), pre-carriage rates define the logistics cost structure:

FieldDescription
preCarriageAreaThe geographic zone of collection/dispatch
preCarriageLineThe specific lane (e.g., route identifier)
portOfLoadingThe port the material will exit from
logisticMaterialThe material type (governs truck type or handling requirements)
qualityGroupMaterial quality group this rate applies to
modeROAD, RAIL, or BARGE
costRate per unit (amount + currency + volume unit)
Rate validity windowStart and end dates defining the period when the rate is active
Rate validity flagWhether the rate is currently valid
allowedShippingLinesShipping lines authorized for this lane
allowedFreightForwardersFreight forwarders authorized for this lane

Pre-carriage rates can be validated or invalidated in batch. An invalid rate is flagged as expired and excluded from automatic cost suggestions.

Local Logistic Rates

For end-to-end domestic deliveries (warehouse to customer without international shipping), local logistic rates provide rates with a similar structure to pre-carriage but with an explicit destinationArea:

FieldDescription
preCarriageAreaOrigin zone
destinationAreaDestination zone
preCarriageLineLane identifier
modeROAD, RAIL, or BARGE
costRate per unit
qualityGroupMaterial quality group
logisticMaterialMaterial type

Like pre-carriage rates, local logistic rates support batch validation/invalidation and rate validity windowing.


Warehouse Settings

The Warehouse Settings page is the administration area for managing warehouse sites and their configuration.

Warehouse list

The Warehouse Settings page displays all warehouse sites with search and create/edit/delete actions.

Warehouse detail tabs

Each warehouse has a warehouse detail page with three tabs:

TabContent
DetailsBasic site information: name, address, type (INTERNAL / EXTERNAL), contact details
PreferencesOperational rules: accepted qualities, default stock picking rule, negative stock policy, stockpile mandatory flag
StockpilesList of stockpiles at this warehouse with create/edit/delete actions

Preference settings

PreferenceDescription
Accepted qualitiesIf restricted qualities is enabled, only qualities on this list can be received
Default stock picking ruleFIFO or LIFO — applied to all stockpiles unless overridden at stockpile level
Allow negative stockPermits dispatches that would reduce stock below zero
Stockpile mandatoryIf disabled, containers do not require a stockpile assignment

Licenses

Warehouse sites can carry site licenses, governing which materials the site is authorized to handle:

FieldDescription
nameLicense name or reference
countryIssuing country
dateOfStart / dateOfExpirationLicense validity period
quotaMaximum authorized quantity
quotaFrequencyWEEKLY, MONTHLY, QUARTERLY, or ANNUALLY
quotaUnitUnit of the quota (T, KG…)
qualitiesMaterials covered by this license
pdfAttached license document

Licenses are visible on both the warehouse site detail and on supplier sites, ensuring that collection and processing authorizations are tracked end-to-end.


Key Business Rules

1. Warehouse operations use stockpile-based margin calculation

For warehouse operations, the buy and sell sides of a trade are costed separately. The purchase cost is captured at reception time (including pre-carriage and estimated logistic costs); the sale margin is computed at dispatch time. This differs from direct trading where buy and sell are matched at allocation time.

2. Stock picking order is enforced

The FIFO / LIFO rule is applied consistently: when picking stock for outbound, Jules always returns deliveries in the correct age order, respecting the most specific rule set (stockpile > quality > warehouse default).

3. Negative stock requires explicit authorization

By default, Jules prevents dispatching more than the available quantity in a stockpile. This guard can be disabled per warehouse for workflows where goods are recorded retroactively.

4. Inbound approval is a hard gate

Containers with pending inbound status cannot be considered available inventory until explicitly approved. Approvals can be performed individually or in batch, but cannot be bypassed.

5. Stockpile assignment may be mandatory

If stockpile assignment is required, every container in an inbound must be assigned to a named stockpile. Containers without a stockpile assignment are incomplete and will not appear in available inventory.

6. License quotas are tracked per site

If a warehouse holds a license with a quota, Jules tracks cumulative received quantities against that quota. Exceeding the quota requires a license update before further receptions can be processed.

7. Pre-carriage and local logistic rate validity is time-windowed

Rates outside their validity window are automatically flagged as invalid and excluded from cost suggestions. Rates should be reviewed and renewed before expiry.

8. CargoSnap data is read-only in Jules

Jules only reads data from CargoSnap via the reference number — it does not push data back. The integration is one-directional and requires the container reference to match exactly.


Glossary

TermDefinition
Assay statusThe laboratory analysis status of an incoming load, indicating whether quality certification is pending, complete, or rejected
CargoSnapThird-party container inspection platform integrated with Jules for photographic and weight data at reception
DeliveryAn individual stock entry recording quantity, quality, and stockpile assignment for goods received at a warehouse
Estimated Logistic CostPre-agreed cost per site-to-destination route used to pre-populate logistic estimates on operations
FIFOFirst In First Out — oldest stock is dispatched first
InboundA container or load arriving at a warehouse; tracked through reception, approval, and stockpile assignment
Inbound StatusThe approval state of an inbound container: PENDING, RECEIVED, or CANCELLED
LIFOLast In First Out — most recently received stock is dispatched first
Local Logistic RateA rate for end-to-end domestic delivery from a warehouse origin zone to a customer destination zone
OutboundThe dispatch of material from a warehouse stockpile to a customer or export operation
Pre-carriageA local transport leg (road, rail, or barge) from a collection point to the warehouse or port, with an associated rate
RecyclingYardA collection or processing point in the local supply network, associated with supplier sites
StockpileA named physical storage area within a warehouse site, tracking available, quarantined, and lost quantities
Stock Picking RuleThe rule governing the order in which stock is consumed for outbound: FIFO or LIFO
WarehouseA site of type WAREHOUSE that receives inbound goods, holds them in stockpiles, and dispatches them as outbound
WarehouseTypeWhether a warehouse is INTERNAL (owned by the organization) or EXTERNAL (third-party)
WM_RECURRINGA waste management contract type for standing recurring purchase relationships
WM_SPOTA waste management contract type for one-off spot purchase transactions