Skip to main content

Review, correct & delete adjustments

Every stock adjustment you record leaves a permanent entry you can look back on. This guide covers the Inventory Adjustments list — how to browse, search, and filter it — and everything you can do to an existing adjustment: open its detail page, read its activity trail, archive it, delete it (which reverses its inventory impact), bulk-act on many at once, and export the list to a spreadsheet. It also explains two things that trip people up: why some adjustments are locked and why there is no "edit" button.

To learn how adjustments are created and how each one moves stock and cost, see Adjust stock and the concept How adjustments move stock & cost. For every field, reason, and column in one place, see the Adjustment reference.

Before you begin

  • Open the list at Inventory → Inventory Adjustments.
  • Anyone with inventory read access can browse, search, filter, and open adjustments. The actions that change data are permission-gated:
ActionPermission required
Archive / Unarchive (single or bulk)Adjust inventory (inventory.adjust)
Delete / Bulk deleteAdjust inventory (inventory.adjust)
Export to CSVExport inventory (inventory.export)
  • The examples below use a decrease adjustment on Stainless Water Bottle 750ml in Main Warehouse.

Browse the adjustments list

The list shows one row per adjustment, newest first. Each row carries the adjustment's ID, a Correction lock indicator, the Date, SKU and Product Name, Warehouse, a signed Quantity chip (green for a positive adjustment, red for a negative one), Unit Cost, Notes, a Link to the source document that created it (when there is one), and the Created At / Updated At timestamps.

  • Sort by clicking a sortable column header: ID, Date, Quantity, Archived, Created At, or Updated At. Clicking again toggles ascending and descending. The default order is newest-created first.
  • Paginate with the controls beneath the table. The list shows 10 rows per page by default; use the rows-per-page menu to raise it (up to 100).
  • Choose columns with the column selector in the toolbar. The Archived column is hidden by default — turn it on when you're reviewing archived records.
Blank cells mean "not linked"

An adjustment keeps working even after the record it referenced is gone. If the product, warehouse, or source document behind a row can't be resolved, that cell shows a dash (-) rather than an error — for example, an adjustment with no source document shows - in the Link column. Paging past the last page returns an empty table, not an error.

Search and filter

Narrow the list with the search bar, the quick filters, the date filter, and advanced filters. Everything you set is reflected in the page URL, so a filtered view is shareable and survives a refresh.

  • Search bar. Type to search across ID (exact match), Notes, SKU, Product Name, and Warehouse. The search field chips appear when you focus the bar.
  • Warehouse — limit to adjustments in one warehouse.
  • DirectionAll, Positive (+), or Negative (-). Direction is read from the sign of the quantity, not a stored field: Positive matches increases, Negative matches decreases.
  • CorrectionAll, Corrections only, or Exclude corrections. This keys off the adjustment's reason (see Why corrections are locked).
  • Date — filter by adjustment date using the date filter button in the toolbar.

For column-level conditions (quantity ranges, notes text, created/updated windows, and more), open Advanced filters in the toolbar. You can filter on ID, Quantity (numeric), Notes, SKU, Product Name, and Warehouse (text), and Adjustment Date, Created At, and Updated At (date-time). Save a filter combination as a view with the saved-views control so you can return to it in one click.

The list hides archived adjustments by default

Without an archived filter set, the list shows only Active (non-archived) adjustments. Use the scope control in the list footer to switch between Active, Archived, and All. Archived records still exist and still count toward inventory — archiving only hides them from the everyday view (see Archive and unarchive).

Open an adjustment

Click a row to open its detail page at Inventory → Inventory Adjustments → #ID. The page has three tabs:

TabWhat it shows
DetailsThe adjustment's ID, SKU (links to the product), Product Name, Warehouse (links to the warehouse), Adjustment Date, a signed Quantity chip, Unit Cost, the resolved Link to its source document, and Notes. A Metadata panel shows Created At, Updated At, the Active / Archived status, and (when archived) Archived At. The Actions panel holds Archive / Unarchive and Delete.
Accounting TransactionsThe accounting transactions posted for this adjustment, loaded when you open the tab. They're matched by the reference Stock Adjustment {SKU} (ID: {id}), so the tab can be empty if the adjustment hasn't posted to accounting yet, or shows Not synced until it syncs.
ActivityThe full activity log (see View the activity log).

If you reached the page from another screen — for example a product's Movements tab — the back arrow returns you there and preserves where you were.

A correction opens read-only

When the adjustment is a system correction, the detail page shows a Correction chip in the header, a locked banner, and the Actions panel is replaced by a "this correction is locked" message — no Archive, Unarchive, or Delete. See Why corrections are locked.

View the activity log

The Activity tab records who did what and when — creation, edits, archiving, and deletion — as a searchable, paginated table.

  1. Open an adjustment and click the Activity tab.
  2. Use the search box to filter by the person who made the change (the causer), the event, or the changed properties.

The log captures every tracked field change except the updated_at bookkeeping timestamp, and only records entries when something actually changed. It's the audit trail for a single adjustment; to trace how an adjustment moved units across the wider ledger, see View the movement ledger.

Archive and unarchive

Archiving tucks an adjustment out of the everyday list without changing any inventory. Use it to keep the record while clearing clutter. Unarchiving brings it back.

