Tax based on bill total

How would you accomplish that?

That what I’m going to ask :slight_smile:

EDIT: Maybe have to use calculation for PST instead of Tax template. Create Product Custom Tag for PST rate?

That was my original response. Use a Calculation for the 8% that is applied on Tickets having Total greater than 4, and use Tax Template for 5% mapped to applicable Product Groups.

Yes, I think so.

Remove the Tax Template for 8%.

Map applicable Product Groups (GroupCodes) to the 5% Tax Template, and ensure non-Taxed GroupCodes are not in the Tax Template.

Create a Calculation Type:


Create an Action for Update Ticket Calculation:


Now you should have only 1 Rule to apply the 8% Tax Calculation on Ticket Total (plain total) greater than 4…

[=TN('{TICKET TOTAL}')-TN('{TAX TOTAL}')]


Adjust constraints and parameters as necessary for your desired outcome.

@QMcKay, I think PST will apply on non-GST items too. It calculate from plain total. Not sure if PST must apply on NON-GST item or not.

Maybe need to set Taxable order state and use Order State Total and ODI to calculate PST.

I get what you are saying @sukasem. But I am just trying to make it work with 5% and (+8) 13% when plain total greater than 4, and excluding non-Tax Products, as per OP.

I found that it was not applying calculations properly, so changed to a Custom Calculation …

Revised Calculation (Custom):


Script for Custom Calculation:

Handler must be: Calculation_<calculationTemplateName>

Script:

result = (Ticket.PSum + Ticket.PreSum - Ticket.Tax) * 0.08


Revised Action:


Revised Rule:


REFERENCE:

Oh V4 doesn’t have Script and maybe ODI too.

Yes it does, at least for Custom Calculations it works. That reference I quoted was from a V4 question and is supported as of v4.1.49

Sorry if I missed it but did you tried {PLAIN TOTAL:} ? When there is an empty parameter it will always return the plain total.

PS: If there are order specific tax templates triggering a dummy order state update may work as we can update tax per order on order state updated event. However triggering it on each ticket total change might be a little costly so maintaining additional ticket state to determine current tax level might be helpful not to trigger unnecessary updates.

1 Like

Thanks guys. Should I try this?

Try what? I would try my last posted solution using Custom Calculation. Can’t hurt right? :wink:

Ok. Where should I start

Do this:

If you have other Tax Rates for things like Alcohol, then create those Tax Templates as well and map the applicable Product Groups (GroupCodes) to the Template.


Then follow this post to configure the Custom Calculation, Action, and Rule:

I made the deletions and additions as noted above. Not working correctly.
First… it works fine while adding items to ticket but when Cancelling an item after subtotal is greater than $4 and new subtotal is less than $4 the extra tax remains as though subtotal is greater than $4.
Second… all items over $4 are being taxed 8% including my non taxable items which should have zero tax regardless of amount.

Try this:

Create another action Update Ticket Calculation

Make another rule to remove PST Calculation

1 Like

Actually you will need more than that.
You need to edit constraint in Total Ticket Changed to
[=TN(’{TICKET TOTAL}’) - TN(’{TAX-TOTAL}’) - TN(’{CALCULATION TOTAL: TAX PST}’)]
instead of:
[=TN(’{TICKET TOTAL}’) - TN(’{TAX-TOTAL}’)]

Have to factor existing PST calculation too.

1 Like

I was never able to get the different taxes to work. My tablet was stolen during a breakin yesterday so I’m starting all over with version 5. Is there anything new in V5 that will help make it work?

I see now. I didn’t look at the version 4 area…I know better. I’ll let you know how i made out

Thanks

I’ve tried relentlessly to get the two taxes to work and nothing…i followed the above to a T. I need the taxes to work so I can present this to the board as a working POS system. This should not be this convoluted to set up taxes.

Dave

Normal taxes are not hard to setup.
What is your tax requirement?

The example above is not a ‘normal’ tax setup so requires additional work to configure.