Update values of multiple value field programmatically? (Rules action)
DOH! - Seconds after adding my previous edit i realised what was wrong. Below the final code :)

function example_rules_action_info() {
  $actions = array();

  $actions['commerce_set_product_order_ref'] = array(
    'label' =&gt; t('Link an order to the purchased product'),
    'group' =&gt; t('Custom group'),
    'parameter' =&gt; array(
      'commerce_line_item' =&gt; array(
        'type' =&gt; 'commerce_line_item',
        'label' =&gt; t('Line item'),
      ),
    ),
  );

  return $actions;
}


function commerce_set_product_order_ref($line_item, $order) {
  if (in_array($line_item-&gt;type, commerce_product_line_item_types())) {

    $sku = $line_item-&gt;line_item_label;
    $product = commerce_product_load_by_sku($sku);
    $orderID = $line_item-&gt;order_id;
    $wrapper = entity_metadata_wrapper('commerce_product', $product);
    $curr_list = $wrapper-&gt;field_order_reference-&gt;value();
    $new_ref = commerce_order_load($orderID);

    if (!$curr_list){
        $curr_list = array();
    }

    $curr_list[] = $new_ref;
    $wrapper-&gt;field_order_reference-&gt;set($curr_list);

    $result = $wrapper-&gt;save();

  }
}