sellprice_adjustment_type => 'percent',
                        article_number_policy     => 'update_prices',
                        shoparticle_if_missing    => '0',
-                       parts_type                => 'part',
+                       part_type                 => 'part',
                        default_buchungsgruppe    => ($bugru ? $bugru->id : undef),
                        apply_buchungsgruppe      => 'all',
                       );
 
   return { map { ( $_ => $self->controller->profile->get($_) ) } qw(apply_buchungsgruppe default_buchungsgruppe article_number_policy
                                                                     sellprice_places sellprice_adjustment sellprice_adjustment_type
-                                                                    shoparticle_if_missing parts_type default_unit) };
+                                                                    shoparticle_if_missing part_type default_unit) };
 }
 
 sub init_all_cvar_configs {
   } continue {
     $i++;
   }
-  $self->add_columns(qw(type)) if $self->settings->{parts_type} eq 'mixed';
+
+  $self->add_columns(qw(part_type)) if $self->settings->{part_type} eq 'mixed';
   $self->add_columns(qw(buchungsgruppen_id unit));
   $self->add_columns(map { "${_}_id" } grep { exists $self->controller->data->[0]->{raw_data}->{$_} } qw (price_factor payment partsgroup warehouse bin));
   $self->add_columns(qw(shop)) if $self->settings->{shoparticle_if_missing};
 sub check_type {
   my ($self, $entry) = @_;
 
-  my $type = $self->settings->{parts_type};
+  my $type = $self->settings->{part_type};
 
   if ($type eq 'mixed' && $entry->{raw_data}->{type}) {
-    $type = $entry->{raw_data}->{type} =~ m/^p/i ? 'part'
-          : $entry->{raw_data}->{type} =~ m/^s/i ? 'service'
-          : $entry->{raw_data}->{type} =~ m/^a/i ? 'assembly'
-          :                                        undef;
+    $type = $entry->{raw_data}->{part_type} =~ m/^p/i ? 'part'
+          : $entry->{raw_data}->{part_type} =~ m/^s/i ? 'service'
+          : $entry->{raw_data}->{part_type} =~ m/^a/i ? 'assembly'
+          : $entry->{raw_data}->{part_type} =~ m/^assor/i ? 'assortment'
+          : undef;
   }
 
   # when saving income_accno_id or expense_accno_id use ids from the selected
 
   #   "settings.apply_buchungsgruppe": Buchungsgruppe wo anwenden:
   #   "never", "all", "missing"
 
-  #   "settings.parts_type": Artikeltyp: "part", "service", "mixed"
+  #   "settings.part_type": Artikeltyp: "part", "service", "mixed"
 
   #   "settings.article_number_policy": Artikel mit existierender
   #   Artikelnummer: "update_prices", "insert_new"
     -F 'settings.default_buchungsgruppe=395' \
     -F 'settings.duplicates=no_check' \
     -F 'settings.numberformat=1.000,00' \
-    -F 'settings.parts_type=part' \
+    -F 'settings.part_type=part' \
     -F 'settings.sellprice_adjustment=0' \
     -F 'settings.sellprice_adjustment_type=percent' \
     -F 'settings.sellprice_places=2' \
 
                        sellprice_adjustment_type => 'percent',
                        article_number_policy     => 'update_prices',
                        shoparticle_if_missing    => '0',
-                       parts_type                => 'part',
+                       part_type                 => 'part',
                        default_buchungsgruppe    => ($bugru ? $bugru->id : undef),
                        apply_buchungsgruppe      => 'all',
                 };
                        sellprice_adjustment_type => 'percent',
                        article_number_policy     => 'update_parts',
                        shoparticle_if_missing    => '0',
-                       parts_type                => 'part',
+                       part_type                 => 'part',
                        default_buchungsgruppe    => ($bugru ? $bugru->id : undef),
                        apply_buchungsgruppe      => 'missing',
                        default_unit              => 'Stck',
 
                         'charset' => undef,
                         'apply_buchungsgruppe' => undef,
                         'full_preview' => undef,
-                        'parts_type' => undef,
+                        'part_type' => undef,
                         'default_unit' => undef,
                         'default_buchungsgruppe' => undef,
                         'duplicates' => undef,
                         'charset' => 'UTF-8',
                         'apply_buchungsgruppe' => 'all',
                         'full_preview' => '0',
-                        'parts_type' => 'part',
+                        'part_type' => 'part',
                         'default_unit' => 'g',
                         'default_buchungsgruppe' => '815',
                         'duplicates' => 'no_check',
 
 
 0
 -----------------------------23281168279961
-Content-Disposition: form-data; name="settings.parts_type"
+Content-Disposition: form-data; name="settings.part_type"
 
 part
 -----------------------------23281168279961
 
  <th align="right">[%- LxERP.t8('Type') %]:</th>
  <td colspan="10">
   [% opts = [ [ 'part', LxERP.t8('Parts') ], [ 'service', LxERP.t8('Services') ], [ 'mixed', LxERP.t8('Mixed (requires column "type")') ] ] %]
-  [% L.select_tag('settings.parts_type', opts, default = SELF.profile.get('parts_type'), style = 'width: 300px') %]
+  [% L.select_tag('settings.part_type', opts, default = SELF.profile.get('part_type'), style = 'width: 300px') %]
  </td>
 </tr>