Inventories & Stock ModuleOptional Module

Stock Audits (Opname)

1. Overview & Purpose

What is Stock Opname?
Stock Opname coordinates physical inventory counting cycles across warehouses and retail stores. The module freezes inventory snapshots, enables multi-counter blind audits, calculates digital-versus-physical discrepancies, and seamlessly generates discrepancy adjustments.
Menu Location:/admin/inventories/stock-opnames

2. When to Use Stock Opname

Fiscal Month-End Full Warehouse Freeze (100% Wall-to-Wall)

Routine end-of-month inventory counting requiring temporary suspension of transactions to establish precise balance sheet stock valuations.

Recommended Action:Initiate a location-wide Stock Opname to freeze system book quantities at closing time and deploy counting teams across all warehouse zones.

High-Value SKU Rolling Cycle Counting (Smartphones / Cosmetics)

A retail chain audits high-shrinkage category merchandise weekly without shutting down customer sales or closing store operations.

Recommended Action:Generate a targeted Stock Opname scoped specifically to a high-value category or specific storage racks to execute rapid rolling cycle counts.

Blind Counting Verification to Prevent Bias

Store management prevents stock counters from being influenced by expected system quantities during physical counting.

Recommended Action:Enable Blind Counting on the opname sheet; counters input physical numbers onto blank count sheets without visibility into theoretical system book stock.

Facility Incident & Post-Theft Investigation

A retail store suffers a suspected overnight break-in or roof leak over pallet racking requiring immediate inventory verification.

Recommended Action:Execute an ad-hoc emergency Stock Opname across affected aisles to document exact missing or ruined quantities for insurance and police reports.

Multi-Zone Concurrent Counting with Discrepancy Aggregation

A 2.000 sqm warehouse deploys 4 counting teams across Zone A, Zone B, Zone C, and Cold Storage simultaneously.

Recommended Action:Each counting team inputs counts into assigned storage zones; the ERP automatically aggregates cross-zone physical counts to compare against master system stock.

3. Data Dictionary & Fields

Schema structure for the stock_opnames and stock_opname_items tables:

Field / ColumnInput TypeRequirementDescription & Operational Guide
number
String (Auto-generated)Required
System-generated audit voucher identifier for tracking physical counting events.
Example: SO-2026-0501
branchId
Foreign Key (Branches)Required
The operating branch where the audit event is conducted.
Example: Jakarta Central Branch (ID: 1)
locationId
Foreign Key (Locations)Required
Specific facility, warehouse, or retail store under audit.
Example: Retail Store Bandung (ID: 3)
opnameDate
DateRequired
Official physical counting execution date.
Example: 2026-05-31
status
Enum (OpnameStatus)Required
Audit phase state: DRAFT, FROZEN, COMPLETED, ADJUSTED, or CANCELLED.
Example: FROZEN, COMPLETED
productId
Foreign Key (Products)Required
Catalog product item included in the counting manifest.
Example: Kopi Arabika 250g (ID: 88)
storageId
Foreign Key (Storages)Required
Storage bin or shelf location audited by staff.
Example: Rack B-02
systemQuantity
DecimalRequired
Snapshot of digital book stock captured at the exact moment of freezing.
Example: 100.00
quantity
DecimalRequired
Actual physical count entered by warehouse counting personnel.
Example: 97.00
differenceQuantity
DecimalRequired
Variance calculation: actual counted quantity minus system book quantity.
Example: -3.00
costPrice
DecimalRequired
Item valuation rate used to calculate monetary exposure of discrepancies.
Example: 32000.00
batchNumber
StringOptional
Physical batch number verified on carton packaging during counting.
Example: BATCH-2026-A1
expiryDate
DateOptional
Expiry date observed on physical packaging.
Example: 2027-03-31
remarks
StringOptional
Auditor observations, warehouse condition notes, or variance explanations.
Example: Damaged packaging found behind rack backboard

4. Interface Preview

Visual interface layout showing physical audit sessions, snapshot freeze indicators, counting inputs, and status lifecycle badges.

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

Screen Preview: Stock Opnames Interface

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

1Add Stock Opname Button2Snapshot Freeze Action3Count Items Entry Drawer4Create Adjustment Sync
Stock Opname audit management view showing frozen book quantities, blind physical counts, and discrepancy metrics.

5. Creating Opname & Inventory Freezing

1

Navigate to Stock Opname

Menu > Inventories > Stock Opnames

From the main navigation bar, select Inventories > Stock Audits (Opname).

2

Initialize Audit Document

Add Stock Opname

Click Add Stock Opname. Choose operating Branch, Location, and Audit Date.

3

Populate Audit Manifest

Add Item > Save

Add products and storage bins targeted for physical counting. Save the document in Draft status.

4

Execute Snapshot Freeze

Action > Freeze

Click Freeze from the action menu. The system captures immutable snapshots of system quantities.

Freezing preserves reference book balances even if background sales transactions occur during the count.

6. Blind Physical Counting & Input

1

Deploy Counting Teams

Print Count Sheet

Distribute physical count sheets to counting staff. Staff count items blindly without seeing expected numbers.

2

Input Verified Physical Counts

Action > Count Items

Click Count Items or Edit. Enter actual physical counts verified per storage bin, batch, and SKU.

The software instantly computes variance deltas and highlights significant over/under discrepancies.
3

Save Count Data

Save Count

Click Save Count to record counted figures. Additional counts can be refined until final supervisor sign-off.

7. Finalizing & Automatic Adjustment Sync

Snapshot Freeze Rule
Always execute the Freeze action before handing physical count sheets to auditors. Freezing takes an instantaneous baseline snapshot so subsequent retail transactions during the count do not pollute the audit variance calculation.
1

Complete Audit Phase

Action > Complete

Once all aisles and bins have been tallied, click Complete from the audit actions menu.

Completing locks physical counts from further tampering and calculates overall audit accuracy scores.
2

Generate Discrepancy Stock Adjustment

Create Stock Adjustment

In the completed audit detail view, click Create Stock Adjustment to auto-generate a Stock Adjustment for all variances.

Once the generated adjustment is posted, the audit state automatically advances to ADJUSTED.

8. Cross-Module Impact

Target SubsystemRelational & Transactional Effect
Stock AdjustmentsDirectly spawns an OPNAME-type Stock Adjustment carrying all line discrepancy quantities.
Stock BalancesProvides the foundation for aligning digital on-hand balances with verified physical reality.
Stock Movement LedgerResulting adjustments generate OPNAME_IN and OPNAME_OUT movements linking back to the Opname voucher.
Audit & Compliance ReportingProvides historical audit trail logs verifying physical audit compliance for internal and external auditors.
Operational Best Practices
  • Always freeze opnames immediately prior to physical counting to capture exact cut-off book balances.
  • Use blind counting sheets without system quantities so counting staff are not biased by expectations.
  • Require a second recount for any high-value item exhibiting more than 2% discrepancy before finalizing.