diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/productprice.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/productprice.xml
index 6ba30645103ad9564903bdbc2892c0a16e9f5053..a8dcad563fd4d0fa49e9d4023ef8d479e8525a71 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/productprice.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/productprice.xml
@@ -47,7 +47,7 @@
       <column name="FROMQUANTITY" valueNumeric="1.00"/>
       <column name="PRODUCT_ID" value="c9f744bc-7903-4ec0-96f9-1df010ce1f37"/>
       <column name="VAT" valueNumeric="0.00"/>
-      <column name="VALID_FROM" valueDate="2019-05-17T02:00:00"/>
+      <column name="VALID_FROM" valueDate="2020-07-15T02:00:00"/>
       <column name="CURRENCY" value="EUR"/>
       <column name="CONTACT_ID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
     </insert>
@@ -90,7 +90,7 @@
       <column name="PRODUCTPRICEID" value="75365b30-fd09-4255-b1d7-f4c91e9d255e"/>
       <column name="PRICE" valueNumeric="2500.00"/>
       <column name="FROMQUANTITY" valueNumeric="1.00"/>
-      <column name="VALID_TO" valueDate="2020-05-18T02:00:00"/>
+      <column name="VALID_TO" valueDate="2022-05-18T02:00:00"/>
       <column name="PRODUCT_ID" value="805cd37f-d6c7-424b-99b0-b3de9ec89f7b"/>
       <column name="VAT" valueNumeric="19.00"/>
       <column name="VALID_FROM" valueDate="2019-05-17T02:00:00"/>
@@ -127,7 +127,7 @@
       <column name="FROMQUANTITY" valueNumeric="1.00"/>
       <column name="PRODUCT_ID" value="8cdbd2d8-70e2-4899-9ac6-3f0c3e28cab1"/>
       <column name="VAT" valueNumeric="19.00"/>
-      <column name="VALID_FROM" valueDate="2019-05-22T02:00:00"/>
+      <column name="VALID_FROM" valueDate="2021-06-17T02:00:00"/>
       <column name="CURRENCY" value="EUR"/>
     </insert>
     <insert tableName="productprice">
@@ -169,7 +169,7 @@
       <column name="PRODUCTPRICEID" value="bf8ef6ac-9f34-40fd-aa2e-9792fee9a970"/>
       <column name="PRICE" valueNumeric="15000.00"/>
       <column name="FROMQUANTITY" valueNumeric="1.00"/>
-      <column name="VALID_TO" valueDate="2020-05-22T02:00:00"/>
+      <column name="VALID_TO" valueDate="2022-05-22T02:00:00"/>
       <column name="PRODUCT_ID" value="e073ddc7-e3b8-4430-9e4f-12065106a624"/>
       <column name="VAT" valueNumeric="19.00"/>
       <column name="VALID_FROM" valueDate="2019-05-17T02:00:00"/>
@@ -216,7 +216,7 @@
       <column name="PRODUCTPRICEID" value="ead04c9b-955e-4595-bb31-31685b3ceaec"/>
       <column name="PRICE" valueNumeric="10000.00"/>
       <column name="FROMQUANTITY" valueNumeric="1.00"/>
-      <column name="VALID_TO" valueDate="2020-05-21T02:00:00"/>
+      <column name="VALID_TO" valueDate="2022-05-21T02:00:00"/>
       <column name="PRODUCT_ID" value="535cec1a-e81c-4833-aad6-1d2348dbc0fb"/>
       <column name="VAT" valueNumeric="19.00"/>
       <column name="VALID_FROM" valueDate="2019-05-23T02:00:00"/>
@@ -229,7 +229,7 @@
       <column name="PRODUCTPRICEID" value="f90ff3d2-3e62-4b6f-bcfb-db4d4ecd8de8"/>
       <column name="PRICE" valueNumeric="5000.00"/>
       <column name="FROMQUANTITY" valueNumeric="1.00"/>
-      <column name="VALID_TO" valueDate="2020-06-15T02:00:00"/>
+      <column name="VALID_TO" valueDate="2019-05-23T02:00:00"/>
       <column name="PRODUCT_ID" value="535cec1a-e81c-4833-aad6-1d2348dbc0fb"/>
       <column name="VAT" valueNumeric="19.00"/>
       <column name="VALID_FROM" valueDate="2019-05-17T02:00:00"/>
diff --git a/entity/Productprice_entity/Productprice_entity.aod b/entity/Productprice_entity/Productprice_entity.aod
index ba7fb3a8735539a3fbea1238c37f817ab7112242..3dbcf1f9873c47263c2a3dbe799bc62638f27e38 100644
--- a/entity/Productprice_entity/Productprice_entity.aod
+++ b/entity/Productprice_entity/Productprice_entity.aod
@@ -241,6 +241,10 @@
       <name>PRODUCTPRICE_OBJECTTYPE</name>
       <valueProcess>%aditoprj%/entity/Productprice_entity/entityfields/productprice_objecttype/valueProcess.js</valueProcess>
     </entityField>
