OpenVPMS has a powerful and flexible product pricing system.

Price makeup

Products have two components to their price:

Fixed - this is the fixed component - it is effectively the 'flag fall'
Unit - this is the 'per item' component

Hence if something has a fixed price of $10 and a unit price of $1, then the total price for 4 is $14.

In general things that have no overhead such as cans of food will have no fixed price, and only a unit price. Things that have an overhead - such as tablets where you want to charge a dispensing fee as well as the per-tablet price, will have a fixed price representing the dispensing fee and a unit price for the tablet. You can also use this approach for services, where you might want to set a fixed price for some surgery, and a unit price that represents the per-hour charge for the theatre time. [Note that an alterative to this appoach is to have mutiple fixed prices - see below - so that you have different prices for different length operations.]


Fixed and unit prices may be entered both exclusive and inclusive of tax.
The exclusive tax price is stored, whilst the inclusive tax price is calculated from the tax-exclusive price and the tax rates associated with the product, product type or practice.

The practice Show Prices Tax Inclusive option determines if fixed and unit prices in Products - Information and during product selection should be displayed inclusive or exclusive of tax.

Price Entry

When setting the price, you can provide:

  • a tax-exclusive Cost price and a Markup percentage, and the system will calculate the:
    • tax-exclusive Price using:
      Cost * (1 + Markup / 100)
    • the Tax-inclusive Price using:
      Price * (1 + tax / 100)
  • a tax-exclusive Price. The Tax-inclusive Price and Markup will be calculated.
  • a Tax-inclusive Price. The tax-exclusive Price and Markup will be calculated.


The Cost and tax-exclusive Price can be expressed to 3 decimal places; the tax-inclusive price is rounded according to Price Rounding below.


Prices also have from/to applicability dates.  This allows you to keep previous prices for reference purposes. It also allows you to set future prices, ie one that will take effect on some future date.


A product can have its price set from a 'price template'.  This allows the Fixed price component of a number of products to be set from a standard value.

Multiple Prices

It is possible to set multiple fixed prices for a product, each with its own name. When the product is called up when generating an invoice, the fixed price field will have a pull-down which can be used to show the available prices (with their names) as follows. Note that here the 150/medium price has been set as the default and so is initially displayed.

Service Ratios

Service Ratios can be used to apply a multiplier to prices for products of a given product type at a given Practice Location. They can also have a calendar, to determine when the multiplier applies.
The multiplier is used when generating charges or estimates. This facility is designed to enable:

  • different Locations (such as those used for over-night emergency or house-call operations) to charge more for products of certain types
  • surcharges or discounts to be applied on particular product types at certain times.


1. Out of hours surgery

To charge surgery services at 150% outside of 7am and 7pm, and on weekends, at Clinic A:

  • add a Service Ratio of 1.5 between the surgery Product Type(s) and Clinic A
  • attach a calendar with the following repeating slots:
    • Start Time: 00:00, End Time: 07:00, Repeats: Daily, 365 times
    • Start Time: 19:00, End Time: 24:00, Repeats: Daily, 365 times
    • Start Time: 00:00, End Time: 24:00, Repeats: Every Saturday and Sunday, 52 times

2. Regular promotions

Promotions are typically handled via product discounts, but if you wish to promote a product or service on a particular day or time, a service ratio might be simpler. 

E.g. to charge grooming services at 50% on Wednesdays between 10am and 2pm in August at Clinic A:

  • add a Service Ratio of 0.5 between the grooming Product Type(s) and Clinic A
  • attach a calendar with the following repeating slots:
    • Start Time: 02/08/18 10:00, End Time: 02/08/18 14:00, Repeats: Every Wednesday, until 01/09/18

Pricing Groups

Prices can be assigned Pricing Groups to enable different pricing for a product at different Practice Locations. If a Practice Location is assigned a Pricing Group, it only sees the Prices that have:

  • the same Pricing Group
  • no Pricing Group

To use Pricing Groups:

  • create a Pricing Group for each demographic that needs to be represented.
  • configure Practice Locations to use those Pricing Groups. One Pricing Group may be shared by multiple locations.
  • assign Pricing Groups to Prices.

Pricing Groups are similar to Service Ratios in that they both support different prices for a product at different Practice Locations. Whilst Service Ratios are simpler to set up, Pricing Groups enable:

  • different pricing of individual products, rather than just types of products
  • the ability to enter a rounded price
  • product price history
  • prices to be exported and imported, per Practice Location

Price Rounding

Tax-inclusive prices are rounded to the default number of decimal places for the currency.

This can be changed by specifying a Minimum Price on the practice Currency.

The practice currency can be selected in Adminstration>Organisation>Practice.

The currency is a lookup, the rounding can be changed by editing the lookup in Administration>Lookups

E.g., to round prices to the nearest 5 cents, specify 0.05 for the Minimum Price.

Tax-inclusive prices will be rounded to the Minimum Price:

  • when editing a product, and the Cost, Markup, or Price is changed
  • after a Service Ratio is applied during charges or estimates
  • a delivery is finalised that triggers an update to a unit price

Note that the Markup and Max Discount may be recalculated after the price is rounded.

Tax-inclusive prices will not be rounded to the Minimum Price:

  • if the price is manually entered during charging or estimating
  • if they are imported

Negative Prices

You can set as price as a negative amount - although this is not really kosher. Negative prices are used with a product that is in fact a discount. This enables you to have a discount line item on the invoice. For the standard way to apply discounts, see Concepts|Discounts.


Syndicate content