Journal Types
Journal | Purpose |
Arrival | Records stock arriving into inventory (from procurement or manually) |
Adjustment | Corrects stock quantities up or down |
Counting | Compares physical counts vs system quantities |
Movement | Reclassifies stock between quality statuses (e.g., Available → Quarantine) |
Transfer | Moves stock from one location to another |
Internal Transfer | Moves stock between spaces within the same location |
Ownership Transfer | Changes who owns the stock |
All journals follow the same lifecycle: Draft → (In Review) → Approved → Posted
Locations and Spaces
An inventory location = a warehouse, vessel, or storage facility
Each location has one or more spaces = physical areas (shelves, bins, holds)
Every location has a default "Processing Space" as a fallback
Tracking Dimensions
Stock can be tracked at multiple levels:
Space — which shelf or bin
Status — quality state (Available, Quarantine, etc.)
Batch — production or procurement lot
Serial — individual item identity
Owner — who legally owns the stock
─────────────────────────────────
Module Navigation
Path: Main Menu → Inventory
Section | Description |
On Hand | Stock levels: Unrestricted, Tracking, Coverage, Expiry views |
Locations | Warehouse and vessel location management |
Journals → Arrival | Record incoming stock |
Journals → Adjustment | Correct discrepancies |
Journals → Counting | Physical stock counts |
Journals → Movement | Reclassify stock status |
Journals → Transfer | Move between locations |
Journals → Internal Transfer | Move within a location |
Journals → Ownership Transfer | Change stock ownership |
Settings → Reasons | Journal reason codes |
Settings → Inventory Statuses | Quality status definitions |
Settings → Workflows | Approval and authorisation rules |
─────────────────────────────────
How Inventory Connects to Other Modules
Procurement — Posting a goods receipt automatically creates an Arrival journal. Reversing the goods receipt reverses the arrival.
Material Management — Materials, types, units, and tracking configurations are the master data that inventory uses.
Maintenance — Equipment-linked spare parts draw from inventory for consumption.
Arrival Journal
An Arrival journal records stock arriving into inventory — from a purchase order, initial stock load, or manual receipt.
Path: Inventory → Journals → Arrival
─────────────────────────────────
Creating an Arrival Journal
Option A — Automatic (from Procurement)
When a goods receipt is posted in the Procurement module, the system automatically creates and posts an Arrival journal. These auto-created journals:
Cannot be deleted from the Inventory module
Cannot be reversed here — reverse the goods receipt in Procurement instead
Show a Related Documents section linking back to the goods receipt and purchase order
Option B — Manual
Go to Inventory → Journals → Arrival
Click + Create
Fill in the form:
Field | Required | Notes |
Description | No | A title for this arrival (e.g., "Spare parts delivery Q1 2026") |
Inventory Location | ✅ Yes | The location where stock is arriving |
Reason | Conditional | Required or optional based on the location's reason policy |
Click Save — journal opens in Draft status
─────────────────────────────────
Adding Lines
In the Lines tab, click + Add to insert a material row
Click the Material cell and search for the item
Enter the Quantity (amount arriving)
If the material has tracking dimensions, expand the line to add tracking sub-rows (batch, serial, space, status, owner)
[!IMPORTANT] The "Send to Approval" button is disabled if any line is missing a material or has a zero quantity. An orange **"Invalid Lines"** banner shows how many lines are invalid.
─────────────────────────────────
Submitting and Posting
When all lines are valid, click Send to Approval - Goes to In Review if approval rules match - Jumps directly to Approved if no rules apply (can be posted immediately)
Approver reviews and clicks Approve, Reject, or Request Change
Once Approved, click Post
─────────────────────────────────
What Happens on Post
Positive inventory transactions are created (one per line)
On-hand quantities increase at the destination location
New batches/serials in "New" status are promoted to "Active"
Journal status changes to Posted with the posting date recorded
─────────────────────────────────
Reversing an Arrival
Type | How to Reverse |
Manual arrival | Click Reverse on the Posted journal — creates a negating journal automatically |
Procurement arrival | Reverse the goods receipt in Procurement — automatically reverses the arrival |
─────────────────────────────────
Toolbar Actions by Status
Button | Available When |
Send to Approval | Draft (lines present and valid) |
Approve | In Review (user is an approver) |
Reject | In Review (user is an approver) |
Request Change | In Review (user is an approver) |
Resubmit | Change Requested |
Post | Approved (or Draft if no approval rules) |
Reopen | Approved / Rejected / Change Requested |
Reverse | Posted (hidden for procurement arrivals) |
Delete | Draft (hidden for procurement arrivals) |
─────────────────────────────────
Live Test Findings (2026-03-04)
Step | Result |
Arrival Journals list loads | ✅ 1,041 records, columns: Inventory Location, Reason, Description, Date Posted, Date Created, Created By, Valid Lines, Total Lines, Status |
Create modal fields | ✅ Description (optional) + Inventory Location* (required) — Reason auto-populated from location policy |
Draft journal created | ✅ Status = Draft, toolbar shows Send to Approval + Delete |
Invalid Lines banner | ✅ Orange banner: *"Invalid Lines 0 of 1 lines are valid"* shown when material missing |
Send to Approval is blocked | ✅ Button greyed out until all lines are valid |
Adjustment, Counting & Movement Journals
─────────────────────────────────
Adjustment Journal
Use an Adjustment journal to correct stock quantities — either increase or decrease on-hand levels to fix discrepancies.
Path: Inventory → Journals → Adjustment
Creating an Adjustment
Click + Create
Fill in: Inventory Location (required) + Description (optional)
Click Save (Draft status)
In the Lines tab, add materials and enter the Offset Quantity: - Positive = stock in (increase) - Negative = stock out (decrease)
Click Send to Approval when all lines are valid
Once approved, click Post
[!NOTE] Adjustment is the only journal type that supports **Cancel** (in addition to Delete from Draft).
─────────────────────────────────
Counting Journal
Use a Counting journal to reconcile physical stock counts against system quantities.
Path: Inventory → Journals → Counting
How It Works
Create a counting journal for the location
Add material lines — the system shows the current On-Hand quantity
Enter the physically Counted Quantity for each line
The system calculates the Offset (Counted − On Hand) automatically
Submit and Post — the offset is applied to adjust inventory
[!TIP] Use Counting journals for periodic stock-takes. They provide a clear audit trail showing what the system expected vs. what was actually found.
Grid Columns
Material, On Hand, Counted Quantity, Offset, Unit, Reason
─────────────────────────────────
Movement Journal
Use a Movement journal to reclassify stock between inventory statuses (e.g., Available → Quarantine, or Quarantine → Available after quality clearance).
Path: Inventory → Journals → Movement
Creating a Movement
Click + Create and select the Inventory Location
Add lines: choose the material, the source status, and the destination status
Enter the quantity to move
Submit and Post
[!IMPORTANT] Movement does not change the physical location — only the quality/status classification. To physically move stock, use a **Transfer** journal.
─────────────────────────────────
Submit Validation (All Journal Types)
The "Send to Approval" button is disabled when:
There are no lines added
Valid line count does not match total line count (any line missing a material or quantity)
Transfer & Internal Transfer Journals
─────────────────────────────────
Transfer Journal
Use a Transfer journal to move stock from one inventory location to another (e.g., from OFFICE warehouse to a vessel).
Path: Inventory → Journals → Transfer
Creating a Transfer
Click + Create
Select: - From Location — where stock is leaving - To Location — where stock is arriving
Click Save (Draft)
Add lines: select the material and quantity to transfer
Submit and Post
[!NOTE] Transfer journals support **Cancel** (in addition to Delete from Draft). After posting, they cannot be reversed — use an Adjustment or new Transfer in the opposite direction if needed.
─────────────────────────────────
Internal Transfer Journal
Use an Internal Transfer to move stock between spaces within the same location (e.g., from Shelf A to Shelf B within the same warehouse).
Path: Inventory → Journals → Internal Transfer
Creating an Internal Transfer
Click + Create and select the Inventory Location
Add lines: choose the material, source space, and destination space
Enter the quantity
Submit and Post
[!TIP] Use Internal Transfer for bin-to-bin moves within the same location. For moves between different locations, use the **Transfer** journal.
─────────────────────────────────
Ownership Transfer Journal
Use an Ownership Transfer to change who legally owns a stock item (e.g., from vendor-managed to internally owned).
Path: Inventory → Journals → Ownership Transfer
Creating an Ownership Transfer
Click + Create and select the Inventory Location
Add lines: select the material and the new owner
Submit
[!NOTE] Ownership Transfer journals **cannot be posted or reversed** — they take effect upon approval. They also cannot be made available on the ship side.
─────────────────────────────────
Comparison: Which Journal to Use?
Scenario | Journal Type |
Stock arriving from a purchase | Arrival |
Manual stock entry or correction | Adjustment |
Physical count reconciliation | Counting |
Change quality status (Available → Quarantine) | Movement |
Move stock to a different warehouse/vessel | Transfer |
Move stock between bins in the same warehouse | Internal Transfer |
Change who owns the stock | Ownership Transfer |
On Hand & Stock Levels
The On Hand section shows real-time stock levels across all inventory locations.
Path: Inventory → On Hand
─────────────────────────────────
Views
View | What It Shows |
Unrestricted | Current on-hand quantity per material per location, without filtering by tracking dimensions |
Tracking | Breakdown by tracking dimensions (batch, serial, owner, space, status) |
Coverage | Stock vs. min/max thresholds — highlights materials at risk |
Expiry | Materials grouped by expiry date with shelf-life status |
─────────────────────────────────
Coverage Status
The Coverage view highlights stock levels relative to planning thresholds:
Status | Condition | Colour |
Critical | On-hand is zero or dangerously low | 🔴 Red |
Below Minimum | On-hand < Minimum stock level | 🟠 Orange |
Below Optimal | Minimum ≤ On-hand < Optimal | 🟡 Yellow |
Adequate | On-hand ≥ Optimal | 🟢 Green |
─────────────────────────────────
Shelf Life / Expiry Status
Status | Condition | Colour |
Expired | Expiry date has passed | 🔴 Red |
Expiring Soon | Approaching expiry threshold | 🟠 Orange |
Valid | Within shelf life | 🟢 Green |
No Expiry | No expiry date configured | ⚪ Grey |
─────────────────────────────────
Adjusting Minimum Quantity
You can update reorder thresholds directly from the On Hand list:
Double-click the Minimum Quantity cell in the inventory list to edit it inline
Changes take effect immediately without opening a separate form
─────────────────────────────────
Tips
[!TIP] Use the **Coverage** view as your daily check — it immediately shows which materials need attention before stock runs out.
[!TIP] The **Expiry** view is essential for consumables, chemicals, and medical supplies. Filter by "Expiring Soon" to plan timely use or disposal.
Status Reference
Quick-reference for all statuses, toolbar actions, and validation rules in the Inventory module.
─────────────────────────────────
Journal Statuses
Status | Colour | Editable? | Can Post? | Can Reverse? |
Draft | Amber | ✅ Yes | Yes* | No |
In Review | Blue | ❌ No | No | No |
Approved | Teal | ❌ No | ✅ Yes | No |
Rejected | Red | ❌ No | No | No |
Change Requested | Orange | ❌ No | No | No |
Posted | Green | ❌ No | No | ✅ Yes |
Cancelled | Red | ❌ No | No | No |
Reversed | Purple | ❌ No | No | No |
\ Posting from Draft is allowed when no approval rules are configured.
─────────────────────────────────
Toolbar Actions by Status
Action | Draft | In Review | Approved | Change Req. | Posted |
Edit lines | ✅ | — | — | — | — |
Send to Approval | ✅ | — | — | — | — |
Approve | — | ✅ | — | — | — |
Reject | — | ✅ | — | — | — |
Request Change | — | ✅ | — | — | — |
Resubmit | — | — | — | ✅ | — |
Post | ✅* | — | ✅ | — | — |
Reopen | — | — | ✅ | ✅ | — |
Reverse | — | — | — | — | ✅ |
Delete | ✅ | — | — | — | — |
─────────────────────────────────
Feature Availability by Journal Type
Feature | Arrival | Adjustment | Counting | Movement | Transfer | Internal Transfer | Ownership Transfer |
Post | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
Reverse | ✅* | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
Cancel | ❌ | ✅ | ❌ | ❌ | ✅ | ❌ | ❌ |
Delete from Draft | ✅* | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Related Documents | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
\ Hidden when the journal was created from a goods receipt.
─────────────────────────────────
Submit Validation
"Send to Approval" is disabled when:
No lines have been added
Arrival: any line has individual validation errors (e.g., no material selected)
All others: valid line count does not match total line count
─────────────────────────────────
Post Validation
Posting will fail if:
Any line is missing a material
Any line has a zero quantity
The post would cause negative on-hand (Adjustment, Movement, Transfer, Internal Transfer)
Reason requirements are not satisfied (per location/material policy)
Tracking line quantities don't match their parent line
─────────────────────────────────
Location Statuses
Status | Journals Allowed? | Stock Visible? |
Draft | ❌ No | No |
Active | ✅ Yes | Yes |
Locked | ❌ No | Yes (frozen) |
Archived | ❌ No | No |
─────────────────────────────────
Coverage Statuses
Status | Condition | Colour |
Critical | On-hand is zero or dangerously low | 🔴 Red |
Below Minimum | On-hand < Minimum | 🟠 Orange |
Below Optimal | Minimum ≤ On-hand < Optimal | 🟡 Yellow |
Adequate | On-hand ≥ Optimal | 🟢 Green |
