diff --git a/src/OrdersApi/Builder/AbstractOrderBuilder.php b/src/OrdersApi/Builder/AbstractOrderBuilder.php index 4935697b0..6c3140fc8 100644 --- a/src/OrdersApi/Builder/AbstractOrderBuilder.php +++ b/src/OrdersApi/Builder/AbstractOrderBuilder.php @@ -112,13 +112,15 @@ protected function createPurchaseUnitFromOrder( ): PurchaseUnit { $items = $this->submitCart($salesChannelContext) ? $this->itemListProvider->getItemList($salesChannelContext->getCurrency(), $order) : null; + $taxStatus = $order->getTaxStatus() ?? $order->getPrice()->getTaxStatus(); + return $this->purchaseUnitProvider->createPurchaseUnit( $orderTransaction->getAmount(), $order->getShippingCosts(), null, $items, $salesChannelContext, - $order->getTaxStatus() !== CartPrice::TAX_STATE_GROSS, /* @phpstan-ignore-line */ + $taxStatus !== CartPrice::TAX_STATE_GROSS, $order, $orderTransaction ); diff --git a/src/OrdersApi/Builder/Util/ItemListProvider.php b/src/OrdersApi/Builder/Util/ItemListProvider.php index 8279e31a3..d0c2f95cb 100644 --- a/src/OrdersApi/Builder/Util/ItemListProvider.php +++ b/src/OrdersApi/Builder/Util/ItemListProvider.php @@ -41,9 +41,11 @@ public function __construct( public function getItemList(CurrencyEntity $currency, OrderEntity $order): ItemCollection { + $taxStatus = $order->getTaxStatus() ?? $order->getPrice()->getTaxStatus(); + $items = new ItemCollection(); $currencyCode = $currency->getIsoCode(); - $isNet = $order->getTaxStatus() !== CartPrice::TAX_STATE_GROSS; /* @phpstan-ignore-line */ + $isNet = $taxStatus !== CartPrice::TAX_STATE_GROSS; /* @phpstan-ignore-line */ $lineItems = $order->getNestedLineItems(); if ($lineItems === null) { return new ItemCollection(); diff --git a/src/OrdersApi/Patch/PurchaseUnitPatchBuilder.php b/src/OrdersApi/Patch/PurchaseUnitPatchBuilder.php index ec3796835..093e45d99 100644 --- a/src/OrdersApi/Patch/PurchaseUnitPatchBuilder.php +++ b/src/OrdersApi/Patch/PurchaseUnitPatchBuilder.php @@ -52,13 +52,15 @@ public function createFinalPurchaseUnitPatch( $itemList = null; } + $taxStatus = $order->getTaxStatus() ?? $order->getPrice()->getTaxStatus(); + $purchaseUnit = $this->purchaseUnitProvider->createPurchaseUnit( $orderTransaction->getAmount(), $order->getShippingCosts(), $customer, $itemList, $salesChannelContext, - $order->getTaxStatus() !== CartPrice::TAX_STATE_GROSS, /* @phpstan-ignore-line */ + $taxStatus !== CartPrice::TAX_STATE_GROSS, $order, $orderTransaction );