22 lines
911 B
Python
22 lines
911 B
Python
def execute():
|
|
import webnotes
|
|
from webnotes.utils import flt
|
|
|
|
records = webnotes.conn.sql("""select name, grand_total, debit_to from `tabSales Invoice`
|
|
where docstatus = 1""", as_dict=1)
|
|
|
|
for r in records:
|
|
gle = webnotes.conn.sql("""select name, debit from `tabGL Entry`
|
|
where account = %s and voucher_type = 'Sales Invoice' and voucher_no = %s
|
|
and ifnull(is_cancelled, 'No') = 'No' limit 1""", (r.debit_to, r.name), as_dict=1)
|
|
if gle:
|
|
diff = round((flt(r.grand_total) - flt(gle[0]['debit'])), 2)
|
|
|
|
if abs(diff) == 0.01:
|
|
# print r.name, r.grand_total, gle[0]['debit'], diff
|
|
webnotes.conn.sql("""update `tabGL Entry` set debit = debit + %s
|
|
where name = %s""", (diff, gle[0]['name']))
|
|
|
|
webnotes.conn.sql("""update `tabGL Entry` set credit = credit - %s
|
|
where voucher_type = 'Sales Invoice' and voucher_no = %s
|
|
and credit > 0 limit 1""", (diff, r.name)) |