+my $separate = 0; # will change to 1 if any non-default classes have values
+
+my $pkgpart = delete($opt{pkgpart});
+my %curr_values;
+my %pkg_options;
+if ($pkgpart) {
+ my $part_pkg = FS::part_pkg->by_key($pkgpart);
+ %pkg_options = $part_pkg->options;
+ $curr_values{''} = $cgi->param('taxproductnum')
+ || $part_pkg->taxproductnum;
+}
+
+foreach my $usage_class (@classes) {
+ my $classnum = $usage_class->classnum;
+ my $curr_value =
+ $cgi->param("usage_taxproductnum_$classnum")
+ || $pkg_options{"usage_taxproductnum_$classnum"}
+ || '';
+ $curr_values{$classnum} = $curr_value;
+ $separate = 1 if ( length($classnum) and length($curr_value) );
+}
+