File tree 2 files changed +28
-0
lines changed
accounts/doctype/sales_invoice
2 files changed +28
-0
lines changed Original file line number Diff line number Diff line change 43
43
from erpnext .stock .doctype .stock_reconciliation .test_stock_reconciliation import (
44
44
create_stock_reconciliation ,
45
45
)
46
+ from erpnext .stock .get_item_details import get_item_tax_map
46
47
from erpnext .stock .utils import get_incoming_rate , get_stock_balance
47
48
48
49
@@ -2873,13 +2874,26 @@ def test_item_tax_net_range(self):
2873
2874
item .save ()
2874
2875
2875
2876
sales_invoice = create_sales_invoice (item = "T Shirt" , rate = 700 , do_not_submit = True )
2877
+ item_tax_map = get_item_tax_map (
2878
+ doc = sales_invoice ,
2879
+ tax_template = sales_invoice .items [0 ].item_tax_template ,
2880
+ )
2881
+
2876
2882
self .assertEqual (sales_invoice .items [0 ].item_tax_template , "_Test Account Excise Duty @ 12 - _TC" )
2883
+ self .assertEqual (sales_invoice .items [0 ].item_tax_rate , item_tax_map )
2877
2884
2878
2885
# Apply discount
2879
2886
sales_invoice .apply_discount_on = "Net Total"
2880
2887
sales_invoice .discount_amount = 300
2881
2888
sales_invoice .save ()
2889
+
2890
+ item_tax_map = get_item_tax_map (
2891
+ doc = sales_invoice ,
2892
+ tax_template = sales_invoice .items [0 ].item_tax_template ,
2893
+ )
2894
+
2882
2895
self .assertEqual (sales_invoice .items [0 ].item_tax_template , "_Test Account Excise Duty @ 10 - _TC" )
2896
+ self .assertEqual (sales_invoice .items [0 ].item_tax_rate , item_tax_map )
2883
2897
2884
2898
@change_settings ("Selling Settings" , {"enable_discount_accounting" : 1 })
2885
2899
def test_sales_invoice_with_discount_accounting_enabled (self ):
Original file line number Diff line number Diff line change 18
18
validate_inclusive_tax ,
19
19
validate_taxes_and_charges ,
20
20
)
21
+ < << << << HEAD
21
22
from erpnext .stock .get_item_details import _get_item_tax_template
23
+ == == == =
24
+ from erpnext .deprecation_dumpster import deprecated
25
+ from erpnext .stock .get_item_details import ItemDetailsCtx , _get_item_tax_template , get_item_tax_map
26
+ > >> >> >> de54c0b41f (fix : update item_tax_rate in backend )
22
27
from erpnext .utilities .regional import temporary_flag
23
28
24
29
@@ -70,6 +75,7 @@ def _calculate(self):
70
75
self .validate_conversion_rate ()
71
76
self .calculate_item_values ()
72
77
self .validate_item_tax_template ()
78
+ self .update_item_tax_map ()
73
79
self .initialize_taxes ()
74
80
self .determine_exclusive_rate ()
75
81
self .calculate_net_total ()
@@ -134,6 +140,14 @@ def validate_item_tax_template(self):
134
140
)
135
141
)
136
142
143
+ def update_item_tax_map (self ):
144
+ for item in self .doc .items :
145
+ item .item_tax_rate = get_item_tax_map (
146
+ doc = self .doc ,
147
+ tax_template = item .item_tax_template ,
148
+ as_json = True ,
149
+ )
150
+
137
151
def validate_conversion_rate (self ):
138
152
# validate conversion rate
139
153
company_currency = erpnext .get_company_currency (self .doc .company )
You can’t perform that action at this time.
0 commit comments