Skip to main content

TaxLineCalculationStrategy

TaxLineCalculationStrategy

This strategy defines how the TaxLines on OrderItems are calculated. By default, the DefaultTaxLineCalculationStrategy is used, which directly applies a single TaxLine based on the applicable TaxRate.

However, custom strategies may use any suitable method for calculating TaxLines. For example, a third-party tax API or a lookup of a custom tax table may be used.

info

This is configured via the taxOptions.taxLineCalculationStrategy property of your VendureConfig.

Signature
interface TaxLineCalculationStrategy extends InjectableStrategy {
calculate(args: CalculateTaxLinesArgs): TaxLine[] | Promise<TaxLine[]>;
}

calculate

method
(args: CalculateTaxLinesArgs) => TaxLine[] | Promise<TaxLine[]>

This method is called when calculating the Order prices. Since it will be called whenever an Order is modified in some way (adding/removing items, applying promotions, setting ShippingMethod etc), care should be taken so that calling the function does not adversely impact overall performance. For example, by using caching and only calling external APIs when absolutely necessary.

CalculateTaxLinesArgs

Signature
interface CalculateTaxLinesArgs {
ctx: RequestContext;
order: Order;
orderLine: OrderLine;
applicableTaxRate: TaxRate;
}

ctx

order

property

orderLine

property

applicableTaxRate

property