} @{ $items };
 
   @items = grep { $_->qty * 1 } @items if $params{skip_items_zero_qty};
+  @items = grep { $_->qty >=0 } @items if $params{skip_items_negative_qty};
 
   $delivery_order->items(\@items);
 
 C<$source>. This option can be used to override the sorting, to
 exclude certain positions or to add additional ones.
 
+=item C<skip_items_negative_qty>
+
+If trueish then items with a negative quantity are skipped. Items with
+a quantity of 0 are not affected by this option.
+
 =item C<skip_items_zero_qty>
 
 If trueish then items with a quantity of 0 are skipped.
 
   } @{ $items };
 
   @items = grep { $_->qty * 1 } @items if $params{skip_items_zero_qty};
+  @items = grep { $_->qty >=0 } @items if $params{skip_items_negative_qty};
 
   $invoice->invoiceitems(\@items);
 
 C<$source>. This option can be used to override the sorting, to
 exclude certain positions or to add additional ones.
 
+=item C<skip_items_negative_qty>
+
+If trueish then items with a negative quantity are skipped. Items with
+a quantity of 0 are not affected by this option.
+
 =item C<skip_items_zero_qty>
 
 If trueish then items with a quantity of 0 are skipped.