use SL::DB::Helper::Sorted;
 use SL::DB::Helper::Filtered;
 
+use SL::DB::DeliveryOrder::TypeData qw(validate_type);
+
 sub object_class { 'SL::DB::DeliveryOrder' }
 
 __PACKAGE__->make_manager_methods;
 sub type_filter {
   my $class = shift;
   my $type  = lc(shift || '');
+  my $prefix = shift // '';
 
-  return ('!customer_id' => undef) if $type eq 'sales_delivery_order';
-  return ('!vendor_id'   => undef) if $type eq 'purchase_delivery_order';
-
-  die "Unknown type $type";
+  return "${prefix}order_type" => validate_type($type);
 }
 
 sub _sort_spec {