Stock Control

OpenVPMS has a very capable stock control system. Its facilities include:

  • stock control can be enabled or disabled for each Practice Location
  • stock can be held in multiple locations - these are called Stock Locations and represent storerooms, warehouses, etc
  • a Stock Location can be shared between Practice Locations, but a Practice Location cannot use multiple Stock Locations
  • when a customer invoice (or credit note) is processed, the associated stock updates are automatic
  • each product can have stock levels (ideal and critical) set for each Stock Location together with always order and never order options
  • each product can have one or more suppliers defined - one of which can be set as the preferred supplier, and for each supplier you can set the ordering information for that supplier
  • orders can be generated either manually, or automatically
  • the automatic order generation process allows the generation of orders for either a specific supplier and stock location, all suppliers and a specific stock location, or all suppliers and all stock locations. You can also specify whether to order only items at or below their critical stock level, or all those below their ideal stock level.
  • to assist with the manual creation of orders, there is a Stock Reorder report
  • the ESCI facility provides automation of the processing of orders, deliveries and invoices for suppliers who have implemented the required interface
  • the manual handling of deliveries is well streamlined - you select what is being delivered from a list of outstanding orders and their line items, check these off, and after the deliveries are finalised, the supplier invoice can be automatically created. A given order can have multiple deliveries - ie if you place an order for 20, the system can handle this being delivered in say 5 and then another 15 some time later. Supplier invoices can be created for each delivery or you can manually create them.
  • when receiving items stock levels are updated automatically, and it is also possible to have the product's cost price updated
  • the stock adjustment transaction allows the update of the stock levels of one of more products
  • the stock transfer transaction allows the transfer of products between stock locations
  • one can have a stock location not attached to a practice location. This can be used as a mechanism to keep a record of written-off stock, ie create a stock location called Write-offs unlinked to any practice location, and transfer written-off stock to it.  Similarly, to support conversion of one product into another, you could create a Conversion-out and a Conversion-in location, and transfer 10 cartons of pet food to Conversion-out and then transfer 10x12=120 cans of pet-food in from Conversion-in.
  • reports available include Stock Take by stock location, Stock Value by stock location, Stock purchases, and Stock sales


To track the progress of orders and deliveries, both these have a status, and the order also has a delivery status.

The order status can be one of the following:

Order Status Meaning
In Progress the initial status when the order is created
Finalised has been finalised, no more changes can be made
Accepted order has been accepted by the supplier
Rejected order has been rejected by the supplier
Completed order is complete - no more items to be delivered
Cancelled Order has been cancelled

The order's delivery status can be one of the following:

Delivery Status Meaning
Pending no items have deen delivered yet
Part some items have been delivered
Delivered all items have been delivered

The status of the actual delivery can be one of the following:

Status Meaning
In Progress items are being delivered
Posted delivery is finalised, either because all items  have been delivered (in which case the Delivery Status or the order will be 'Delivered') or they have not (in which case the Delivery Status or the order will be 'Part')
Cancelled the delivery is cancelled
Syndicate content