There is a problem with the current version. This will be fixed on the next release, in the mean time, here is what you can do to fix it:
in www/administrator/components/com_awocoupon/helpers/estore/estorecouponhandler.php around line 2622 is this:
<?php
if($coupon_row->function_type=='shipping' && $coupon_row->discount_type=='specific') {
$r_err = $this->couponvalidate_include_exclude( $coupon_row, array(
'asset_mode'=>'exclude',
'asset_type'=>$asset_type,
'valid_list'=>$coupon_row->{$list_name},
'error_include'=>'errShippingExclList',
'error_exclude'=>'errShippingExclList',
)
);
if(!empty($r_err)) return $r_err;
}
?>
Change it to this
<?php
if($coupon_row->function_type=='shipping' && $coupon_row->discount_type=='specific') {
$r_err = '';
if(empty($coupon_row->params->{$asset_mode_name}) || $coupon_row->params->{$asset_mode_name}=='include') {
$is_not_in_list = false;
foreach($coupon_row->cart_items as $row) {
if (
($asset_type=='product' && !isset($coupon_row->{$list_name}[$row[$asset_id_name]]))
||
($asset_type!='product' && !isset($coupon_row->{$list_name}[@$coupon_row->cart_items_def[$row['product_id']][$asset_type]]))
) {
$is_not_in_list = true;
break;
}
}
if($is_not_in_list) {
// (exclude) all on list
$r_err = 'err'.ucfirst(strtolower($asset_type)).'InclList';
}
}
elseif($coupon_row->params->{$asset_mode_name}=='exclude') {
$is_in_list = false;
foreach($coupon_row->cart_items as $row) {
if (
($asset_type=='product' && isset($coupon_row->{$list_name}[$row[$asset_id_name]]))
||
($asset_type!='product' && isset($coupon_row->{$list_name}[@$coupon_row->cart_items_def[$row['product_id']][$asset_type]]))
) {
$is_in_list = true;
break;
}
}
if($is_in_list) {
// (exclude) all on list
$r_err = 'err'.ucfirst(strtolower($asset_type)).'ExclList';
}
}
if(!empty($r_err)) return $r_err;
}
?>
That should do it.