diff --git a/entity/Offer_entity/entityfields/offercode/onValidation.js b/entity/Offer_entity/entityfields/offercode/onValidation.js
index bd2b194002b0d21613c000b876f6038fd5eb53ae..8880dadb94fa375b76280c41a8889147bfa88cf2 100644
--- a/entity/Offer_entity/entityfields/offercode/onValidation.js
+++ b/entity/Offer_entity/entityfields/offercode/onValidation.js
@@ -6,7 +6,8 @@ import("Util_lib");
 
 var OfferUtils = new OfferUtils();
 
-if( !OfferUtils.validateOfferNumber(ProcessHandlingUtil.getOnValidationValue(vars.get("$field.OFFERCODE"))) )
+if( vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_NEW
+    && !OfferUtils.validateOfferNumber(ProcessHandlingUtil.getOnValidationValue(vars.get("$field.OFFERCODE"))) )
 {
-    result.string(OfferUtils.getOfferNumberValidationFailString());
+    vars.set( "$field.PROJECTCODE", SalesprojectUtils.getNextOfferNumber().toString() );
 }
\ No newline at end of file
diff --git a/entity/Salesproject_entity/Salesproject_entity.aod b/entity/Salesproject_entity/Salesproject_entity.aod
index f81960ed2babb095dd7430b9bb443b2d9c4815f7..ff6b7122fd9b92814962b16cd3f1d1bf4b430b9e 100644
--- a/entity/Salesproject_entity/Salesproject_entity.aod
+++ b/entity/Salesproject_entity/Salesproject_entity.aod
@@ -3,10 +3,13 @@
   <name>Salesproject_entity</name>
   <title>Salesproject</title>
   <majorModelMode>DISTRIBUTED</majorModelMode>
-  <alias>Data_alias</alias>
   <recordContainerType>DB</recordContainerType>
   <caption>Salesproject</caption>
+  <onValidation>%aditoprj%/entity/Salesproject_entity/onValidation.js</onValidation>
+  <afterOperatingState>%aditoprj%/entity/Salesproject_entity/afterOperatingState.js</afterOperatingState>
   <iconId>VAADIN:FILTER</iconId>
+  <alias>Data_alias</alias>
+  <onDBInsert>%aditoprj%/entity/Salesproject_entity/onDBInsert.js</onDBInsert>
   <entityFields>
     <entityIncomingField>
       <name>#INCOMING</name>
@@ -65,7 +68,7 @@
       <tableName>SALESPROJECT</tableName>
       <columnName>PROJECTCODE</columnName>
       <caption>Project number</caption>
-      <state>READONLY</state>
+      <state>AUTO</state>
       <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/projectcode/valueProcess.js</valueProcess>
       <onValidation>%aditoprj%/entity/Salesproject_entity/entityfields/projectcode/onValidation.js</onValidation>
       <onValueChange>%aditoprj%/entity/Salesproject_entity/entityfields/projectcode/onValueChange.js</onValueChange>
diff --git a/entity/Salesproject_entity/entityfields/projectcode/onValidation.js b/entity/Salesproject_entity/entityfields/projectcode/onValidation.js
index 1df10f89516a9d8708a24fd6bf38eced03ee9680..b880f9dc7f6436f6fc55de4c4216f391703449ed 100644
--- a/entity/Salesproject_entity/entityfields/projectcode/onValidation.js
+++ b/entity/Salesproject_entity/entityfields/projectcode/onValidation.js
@@ -6,7 +6,8 @@ import("Util_lib");
 
 var SalesprojectUtils = new SalesprojectUtils();
 
-if( !SalesprojectUtils.validateProjectNumber(ProcessHandlingUtil.getOnValidationValue(vars.get("$field.PROJECTCODE"))) )
+if( vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_NEW
+    && !SalesprojectUtils.validateProjectNumber(ProcessHandlingUtil.getOnValidationValue(vars.get("$field.PROJECTCODE"))) )
 {
-    result.string(SalesprojectUtils.getProjectNumberValidationFailString());
+    vars.set( "$field.PROJECTCODE", SalesprojectUtils.getNextProjectNumber().toString() );
 }
\ No newline at end of file
diff --git a/entity/Salesproject_entity/entityfields/projectcode/onValueChange.js b/entity/Salesproject_entity/entityfields/projectcode/onValueChange.js
index 289a0b56e8fe01d2c3a655e22c70d771716a190f..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644
--- a/entity/Salesproject_entity/entityfields/projectcode/onValueChange.js
+++ b/entity/Salesproject_entity/entityfields/projectcode/onValueChange.js
@@ -1,10 +0,0 @@
-import("system.vars");
-import("system.result");
-import("Salesproject_lib");
-import("Util_lib");
-
-var SalesprojectUtils = new SalesprojectUtils();
-if( !SalesprojectUtils.validateProjectNumber(ProcessHandlingUtil.getOnValidationValue(vars.get("$field.PROJECTCODE"))) )
-{
-    vars.set("$field.PROJECTCODE", SalesprojectUtils.getNextProjectNumber());
-}
diff --git a/process/OfferOrder_lib/process.js b/process/OfferOrder_lib/process.js
index 67d8e8a9dfa0f75733b24983eaa3809d82bc7be6..0bae4843e326137c5cc05893e4ea04b926d69fa7 100644
--- a/process/OfferOrder_lib/process.js
+++ b/process/OfferOrder_lib/process.js
@@ -73,7 +73,7 @@ function OfferUtils()
 /**OfferItemUtils
  *
  * Instance class that provides methods for dealing with offer / order items.
- * Inherits method from abstract class ItemUtils.
+ * Inherits methods from abstract class ItemUtils.
  * For documentation, see class ItemUtils.
  *
  ******************************************************************************/