diff --git a/api/migrations/0002_auto_20201220_1630.py b/api/migrations/0002_auto_20201229_1028.py
similarity index 88%
rename from api/migrations/0002_auto_20201220_1630.py
rename to api/migrations/0002_auto_20201229_1028.py
index 371f946e3a82f7812624da989a5befc79dddadfa..cfff94743344f0a16ba79e60d19b424fa7ba9fe0 100644
--- a/api/migrations/0002_auto_20201220_1630.py
+++ b/api/migrations/0002_auto_20201229_1028.py
@@ -1,4 +1,4 @@
-# Generated by Django 3.0.7 on 2020-12-20 09:30
+# Generated by Django 3.0.7 on 2020-12-29 03:28
 
 import api.utils
 from decimal import Decimal
@@ -16,6 +16,14 @@ class Migration(migrations.Migration):
     ]
 
     operations = [
+        migrations.RemoveField(
+            model_name='product',
+            name='pre_order',
+        ),
+        migrations.RemoveField(
+            model_name='transactionitem',
+            name='product_pre_order',
+        ),
         migrations.AddField(
             model_name='product',
             name='modal',
diff --git a/api/models.py b/api/models.py
index 0be38e8997f120e235dcaf60fdc18214c81e2a96..5ba7ff5c5b813554bcbe2055cdb5b1619fbfed23 100644
--- a/api/models.py
+++ b/api/models.py
@@ -133,7 +133,7 @@ class Product(db_models.Model):
         verbose_name=_('price')
     )
     stock = db_models.PositiveIntegerField(blank=True, null=True, verbose_name=_('stock'))
-    pre_order = db_models.BooleanField(default=False, verbose_name=_('pre-order'))
+   
     modal = db_models.DecimalField(
         decimal_places=2,
         default=decimal.Decimal('0'),
@@ -141,7 +141,6 @@ class Product(db_models.Model):
         validators=[validators.MinValueValidator(decimal.Decimal('0.01'))],
         verbose_name=_('modal')
     )
-    
     profit= db_models.DecimalField(
         blank=True,
         null=True,
@@ -170,11 +169,6 @@ class Product(db_models.Model):
         verbose_name = _('product')
         verbose_name_plural = _('products')
 
-    def save(self, *args, **kwargs): # pylint: disable=arguments-differ
-        if (self.pre_order) and (self.stock is not None):
-            self.stock = None
-        super().save(*args, **kwargs)
-
     def __str__(self):
         return self.code
 
@@ -376,7 +370,7 @@ class TransactionItem(db_models.Model):
         validators=[validators.MinValueValidator(decimal.Decimal('0.01'))],
         verbose_name=_('product price')
     )
-    product_pre_order = db_models.BooleanField(verbose_name=_('product pre-order'))
+    
     quantity = db_models.PositiveIntegerField(verbose_name=_('quantity'))
 
     class Meta:
diff --git a/api/reports_writer.py b/api/reports_writer.py
index 6218ff5b7e6a7348d6fa6aa27d6601d1ce3e80cc..95a49ca29c8994433f4f37c8edce5f07874cc1bd 100644
--- a/api/reports_writer.py
+++ b/api/reports_writer.py
@@ -246,7 +246,6 @@ def create_transaction_report(filter_params): # pylint: disable=too-many-locals
         (transaction_item_transaction_transaction_number_with_hyperlink, _('Transaction Number')),
         ('product_name', _('Product Name')),
         ('product_price', _('Product Price')),
-        ('product_pre_order', _('Product Pre-Order')),
         ('quantity', _('Quantity')),
     ]
     write_queryset_data_to_worksheet(
diff --git a/api/seeds.py b/api/seeds.py
index 04add48a3e98e02e609b95208b7c1f3cc7f01b24..bcbb8fdba4f7031fef3a8c983a4c6e7a9885b221 100644
--- a/api/seeds.py
+++ b/api/seeds.py
@@ -99,7 +99,7 @@ SHIPMENT_CONFIG_DATA = {
 
 BATCH_DATA = {
     'batch_name': 'Batch 1',
-    'start_date': '2020-12-19',
-    'end_date': '2020-12-25',
+    'start_date': '2020-12-26',
+    'end_date': '2021-01-01',
     'shipping_cost': '60000',
 }
diff --git a/api/serializers.py b/api/serializers.py
index 17c84e7a837ee3ee60914a5b967f414ee002193b..90263e533b3c63ae75447df34490a1ecdbef1556 100644
--- a/api/serializers.py
+++ b/api/serializers.py
@@ -261,7 +261,6 @@ class ProductSerializer(serializers.ModelSerializer):
             'description',
             'price',
             'stock',
-            'pre_order',
             'modal',
             'profit',
             'image',
@@ -270,16 +269,7 @@ class ProductSerializer(serializers.ModelSerializer):
         model = models.Product
         read_only_fields = ['id', 'code']
 
-    def validate(self, attrs):
-        instance = self.instance
-        stock = attrs.get('stock', getattr(instance, 'stock', None))
-        pre_order = attrs.get('pre_order', getattr(instance, 'pre_order', None))
-        errors = {}
-        if (stock is None) and (not pre_order):
-            errors['stock'] = _('Stock cannot be empty if it is not a pre-order.')
-        if errors:
-            raise serializers.ValidationError(errors)
-        return super().validate(attrs)
+    
 
 
 class CartItemSerializer(serializers.ModelSerializer):
@@ -318,7 +308,6 @@ class TransactionItemSerializer(serializers.ModelSerializer):
             'product_code',
             'product_name',
             'product_price',
-            'product_pre_order',
             'quantity',
         ]
         model = models.TransactionItem
@@ -327,7 +316,6 @@ class TransactionItemSerializer(serializers.ModelSerializer):
             'product',
             'product_name',
             'product_price',
-            'product_pre_order',
             'quantity',
         ]
 
