Inventories & Stock ModuleCore Module

Stock Transfers

1. Overview & Purpose

What are Stock Transfers?
Stock Transfers govern the relocation of physical inventory items between branches, locations, and storage bins. The module manages complete transfer lifecycles including requisition approval, shipment dispatch, in-transit reservation, and destination receipt verification.
Menu Location:/admin/inventories/stock-transfers

2. When to Use Stock Transfers

Central Distribution Center (DC) Store Replenishment

Central warehouse (e.g. Cakung Central Hub) ships scheduled weekly replenishment of 50 cartons of beverage packs to a shopping mall retail store (e.g. Kelapa Gading Store).

Recommended Action:Create a Stock Transfer manifest specifying the DC as origin and retail store as destination. The system places items in "In-Transit" status until destination receipt sign-off.

Backroom Reserve to Frontline Sales Floor Shelf (Intra-Location)

Store associates move 20 units of boxed items from the backroom reserve pallet rack to the frontline sales floor shelf display.

Recommended Action:Execute an internal transfer selecting "Backstore Storage" as origin and "Floor Display Shelf" as destination to maintain precise aisle and shelf-bin physical visibility.

Emergency Store-to-Store Stock Balancing

A retail outlet runs out of high-demand sneakers during a weekend promotion and requests an emergency transfer of 5 pairs from a sister outlet in the same city.

Recommended Action:Initiate a store-to-store transfer request. The originating store approves and ships, while the requesting store signs the arrival receipt upon courier handover.

Damaged or Expired Merchandise Recall to Central Quarantine

Retail branch identifies crushed packaging or near-expiry items that must be removed from the store floor and consolidated at central logistics for vendor return (RMA).

Recommended Action:Issue a transfer directing stock from the retail store damaged bin to the Central Warehouse Quarantine Bin, isolating flawed items from saleable inventory.

Multi-Stage In-Transit Stock Reservation (2-Day Inter-City Freight)

Merchandise takes 48 hours to travel by freight truck between Jakarta Central DC and Surabaya Store.

Recommended Action:Ship the transfer to put stock into "In-Transit" status; units are deducted from the origin but not yet available at destination, preventing duplicate sales while goods are on the road.

Carrier In-Transit Shortage & Partial Receiving Sign-Off

Dispatch loaded 100 units onto third-party courier truck, but driver arrives at destination with only 96 units due to carton loss during transit.

Recommended Action:Receiving clerk inputs 96 units as received; the system logs 4 lost units into the courier variance discrepancy ledger for carrier freight insurance claims.

3. Data Dictionary & Fields

Schema definition for the stock_transfers and stock_transfer_items tables:

Field / ColumnInput TypeRequirementDescription & Operational Guide
number
String (Auto-generated)Required
System-generated unique transfer manifest identifier with sequential numbering prefixes.
Example: TR-2026-0001
fromLocationId
Foreign Key (Locations)Required
The dispatching origin location or retail outlet from which stock will be subtracted.
Example: Warehouse Central Jakarta (ID: 1)
toLocationId
Foreign Key (Locations)Required
The receiving destination location. Must differ from the origin location.
Example: Retail Store Bandung (ID: 3)
transferDate
DateRequired
Official dispatch or creation date recorded for chronological ledger movements.
Example: 2026-05-18
expectedArrivalDate
DateOptional
Estimated arrival date at destination to assist warehouse scheduling and in-transit tracking.
Example: 2026-05-20
status
Enum (TransferStatus)Required
Current lifecycle state: DRAFT, PENDING, APPROVED, PARTIALLY_SHIPPED, IN_TRANSIT, PARTIALLY_RECEIVED, RECEIVED, REJECTED, CANCELLED, or FORCE_CLOSED.
Example: APPROVED, IN_TRANSIT
fromStorageId
Foreign Key (Storages)Required
Origin storage bin or rack where physical items are taken from.
Example: Rack A-01, Bulk Storage Bay
toStorageId
Foreign Key (Storages)Required
Destination storage bin or shelf where items will be placed upon delivery.
Example: Shelf B-02, Front Display Bin
productId
Foreign Key (Products)Required
Catalog product item being transferred.
Example: Kemeja Katun Pria (ID: 102)
requestedQuantity
DecimalRequired
Quantity requested by destination location. Must be greater than zero and cannot exceed available stock.
Example: 50.00
sentQuantity
DecimalOptional
Quantity actually picked and dispatched by origin warehouse staff.
Example: 50.00
receivedQuantity
DecimalOptional
Quantity confirmed and physically accepted into destination warehouse storage bins.
Example: 48.00
batchNumber
StringOptional
Production lot identifier or manufacturer batch code for traceability.
Example: LOT-202605A
expiryDate
DateOptional
Perishable item expiry date attached to the transferred inventory batch.
Example: 2027-12-31
remarks
StringOptional
Operational notes, shipment tracking tracking numbers, or carrier information.
Example: Shipped via Internal Logistics Van #3

