25 August 2023
Composable Commerce
HTTP API
Enhancement
CartsOrdersGraphQL

With the addition of perMethodExternalTaxRate on LineItemDraft, you can now set individual external Tax Rates for multiple Shipping Methods within a Line Item. Previously, you had to issue the Set LineItem Tax Rate update action for each Shipping Method.

Changes:

  • [API] Added the perMethodExternalTaxRate field to LineItemDraft.
  • [API] Added the MethodExternalTaxRateDraft type to the Carts API.
  • [GraphQL API] Added the following types to the GraphQL schema: MethodExternalTaxRateDraft, MethodExternalTaxRateDraftOutput.
  • [GraphQL API] Changed the LineItemDraftOutput type:
    • Added the perMethodExternalTaxRate field to the LineItemDraftOutput type.
  • [GraphQL API] Changed the AddStagedOrderLineItem type:
    • Input field perMethodExternalTaxRate was added to AddStagedOrderLineItem type.
  • [GraphQL API] Changed the AddCartLineItem type:
    • Input field perMethodExternalTaxRate was added to AddCartLineItem type.

The following changes were introduced in terms of GraphQL SDL:

extend type LineItemDraftOutput {
  perMethodExternalTaxRate: [MethodExternalTaxRateDraftOutput!]!
}

extend input AddStagedOrderLineItem {
  perMethodExternalTaxRate: [MethodExternalTaxRateDraft!] = []
}

extend input AddCartLineItem {
  perMethodExternalTaxRate: [MethodExternalTaxRateDraft!] = []
}

input MethodExternalTaxRateDraft {
  shippingMethodKey: String!
  taxRate: ExternalTaxRateDraft
}

type MethodExternalTaxRateDraftOutput {
  shippingMethodKey: String!
  taxRate: ExternalTaxRateDraftOutput
}