Conversation
supportHi, I have similar issue to the one mentioned in here: https://wordpress.org/support/topic/not-charging-vat-below-threshold-10-000/ The goods sold by the shop are rated at 0% VAT. After reaching 10k of sales to the EU I’m obligated to include VAT of destination country. Current implementation doesn’t include in reports orders with 0% VAT ( https://github.com/vendidero/one-stop-shop-woocommerce/blob/main/src/AsyncReportGenerator.php#L142-L163 ) which is quite problematic for my use case. The filter “oss_woocommerce_report_include_order” could potentially solve my issue but would have to backport all of the ifs back, so I was thinking maybe the filter should get the result of all 3 ifs as an input argument and then decide if this order should or not be included, what do you think? Regards.
Hi there, The goods sold by the shop are rated at 0% VAT. After reaching 10k of sales to the EU I’m obligated to include VAT of destination country. You do currently sell products with 0 % VAT? Why is that? By default (not taking part in OSS) the base tax rate should be applied. Regarding the filter: I get your idea but I guess there is no other clean way to do that in one call as passing all the (temporary) results to the filter would be quite uncommon. Best, Dennis
Yes, the goods are exempted from the VAT. I agree with you that passing the temporary values is not the best idea, but also there is no point to backport this plugin login back to functions.php or somewhere else. Passing temporary values would allow me to use the results of ! Helper::is_eu_vat_country( $taxable_country, $taxable_postcode ) || Helper::get_base_country() === $taxable_country and $has_company && Helper::exclude_b2b_without_vat_id_from_oss() without backporting related functions/methods. Another idea would be to add filter for each of the ifs – but that sounds like an overkill. I can create the PR on the github if you approve any of above. Regards.
Hi there, actually I guess the whole thing (including orders without taxes) will not work as the whole reporting system is based on net totals and tax totals. See: https://github.com/vendidero/one-stop-shop-woocommerce/blob/main/src/AsyncReportGenerator.php#L249 The actual report shows net totals and tax totals on a per-country base. Best
If this logic is split across different parts of the code then maybe this should be set somewhere in the configuration of this plugin – what do you think?
Hi there, The goods sold by the shop are rated at 0% VAT. After reaching 10k of sales to the EU I’m obligated to include VAT of destination country. You do currently sell products with 0 % VAT? Why is that? By default (not taking part in OSS) the base tax rate should be applied. Regarding the filter: I get your idea but I guess there is no other clean way to do that in one call as passing all the (temporary) results to the filter would be quite uncommon. Best, Dennis
Yes, the goods are exempted from the VAT. I agree with you that passing the temporary values is not the best idea, but also there is no point to backport this plugin login back to functions.php or somewhere else. Passing temporary values would allow me to use the results of ! Helper::is_eu_vat_country( $taxable_country, $taxable_postcode ) || Helper::get_base_country() === $taxable_country and $has_company && Helper::exclude_b2b_without_vat_id_from_oss() without backporting related functions/methods. Another idea would be to add filter for each of the ifs – but that sounds like an overkill. I can create the PR on the github if you approve any of above. Regards.
Hi there, actually I guess the whole thing (including orders without taxes) will not work as the whole reporting system is based on net totals and tax totals. See: https://github.com/vendidero/one-stop-shop-woocommerce/blob/main/src/AsyncReportGenerator.php#L249 The actual report shows net totals and tax totals on a per-country base. Best
If this logic is split across different parts of the code then maybe this should be set somewhere in the configuration of this plugin – what do you think?