diff --git a/api/signals.py b/api/signals.py
index 4b0fae77f371e26a4fd561e9df07bfa431148bab..6340fe60c31b773370fdbc71a5c09d8e5f7dfaaa 100644
--- a/api/signals.py
+++ b/api/signals.py
@@ -71,12 +71,10 @@ def fill_dependent_transaction_item_fields(sender, instance, **_kwargs):
         if instance.product is None:
             instance.product_name = None
             instance.product_price = None
-            instance.product_pre_order = None
             
         else:
             instance.product_name = instance.product.name
             instance.product_price = instance.product.price
-            instance.product_pre_order = instance.product.pre_order
             
 
 
diff --git a/api/tests.py b/api/tests.py
index 3118996f4d6d655ea752362bd2291c001f11d6e7..7f95b7ee80a6f0a148c4eb046575050012e0cd1e 100644
--- a/api/tests.py
+++ b/api/tests.py
@@ -1168,7 +1168,6 @@ class ProductTest(rest_framework_test.APITestCase):
 
     def test_create_product_success(self):
         data = seeds.PRODUCT_DATA
-        data['pre_order'] = True
         data['subcategory']= self.subcategory.id
         
         response = request(
@@ -1184,7 +1183,7 @@ class ProductTest(rest_framework_test.APITestCase):
 
     def test_create_product_fail(self):
         data = dict(seeds.PRODUCT_DATA, subcategory=self.subcategory.id)
-        data['stock'] = None
+        data['name'] = None
         response = request(
             'POST',
             'product-list',
diff --git a/api/views.py b/api/views.py
index 58c753ce7259da070ed18e97ca6cd8b45c9dfbfa..dc62ed4007187378a1ea6ad3315ab042f08d1bff 100644
--- a/api/views.py
+++ b/api/views.py
@@ -172,14 +172,7 @@ class CartCheckout(rest_framework_views.APIView):
         transaction_status = (
             '001' if serializer.validated_data['payment_method'] == 'TRF' else '002'
         )
-        batch = (
-            None if serializer.validated_data['payment_method'] == 'TRF'
-            else models.Batch.objects.filter(
-                start_date__lte=timezone.now().date(),
-                end_date__gte=timezone.now().date()).first()
-        )
         
-
         transaction = models.Transaction.objects.create(
             user=user,
             payment_method=serializer.validated_data['payment_method'],
@@ -667,7 +660,6 @@ class ProductDetail(generics.RetrieveUpdateDestroyAPIView):
         
         if (self.request != None):
             if (self.request.data.get("price") != None) and (self.request.data.get("modal") != None):
-                instance=self.get_object()
                 draft_request_data = self.request.data.copy()
                 profit= int(self.request.data['price'])-int(self.request.data['modal'])
                 new_profit={'profit': profit}