Я работаю над решением изменить налоговый класс в зависимости от страны покупателя И если он может предоставить идентификатор НДС или нет.
Магазин находится в ЕС и предоставляет услуги B2B и B2 C. Таким образом, для всех компаний из стран ЕС, которые могут предоставить идентификатор НДС, налоги не взимаются, если страна происхождения не является той же. Для всех клиентов, которые не могут предоставить идентификатор НДС, будут добавлены наши местные налоги. И так далее ...
Все решения, которые я нашел, взаимодействуют только с корзиной, но, поскольку я создаю заказ программно, мне нужно другое решение.
Есть ли способ (возможно, зацепка) изменить tax_class при создании заказа?
Для тестирования я пытался добавить этот метод, но это не сработало. Он запускает фильтр, но не меняет класс налога в заказе.
function wc_change_tax_class( $tax_class, $product ) {
$tax_class = 'Zero rate';
return $tax_class;
}
add_filter( 'woocommerce_product_get_tax_class', 'wc_change_tax_class', 1, 2 );
add_filter( 'woocommerce_product_variation_get_tax_class', 'wc_change_tax_class', 1, 2 );
Также я попробовал этот метод в функции, которая создает заказ, но с тем же результатом. Ничего не случилось.
$woocommerce->customer->set_is_vat_exempt( true );
Спасибо за любую помощь!