Merge pull request #1298 from nabinhait/hotfix
Accounts Receivable fix for partial payment in pos
diff --git a/accounts/report/accounts_receivable/accounts_receivable.py b/accounts/report/accounts_receivable/accounts_receivable.py
index 781db2a..35c1f74 100644
--- a/accounts/report/accounts_receivable/accounts_receivable.py
+++ b/accounts/report/accounts_receivable/accounts_receivable.py
@@ -78,15 +78,23 @@
if getdate(e.posting_date) <= report_date)
def is_receivable(self, gle, future_vouchers):
- return ((not gle.against_voucher) or (gle.against_voucher==gle.voucher_no) or
- ((gle.against_voucher_type, gle.against_voucher) in future_vouchers))
+ return (
+ # advance
+ (not gle.against_voucher) or
+
+ # sales invoice
+ (gle.against_voucher==gle.voucher_no and gle.debit > 0) or
+
+ # entries adjusted with future vouchers
+ ((gle.against_voucher_type, gle.against_voucher) in future_vouchers)
+ )
def get_outstanding_amount(self, gle, report_date):
payment_received = 0.0
for e in self.get_gl_entries_for(gle.account, gle.voucher_type, gle.voucher_no):
if getdate(e.posting_date) <= report_date and e.name!=gle.name:
payment_received += (flt(e.credit) - flt(e.debit))
-
+
return flt(gle.debit) - flt(gle.credit) - payment_received
def get_customer(self, account):
@@ -180,4 +188,4 @@
if index is None: index = 3
outstanding_range[index] = outstanding_amount
- return [age] + outstanding_range
\ No newline at end of file
+ return [age] + outstanding_range