One adjustment

  1. Open the adjustment.
  2. In the Actions panel, click Archive (or Unarchive if it's already archived).

Many at once

  1. On the list, check the rows you want.
  2. In the bulk-actions bar, choose the scope — Selected Only (the rows you checked) or All Filtered (every adjustment matching your current filters, across all pages).
  3. Click Archive or Unarchive.
Archiving never touches stock

Archiving sets an Archived At timestamp — it does not reverse movements, FIFO layers, or cost. The units stay in inventory. Only deleting an adjustment reverses its impact. Archiving an already-archived adjustment returns a harmless warning rather than an error.

"All Filtered" acts on every matching row, not just what's on screen

The scope toggle shows a count in parentheses. If your filters match 900 adjustments and 10 are on screen, All Filtered (900) archives — or deletes — all 900. Before running a bulk action with All Filtered, glance at the count and confirm your filters describe exactly the set you intend. Narrow with the filters first if not.

Delete an adjustment

Deleting an adjustment reverses the inventory impact it made and then removes the record. This is the closest thing to an "undo" for an adjustment — there is no separate edit (see There is no edit screen).

  1. Open the adjustment (or check its row on the list).
  2. Click Delete, then confirm in the dialog. The dialog warns that deleting reverses the adjustment's inventory impact.

What the reversal does depends on the adjustment's direction:

  • Deleting a positive adjustment removes the FIFO layer it created and the units that came with it. First, any backordered sales-order allocations that were released to Allocated against that layer are reverted to Planned, so they return to the backorder queue instead of claiming stock that no longer exists.
  • Deleting a negative adjustment puts the consumed units back and restores the FIFO layers they were drawn from.

The product's inventory cache is recomputed immediately, so available and allocated figures reflect the reversal at once.

Some effects can't be un-done, and that's on purpose

If a released allocation has already reached a terminal state — Fulfilled or Cancelled — deleting the positive adjustment can't retract it; the unit already shipped or the line was cancelled. Those are logged for follow-up rather than reverted. When the deleted adjustment was linked to a warehouse transfer, the transfer's receipt status is re-evaluated after the delete. If the reversal can't find enough stock to put back, the delete fails cleanly with an error instead of leaving inventory in a bad state.

Bulk delete

To delete several adjustments in one pass:

  1. On the list, check the rows.
  2. Choose the scope — Selected Only or All Filtered — in the bulk-actions bar.
  3. Click Delete and confirm.

Each adjustment is reversed individually through the same delete path described above, so every one gives back or removes its stock correctly.

Corrections in a bulk selection are skipped, not force-deleted

If your selection includes system corrections, those rows are refused — corrections can't be deleted (see below). The non-correction rows still process. As with bulk archive, All Filtered targets the entire filtered set, so confirm the count before you confirm the delete.

Export to CSV

Export writes the current list to a CSV file. The export honors your active filters, so filter the list to the set you want first.

  1. Click Export in the list header. (It's disabled while the list is empty.)
  2. The file inventory-adjustments.csv downloads.

The CSV contains: ID, Adjustment Date, SKU, Product Name, Warehouse, Quantity, Unit Cost, Notes, Archived At, Created At, and Updated At. Large result sets stream row by row, so a big export won't time out.

Why corrections are locked

Some adjustments are created automatically by SKU.io's inventory-health repairs — when a background integrity check finds and fixes a discrepancy, it records the fix as a correction adjustment. These are marked with a Correction chip and a lock icon, and they're immutable: you can't edit, archive, or delete them.

The lock is deliberate. A correction is the system's own bookkeeping entry that reconciles your stock or cost back to a known-good state; letting anyone reverse or hide it would re-open the very discrepancy it just closed. In the UI:

  • The list row shows a Correction chip and a lock icon in place of the row actions.
  • The detail page shows a warning banner and replaces the Actions panel with a "locked" message.
  • Attempting to delete or edit one server-side is refused outright.

If a correction looks wrong, don't try to remove it — investigate the underlying stock or cost issue instead. See How adjustments move stock & cost and, for cost discrepancies, Correcting COGS.

There is no edit screen

Adjustments are intentionally create-and-reverse, not editable in place. There is no "Edit" button on the list or the detail page — the only actions are Archive, Unarchive, and Delete.

To change an adjustment you recorded incorrectly, delete it and record a new one:

  1. Open the wrong adjustment and note its details (product, warehouse, quantity, date, notes).
  2. Delete it — this reverses its inventory impact cleanly.
  3. Record a fresh adjustment with the correct values.

This keeps the movement ledger honest: rather than silently rewriting history, the reversal and the new entry both appear in the audit trail. Corrections, as above, can't be reworked this way at all — they're locked.

Common problems

SymptomLikely causeFix
An adjustment has no Delete or Archive action, only a lock.It's a system correction — immutable by design.Don't remove it. Investigate the underlying stock/cost issue instead. See Why corrections are locked.
A bulk delete or archive affected far more rows than expected.The scope toggle was on All Filtered, which acts on every matching adjustment across all pages.Switch to Selected Only, or narrow the filters, and re-check the count in parentheses.
An adjustment you archived vanished from the list.The list hides archived records by default.Switch the footer scope to Archived or All, and turn on the Archived column.
Delete failed with an error.The reversal couldn't put enough stock back, or the record is linked in a way that blocks removal.Resolve the blocking stock situation, then retry. Terminal (shipped/cancelled) allocations can't be reverted.
The Accounting Transactions tab is empty or shows Not synced.The adjustment hasn't posted to accounting yet, or its transaction hasn't synced to your books.Give the sync time; see How adjustments move stock & cost.
You can't find an Export button.The list is empty, or you lack the export permission.Clear filters so rows show; ask an administrator for the Export inventory permission.

Next steps

Last verified: