From a151a68e589e8cb6adcc5b84819106c60c0188ad Mon Sep 17 00:00:00 2001
From: Oliver <oliver.henry.walters@gmail.com>
Date: Sun, 31 Oct 2021 00:05:20 +1100
Subject: [PATCH] convert sale_price to string before exporting

---
 InvenTree/order/admin.py | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/InvenTree/order/admin.py b/InvenTree/order/admin.py
index 25b0922291..502c63c084 100644
--- a/InvenTree/order/admin.py
+++ b/InvenTree/order/admin.py
@@ -83,7 +83,9 @@ class POLineItemResource(ModelResource):
 
 
 class SOLineItemResource(ModelResource):
-    """ Class for managing import / export of SOLineItem data """
+    """
+    Class for managing import / export of SOLineItem data
+    """
 
     part_name = Field(attribute='part__name', readonly=True)
 
@@ -93,6 +95,17 @@ class SOLineItemResource(ModelResource):
 
     fulfilled = Field(attribute='fulfilled_quantity', readonly=True)
 
+    def dehydrate_sale_price(self, item):
+        """
+        Return a string value of the 'sale_price' field, rather than the 'Money' object.
+        Ref: https://github.com/inventree/InvenTree/issues/2207
+        """
+
+        if item.sale_price:
+            return str(item.sale_price)
+        else:
+            return ''
+
     class Meta:
         model = SalesOrderLineItem
         skip_unchanged = True