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 Category
inSales/Purchase Taxes and Charges Template
,Customer
,Supplier
andAddress
- 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 onTax Category
in transactions
- Allow setting Item-wise tax rates by setting
Item Tax Template
for each item in transaction - Allow defining
Item Tax Template
s inItem
s and replace the old Item Tax table - Also allow defining
Item Tax Template
s inItem Group
s - Automatic selection of
Item Tax Template
for each item in transaction based onTax Category
andItem
’s/Item Group
’s definedItem Tax Template
s - Allow manually setting Item-row-wise tax rates in transactions by using a Tax Breakup table based on Frappe DataTable
Setting Item Tax Template
s in Item
:
- Note that you can set
Tax Category
as empty so that it will act as the defaultItem Tax Template
Setting Item Tax Template
s in Item Group
- Note that children
Item Group
will be able to overrideItem Tax Templates
to select for a certain Tax Category. AndItem
will 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 (
Customer
orSupplier
) for their Tax Category
How will transactions automatically pick Tax Templates
- If no
Tax Category
can be determined in a transaction, it will pick theItem Tax Template
s andSales/Purchase Taxes and Charges Template
with emptyTax Category
- If a
Tax Category
is determined in a transaction, it will pick theItem Tax Template
s andSales/Purchase Taxes and Charges Template
with the sameTax Category
but if not found it will look for ones with emptyTax 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 Template
s 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 Template
s 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.