Skip to content

Inventory Opening Stock Migration

Inventory opening stock migration loads approved opening stock balances into Pinkapple ERP while the tenant is still in migration mode.

Use this flow when the business is moving existing stock from spreadsheets, a previous ERP, or a signed-off stock snapshot into Pinkapple as of the migration date. Do not use it for normal day-to-day receipts after go-live.

Workspace Reference

TaskWorkspaceResult
Review migration stateAdministration -> General Setup -> Data MigrationConfirm migration mode is still active and the tenant is on the correct migration date.
Prepare stock prerequisitesAdministration -> General Setup -> Operational ItemsConfirm the item is approved and marked as stock managed.
Confirm warehouseInventory -> Setup -> WarehousesConfirm the destination warehouse and its stock location are active.
Confirm stock accounting defaultsInventory -> Setup -> Item CategoriesConfirm the stock category has inventory asset and receipt-offset accounting configured.
Run opening stock importAdministration -> General Setup -> Data Migration -> Opening StockGenerate the warehouse-specific template, validate rows, and execute the import.
Verify migrated stockInventory -> Operations -> Stock Movements and Stock BalancesConfirm the movement posted and the warehouse balance increased correctly.
Verify accountingAccounting reports and GL journals where availableConfirm debit to inventory asset and credit to migration opening balance contra.

When To Use It

Use inventory opening stock migration when:

  • the tenant is still in migration mode
  • the implementation team has a signed-off opening stock snapshot
  • stock should be loaded as of the controlled migration date
  • the imported balances must post opening-value accounting to the migration contra account

Do not use it for:

  • supplier receipts after go-live
  • stock corrections that belong to stock take or adjustment workflows
  • catch-up operational receipts that should be processed through the real source workflow

Before You Start

Confirm all of the following before generating the template:

  • migration mode is still active for the tenant
  • the migration date shown in Data Migration is correct
  • the target warehouse is active
  • each selected operational item is active, approved, and stock managed
  • if an item has never been stocked before, you know which stock category should be used to auto-create the execution stock item
  • the selected stock category has valid inventory asset and receipt offset accounting
  • the migration opening balance contra account is configured
  • the tenant is reasonably quiet if GL posting has recently been under heavy load

For the first live run after deployment, use one real row you intend to keep.

  • Start with one warehouse.
  • Start with one approved stock-managed item.
  • Use the real quantity and unit cost you want to keep as of the migration date.
  • Do not start with a large file.

This proves the flow without making cleanup harder if a prerequisite is still missing.

Step-By-Step Flow

  1. Open Administration -> General Setup -> Data Migration.
  2. In the migration overview, continue the Opening Stock step.
  3. Select the destination Warehouse.
  4. Select the Default Stock Category. Use this when the system must auto-create a stock execution item because the operational item has never been stocked before.
  5. Select the stock-managed Operational Items to include in the template.
  6. Download the generated template.
  7. Fill the row data for the selected items.
  8. Upload the file and run Validate.
  9. If validation returns no errors, run Execute once.
  10. After success, verify stock movement, stock balance, migration batch, and GL impact.

Template Column Guidance

ColumnWhat Users Enter
quantity_on_handOpening physical quantity to load. Must be greater than zero.
unit_costOpening unit cost as of the migration date. Must be greater than zero.
batch_numberRequired only for batch-tracked items. Leave blank for non-batch items.
lot_numberRequired only for lot-tracked items. Leave blank for non-lot items.
serial_numberRequired only for serial-tracked items. One unit per row for serial-tracked stock.
expiry_dateEnter only when the item or layer uses expiry tracking.
zone_codeEnter only if the stock must land in a specific warehouse zone.
condition_codeOptional operational condition or state where the implementation uses it.
notesOptional migration note for the row.

Do not edit the hidden template columns generated by the system. They are used to keep the row tied to the selected warehouse, stock category, and operational item.

What The System Does On Execute

When the import executes successfully, Pinkapple:

  • re-validates the uploaded rows server-side
  • auto-creates a stock execution item if the selected operational item has never been stocked before
  • creates stock receipt movements as of the migration date
  • tags the movement as migration opening stock
  • creates a migration batch with domain INVENTORY
  • posts the accounting impact as opening stock, not as a normal day-to-day receipt

The expected accounting direction is:

  • debit inventory asset
  • credit migration opening balance contra

How To Verify Results

After execution, verify all of the following:

  • the stock movement exists as a receipt for the selected warehouse
  • the movement carries the migration opening stock context
  • the warehouse balance increased by the imported quantity
  • the imported unit cost is reflected on the created stock layer or balance
  • the migration batch list shows an INVENTORY batch
  • the GL posting shows inventory asset on debit and migration opening balance contra on credit

Validation Rules To Expect

The import rejects rows when:

  • quantity is zero or negative
  • unit cost is zero or negative
  • a required tracking field is missing
  • a tracking field is filled for an item that should not use it
  • the same auto-created stock item is given inconsistent tracking or expiry behavior across rows
  • the warehouse zone does not belong to the selected warehouse
  • duplicate serial or conflicting stock-layer combinations are supplied

Common Problems

ProblemWhat To Check
Item is missing from selectionConfirm the operational item is approved, active, and marked as stock managed.
Validation fails on trackingUse batch, lot, serial, and expiry values only when the stock item policy requires them.
Auto-create failsConfirm the selected default stock category is valid for the intended inventory accounting setup.
Execute seems slowDo not click again immediately. First confirm whether the movement or migration batch was already created.
GL posting blocks or hangsCheck whether the tenant is under heavy posting or sequence contention, then rerun in a quieter operational window.
Stock posted to wrong warehouseConfirm the template was generated from the correct warehouse context before filling the file.

Good Practice

  • Use one warehouse per import batch.
  • Keep the first production proof to one row.
  • Use the generated template for the exact warehouse and item set you selected.
  • Re-download the template if you change warehouse, stock category, or selected items.
  • Reconcile the imported stock total against the approved opening snapshot before moving to TB / BS.

Pinkapple ERP by Stat Solutions Network