Why does a PO line with a unit price of 0.125 come out rounded?

Because a line total has to be an amount someone can pay. Unit prices can have up to six decimals, but the tool multiplies quantity by price exactly and then rounds each line total half up to the smallest currency unit: 333 labels at 0.125 is 41.625, printed as 41.63. The rounded lines are then added up, so the printed lines always sum to the total.

Published · 3 min read

The example in figures

A gift shop orders 333 round stickers at 0.125 riyals each and 1,000 small paper bags at 0.045 each from a printer. Here is what the Purchase-order generator works out:

  • Stickers: 333 × 0.125 = 41.625, printed as 41.63.
  • Bags: 1,000 × 0.045 = 45.00 exactly, so no rounding.
  • Total 86.63 SAR.

The rounding happens once per line, on the line total, not on the unit price. The unit price still prints exactly as entered, 0.125, so the supplier sees the price you agreed.

Why round each line and not just the total?

If the lines kept their fractions and only the total were rounded, the supplier would see 41.625 and 45.000 in the table, then a total that does not match what they get adding the column to the cent. Rounding each line first and then adding means anyone can sum the column on a calculator and land on the printed total. That heads off the 'your sum is out by a halala' email that delays payment.

Rounding is half up: half a halala or more goes up, less goes down. The arithmetic runs on whole numbers internally, so none of the familiar spreadsheet floating-point oddities appear.

When the currency changes

The number of decimals follows the currency. Riyals, dirhams and dollars use two; Kuwaiti, Bahraini and Jordanian dinars and the Omani rial use three. Had the same order been in Kuwaiti dinars, 333 × 0.125 = 41.625 KWD would stand as it is, with no rounding, because the fils is a thousandth.

If your supplier calculates differently

Some suppliers round the unit price to the cent first, making it 0.13, then multiply, which gives 43.29 instead of 41.63. That 1.66 difference is not anyone's mistake, just a different method. Settle it upfront:

  1. If the supplier's quote says 0.13, enter 0.13 on the purchase order and your figures will match theirs.
  2. If the quote says 0.125, enter it as is and you get 41.63.
  3. Or ask for a pack price, such as per 1,000 stickers, and enter the quantity in packs.

If the supplier offers packs of different sizes, compare the real price per piece with the Unit-price comparison before deciding.

Common questions

Can a unit price be 0.0001?

Yes, the field takes up to six decimals. The line total is still rounded to the smallest unit, so very small quantities can come out as 0.00.

Is the tax rounded the same way?

Yes, tax is worked out on the total and rounded once to the smallest unit.