Every change to a tracked product's stock is recorded as a movement. Movements come from three places: manual adjustments you make, automatic deductions when you sell a product on an invoice, and the opening balance set when tracking is first turned on. Together they form a complete, tamper-resistant history of how stock reached its current level.
This page covers how to make adjustments, exactly when invoices change stock, and how to read the workspace-wide movements ledger.
Record a manual adjustment
Adjust stock whenever the physical count changes for a reason other than a sale — receiving a delivery, using supplies on a job, breakage, or a recount.
- Open the product in Products Catalog and go to its Inventory section.
- Choose Adjust Stock / Usage.
- Pick how the stock is changing:
- Add — increase the level (for example, stock received).
- Use — decrease the level (for example, used on a job or wasted).
- Set — set the level to an exact number (for example, after a physical count).
- Enter the quantity, choose a reason, and add an optional note.
- Save.
The stock level updates immediately and the change is written to the ledger with your name, the time, and the reason.
Reason categories
Choosing an accurate reason makes the history meaningful and your reports trustworthy. Available reasons include:
- Received — stock arrived from a supplier.
- Returned — a customer return added stock back.
- Used on job — consumed while delivering work.
- Used internally — used by the business, not sold.
- Spilled / wasted, Damaged, Expired, Mixed / diluted — loss reasons.
- Counted — a physical-count correction.
- Manual correction — a deliberate fix to the number.
- Other — anything that does not fit above.
Invoice sale is also a reason, but it is reserved for automatic deductions and is not selectable by hand.
How invoices change stock automatically
When you sell a tracked product on an invoice, Workspace369 adjusts stock for you — you do not need to record a separate "Use" movement.
Stock is deducted when an invoice becomes finalized. An invoice is finalized when its status becomes Sent or Paid. In practice an invoice is usually Sent before it is Paid, so the deduction happens at the point the invoice is issued to the client, not at the moment payment is received. If an invoice goes straight to Paid, that transition deducts stock too. The first time an invoice enters a finalized status, its line items are deducted once.
The behavior is fully reversible, so stock always reflects reality:
- Finalized → un-finalized (for example, an invoice is moved back to Draft): the deducted stock is added back.
- A finalized invoice is deleted: its stock is added back.
- A finalized invoice is edited (quantities change while it stays finalized): only the difference is applied.
Deductions cover both the products on the invoice and any service supply recipes — selling a service that consumes supplies draws down those supplies automatically. The process is idempotent: re-sending an invoice or a background retry will not deduct the same stock twice.
Before an invoice is finalized, adding a tracked product shows a preview of the inventory impact — how much will be consumed and whether it would take stock low or negative — but nothing is deducted until finalization.
Not sure whether an invoice deducted stock? Open the movements ledger and filter by Reference → Invoice, or open the product's recent history. Automatic deductions appear with the reason Invoice sale and a link back to the invoice.
Audit every movement
The Inventory view of the Products Catalog is a workspace-wide ledger of every movement across all tracked products — the place to answer "what moved, when, why, and by whom." Open Products Catalog and switch to Inventory.
Summary metrics
A strip at the top summarizes the movements currently in view:
- Movements — how many changes match your filters.
- Units in — total quantity added.
- Units out — total quantity removed.
- Low / out now — how many tracked products are currently at or below their threshold.
The summary always reflects the filters you have applied, so it stays consistent with the list below it.
Filter, sort, and search
Narrow the ledger to exactly what you need:
- Product — a single product's history.
- Reason — for example, only Invoice sale or only Received.
- Type — stock in, stock out, or set.
- Member — who made the change (automatic invoice deductions are attributed to the system).
- Date — a preset range or a custom range.
- Sort — newest or oldest first.
- Search — narrow the loaded rows by product, reason, note, or person.
Read a movement
Each row shows the date, the product, the change (a signed amount such as +5, −3, or =10 for a set), the stock before and after, the reason and any note, who made the change, and a reference to the source invoice when the movement came from a sale.
Export
Use Export CSV to download the current filtered view for a spreadsheet audit, a stock take, or your accountant.
The history cannot be rewritten
Movements are append-only: they cannot be edited or deleted, and neither can the workspace owner. To correct a mistake, record a new adjustment (for example, a Manual correction or a fresh Counted entry) rather than altering history. This keeps the ledger trustworthy as a record of what actually happened.
If the stored level and the physical count ever disagree, a Counted adjustment set to the true number reconciles them and leaves a dated, attributed record of the correction.
Who can adjust stock
Recording adjustments and editing stock levels require permission to edit the product catalog. Everyone in the workspace can view stock and the movements ledger; only teammates with catalog-edit access can change stock. See Team access and permissions.
Next steps
- Track inventory on a product — enable tracking, set levels, and configure service supply recipes.
- Create, send, and track an invoice — the billing workflow that drives automatic deductions.