discount handling
diff --git a/erpnext/regional/doctype/import_supplier_invoice/import_supplier_invoice.py b/erpnext/regional/doctype/import_supplier_invoice/import_supplier_invoice.py
index dc580ad..293d6c9 100644
--- a/erpnext/regional/doctype/import_supplier_invoice/import_supplier_invoice.py
+++ b/erpnext/regional/doctype/import_supplier_invoice/import_supplier_invoice.py
@@ -77,6 +77,8 @@
pin_code = line.Sede.CAP.text
country = get_country(line.Sede.Nazione.text)
+ total_discount = 0
+
for line in file_content.find_all("DettaglioLinee"):
if line.find("PrezzoUnitario") and line.find("PrezzoTotale"):
unit_rate = float(line.PrezzoUnitario.text) or float(0)
@@ -121,6 +123,11 @@
"tax_rate": tax_rate
})
+ for disc_line in line.find_all("ScontoMaggiorazione"):
+ if disc_line.find("Percentuale"):
+ discount = float(disc_line.Percentuale.text) or float(0)
+ total_discount += float((discount / 100) * (rate * qty))
+
for line in file_content.find_all("DatiRiepilogo"):
if line.find("AliquotaIVA"):
if line.find("EsigibilitaIVA"):
@@ -165,6 +172,7 @@
bill_date = bill_date,
is_return = return_invoice,
destination_code = destination_code,
+ total_discount = total_discount,
items = items,
taxes = taxes,
terms = terms,
@@ -310,6 +318,12 @@
try:
pi.insert(ignore_permissions=True)
+
+ if args.total_discount > 0:
+ pi.apply_discount_on = "Grand Total"
+ pi.discount_amount = args.total_discount
+ pi.save()
+
calc_total = 0
adj = 0
for term in args.terms: