Skip to main content

MoneyStrategy

The MoneyStrategy defines how monetary values are stored and manipulated. The MoneyStrategy is defined in EntityOptions:

Example

Ts

Range

The DefaultMoneyStrategy uses an int field in the database, which puts an effective limit of ~21.4 million on any stored value. For certain use cases (e.g. business sales with very high amounts, or currencies with very large denominations), this may cause issues. In this case, you can use the BigIntMoneyStrategy which will use the bigint type to store monetary values, giving an effective upper limit of over 9 quadrillion.

Precision

Both the DefaultMoneyStrategy and BigIntMoneyStrategy store monetary values as integers, representing the price in the minor units of the currency (i.e. cents in USD or pennies in GBP).

Since v2.2.0, you can configure the precision of the stored values via the precision property of the strategy. Changing the precision has no effect on the stored value. It is merely a hint to the UI as to how many decimal places to display.

Example

Ts
Info

This is configured via the entityOptions.moneyStrategy property of your VendureConfig.

Signature

moneyColumnOptions

propertyColumnOptions

Defines the TypeORM column used to store monetary values.

precision

propertynumberv2.2.0
Default:2

Defines the precision (i.e. number of decimal places) represented by the monetary values. For example, consider a product variant with a price value of 12345.

  • If the precision is 2, then the price is 123.45.
  • If the precision is 3, then the price is 12.345.

Changing the precision has no effect on the stored value. It is merely a hint to the UI as to how many decimal places to display.

round

method(value: number, quantity?: number) => number

Defines the logic used to round monetary values. For instance, the default behavior in the DefaultMoneyStrategy is to round the value, then multiply.

Ts

However, it may be desirable to instead round only after the unit amount has been multiplied. In this case you can define a custom strategy with logic like this:

Ts
Was this chapter helpful?
Report Issue
Edited Feb 10, 2026ยทEdit this page