fix(pos): error while consolidating pos invoices

This commit is contained in:
Saqib Ansari 2022-08-10 14:17:28 +05:30
parent eb25eddc22
commit 33762dbbac
2 changed files with 22 additions and 1 deletions

View File

@ -43,6 +43,7 @@
"currency", "currency",
"write_off_account", "write_off_account",
"write_off_cost_center", "write_off_cost_center",
"write_off_limit",
"account_for_change_amount", "account_for_change_amount",
"disable_rounded_total", "disable_rounded_total",
"column_break_23", "column_break_23",
@ -360,6 +361,14 @@
"fieldtype": "Check", "fieldtype": "Check",
"label": "Validate Stock on Save" "label": "Validate Stock on Save"
}, },
{
"default": "1",
"description": "Auto write off precision loss while consolidation",
"fieldname": "write_off_limit",
"fieldtype": "Currency",
"label": "Write Off Limit",
"reqd": 1
},
{ {
"default": "0", "default": "0",
"description": "If enabled, the consolidated invoices will have rounded total disabled", "description": "If enabled, the consolidated invoices will have rounded total disabled",
@ -393,7 +402,7 @@
"link_fieldname": "pos_profile" "link_fieldname": "pos_profile"
} }
], ],
"modified": "2022-07-21 11:16:46.911173", "modified": "2022-08-10 12:57:06.241439",
"modified_by": "Administrator", "modified_by": "Administrator",
"module": "Accounts", "module": "Accounts",
"name": "POS Profile", "name": "POS Profile",

View File

@ -767,6 +767,18 @@ class calculate_taxes_and_totals(object):
self.doc.precision("outstanding_amount"), self.doc.precision("outstanding_amount"),
) )
if (
self.doc.doctype == "Sales Invoice"
and self.doc.get("is_pos")
and self.doc.get("pos_profile")
and self.doc.get("is_consolidated")
):
write_off_limit = flt(
frappe.db.get_value("POS Profile", self.doc.pos_profile, "write_off_limit")
)
if write_off_limit and abs(self.doc.outstanding_amount) <= write_off_limit:
self.doc.write_off_outstanding_amount_automatically = 1
if ( if (
self.doc.doctype == "Sales Invoice" self.doc.doctype == "Sales Invoice"
and self.doc.get("is_pos") and self.doc.get("is_pos")