Wie kann ich unterschiedliche Steuersätze berechnen, basierend auf der Versandmethode, die ein Kunde an der Kasse in Woocommerce auswählt? Mein Geschäft hat eine Versandoption, mit der internationale Kunden die hier in Thailand erhobene Mehrwertsteuer von 7 % vermeiden können.
So deaktivieren Sie Steuern, wenn lokale Abholung gemäß der Woocommerce-Dokumentation als Versandoption ausgewählt ist:
add_filter( 'woocommerce_apply_base_tax_for_local_pickup', '__return_false' );
Aber wie deaktiviere ich Steuern für eine benutzerdefinierte Versandoption?
Bearbeiten: Ich habe begonnen, eine Lösung auszuarbeiten, aber ich könnte etwas Hilfe bei Zeile 2 gebrauchen. dh Wie erhalte ich die aktuelle Versandart?
function remove_tax_for_fob( $cart ) {
$ok_remove = get_shipping_method( 'FOB' );
if ($ok_remove){
$cart->remove_taxes();
}
return $cart;
}
add_action( 'woocommerce_calculate_totals', 'remove_tax_for_fob' );
Dokumentation besagt, dass in der
calculate_shipping
Methode Ihrer benutzerdefinierten Versandoption, die Sie festlegen können'taxes' => false
. Bevor Sie also den Steuersatz festlegen, überprüfen Sie, ob der Kunde international ist, und fügen Sie dann die Steuer nach Bedarf hinzu.– Anand Schah
2. Oktober 2015 um 8:11 Uhr
@AnandShah Ich habe verstanden, dass die Einstellung von ‘Steuern’ => ‘false’ hier nur Steuern von der Versandkostenberechnung ausschließt, nicht, dass sie Steuern vom Bestellbetrag ausschließt. Irre ich mich? Das wäre toll wenn ja!
– j8d
2. Oktober 2015 um 8:41 Uhr
Du hast Recht, sorry, ich habe die Anforderung falsch verstanden. Ob also Steuern auf die gesamte Bestellung erhoben werden oder nicht, hängt von der Versandart ab, die der Kunde wählt?
– Anand Schah
2. Oktober 2015 um 9:31 Uhr
WC()->customer->is_vat_exempt = true
Wenn die benutzerdefinierte Versandoption ausgewählt ist, wird die Steuer auf 0 gesetzt– Anand Schah
2. Oktober 2015 um 10:25 Uhr
Ja, als ich den Code der Cart-Klasse durchgegangen bin, habe ich diese Methode auch gefunden, konnte sie aber nicht zum Laufen bringen. Wenn Sie es schaffen, es zum Laufen zu bringen, teilen Sie bitte Ihre Lösung mit
– Anand Schah
2. Oktober 2015 um 14:39 Uhr