/** * Add cart_tax/shipping_tax key to any recurring taxes * * @since 4.2 * @param $order_id a WooCommerce order ID */ public function fix_recurring_taxes($order_id, $posted) { $order = new WC_Order($order_id); if (WC_Subscriptions_Order::order_contains_subscription($order) && WC_Subscriptions_Order::get_recurring_total_tax($order) > 0 && 'incl' !== $order->tax_display_cart) { if (count($order->get_items('recurring_tax')) > 0) { foreach ($order->get_items('recurring_tax') as $item_id => $item) { wc_update_order_item_meta($item_id, 'cart_tax', $item['tax_amount']); wc_update_order_item_meta($item_id, 'shipping_tax', $item['shipping_tax_amount']); wc_update_order_item_meta($item_id, 'compound', true); } } } }