diff --git a/InvenTree/stock/api.py b/InvenTree/stock/api.py index c070e98799..c465f6ed76 100644 --- a/InvenTree/stock/api.py +++ b/InvenTree/stock/api.py @@ -677,8 +677,13 @@ class StockList(APIDownloadMixin, ListCreateDestroyAPIView): else: if bool(data.get('use_pack_size')): quantity = data['quantity'] = supplier_part.base_quantity(quantity) + # Divide purchase price by pack size, to save correct price per stock item - data['purchase_price'] = float(data['purchase_price']) / float(supplier_part.pack_quantity_native) + if data['purchase_price'] and supplier_part.pack_quantity_native: + try: + data['purchase_price'] = float(data['purchase_price']) / float(supplier_part.pack_quantity_native) + except ValueError: + pass # Now remove the flag from data, so that it doesn't interfere with saving # Do this regardless of results above