diff -urpN salesforce_api/js/sf_fieldmap_options.js new_salesforce_api/js/sf_fieldmap_options.js
--- salesforce_api/js/sf_fieldmap_options.js	1970-01-01 01:00:00.000000000 +0100
+++ new_salesforce_api/js/sf_fieldmap_options.js	2009-08-12 16:25:14.000000000 +0100
@@ -0,0 +1,12 @@
+$(document).ready(function() {
+  $(".hidden").hide();
+});
+
+$.fn.sf_fieldmap_options = function(fieldname) { 
+    var fielddiv = '#' + fieldname + '-fixed-hidden';
+    if($(this).val() == 'fixed')  {
+      $(fielddiv).show();
+    } else  {
+      $(fielddiv).hide(); 
+    }
+}
\ No newline at end of file
diff -urpN salesforce_api/salesforce_api.admin.css new_salesforce_api/salesforce_api.admin.css
--- salesforce_api/salesforce_api.admin.css	2009-04-25 06:59:20.000000000 +0100
+++ new_salesforce_api/salesforce_api.admin.css	2009-08-12 12:30:21.000000000 +0100
@@ -3,3 +3,15 @@
 .source-cell label {
   display: none;
 }
+
+.target-cell {
+  width: 300px;
+}
+
+.fieldmap-fixed-text, .form-item {
+  display:inline;
+}
+
+.fieldmap-fixed-text label  {
+  display: inline;
+}
\ No newline at end of file
diff -urpN salesforce_api/salesforce_api.admin.inc new_salesforce_api/salesforce_api.admin.inc
--- salesforce_api/salesforce_api.admin.inc	2009-08-11 15:27:40.000000000 +0100
+++ new_salesforce_api/salesforce_api.admin.inc	2009-08-12 14:17:05.000000000 +0100
@@ -281,6 +281,10 @@ function salesforce_api_fieldmap_delete_
 
 // Displays the edit form for adding field associations to a fieldmap.
 function salesforce_api_fieldmap_edit_form(&$form_state, $fieldmap) {
+  
+  $path = drupal_get_path("module", "salesforce_api");
+  drupal_add_js($path ."/js/sf_fieldmap_options.js");  
+  
   // Load the fieldmap from the database.
   $map = salesforce_api_fieldmap_load($fieldmap);
 
@@ -349,16 +353,33 @@ function salesforce_api_fieldmap_edit_fo
     $row = array(
       'target' => array('#value' => $value['label'] . $required),
     );
+    
+    // adding fixed option
+    $options = salesforce_api_fieldmap_field_options($source);
+    $options['fixed'] = t('Fixed value');
+    $fixed = (isset($map['fields'][$key]['type']) && $map['fields'][$key]['type'] == 'fixed') ? TRUE : FALSE;
+    $style = $fixed ? '' : '  hidden';
 
     // Add the select list for the associated target field.
     $row['source'][$key] = array(
       '#type' => 'select',
       '#title' => $value['label'],
-      '#options' => salesforce_api_fieldmap_field_options($source),
-      '#default_value' => $map['fields'][$key],
+      '#options' => $options,
+      '#default_value' => $fixed ? $map['fields'][$key]['type'] : $map['fields'][$key],
       '#required' => $type == 'required',
+      '#attributes' => array('onchange' => 'javascript:$(this).sf_fieldmap_options("'.$key.'")')
     );
-
+    $row['source'][$key ."_fixed"] = array(
+      '#type' => 'textfield',
+      '#title' => t('fixed value'),
+      '#default_value' => $fixed ? $map['fields'][$key]['value'] : '',
+      '#size' => 20,
+      '#maxlength' => 128,
+      '#required' => FALSE,
+      '#prefix' => '<div id="'. $key .'-fixed-hidden" class="fieldmap-fixed-text'. $style .'">',
+      '#suffix' => '</div>'
+    );
+    
     // Add the row to the correct rows array.
     $rows[$type][] = $row;
   }
@@ -392,8 +413,11 @@ function salesforce_api_fieldmap_edit_fo
 
   // Loop through all the fields on the object.
   foreach (array_keys($object['fields']) as $field) {
+    if ($form_state['values'][$field] == 'fixed') {
+       if(!empty($form_state['values'][$field .'_fixed'])) $map['fields'][$field] = array("type" => 'fixed', "value" => $form_state['values'][$field .'_fixed']);
+    }    
     // If a field has been mapped to this field on the form...
-    if (!empty($form_state['values'][$field])) {
+    elseif (!empty($form_state['values'][$field])) {
       // Add the association to the fieldmap's fields array.
       $map['fields'][$field] = $form_state['values'][$field];
     }
@@ -422,7 +446,7 @@ function theme_salesforce_api_fieldmap_e
 
   foreach (element_children($form['rows']) as $element) {
     $rows[] = array(
-      drupal_render($form['rows'][$element]['target']),
+      array('data' => drupal_render($form['rows'][$element]['target']), 'class' => 'target-cell'),
       array('data' => drupal_render($form['rows'][$element]['source']), 'class' => 'source-cell'),
     );
   }
diff -urpN salesforce_api/salesforce_api.module new_salesforce_api/salesforce_api.module
--- salesforce_api/salesforce_api.module	2009-08-11 16:09:12.000000000 +0100
+++ new_salesforce_api/salesforce_api.module	2009-08-12 12:39:59.000000000 +0100
@@ -552,8 +552,12 @@ function salesforce_api_fieldmap_export_
 
   // Loop through the fields on the fieldmap.
   foreach ($map['fields'] as $key => $value) {
+    // allow fixed values
+    if (is_array($map['fields'][$key]) && $map['fields'][$key]['type'] == 'fixed' && !empty($map['fields'][$key]['value']))  {
+      $object->$key = $map['fields'][$key]['value'];
+    }    
     // If a handler is specified for retrieving a value for the source field...
-    if (isset($source_object['fields'][$value]['export'])) {
+    elseif (isset($source_object['fields'][$value]['export'])) {
       // Get the value for the field from the handler function.
       $object->$key = $source_object['fields'][$value]['export']($source, $value);
     }
