diff --git a/bt5/erp5_banking_core/SkinTemplateItem/portal_skins/erp5_banking_core/CashDetail_saveFastInputLine.xml b/bt5/erp5_banking_core/SkinTemplateItem/portal_skins/erp5_banking_core/CashDetail_saveFastInputLine.xml
index 92cffdbda01c8c0fc5f0b4764e1f12a114be6d26..e0245d8554096d31ff84af6f5ef8c19d3266547f 100644
--- a/bt5/erp5_banking_core/SkinTemplateItem/portal_skins/erp5_banking_core/CashDetail_saveFastInputLine.xml
+++ b/bt5/erp5_banking_core/SkinTemplateItem/portal_skins/erp5_banking_core/CashDetail_saveFastInputLine.xml
@@ -95,7 +95,7 @@ base_category_list = (\'emission_letter\', \'cash_status\', \'variation\')\n
 per_resource_dict = {}\n
 \n
 # remove previous line\n
-old_line = [x.getObject() for x in context.searchFolder(portal_type=[\'Cash Delivery Line\',])]\n
+old_line = [x.getObject() for x in context.searchFolder(portal_type=[line_portal_type,])]\n
 if len(old_line)>0:\n
   for object_list in old_line:\n
     context.deleteContent(object_list.getId())\n
@@ -110,15 +110,33 @@ for line in listbox:\n
       # get variation for the cell\n
       if column_base_category == \'cash_status\':\n
         movement[\'cash_status\'] =  "cash_status/%s" %cash_status_list[counter-1]\n
-        movement[\'emission_letter\'] = "emission_letter/%s" %line[\'emission_letter\']\n
-        movement[\'variation\'] = "variation/%s" %line[\'variation\']\n
+        if line.has_key(\'emission_letter\'):\n
+          movement[\'emission_letter\'] = "emission_letter/%s" %line[\'emission_letter\']\n
+        else:\n
+          movement[\'emission_letter\'] = "emission_letter/not_defined" %line[\'emission_letter\']\n
+        if line.has_key(\'variation\'):\n
+          movement[\'variation\'] = "variation/%s" %line[\'variation\']\n
+        else:\n
+          movement[\'variation\'] = "variation/not_defined"\n
       elif column_base_category == \'emission_letter\':\n
-        movement[\'cash_status\'] =  "cash_status/%s" %line[\'cash_status\']\n
+        if line.has_key(\'cash_status\'):\n
+          movement[\'cash_status\'] =  "cash_status/%s" %line[\'cash_status\']\n
+        else:\n
+          movement[\'cash_status\'] =  "cash_status/not_defined"\n
         movement[\'emission_letter\'] = "emission_letter/%s" %emission_letter_list[counter-1]\n
-        movement[\'variation\'] = "variation/%s" %line[\'variation\']\n
+        if line.has_key(\'variation\'):\n
+          movement[\'variation\'] = "variation/%s" %line[\'variation\']\n
+        else:\n
+          movement[\'variation\'] = "variation/not_defined"\n
       else:\n
-        movement[\'cash_status\'] =  "cash_status/%s" %line[\'cash_status\']\n
-        movement[\'emission_letter\'] = "emission_letter/%s" %line[\'emission_letter\']\n
+        if line.has_key(\'cash_status\'):\n
+          movement[\'cash_status\'] =  "cash_status/%s" %line[\'cash_status\']\n
+        else:\n
+          movement[\'cash_status\'] =  "cash_status/not_defined"\n
+        if line.has_key(\'emission_letter\'):\n
+          movement[\'emission_letter\'] = "emission_letter/%s" %line[\'emission_letter\']\n
+        else:\n
+          movement[\'emission_letter\'] = "emission_letter/not_defined"\n
         movement[\'variation\'] = "variation/%s" %variation_list[counter-1]\n
       # generate a key based on variation\n
       # this will allow us to check if there is multiple line for the same resource + variation\n
diff --git a/bt5/erp5_banking_core/bt/change_log b/bt5/erp5_banking_core/bt/change_log
index c45d54cb0e39b49184dc48095530d0b4bf27e52d..8e14e4fc84535d5b1d1dd111ccdf1bca61a391dc 100644
--- a/bt5/erp5_banking_core/bt/change_log
+++ b/bt5/erp5_banking_core/bt/change_log
@@ -1,3 +1,6 @@
+2006-06-06 aurel
+* fix delete of objects and bug when using currency with not all variation in fast input save script
+
 2006-06-05 aurel
 * complete rewrite of the script that save the fast input for delivery