Symptoms

Resources with high precision price (e.g. 0.006) were not billed, however these resources were used.

Cause

The precision that was manually setup in the currencies.txt file might have been reset on update installation or BA was not restarted after changes in the file. It is possible to check what precision was in the system when the order was generated. To do this it it is needed to find the records like that:

[17-02-01 10:00:16.717 GenericWork RQ834930 TH07369 TRC] +++[0] STLRT::Type::AccurateCurrency bSubscription::getPriceWithExcludeTaxes(const STLRT::Type::AccurateCurrency&, STLRT::Type::Double)(baseAmount: ACurrency(JPY 2362.00), exclTaxFactor: 1)

ACurrency(JPY 2362.00) shows accurate precision. In this case accurate precision is 2, which means prices like 0.006 were considered as 0-prices.

The record below

[17-04-07 04:14:32.270 GenericWork RQ853599 TH00893 TRC] +++[0] STLRT::Type::AccurateCurrency bSubscription::getPriceWithExcludeTaxes(const STLRT::Type::AccurateCurrency&, STLRT::Type::Double)(baseAmount: ACurrency(JPY 1280.0000), exclTaxFactor: 1)

shows accurate precision set to 4, prices like 0.006 will not be considered as 0, will be calculated correctly.

Resolution

Reapply changes to currencies.txt after each update installation, restart BA after changes.

Internal content