I created a module that creates an order programmatically and I can also set the custom price. This is part of my code:
foreach($orderData['products'] as $product) { try { $quoteProduct = $this->productRepository->get($product['sku']); $this->logger->info(sprintf("Adding product to quote, id: %d, sku: %s, qty: %d", $quoteProduct->getId(), $quoteProduct->getSku(), $product['qty'])); $quoteItem = $quote->addProduct( $quoteProduct, intval($product['qty']) ); $quoteItem->setCustomPrice($product['amountPaid']); $quoteItem->setOriginalCustomPrice($product['amountPaid']); $quoteItem->getProduct()->setIsSuperMode(true); } catch(\Exception $e) { $orderResult->errorMessage = sprintf("ERROR: %s, failed to add product to quote, sku: %s, qty: %d. Check saleable quantity, product may be out of stock.", $e->getMessage(), $product['sku'], $product['qty']); $this->logger->critical($orderResult->errorMessage); return $orderResult; } } I would like to set the custom tax amount just like I am setting the custom price. Can this be done?
To clarify: I don't want Magento to calculate and apply the tax for the product. I want to override its default behavior and set the line item tax amount manually.