4. Interface Preview

Visual interface layout showing transfer manifest lists, status badges, and dispatch actions.

Menu Location:Route: /admin/inventories/stock-transfers

Screen Preview: Stock Transfer Management Interface

Visual interface illustration and control layout for menu Route: /admin/inventories/stock-transfers

1Add Stock Transfer Button2Search & Status Lifecycle Filters3Origin & Destination Facilities4Action Menu (Ship, Receive, Force Close)
Stock Transfer dashboard with multi-facility scope filtering, shipment lifecycle buttons, and item detail reconciliation.

5. Creating a Transfer Request

1

Navigate to Stock Transfers

Menu > Inventories > Stock Transfers

Open the sidebar menu and select Inventories > Stock Transfers to view the transfer register table.

2

Launch Transfer Drawer

Add Stock Transfer

Click the Add Stock Transfer button located in the top-right toolbar.

3

Select Origin and Destination Facilities

From Location / To Location

Choose the dispatching origin branch and location, then select the receiving destination branch and location.

The system validates user regional scope permissions to ensure you hold authorization for the selected facilities.
4

Add Transfer Item Lines

Add Item

Click Add Item and select the product, variant, origin storage bin, destination storage bin, UOM, and requested quantity.

The form dynamically displays current available stock in the origin storage bin to prevent over-allocation.
5

Save Requisition

Save Transfer

Review expected arrival dates and remarks, then click Save to persist the transfer with Draft or Pending status.

6. Shipping & In-Transit Dispatch

1

Approve Transfer Request

Action > Approve

Warehouse managers review the requested item lines and click Approve to authorize fulfillment and reserve inventory.

Approving places a reservation lock on the origin storage bin to protect the stock from concurrent POS sales.
2

Dispatch and Ship Items

Action > Ship Items

When physical goods are packaged, click Ship Items. Enter sent quantities, verify batch numbers, and confirm shipment.

Status updates to IN_TRANSIT and an outbound stock movement is automatically logged in the ledger.

7. Receiving & Quantity Reconciliation

Discrepancy & In-Transit Protection
Upon arrival at destination, always count physical carton contents prior to clicking Confirm Receipt. If items are damaged or lost during transit, enter the exact received count. Use Force Close to reconcile broken shipments without stranding pending quantities.
1

Inspect Received Goods at Destination

Action > Receive Items

Upon shipment arrival at the destination warehouse, click Receive Items from the row action menu.

2

Record Actual Received Quantities

Received Quantity

Input the verified physical quantity received per line. If damage or lost items occurred in transit, input actual received counts.

3

Confirm Receipt or Force Close

Confirm / Force Close

Confirm the receipt to increment inventory at destination storage. If partial items cannot be fulfilled, click Force Close.

Force Close permanently archives discrepancies, releasing unfulfilled reservations without stranding phantom stock.

8. Cross-Module Impact

Target SubsystemRelational & Transactional Effect
Stock BalancesDeducts physical on-hand quantity from the origin storage and adds it to destination storage upon receipt confirmation.
Stock Movement LedgerGenerates immutable TRANSFER_OUT movement records for origin and TRANSFER_IN records for destination.
Point of Sale (POS)Reserved transfer quantities are immediately excluded from POS cashier available quantities to eliminate checkout overselling.
Accounting & In-Transit GLCreates automated in-transit inventory asset journal entries when shipping across distinct legal entity branches.
Operational Best Practices
  • Always verify storage bin capacity at the destination before shipping large bulk orders.
  • Use Force Close when items were damaged or lost during transit instead of leaving transfers in perpetual In Transit state.
  • Conversion factors calculate automatically based on UOM setups in Master Data.