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: [Proposal] Item Tax Template · Issue #14187 · frappe/erpnext · GitHub
Key Features:
- Allow setting
Tax CategoryinSales/Purchase Taxes and Charges Template,Customer,SupplierandAddress - Automatic selection of
Tax Categoryin transactions based on either the (Billing?)Addressor the Party document - Automatic selection of
Sales/Purchase Taxes and Charges Templatebased onTax Categoryin transactions
- Allow setting Item-wise tax rates by setting
Item Tax Templatefor each item in transaction - Allow defining
Item Tax Templates inItems and replace the old Item Tax table - Also allow defining
Item Tax Templates inItem Groups - Automatic selection of
Item Tax Templatefor each item in transaction based onTax CategoryandItem’s/Item Group’s definedItem 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 Categoryas empty so that it will act as the defaultItem Tax Template

Setting Item Tax Templates in Item Group
- Note that children
Item Groupwill be able to overrideItem Tax Templatesto select for a certain Tax Category. AndItemwill be able to overrideItem Group’sItem Tax Template
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 (
CustomerorSupplier) for their Tax Category
How will transactions automatically pick Tax Templates
- If no
Tax Categorycan be determined in a transaction, it will pick theItem Tax Templates andSales/Purchase Taxes and Charges Templatewith emptyTax Category - If a
Tax Categoryis determined in a transaction, it will pick theItem Tax Templates andSales/Purchase Taxes and Charges Templatewith the sameTax Categorybut if not found it will look for ones with emptyTax Category - Only the
Sales/Purchase Taxes and Charges Templatechecked 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.





