fix: loyalty points application on si

This commit is contained in:
David
2024-06-01 16:42:42 +02:00
parent 2ae1704d11
commit 48b5567af4
2 changed files with 3 additions and 18 deletions

View File

@@ -315,17 +315,6 @@ class SalesInvoice(SellingController):
if not self.is_opening:
self.is_opening = "No"
if self.redeem_loyalty_points:
lp = frappe.get_doc("Loyalty Program", self.loyalty_program)
self.loyalty_redemption_account = (
lp.expense_account if not self.loyalty_redemption_account else self.loyalty_redemption_account
)
self.loyalty_redemption_cost_center = (
lp.cost_center
if not self.loyalty_redemption_cost_center
else self.loyalty_redemption_cost_center
)
self.set_against_income_account()
self.validate_time_sheets_are_submitted()
self.validate_multiple_billing("Delivery Note", "dn_detail", "amount")
@@ -344,12 +333,7 @@ class SalesInvoice(SellingController):
if self.is_pos and self.is_return:
self.verify_payment_amount_is_negative()
if (
self.redeem_loyalty_points
and self.loyalty_program
and self.loyalty_points
and not self.is_consolidated
):
if self.redeem_loyalty_points and self.loyalty_points and not self.is_consolidated:
validate_loyalty_points(self, self.loyalty_points)
self.reset_default_field_value("set_warehouse", "items", "warehouse")
@@ -1444,7 +1428,7 @@ class SalesInvoice(SellingController):
asset.set_status("Sold" if self.docstatus == 1 else None)
def make_loyalty_point_redemption_gle(self, gl_entries):
if cint(self.redeem_loyalty_points):
if cint(self.redeem_loyalty_points and self.loyalty_points and not self.is_consolidated):
gl_entries.append(
self.get_gl_dict(
{

View File

@@ -1091,6 +1091,7 @@ def make_sales_invoice(source_name, target_doc=None, ignore_permissions=False):
# set the redeem loyalty points if provided via shopping cart
if source.loyalty_points and source.order_type == "Shopping Cart":
target.redeem_loyalty_points = 1
target.loyalty_points = source.loyalty_points
target.debit_to = get_party_account("Customer", source.customer, source.company)