Inventories & Stock ModuleOptional Module

Stock Openings

1. Overview & Purpose

What are Stock Openings?
Stock Openings initialize physical stock balances when migrating to inventories-web or provisioning new warehouse facilities. Posting opening records creates foundational inventory ledger balances without triggering procurement invoices.
Menu Location:/admin/inventories/stock-openings

2. When to Use Stock Openings

Legacy ERP & Spreadsheet Go-Live Migration (Cutover Day)

Migrating 5.000 physical SKUs with verified count balances and unit acquisition costs from legacy software or Excel sheets into inventories-web on cutover weekend.

Recommended Action:Download the official Excel template, compile physical audit counts, and upload via Bulk Import to initialize foundational stock balances without creating mock purchase invoices.

Newly Inaugurated Retail Outlet / Dark Store Provisioning

Opening a brand new retail boutique (e.g. Surabaya Mall Branch) initialized with inaugural inventory stock before cashiers can open register shifts.

Recommended Action:Create a dedicated Stock Opening document bound to the new branch and location, establishing baseline physical quantities for immediate POS sales.

Fiscal Year Balance Synchronization with General Ledger

Aligning digital inventory asset valuations with the General Ledger Inventory asset opening balance on the first day of the fiscal year.

Recommended Action:Post verified inventory opening balances synchronized with the Accounting Opening Balance voucher, ensuring financial balance sheets match physical warehouse stock.

Business Acquisition & Warehouse Takeover Audit Ingestion

The enterprise acquires an existing independent retail shop or takes over a third-party warehouse facility with existing on-hand merchandise.

Recommended Action:Execute a joint physical inventory audit and post the agreed takeover quantities and valuations as a single audited opening manifest.

3. Data Dictionary & Fields

Schema structure for the stock_openings and stock_opening_items tables:

Field / ColumnInput TypeRequirementDescription & Operational Guide
number
String (Auto-generated)Required
Sequential unique voucher identifier for opening stock transactions.
Example: OPN-2026-0001
branchId
Foreign Key (Branches)Required
The operating branch where opening inventory is physically located.
Example: Jakarta Central Branch (ID: 1)
locationId
Foreign Key (Locations)Required
Specific outlet or warehouse facility holding the stock.
Example: Main Distribution Hub (ID: 2)
openingDate
DateRequired
Effective historical cut-off date when opening quantities are recognized.
Example: 2026-01-01
status
Enum (OpeningStatus)Required
Lifecycle state: DRAFT, POSTED, or CANCELLED. Only DRAFT records can be modified.
Example: DRAFT, POSTED
productId
Foreign Key (Products)Required
Catalog item registered in Master Data.
Example: Kopi Arabika 250g (ID: 88)
storageId
Foreign Key (Storages)Required
Physical storage bin or aisle allocated to store the item.
Example: Storage Bin A-01
quantity
DecimalRequired
Physical units on hand at cut-off. Must be greater than zero.
Example: 150.00
costPrice
DecimalRequired
Unit cost valuation (HPP) used to establish initial average inventory value.
Example: 45000.00
batchNumber
StringOptional
Manufacturer lot or production batch code.
Example: BATCH-2026-Q1
expiryDate
DateOptional
Expiration cut-off for perishable goods.
Example: 2027-06-30
remarks
StringOptional
Audit justification, spreadsheet source reference, or legacy migration notes.
Example: Initial balance upload from SAP migration project

4. Interface Preview

Visual interface for opening stock entry, spreadsheet template download, and bulk upload preview validation.

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

Screen Preview: Stock Openings Interface

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

1Add Stock Opening2Export Excel Template3Import Excel Dropzone4Post to Stock Ledger
Stock opening entry table featuring Excel upload dropzone, status badges, and item valuation summaries.

5. Manual Opening Entry

1

Navigate to Stock Openings

Menu > Inventories > Stock Openings

From the main navigation bar, click Inventories and choose Stock Openings to view active vouchers.

2

Open Creation Drawer

Add Stock Opening

Click the Add Stock Opening button located in the table action toolbar.

3

Define Facility & Opening Date

Branch / Location / Date

Select the operational branch and location. Choose the accurate historical cut-off date.

Ensure all products to be opened have already been configured in Master Data before proceeding.
4

Add Opening Items

Add Item / Bulk Add Variants

Click Add Item or Bulk Add Variants. Enter physical quantity, storage bin, and initial cost price per unit.

5

Save Draft Opening

Save Draft

Save the document to keep it in Draft status for team validation and count cross-checking.

6. Bulk Excel Template Import

1

Download Excel Template

Export Template

Click Export Template from the action header to download the Excel template pre-filled with active SKUs.

2

Upload Populated Spreadsheet

Import Excel

Click Import Excel and drop your filled spreadsheet. The engine checks product codes, UOM conversions, and storage IDs.

The preview validator isolates errors by row and flags invalid barcodes or unrecognized storages before commit.
3

Apply Spreadsheet Items to Form

Apply to Item Details

Review the validated preview rows, choose whether to append or replace items, and click Apply to Item Details.

7. Posting & Ledger Commits

Irreversible Posting Guardrail
Posting a Stock Opening permanently creates initial stock ledger balances and cannot be undone. Always verify physical counts with warehouse operations before confirming the post dialog.
1

Audit Item Lines & Valuation

Modal > View Details

Review total quantity counts and total inventory valuation at the bottom of the voucher details modal.

2

Post Stock Opening

Action > Post

Click Post Stock Opening to commit balances. The system prompts for final manager confirmation.

Posting permanently locks the opening document. Stocks records and INITIAL movement ledger rows are immediately created.

8. Cross-Module Impact

Target SubsystemRelational & Transactional Effect
Stock BalancesDirectly initializes on-hand physical stock and calculates starting weighted average cost (HPP).
Stock Movement LedgerGenerates INITIAL movement transactions establishing the baseline for all subsequent chronological audits.
Accounting General LedgerIntegrates with Opening Balance equity journals, balancing inventory asset values against Opening Balance Equity.
Point of Sale (POS)Instantly reflects new available stock levels across frontline retail cashiers assigned to the location.
Operational Best Practices
  • Always use Export Template before bulk uploads so column headers match exact database field specifications.
  • Posting is irreversible. Confirm physical counts thoroughly with warehouse supervisors before final posting.
  • Enter accurate cost prices so subsequent FIFO or average cost calculations reflect true financial margins.