Skip to content

The no-negative-stock guard

Villva treats negative stock as physically impossible and refuses to record it. This keeps your ledger honest: you can never issue, sell, transfer or adjust away stock you don’t have.

Any movement that would drive an item’s on-hand below zero is blocked. This covers:

  • issues and consumption
  • transfers out of a warehouse
  • negative adjustments.

The check happens at the moment the movement is recorded, against the committed balance, so even two people issuing the same stock at the same time cannot both slip through. A blocked movement records nothing: no stock movement, no balance change.

The rejection message tells you exactly what’s wrong, the item, the warehouse, the quantity you requested, and the quantity actually available, so you can correct and retry.

Alongside the guard, Inventory validates entries before they can corrupt your books:

  • Required fields (item, warehouse, quantity, and a reason where one applies) must be filled in.
  • Quantity and rate must be valid numbers. A zero or non-numeric quantity on a movement is rejected.
  • An invalid item or warehouse, or a date range that ends before it starts, is refused with a clear message.
  • Messages are written in plain, friendly language.

Because a movement is recorded all-or-nothing, an invalid entry is rejected as a whole, nothing is partially saved, so a rejected entry never leaves your books in a half-updated state.