Read the inventory ledger
The inventory ledger answers one question: when did a VeraCore balance change, and by how much?
It cannot tell you why, and it is important to understand that before you use it. VeraCore publishes no movement feed — no receipts, no picks, no adjustments. What SKU.io has is a series of snapshots taken by each inventory sync. Every row in the ledger is the difference between two consecutive ones.
The page says as much in its subtitle:
Every row is the difference between two consecutive VeraCore snapshots — an observed change, not a warehouse transaction.
So a row reading -12 means VeraCore reported 12 fewer units than the last time SKU.io looked. It might be a shipment, a damage write-off, a recount, or three of those netting out. The ledger records the observation; it does not interpret it.
Getting there
Open the connection's Inventory Ledger tab. Or click View Ledger on any row of the Inventory tab, which opens the ledger already filtered to that offer — a dismissible Item: {code} chip shows the scope, and clearing it widens back out.
The Warehouse selector at the top scopes everything to one building; Reload re-reads without calling VeraCore.
The six figures at the top
| Card | Means |
|---|---|
| Observed Changes | How many differences are in view |
| Increases | Rows where the balance went up |
| Decreases | Rows where it went down |
| Units In | Total units added across every increase |
| Units Out | Total units removed across every decrease |
| Net Delta | Units in minus units out — green above zero, red below |
Two things make these trustworthy in a way summary cards often are not.
They describe exactly what you are looking at. The cards and the table read the same filtered set, so narrowing the table narrows the figures with it.
The date range is measured, not assumed. The line beneath reads something like:
47 observations in view · observed 12 Jul 2026 – 31 Jul 2026 · Main Warehouse · 3 first observations excluded from the movement figures.
That span is the real first and last observation in the filtered rows, not the window you asked for. If you filtered to July and it says the observations run 12–31 July, then nothing was observed in the first eleven days.
When nothing matches you get No observations match the current filters.; when the ledger has genuinely never recorded a change, No changes observed yet — the figures above populate once two syncs report different balances.
First observations are not movements
The first time VeraCore reports an offer, there is nothing to compare it against. SKU.io records that opening balance as a first observation — a starting point, not a movement.
First observations are excluded from every movement figure. They do not count as increases or decreases and they do not contribute to Units In or Units Out. Counting an opening balance as a receipt would inflate your inbound figures with stock that had been sitting there for months.
They are still visible: the Observed Changes card shows +{n} first observation(s) beneath its count, Net Delta notes the opening balance separately, and the scope line says how many were excluded.
Right after your first inventory sync, everything is a first observation and every movement figure is zero. The page says so directly rather than leaving you to wonder:
Everything below is a first observation — the opening balance VeraCore reported the first time it saw each offer. There was no earlier snapshot to compare against, so nothing here is a warehouse movement and the movement counts above are correctly zero. They start populating once a later sync reports a different balance.
Zeros on a fresh connection are the correct answer, not a broken page.
The Source filter
Every row has a source, and the Source filter is the most useful control on the page.
| Option | Shows |
|---|---|
| Changes Only (default) | Real movements — snapshot differences and disappearances, opening balances excluded |
| Snapshot Change | Only rows where two syncs reported different balances |
| No Longer Reported | Only offers VeraCore stopped reporting |
| First Observation | Only opening balances |
| All Sources | Everything, including opening balances |
The default is Changes Only, which is why the ledger looks like a movement log even though it is a snapshot diff. To see opening balances, switch to First Observation or All Sources.
Each row's Source chip carries a tooltip explaining what it means:
- First observation — The first time VeraCore reported this offer — there was no earlier snapshot to compare against.
- Snapshot change — Two consecutive syncs reported different balances for this offer. VeraCore does not say what caused the difference.
- No longer reported — VeraCore stopped reporting this offer, so its balance was treated as dropping to zero.
"No longer reported" is worth attention
When an offer vanishes from VeraCore's response, SKU.io treats its balance as dropping to zero and records that as a change. It is the honest reading — SKU.io cannot claim stock VeraCore no longer mentions — but a zero here can mean several different things:
- The stock genuinely went to zero and the offer was dropped from the feed.
- The item was deactivated or archived at your 3PL.
- A filter or permission change altered what the API returns.
A cluster of these appearing at once, especially across unrelated items, is usually the third case. Check with your 3PL before treating it as an inventory event.
Reading the table
| Column | Notes |
|---|---|
| Observed At | When the sync that saw the change ran — not when the warehouse moved the stock |
| Item | The VeraCore item code. Click it to scope the ledger to that offer |
| Title | VeraCore's description |
| Warehouse | The SKU.io warehouse, with the VeraCore facility beneath — or Not mapped |
| On Hand | previous → new |
| Available | previous → new |
| Delta | The signed change, coloured green or red |
| Source | The chip described above, with its tooltip |
The Observed At distinction matters when you are reconciling against a shipping date or a 3PL report. If inventory syncs run every six hours, a change observed at 09:00 happened at some point in the preceding six hours. The ledger's resolution is your sync frequency, not the warehouse's clock.
The row action opens a Observed Change detail panel with the same fields laid out, plus links to the offer and a reminder of the same caveat: VeraCore publishes no movement feed, so it does not explain why the balance moved.
Filters
The search box and quick filters cover the common cases: Direction (All Changes / Increases / Decreases) alongside the Source filter above. The advanced filters go further — specific item codes, previous and new on-hand or available quantities, delta ranges, and date ranges on when the change was observed.
Sorting defaults to newest observation first.
That is deliberate. The Source control at the top is not one filter among many — it decides which rows exist at all, before any other filter runs. Putting it in the advanced panel would make it look like an optional refinement, which would be misleading.
Retention
If a retention period is configured, the subtitle says so: Rows older than {n} days are pruned.
Ledger rows accumulate quickly — every sync can produce one per changed offer. Retention keeps the table usable, at the cost of history. If you need a longer record, export what you need before it ages out, or raise the retention setting on the Settings tab.
No retention note means rows are kept indefinitely.
What to use it for
Good questions for the ledger:
- When did this offer's balance last change, and by how much?
- Did anything move in this warehouse last week?
- Is this discrepancy new, or has it been drifting for a month?
- Did VeraCore stop reporting anything recently?
Questions it cannot answer:
- Why did the balance change? Ask your 3PL — VeraCore does not tell SKU.io.
- Which order consumed this stock? There is no link between a snapshot difference and an order.
- What happened between syncs? Two movements that cancel out inside one sync interval leave no trace at all.
That last one is worth remembering. The ledger shows net change per sync interval, so a receipt of 50 and a shipment of 50 in the same window record as no change. More frequent syncs mean finer resolution.
Next steps
- Review inventory and discrepancies — the current picture, where the ledger gives you the history.
- The inventory model — why the ledger tracks on-hand and available separately.
- Create a stock take from discrepancies — what to do once the history tells you the difference is real.