diff --git a/accounts/report/accounts_receivable/accounts_receivable.py b/accounts/report/accounts_receivable/accounts_receivable.py index de96abb7d74..c826fcbd135 100644 --- a/accounts/report/accounts_receivable/accounts_receivable.py +++ b/accounts/report/accounts_receivable/accounts_receivable.py @@ -37,12 +37,15 @@ class AccountsReceivableReport(object): return columns def get_data(self, customer_naming_by): + from accounts.utils import get_currency_precision + currency_precision = get_currency_precision() or 2 + data = [] future_vouchers = self.get_entries_after(self.filters.report_date) for gle in self.get_entries_till(self.filters.report_date): if self.is_receivable(gle, future_vouchers): outstanding_amount = self.get_outstanding_amount(gle, self.filters.report_date) - if abs(outstanding_amount) > 0.0: + if abs(outstanding_amount) > 0.1/10**currency_precision: due_date = self.get_due_date(gle) invoiced_amount = gle.debit if (gle.debit > 0) else 0 payment_received = invoiced_amount - outstanding_amount diff --git a/accounts/utils.py b/accounts/utils.py index fdd57b35c2e..a3557aed09f 100644 --- a/accounts/utils.py +++ b/accounts/utils.py @@ -378,4 +378,13 @@ def get_account_for(account_for_doctype, account_for): account_for_field = "account_type" return webnotes.conn.get_value("Account", {account_for_field: account_for_doctype, - "master_name": account_for}) \ No newline at end of file + "master_name": account_for}) + +def get_currency_precision(currency=None): + if not currency: + currency = webnotes.conn.get_value("Company", + webnotes.conn.get_default("company"), "default_currency") + currency_format = webnotes.conn.get_value("Currency", currency, "number_format") + + from webnotes.utils import get_number_format_info + return get_number_format_info(currency_format)[2] \ No newline at end of file diff --git a/stock/report/item_prices/item_prices.py b/stock/report/item_prices/item_prices.py index c9efd69829e..50c923bad40 100644 --- a/stock/report/item_prices/item_prices.py +++ b/stock/report/item_prices/item_prices.py @@ -15,6 +15,7 @@ def execute(filters=None): bom_rate = get_item_bom_rate() val_rate_map = get_valuation_rate() + from accounts.utils import get_currency_precision precision = get_currency_precision() or 2 data = [] for item in sorted(item_map): @@ -29,14 +30,6 @@ def execute(filters=None): ]) return columns, data - -def get_currency_precision(): - company_currency = webnotes.conn.get_value("Company", - webnotes.conn.get_default("company"), "default_currency") - currency_format = webnotes.conn.get_value("Currency", company_currency, "number_format") - - from webnotes.utils import get_number_format_info - return get_number_format_info(currency_format)[2] def get_columns(filters): """return columns based on filters"""