-    $form->{"partsgroup_${idx}"} = $item->part->partsgroup->partsgroup if _has($item->part, 'partsgroup_id');
-    _copy($item->part,    $form, '',        "_${idx}", 0,               qw(id partnumber weight));
-    _copy($item->part,    $form, '',        "_${idx}", 0,               qw(listprice));
-    _copy($item,          $form, '',        "_${idx}", 0,               qw(description project_id ship serialnumber pricegroup_id ordnumber donumber cusordnumber unit
-                                                                           subtotal longdescription price_factor_id marge_price_factor approved_sellprice reqdate transdate));
-    _copy($item,          $form, '',        "_${idx}", $format_noround, qw(qty sellprice));
-    _copy($item,          $form, '',        "_${idx}", $format_amounts, qw(marge_total marge_percent lastcost));
-    _copy($item,          $form, '',        "_${idx}", $format_percent, qw(discount));
-    _copy($item->project, $form, 'project', "_${idx}", 0,               qw(number description)) if _has($item, 'project_id');
-
-    _copy_custom_variables($item, $form, 'ic_cvar_', "_${idx}");
+    $form->{"std_warehouse_${idx}"} = $item->part->warehouse->description if _has($item->part, 'warehouse_id');
+    $form->{"std_bin_${idx}"}       = $item->part->bin->description       if _has($item->part, 'bin_id');
+    $form->{"partsgroup_${idx}"}    = $item->part->partsgroup->partsgroup if _has($item->part, 'partsgroup_id');
+    _copy($item,          $form, "${items_name}_", "_${idx}", 0,               qw(id)) if $items_name;
+    # TODO: is part_type correct here? Do we need to set part_type as default?
+    _copy($item->part,    $form, '',               "_${idx}", 0,               qw(id partnumber weight part_type));
+    _copy($item->part,    $form, '',               "_${idx}", 0,               qw(listprice));
+    _copy($item,          $form, '',               "_${idx}", 0,               qw(description project_id ship serialnumber pricegroup_id ordnumber donumber cusordnumber unit
+                                                                                  subtotal longdescription price_factor_id marge_price_factor reqdate transdate
+                                                                                  active_price_source active_discount_source optional));
+    _copy($item,          $form, '',              "_${idx}", $format_noround, qw(qty sellprice fxsellprice));
+    _copy($item,          $form, '',              "_${idx}", $format_amounts, qw(marge_total marge_percent lastcost));
+    _copy($item,          $form, '',              "_${idx}", $format_percent, qw(discount));
+    _copy($item->project, $form, 'project',       "_${idx}", 0,               qw(number description)) if _has($item, 'project_id');
+
+    _copy_custom_variables($item, $form, 'ic_cvar_', "_${idx}", $cvar_validity{items}->{ $item->parts_id });