Two numbers, deliberately different
| Number | What it is |
|---|---|
| Current (ledger) | On-hand weight, as recorded by VahaPOS from sales, refunds and manual corrections. |
| Current (Shopify) | Shopify’s available count, which excludes stock committed to unfulfilled orders. |
These are measuring different things, so they are not expected to match exactly. The Inventory page shows both side by side so you can see each location at a glance.
The unit of the ledger is the pricing type of the product’s collection. A per-kilogram collection has a ledger in kilograms; a per-100-gram collection has a ledger in units of 100 g. See pricing types
Balances can be negative, and that is normal
Why Shopify sometimes does not move
Shopify stock is a whole number, but weight is decimal. VahaPOS holds the difference in a buffer and only moves Shopify when a whole unit has accumulated.
What this means day to day
- Trust the ledger for how much is on the shelf. Trust Shopify for what is available to sell online and in reports.
- Expect Shopify to lag the ledger by less than one unit per product per location. It never drifts further.
- Low-stock alerts in Shopify still work; they trigger on whole units as usual.
Correcting one product
Step 1: Open Inventory in the VahaPOS admin and use the search to find the product.
Step 2: Click the product title to open its movement history.
Step 3: Choose the location, then Adjust inventory.
Step 4: Enter the quantity in the product’s own unit, negative to remove stock, with a reason and optional note.
The history lists every movement newest first: sales, refunds, manual corrections and the whole-unit changes sent to Shopify. Sales link to their order, and anything applied by a bulk adjustment is tagged with its reference.
Correcting many products at once
Step 1: Open Bulk adjust and choose Create bulk adjustment.
Step 2: Pick the location, then add products or import a CSV.
Step 3: Enter a quantity for each line, in that product’s own unit.
Step 4: Save as a draft while you work. Nothing is applied until you choose Adjust.
Step 5: Apply it. Confirm, and the corrections are written.
Applied bulk adjustments become read-only. To reverse one, post an opposite adjustment.
CSV format for bulk inventory adjustments
| Column | Value |
|---|---|
| sku | The product variant SKU as it appears in Shopify. |
| qty | The change in the product’s own unit. Positive adds stock, negative removes it. |
The quantity is in each product’s own unit, taken from the collection it belongs to, so the file never has to state units. Every row is validated before anything is added. If any row fails, nothing is imported and each problem is listed with its row number.
If Shopify rejects part of a bulk adjustment
The usual causes are a variant that no longer tracks inventory in Shopify, or a location that has been deactivated. Fix the product in Shopify and the buffered units flow through on the next sale or adjustment.