Index: main/waeup.ikoba/trunk/src/waeup/ikoba/customers/browser.py
===================================================================
--- main/waeup.ikoba/trunk/src/waeup/ikoba/customers/browser.py	(revision 12524)
+++ main/waeup.ikoba/trunk/src/waeup/ikoba/customers/browser.py	(revision 12526)
@@ -38,5 +38,5 @@
     IContactForm, IObjectHistory, IIkobaObject, IIkobaUtils,
     IPasswordValidator, IUserAccount,
-    VERIFIED, REJECTED, EXPIRED, CREATED, REQUESTED, APPROVED)
+    VERIFIED, REJECTED, EXPIRED, CREATED, REQUESTED, APPROVED, PROVISIONALLY)
 from waeup.ikoba.browser.layout import (
     IkobaPage, IkobaEditFormPage, IkobaAddFormPage, IkobaDisplayFormPage,
@@ -322,5 +322,5 @@
     @property
     def is_requestable(self):
-        if self.context.state in (REQUESTED, APPROVED):
+        if self.context.state in (REQUESTED, PROVISIONALLY, APPROVED):
             return False
         return True
@@ -717,5 +717,5 @@
     @property
     def form_fields(self):
-        if self.context.state in (REQUESTED, APPROVED):
+        if self.context.state in (REQUESTED, PROVISIONALLY, APPROVED):
             return grok.AutoFields(ICustomer).select('email', 'phone')
         return grok.AutoFields(ICustomer).omit(
@@ -728,5 +728,5 @@
 
     def is_requestable(self, action=None):
-        if self.context.state in (REQUESTED, APPROVED):
+        if self.context.state in (REQUESTED, PROVISIONALLY, APPROVED):
             return False
         return True
Index: main/waeup.ikoba/trunk/src/waeup/ikoba/customers/tests/test_browser.py
===================================================================
--- main/waeup.ikoba/trunk/src/waeup/ikoba/customers/tests/test_browser.py	(revision 12524)
+++ main/waeup.ikoba/trunk/src/waeup/ikoba/customers/tests/test_browser.py	(revision 12526)
@@ -407,5 +407,8 @@
         self.browser.getControl("Apply").click()
         self.browser.open(self.trigtrans_path)
-        self.browser.getControl(name="transition").value = ['approve']
+        self.browser.getControl(name="transition").value = ['approve_provisionally']
+        self.browser.getControl("Apply").click()
+        self.browser.open(self.trigtrans_path)
+        self.browser.getControl(name="transition").value = ['approve_finally']
         self.browser.getControl("Apply").click()
         self.browser.open(self.trigtrans_path)
Index: main/waeup.ikoba/trunk/src/waeup/ikoba/customers/utils.py
===================================================================
--- main/waeup.ikoba/trunk/src/waeup/ikoba/customers/utils.py	(revision 12524)
+++ main/waeup.ikoba/trunk/src/waeup/ikoba/customers/utils.py	(revision 12526)
@@ -38,5 +38,5 @@
 from waeup.ikoba.interfaces import (
     STARTED, CREATED, REQUESTED, APPROVED, SUBMITTED, VERIFIED, REJECTED,
-    EXPIRED,
+    EXPIRED, PROVISIONALLY,
     IIkobaUtils, IExtFileStore)
 from waeup.ikoba.customers.interfaces import ICustomersUtils
@@ -290,5 +290,5 @@
     CUSTMANAGE_CUSTOMER_STATES = (STARTED,)
 
-    DOCMANAGE_CUSTOMER_STATES = (REQUESTED, APPROVED,)
+    DOCMANAGE_CUSTOMER_STATES = (REQUESTED, APPROVED, PROVISIONALLY)
 
     DOCMANAGE_DOCUMENT_STATES = (CREATED,)
@@ -303,4 +303,5 @@
         REQUESTED: _('requested'),
         APPROVED: _('approved'),
+        PROVISIONALLY: _('provisionally approved'),
         }
 
Index: main/waeup.ikoba/trunk/src/waeup/ikoba/customers/workflow.py
===================================================================
--- main/waeup.ikoba/trunk/src/waeup/ikoba/customers/workflow.py	(revision 12524)
+++ main/waeup.ikoba/trunk/src/waeup/ikoba/customers/workflow.py	(revision 12526)
@@ -26,5 +26,5 @@
 from waeup.ikoba.interfaces import (
     IObjectHistory, IIkobaWorkflowInfo, IIkobaUtils,
-    STARTED, CREATED, REQUESTED, APPROVED,
+    STARTED, CREATED, REQUESTED, PROVISIONALLY, APPROVED,
     SUBMITTED, VERIFIED, REJECTED, EXPIRED)
 from waeup.ikoba.interfaces import MessageFactory as _
@@ -65,4 +65,18 @@
 
     Transition(
+        transition_id = 'approve_provisionally',
+        title = _('Approve customer provisionally'),
+        msg = _('Customer registration provisionally approved'),
+        source = REQUESTED,
+        destination = PROVISIONALLY),
+
+    Transition(
+        transition_id = 'approve_finally',
+        title = _('Approve finally'),
+        msg = _('Customer registration finally approved'),
+        source = PROVISIONALLY,
+        destination = APPROVED),
+
+    Transition(
         transition_id = 'approve',
         title = _('Approve customer'),
@@ -98,4 +112,18 @@
         source = REQUESTED,
         destination = STARTED),
+
+    Transition(
+        transition_id = 'reset4',
+        title = _('Reset customer'),
+        msg = _('Reset to initial customer state'),
+        source = PROVISIONALLY,
+        destination = STARTED),
+
+    Transition(
+        transition_id = 'reset5',
+        title = _('Reset to requested'),
+        msg = _("Reset to 'requested'"),
+        source = PROVISIONALLY,
+        destination = REQUESTED),
 
     )
