[Proposal] Tax Category, Item Tax Template and Item-wise Taxes

Hey,

It’s me again with a proposal for the changes I’m about to make to improve the Accounts module. The purpose of this proposal is so that people can identify whether their use-case can be handled with the proposed changes and for people to discuss them for further improvement in the proposed design.

Heavily inspired by: https://github.com/frappe/erpnext/issues/14187

Key Features:


  • Allow setting Tax Category in Sales/Purchase Taxes and Charges Template, Customer, Supplier and Address
  • Automatic selection of Tax Category in transactions based on either the (Billing?) Address or the Party document
  • Automatic selection of Sales/Purchase Taxes and Charges Template based on Tax Category in transactions

  • Allow setting Item-wise tax rates by setting Item Tax Template for each item in transaction
  • Allow defining Item Tax Templates in Items and replace the old Item Tax table
  • Also allow defining Item Tax Templates in Item Groups
  • Automatic selection of Item Tax Template for each item in transaction based on Tax Category and Item's/Item Group's defined Item Tax Templates
  • Allow manually setting Item-row-wise tax rates in transactions by using a Tax Breakup table based on Frappe DataTable

Setting Item Tax Templates in Item:

  • Note that you can set Tax Category as empty so that it will act as the default Item Tax Template

image

Setting Item Tax Templates in Item Group

  • Note that children Item Group will be able to override Item Tax Templates to select for a certain Tax Category. And Item will be able to override Item Group's Item Tax Template

ItemGroupTree


Setting Tax Category in Sales/Purchase Taxes and Charges Template

  • Tax Category is optional
  • Each Tax Category can have a default Taxes and Charges template

Setting Tax Category in Address, Customer and Supplier

  • There will be a field in all those DocTypes
  • I think you can visualize it without a screenshot

How will transactions automatically determine Tax Category

  • First it will check if the selected Address has a Tax Category assigned
  • If not assigned if will check the party document (Customer or Supplier) for their Tax Category

How will transactions automatically pick Tax Templates

  • If no Tax Category can be determined in a transaction, it will pick the Item Tax Templates and Sales/Purchase Taxes and Charges Template with empty Tax Category
  • If a Tax Category is determined in a transaction, it will pick the Item Tax Templates and Sales/Purchase Taxes and Charges Template with the same Tax Category but if not found it will look for ones with empty Tax Category
  • Only the Sales/Purchase Taxes and Charges Template checked as default will be automatically picked in transactions!

How will conflict between Taxes and Charges Template and Item Tax Template be dealt with

  • Item Tax Templates will ONLY determine the (overriding) rate of the tax for the item
  • For a certain Tax to be applied in a transaction it MUST be included in Taxes and Charges
  • I propose to include an additional field in the Taxes and Charges row: Rate Type
    • Default Rate: Use the tax rate set in Item row, if not found use the tax rate set in Taxes and Charges row
    • Item Tax Rate: Use the tax rate set in Item row ONLY, if not found use 0 as rate
    • Fixed Rate: Use the tax rate set in Taxes and Charges row ONLY

How to modify item rax rates and Item Tax Templates in transactions

  • Use a DataTable to create a view of the breakup of tax and be able to modify the rates for the specific transaction
  • Hide the old HTML table so that it can still be used for print formats
  • Item Tax Templates can also be set from the Item row

I hope this will be useful for ERPNext and you people. If it is, give me some support and some feedback.

3 Likes

SAP used a condition based auto price/tax (in SAP term condition type) determination mechanism which works similar as proposed, there is a nice feature: analysis which shows to end user how the system finally determined the price / tax, list all the steps involved. it is suggested to consider this feature also.

Looks good @saifi0102 Maybe you can join this group with your ideas.

It would be really helpful if you can provide a screenshot. Would showing the Tax Category and Item Tax Templates in Tax Breakup DataTable be enough for the user to understand how it determined the taxes?

Thank you @Muzzy! I’m already part of that group :slight_smile:

Any Update on this ?

Yes, it’s complete. There’s no DataTable in the form though. I’m working on the tests then I’ll open a PR.

But will it be released in V11? or V10 users can use it too ?

Either v11 or v12. Depends on the maintainers.

Awesome… Can you show us the final thoughts??

Ihey there’s are final thoughts :stuck_out_tongue:
You can check out the feature in v12

1 Like

Outstanding!!! I’m already on v12… I’ll check!

I have no idea what I was trying to write

1 Like

Any new video or comprehensive guides on this now? The chart of accounts are missing VAT tax accounts as mentioned in the old guidance video. Can’t get the VAT working, just need to have 2 types of VAT, with 24 % and 0% working for now. When we set up the item tax with 0%, the general VAT of 24% doesn’t apply for the other items anymore.

Is there any way “Item Tax Template” can be “Included in Base Price”?

Dears,
you are making a local requirement a global feature.
India uses GST but other countries don’t.
Why don’t you implement this as a regional feature?

Hi @Tufan_Kaynak2

For your knowledge

France was the first country to implement GST to reduce tax- evasion. Since then, more than 140 countries have implemented GST with some countries having Dual-GST (e.g. Brazil, Canada etc. model. India has chosen the Canadian model of dual GST.

Or search on internet.

:grin:

1 Like

I am fully aware of that We have BA/BS implementation in Turkey as well. However, these kind of features must be optional, not enforcing on the whole application.

1 Like

Thanks for that learning, so India has Central + state tax, while Canada has Federal + provincial tax