Stock Openings
1. Overview & Purpose
What are 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.
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.
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.
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.
3. Data Dictionary & Fields
Schema structure for the stock_openings and stock_opening_items tables:
| Field / Column | Input Type | Requirement | Description & 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 | Date | Required | 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 | Decimal | Required | Physical units on hand at cut-off. Must be greater than zero. Example: 150.00 |
costPrice | Decimal | Required | Unit cost valuation (HPP) used to establish initial average inventory value. Example: 45000.00 |
batchNumber | String | Optional | Manufacturer lot or production batch code. Example: BATCH-2026-Q1 |
expiryDate | Date | Optional | Expiration cut-off for perishable goods. Example: 2027-06-30 |
remarks | String | Optional | 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.
Screen Preview: Stock Openings Interface
Visual interface illustration and control layout for menu Route: /admin/inventories/stock-openings
5. Manual Opening Entry
Navigate to Stock Openings
Menu > Inventories > Stock OpeningsFrom the main navigation bar, click Inventories and choose Stock Openings to view active vouchers.
Open Creation Drawer
Add Stock OpeningClick the Add Stock Opening button located in the table action toolbar.
Define Facility & Opening Date
Branch / Location / DateSelect the operational branch and location. Choose the accurate historical cut-off date.
Add Opening Items
Add Item / Bulk Add VariantsClick Add Item or Bulk Add Variants. Enter physical quantity, storage bin, and initial cost price per unit.
Save Draft Opening
Save DraftSave the document to keep it in Draft status for team validation and count cross-checking.
6. Bulk Excel Template Import
Download Excel Template
Export TemplateClick Export Template from the action header to download the Excel template pre-filled with active SKUs.
Upload Populated Spreadsheet
Import ExcelClick Import Excel and drop your filled spreadsheet. The engine checks product codes, UOM conversions, and storage IDs.
Apply Spreadsheet Items to Form
Apply to Item DetailsReview the validated preview rows, choose whether to append or replace items, and click Apply to Item Details.
7. Posting & Ledger Commits
Irreversible Posting Guardrail
Audit Item Lines & Valuation
Modal > View DetailsReview total quantity counts and total inventory valuation at the bottom of the voucher details modal.
Post Stock Opening
Action > PostClick Post Stock Opening to commit balances. The system prompts for final manager confirmation.
8. Cross-Module Impact
| Target Subsystem | Relational & Transactional Effect |
|---|---|
| Stock Balances | Directly initializes on-hand physical stock and calculates starting weighted average cost (HPP). |
| Stock Movement Ledger | Generates INITIAL movement transactions establishing the baseline for all subsequent chronological audits. |
| Accounting General Ledger | Integrates 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.