Knowledge base

Platform

How the system is organised: tenancy, warehouses, environments, module access and the audit record underneath every action.

6 topics Direct link per topic
๐Ÿข
Multi-tenant structure
Organisation, warehouse, storer

RattusWMS separates three levels. An organisation owns one or more warehouses. Each warehouse holds stock for one or more storers โ€” the clients whose goods you handle. Every record in the system carries a warehouse code and, where relevant, a storer id, so one installation runs many warehouses and many clients without their data meeting.

LevelWhat it isCarried on records as
OrganisationThe operating companyorg_code
WarehouseA physical sitewarehouse_code / warehouse_id
StorerA client whose stock you holdstorer_id / storer_code

Users switch warehouse from the selector in the sidebar. Feature flags, master data and permissions are re-read on every switch, so nothing carries over from the site you were just in.

๐Ÿšฆ
UAT and production
Two environments, one codebase

Every environment-aware record stores an environment value. UAT shows an amber strip across the top of every page; production shows none. The same build serves both, so a test in UAT exercises the code that will run live.

Records created before the environment column existed carry no value. Production treats those as its own; UAT ignores them.
๐ŸŽš
Per-warehouse feature flags
Same product, different warehouse behaviour

Warehouses differ, so the modules a warehouse runs are configuration rather than code. Flags are read from the warehouse record at login and again on every warehouse switch. A flag that is absent is off โ€” it never inherits from the previous warehouse.

FlagEffect when on
warehouse_typeMarks the site as general or a free-trade / bonded type
ftwz_zoneRecords the free-trade zone the site operates in
cold_chainTurns on temperature handling
gdp_requiredEnforces GDP capture on gate pass
wave_planningAdds wave planning to outbound
batch_pickAdds batch picking to outbound
pick_to_storeAdds the pick-to-store flow
crossdock_enabledAllows ASN lines to be flagged for cross-dock
billing_enabledTurns on the 3PL billing module
pickpack_enabledCombines picking and packing into one step
kitting_enabledTurns on kitting and de-kitting
replenishment_enabledGenerates replenishment tasks
replenishment_pick_strategyFEFO or FIFO for replenishment picks
allow_warehouse_overrideLets warehouse settings override storer settings
๐Ÿ”
Users, roles and module access
Admin โ†’ Access Management

Access is granted per user, per module. Twelve modules can be switched on or off individually, grouped as General, Operations, Finance, Custom Apps and Admin.

  • General โ€” gate pass, reports
  • Operations โ€” inbound, outbound, kitting, cross dock, wave planning, batch picking
  • Finance โ€” billing, customs / LGP
  • Admin โ€” admin and product master
  • Custom Apps โ€” client-specific modules

Only a super admin or a role admin can change access. The same screen carries a second tab listing live sessions, filterable by online or idle state, by environment and by build version โ€” so you can see who is in the system and on which release.

โฑ
Sessions and idle handling
Who is working, and on what

Activity is tracked per session. A green marker means active, grey means idle, and sessions lock themselves after a period without input. Session rows carry the build version, which is how you confirm an operator is on the release you think they are.

๐Ÿ“‹
Audit trail
Admin โ†’ Audit Trail

Actions that change stock or status write an audit row. Each row records the entity, the action, who performed it, the status before and after, and the warehouse and storer it belonged to.

Entity types written today:

  • RECEIPT, ORDER, PICK, LOAD, PALLET
  • ADJUSTMENT, TRANSFER, STOCK_COUNT
  • CS_APPROVAL, STORER, WAREHOUSE
The audit record is written by the application at the point of action, so it captures intent โ€” approvals, rejections, force closes and their reasons โ€” not just a row-level database change.