34 lines
1.3 KiB
Python
34 lines
1.3 KiB
Python
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
|
|
# License: GNU General Public License v3. See license.txt
|
|
|
|
from __future__ import unicode_literals
|
|
import frappe
|
|
|
|
def execute():
|
|
frappe.reload_doc('accounts', 'doctype', 'sales_invoice')
|
|
frappe.reload_doc('accounts', 'doctype', 'purchase_invoice')
|
|
|
|
frappe.db.sql("""
|
|
update
|
|
`tabPurchase Invoice`
|
|
set
|
|
status = (Case When outstanding_amount = 0 and docstatus = 1 and is_return = 0 then 'Paid'
|
|
when due_date < CURDATE() and outstanding_amount > 0 and docstatus =1 then 'Overdue'
|
|
when due_date >= CURDATE() and outstanding_amount > 0 and docstatus =1 then 'Unpaid'
|
|
when outstanding_amount < 0 and docstatus =1 then 'Debit Note Issued'
|
|
when is_return = 1 and docstatus =1 then 'Return'
|
|
when docstatus = 2 then 'Cancelled'
|
|
else 'Draft'
|
|
End)""")
|
|
|
|
frappe.db.sql("""
|
|
update
|
|
`tabSales Invoice`
|
|
set status = (Case When outstanding_amount = 0 and docstatus = 1 and is_return = 0 then 'Paid'
|
|
when due_date < CURDATE() and outstanding_amount > 0 and docstatus =1 then 'Overdue'
|
|
when due_date >= CURDATE() and outstanding_amount > 0 and docstatus =1 then 'Unpaid'
|
|
when outstanding_amount < 0 and docstatus =1 then 'Credit Note Issued'
|
|
when is_return = 1 and docstatus =1 then 'Return'
|
|
when docstatus = 2 then 'Cancelled'
|
|
else 'Draft'
|
|
End)""") |