**Shipping cost** – Calculates the shipment's shipping cost.
**Discounted shipping amount** – Calculates shipping cost including shipping discount.
**Shipping items total** – Calculates the subtotal for all line items in the shipment. It is the sum of the discounted price off all line items in the shipment excluding gift items.
**Shipping return items total** – Calculates the subtotal for all return line items in the shipment. It is the sum of discounted price of all return line items in the shipment excluding gift items.
**Shipping totals** – Calculates the shipping totals.
**Shipping tax** – Calculates a shipment's shipping tax.
**Sales tax** – Calculates a shipment's sales tax, based on shipping address.
**Return shipping tax** – Calculates a shipment's return shipping tax.
**Return sales tax** – Calculates the sales tax for a return shipment that contains return line items.

## Change the default calculation
By inheriting from the default implementation of the interface, DefaultShippingCalculator, you can override calculation methods. To change the calculation of shipping cost, override one or several CalculateShippingCost methods. To change the calculation of shipping items' total, override the CalculateShippingItemsTotal method. And override other methods to change the tax calculation.
## Change the default validation
The default implementation validates that all return values are not negative after the calculation. To change the behavior, override the appropriate method: ValidateShipmentCostForShipment, ValidateShippingItemTotal, ValidateShipping Tax, or ValidateSalesTax.