Restrict coupon usage for attributes used for subscription orders - woocommerce

I have tried to use what I found in "Exclude variations with 2 specific attribute terms from coupon usage in Woocommerce" but I can't get it to work. My attribute $taxonomy is 'puroptions' for "purchase options" and the three $term_slugs = array('subscribe1','subscribe2','subscribe3'); for 10% discount subscription orders for one, two or three months. There is also the option for "one time purchase" at regular price.
I am trying to exclude the subscription discount attributes so customers don't get an extra 10% when we offer a 10% coupon. Either they subscribe to a product to get 10% or they use the coupon which only takes 10% from the one time purchase. Can anyone help.

Related

Woocommerce recalculating tax on completed orders ignores that VAT is included in product

Problem: When setting up a site I forgot to activate taxes. My accountant asked me to correct it so I tried the Woocommerce recalculating button on completed (older) orders. Unfortunately, it ignores the setting that VAT is included in the product price and adds tax to product price (increasing the total order amount incorrectly)
Activated taxes for new orders
Now when placing a new order, the tax (21%) gets show correctly on checkout and invoice. The tax is included in the price & order total.
Product price 14,95
Tax 3,14 (product price excl. tax 12,35)
Total: 14,95
Recalculating old orders
For older orders when tax was not enabled however it is a different story:
Woocommerce offers the ability to recalculate orders. If I do this for an old order: the tax is added to the product price instead of shown to be included in the product price.
Product price 14,95
Tax 3,14
Total: 18,09
As you can see recalculation ignores the setting that the product price includes VAT.
Have you seen this behaviour, or do you have an idea how to solve this problem?

Two different prices for the one product on the checkout page (bug)

The correct price for the product is €38 and VAT is included to the price #23%
In the products page the price 30.89 plus 23% = 30.894*1.23 = 37.99962
But when I add a product and go tho the cart, the total price and the cart prices are out by a cent
the cart is €38 but the check out is €38.01
I tried every combination possible to get both prices correct and I can get €37.99 and €40.01 but I can't get €40 in both carts.
I'm not sure how they could be different I thought they would be going by the same calculation but obviously not.
It looks like a rounding issue. Try increasing the number of decimals in WooCommerce > Settings > General

WooCommerce: tax price filter not being applied in admin

I've implemented a filter as per this WooCommerce article on taxes:
add_filter('woocommerce_adjust_non_base_location_prices', '__return_false');
This effectively 'ignores' tax rates on checkout: an €8,99 product (where prices are added inclusive of tax) being sold from a UK store will cost €8,99 to a German customer, a French customer or an ROI customer. This all works fine on the front end.
However, I just created an order in the backend for a German customer, and that €8,99 product is being added to the order at €7,49 with no tax. I understand from a tax perspective why this is happening (a UK store selling in Germany shouldn't apply tax, so 8.99 - 20% UK VAT = 7.49), however this seems to be ignoring my woocommerce_adjust_non_base_location_prices filter.
At the moment my filter call is just a single line in a custom plugin, so being implemented at plugins_loaded, I guess. There's no condition for it (e.g. if (!is_admin()) {}), so I'm wondering if I need some other kind of condition to ensure it is applied to admin orders, or if I'm looking at a bug?

Apply woocommerce coupon based on number of products

I have created a coupon with product % discount 100%.
Screenshot: http://prntscr.com/eqom1u
Product also specified: http://prntscr.com/eqomba
Now i want my coupon to work for purchasing two 1 Private Training.
Case be like: If i add 1 Private Training in cart then coupon applies and i buy a product again next time i should be able to use that coupon and then only coupon should expire.
Next, If i add two 1 Private Training in cart then coupon applies and while i go for next purchase then coupon should expire cause coupon meets the requirment of two 1 Private Training.
Any one can suggest how to achieve this?

Apply coupon per product

I want to apply coupon per product basis, not on whole complete cart. So that my coupon could subtract that specific amount form all item one by one.
Pretty straight forward if your woocommerce is up to date. When you go to Dashboard > Woocommerce > coupons and add new. You can select from several options including Cat Discount, Cart % Discount, Product Discount, Product % discount. You just select either product or product % and you're good to go. Only that product will be discounted leaving the rest of the cart at full price.

Resources