Broadleaf Microservices
  • v1.0.0-latest-prod

Tax Common


TaxCommon is a shared library which provides a single source for tax related domain. This library is used by the Cart Operations Service when calculating taxes during order pricing.

Key Components

  • TaxProvider - Interface that supports calculating taxes from a TaxRequest.

  • TaxRequest - A grouping of items and address(es) to be used to determine taxes as a request DTO sent to TaxProvider. This represents a fulfillment group.

  • TaxResponse - Response DTO from a TaxProvider that contains tax information for items.

VAT Taxes

VAT stands for Value Added Tax. It is applied differently than a Sales Tax. With a VAT tax, the tax amount is taken from the sale price of an item.

For example, with a $10 item with a 5% VAT, the customer pays $10, there is $0.48 tax, and the merchant keeps $9.52.

In contrast, with a $10 item with a 5% sales tax, the customer pays $10.50, there is $0.50 tax, and the merchant keeps $10.

For information on configuring VAT taxes, see CartOps VAT configuration.

The Order Operations Service can be configured to remove the VAT tax from the item’s price when creating an order. Set the property broadleaf.orderoperation.ordergeneration.removeVatFromItemPrice to true to subtract the appropriate VAT amount from an OrderItem’s unit price, item subtotal, and item total, as well as the OrderFulfillmentItem’s merchandiseTotal, when creating an Order from a Cart after checkout.

Use the TaxDetails collection on OrderFulfillmentItem to see the individual tax charges for a purchased product. TaxDetails have an isVat flag to indicate if that tax should be applied as a VAT.