5.3.6 Money Settings Guide

5.3.6 Money Settings Guide  <<  >>  5.3.7 Visual Money Settings

Before choosing settings, find out if any systems connected to the shop have some requirements. For example, some systems expect all values to be without VAT and with two decimals; this may affect e.g. selling price VAT-state, resolution and rounding settings. And since typically the product price VAT-state needs to be the same as the selling price VAT-state, then that would also be forced to 'without VAT' value.

If another system calculates the final pricing (e.g. to billing) and it is wanted that the shop makes exactly the same calculations, the backing system's calculation processes need to checked and e.g. 'round selling unit prices', 'round basket totals', 'per-vat-category sums' may need to matched appropriately.

Note well that some settings should not be adjusted after the shop has been taken into use or some other actions have been done that depend on some relevant setting(s). For example, once product prices have been set, changing the management side VAT state setting would leave the prices intact, and they would thus be wrong by the rate of VAT.

There is additional information on the Money Settings Guide -page.

Typical settings: These settings can be used as a guideline. B2C is for typical small shops selling directly to consumers. B2B is more typical for business-to-business shops, with all bookkeeping based on prices without VAT and calculating totals for every VAT category separately. The last column aims at doing calculations in as similar way as possible compared to the older Workspace calculations.
SettingsB2CB2BBackwards compatible
Product prices in management interface product cardwith VATwithout VAT*
Minimum/default product price decimals22*
Per-product unit price resolutionsnoyesyes
Effective selling priceswith VATwithout VAT* (with VAT)
Selling price resolution0.010.01*
Round selling unit pricesyesyesno
Round basket totalsyesyesyes
Per-VAT-category sumsnoyesno
Default rounding modehalf-to-uphalf-to-uphalf-to-up
Internal calculations rounding modehalf-to-evenhalf-to-evenhalf-to-even
Table 5.1 : Typical settings

Money settings
Picture 5.29 : Money settings

Product prices in management interface product card

The effective VAT state for prices in product data (on management pages, not on the shop side "product cards"). Enable the setting if those product prices are with VAT. Other values (the amount of VAT and the price with the opposite VAT state) are calculated automatically from effective values. This setting has quite a bit of significance because the other values can not always be calculated accurately due to normal rounding requirements. (This is a mathematical limitation, not a deficiency in the Workspace program).

The selected state is used in calculations upto calculating the final unit price (the unit price which includes the effects from pricing rules for product options, price groups, contracts and quantity pricing). After that value is calculated, the price is converted to the VAT state defined with "Effective selling prices".

Note that it is strongly recommended that 'effective selling prices' VAT state has the same value as this setting.

Minimum/default product price decimals

When the product prices are given (or imported through some interface), the amount of decimals is checked. Depending on the setting of 'Per-product unit price resolutions', this setting is interpreted either as minimum or default.

If per-product unit price resolutions is not set, this affects as default accuracy, and given prices are adjusted to that amount of decimals, whether it needs rounding to lesser amount of decimals or padding with extra zeros for more decimals.

If per-product price resolutions are enabled, this setting means the minimum amount of decimals, and the given prices are only padded with extra zeros when necessary; higher resolution than the minimum is not rounded in any way.

Negative values can be used for (the exotic cases of) having rounding to be on the left side of decimal point. Examples: -2 equals rounding to every 100, 0 means integer rounding, 2 means rounding to 0.01 ("cents"). Note that the management page only allows some choices; more exotic options must be changed directly in the database.

Per-product unit price resolutions

If this is disabled, all the given product prices are always adjusted to the "default product price decimals" resolution. If enabled, then different products' prices are saved "as is", though if a given price has less decimals than "minimum product price decimals" then enough zeros are appended to reach that minimum amount.

Product price accuracies

In the table below, "decimals" is "minimum/default product price decimals", "per product" is "per product unit price resolutions", top row values are input prices, and the other values are what the input values would get adjusted to with the corresponding settings.
decimalsper product5555.555.5555.55555.5555note
2no55.0055.5055.5555.5655.56resulting price has always 2 decimals
2yes55.0055.5055.5555.55555.5555resulting price is always equal to what was input, and has always at least 2 decimals
3no55.00055.50055.55055.55555.556resulting price has always 3 decimals
3yes55.00055.50055.55055.55555.5555resulting price is always equal to what was input, and has always at least 3 decimals
-10yes5555.555.5555.55555.5555resulting price is in practice always equal to what was input
Table 5.2 : Product price accuracies