+    <entityParameter>
+      <name>IgnoreOnValidation_param</name>
+      <expose v="true" />
+    </entityParameter>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
@@ -248,6 +252,7 @@
       <hasDependentRecords v="true" />
       <conditionProcess>%aditoprj%/entity/Productprice_entity/recordcontainers/db/conditionProcess.js</conditionProcess>
       <orderClauseProcess>%aditoprj%/entity/Productprice_entity/recordcontainers/db/orderClauseProcess.js</orderClauseProcess>
+      <onDBInsert>%aditoprj%/entity/Productprice_entity/recordcontainers/db/onDBInsert.js</onDBInsert>
       <alias>Data_alias</alias>
       <recordFieldMappings>
         <dbRecordFieldMapping>
diff --git a/entity/Productprice_entity/onValidation.js b/entity/Productprice_entity/onValidation.js
index 393e20d490dc66e77b0f38ab18ad526e85b0fdd5..2bfd42916247e16b08a7d6d09da372ed9bef0449 100644
--- a/entity/Productprice_entity/onValidation.js
+++ b/entity/Productprice_entity/onValidation.js
@@ -1,34 +1,14 @@
-import("Product_lib");
-import("system.translate");
-import("system.result");
 import("Date_lib");
+import("system.result");
 import("system.vars");
 
-var messages = "";
-
-var startDate = vars.get("$field.VALID_FROM");
-var endDate = vars.get("$field.VALID_TO");
-
-if (!DateUtils.validateBeginnBeforeEnd(startDate, endDate))
-    messages += DateUtils.getValidationFailString();
-
-var priceList = {
-                priceList: vars.get("$field.PRICELIST"),
-                priceListId: vars.get("$field.PRODUCTPRICEID"),
-                fromQuantity: vars.get("$field.FROMQUANTITY"),
-                buySell: vars.get("$field.BUYSELL"),
-                vat: vars.get("$field.VAT"),
-                currency: vars.get("$field.CURRENCY"),
-                validFrom: vars.get("$field.VALID_FROM"),
-                validTo: vars.get("$field.VALID_TO")
-            };
-var identicalPriceList = ProductUtils.checkForIndenticalPriceLists(vars.get("$field.PRODUCT_ID"), priceList);
-if(identicalPriceList != null)
+if(vars.getString("$param.IgnoreOnValidation_param") != "true")
 {
-    if (messages)
-        messages += "\n";
-    messages += translate.text("Identical price list found!");
-}
-
-if (messages)
-    result.string(messages)
\ No newline at end of file
+    var startDate = vars.get("$field.VALID_FROM");
+    var endDate = vars.get("$field.VALID_TO");
+
+    if (!DateUtils.validateBeginnBeforeEnd(startDate, endDate))
+    {
+        result.string(DateUtils.getValidationFailString());
+    }
+}
\ No newline at end of file
diff --git a/entity/Productprice_entity/recordcontainers/db/onDBInsert.js b/entity/Productprice_entity/recordcontainers/db/onDBInsert.js
new file mode 100644
index 0000000000000000000000000000000000000000..3bd6ad5c6cd885240b6c77505ce01472f4f4ecfe
--- /dev/null
+++ b/entity/Productprice_entity/recordcontainers/db/onDBInsert.js
@@ -0,0 +1,30 @@
+import("Date_lib");
+import("system.datetime");
+import("system.entities");
+import("Sql_lib");
+import("system.vars");
+
+
+var priceList = vars.get("$field.PRICELIST");
+var productId = vars.get("$field.PRODUCT_ID");
+var buySell = vars.get("$field.BUYSELL");
+var validFrom = vars.get("$field.VALID_FROM");
+var today = DateUtils.getTodayUTC();
+var productPriceListId = vars.get("$field.PRODUCTPRICEID");
+
+var validPriceLists = newSelect("PRODUCTPRICE.PRODUCTPRICEID")
+                                    .from("PRODUCTPRICE")
+                                    .where("PRODUCTPRICE.PRICELIST", priceList)
+                                    .and("PRODUCTPRICE.PRODUCTPRICEID", productPriceListId, SqlBuilder.NOT_EQUAL())
+                                    .and("PRODUCTPRICE.PRODUCT_ID", productId)
+                                    .and("PRODUCTPRICE.BUYSELL", buySell)
+                                    .and("PRODUCTPRICE.FROMQUANTITY", validFrom, SqlBuilder.LESS_OR_EQUAL())
+                                    .and(newWhere("PRODUCTPRICE.VALID_TO", validFrom, SqlBuilder.GREATER_OR_EQUAL()).or("PRODUCTPRICE.VALID_TO is null"))
+                                    .arrayColumn();
+
+var config = entities.createConfigForUpdatingRows().entity("Productprice_entity").fieldValues({"VALID_TO": today}).addParameter("IgnoreOnValidation_param", true);
+
+for (i = 0; i < validPriceLists.length; i++) {
+    
+    entities.updateRow(config.uid(validPriceLists[i]))
+}