- my %args = ( map({ ( $_ => $source->$_ ) } qw(customer_id taxincluded shippingpoint shipvia notes intnotes salesman_id cusordnumber ordnumber quonumber
- department_id cp_id language_id payment_id delivery_customer_id delivery_vendor_id taxzone_id shipto_id
- globalproject_id transaction_description currency_id delivery_term_id)),
+ if (ref($source) eq 'SL::DB::Order') {
+ @columns = qw(quonumber payment_id delivery_customer_id delivery_vendor_id);
+ @item_columns = qw(subtotal);
+
+ } else {
+ @columns = qw(donumber);
+ }
+
+ my %args = ( map({ ( $_ => $source->$_ ) } qw(customer_id taxincluded shippingpoint shipvia notes intnotes salesman_id cusordnumber ordnumber department_id
+ cp_id language_id taxzone_id shipto_id globalproject_id transaction_description currency_id delivery_term_id), @columns),