Effective selling prices

This defines the VAT state for effective selling prices. Note that amount of VAT and the other value can still be shown, but they are calculated from the value selected with this setting. The selected state is the one used throughout the calculations after the unit price has been calculated. The conversion between possibly different VAT states between this and product prices is done at the point where the final unit price has been calculated. Note that it is strongly recommended that 'product prices in management interface product card' VAT state has the same value as this setting.

Selling price resolution

Resolution of selling prices. Note that this is not the number of decimals, but the "step size" for selling price values. For example, the common two decimals (after decimal point) is given as 0.01, and integer resolution is given as 1. It is possible to e.g. round to every 5 cents (if the currency has cents) by giving the value 0.05. Note that the management page only allows some choices; more exotic values must be changed directly in the database.

Round selling unit prices

When final unit prices are calculated, they may have more decimals than selling price resolution indicates. If this setting is enabled, those final unit prices are rounded (to selling price resolution) before used for further calculations or shown to customers. If this setting is disabled, only a "smart rounding" is done after possible VAT conversion, to the same resolution as the original product price.

For example: suppose the original unit price is 12.345€ (22%) and customer is buying 123 units. If quantity based price rule for 123 units is -9%, and customer group based rule is -3%, then final unit price would be 12.345€ * 0.91 * 0.97 = 10.8969315€.

If this setting is enabled and selling price resolution was 0.01, then this unit price is first rounded to 10.90€. After that the basket total is calculated to 123 * 10.90€ = 1340.70€.

If this setting is disabled, the final unit price would be rounded to the original unit price resolution (3 decimals after decimal point in the 12.345€), which makes it 10.897€. The basket total would then be 123 * 10.897€ = 1340.331€. If this basket total is then rounded (see next setting), it would be 1340.33€ -- a difference of 0.37€ in this case.

Round basket totals

Affects rounding after calculating the basket total (a.k.a. row total), i.e. the product quantity multiplied by the final effective selling product unit price. If enabled, basket totals are rounded to the selling price resolution.

For example, taking the example basket total from the setting above, 1340.331€, if this setting is enabled, the total gets rounded to 1340.33€ before being shown to customer, or used to calculate VAT amount, or summed to full order total.

Note that it is easier to e.g. remove baskets from an existing order if basket sums are rounded, since the prices are all such that they can be paid/returned without any rounding and its possible small effects on the order total. As an example, suppose an order has two rows, 3.4567€ and 5.5555€ (no basket rounding) totalling 9.0122€ which is rounded to 9.01€. If the customer returns latter products, the price of the single row is returned to the customer, but this value needs to be rounded to 5.56€. Subtract that from the order total 9.01€ ending with new order total 3.45€. Effectively, customer ended up paying 3.45€ for the other product that originally would have had price 3.46€ if it had been ordered alone. This one cent difference may or may not be a problem.

It is recommended that at least this or 'per-VAT-category sums' is enabled.

Rounding examples
Picture 5.30 : Rounding examples

Per-VAT-category sums

When calculating order totals (sum(s) of basket totals), the system can first calculate partial order totals, one set of sums for each VAT rate (category) found in the order. When enabled, effective selling prices are summed together per each found VAT category, then that sum (per VAT category) is rounded (if needed), then the VAT amount and the other VAT state value is calculated from that rounded effective sum. Only these per-VAT-category values are then added together. (When disabled, all row values are summed column-wise to final sum, without considering VAT rates.)

It is recommended that at least this or 'round basket totals' is enabled.

Per-VAT-category sums examples
Picture 5.31 : Per-VAT-category sums examples

Default rounding mode

When the calculations need to do an expected rounding (part of the defined calculation processes), the rounding mode to be used. Typically this is half-to-up.

Internal calculations rounding mode

The rounding mode used when calculations would ideally not do any rounding, but a temporary value would require infinite number of decimals. Typically this does not need to be changed from the default 'half-to-even' which aims to minimize accumulated calculation errors.

Values on the top row are example values to be rounded, the other values show the rounded result for each rounding mode.
Table 5.3 : Rounding modes

Past settings

This section shows the settings that have been in effect previously. Each time settings are submitted and some values have been changed, a new settings context is created, and that is used for all processing and orders done in the shop after that moment. Existing orders still use the (still saved) settings that were in effect at the time of the creation of the order.