Declare a loss or damage (breakage, theft, expiry)

Essential7 minChecked on 10/15/2026

What you will have: Broken, stolen or expired goods are taken out of the sellable stock with their cause, then validated by a manager.

Losses are measured and explained as they happen, instead of showing up as a hole at inventory time.

Before you start

Signed in to Genuka, this list ticks what your account already has.

Screens shown for:

Why this matters

Breakage, theft, expiry: without a declaration, these losses stay invisible until the inventory, where nobody can explain them any more. Declaring a loss immediately takes the goods out of the sellable stock, keeps their cause and submits them for a manager's validation.

Summary

A loss declaration takes goods out of the sellable stock while keeping their cause: breakage, theft, expiry, sample… It happens in two steps. The person who notices declares, and the goods immediately become unsellable. A manager then validates (the loss is recognized and leaves the books) or rejects (the goods become sellable again).

Prerequisites

  • stock_losses.create to declare, stock_losses.view to view.
  • stock_losses.validate to validate or reject. Declaring and deciding are two separate rights, and stock_losses.* gives both.
  • The product must have stock in a warehouse you can see.

Steps: declaring

  1. Catalog › Inventory & Stocks (/stocks), arrow next to Stock entry › Declare a loss. Other ways in: More options › Losses & damage › Declare a loss, or the Declare a loss button on an item's page.
  2. For each item:
    • Product: search for the stocked item;
    • Lot: pick the exact lot the goods came off ("warehouse · lot … — N left");
    • Quantity lost;
    • Reason;
    • What happened to the goods: Scrapped or Held aside;
    • Note: what happened, in your own words.
  3. Add another item if needed, in the same warehouse.
  4. Fill in the Date of the loss (today by default) and optionally a Note on the whole declaration.
  5. Click Record the loss. The declaration is created with the Awaiting validation status.

Steps: validating or rejecting

  1. More options › Losses & damage (/stocks/losses).
  2. On a declaration Awaiting validation, use the Validate or Reject buttons at the end of the row, or open it to decide from its page. Several selected declarations can be decided at once.

What happens at each step

StepStockAccounting
Declaration (Awaiting validation)The quantity leaves the batch and goes into a Damaged batch of the same warehouse: it is no longer sellable.Nothing
Validated, Scrapped lineThe quantity leaves the stock for good (Loss movement in the ledger).A loss entry, if you keep your books in Genuka
Validated, Held aside lineThe goods stay in the Damaged batch: still yours, still valued, but unsellable.Nothing
RejectedThe quantity returns to its original batch and becomes sellable again.Nothing

The loss entry is posted in the miscellaneous operations journal: by default in SYSCOHADA, debit 658 (losses), credit 31 (stock), for the cost value of the scrapped lines. Lines whose batch has no purchase price do not appear in it.

Fields and options

FieldValues
ReasonDamage (default), Expiry, Theft, Loss, Sample, Internal use, Unsellable customer return, Production scrap, Count adjustment, Reclassification, Other
What happened to the goodsScrapped (default): the quantity will leave the stock for good. Held aside: the goods stay yours but become unsellable.
NoteRequired when the reason is Other

At the top of the list, three indicators: Units lost, Value lost and Without a known cost. They total all recorded declarations, whatever their status, the outcome of the goods and the date, and do not follow the list filters. The Value written off column of each declaration, on the other hand, only counts the scrapped lines of a validated declaration.

Edge cases and common mistakes

  • Quantity higher than the batch. Refused: you cannot declare more than the chosen batch holds.
  • Several warehouses in one declaration. Refused: a declaration covers a single warehouse. Make one declaration per warehouse.
  • Batch already damaged. A batch already taken out of the sellable stock cannot be held aside a second time.
  • Decision already made. A validated or rejected declaration can no longer be decided.
  • Value lost lower than expected. Batches with no purchase price are counted in units but not in value: the Without a known cost counter flags them.
  • Putting held-aside goods back on sale after validation. The dashboard does not offer this today: only rejecting a declaration still Awaiting validation makes the goods sellable again.

FAQ

I broke some products: how do I take them out of stock? Declare a loss with the reason Damage and the outcome Scrapped, then have a manager validate it.

Why did the goods disappear from the sellable stock before validation? This is intended: a broken product must not be sellable while the decision is pending. If the declaration is rejected, it becomes sellable again.

How much did I lose this month? In Losses & damage, filter the list by period (From / To), and if needed by Status, Reason, What happened to the goods or Warehouse. Add up the Value written off column of the validated declarations. The indicators at the top of the page do not follow these filters: they cover all declarations since the beginning.

See also

  • Batches, expiry dates and exit order
  • Run an inventory
  • Correct a stock quantity
  • View the stock movements ledger
  • Access rights, roles and permissions

Sign in to keep track of the lessons you have done.

Open in Genuka
Next lessonView the stock movements ledgerContinue A question about this lesson?Ask the assistantIt answers from the lessons and shows you where to look.