summaryrefslogtreecommitdiff
path: root/FS/FS/tax_class.pm
diff options
context:
space:
mode:
authorMark Wells <mark@freeside.biz>2014-10-31 15:45:50 -0700
committerMark Wells <mark@freeside.biz>2014-10-31 15:45:50 -0700
commit7516e3da0f17eeecba27219ef96a8b5f46af2083 (patch)
tree772fe13627910a7d0774871633697f2a4d1c6faf /FS/FS/tax_class.pm
parentf31a9212ab3835b815aa87a86cca3b19babcaaff (diff)
tax engine refactoring for Avalara and Billsoft tax vendors, #25718
Diffstat (limited to 'FS/FS/tax_class.pm')
-rw-r--r--FS/FS/tax_class.pm31
1 files changed, 18 insertions, 13 deletions
diff --git a/FS/FS/tax_class.pm b/FS/FS/tax_class.pm
index 04e9d37..904b575 100644
--- a/FS/FS/tax_class.pm
+++ b/FS/FS/tax_class.pm
@@ -31,26 +31,24 @@ FS::tax_class - Object methods for tax_class records
=head1 DESCRIPTION
-An FS::tax_class object represents a tax class. FS::tax_class
-inherits from FS::Record. The following fields are currently supported:
+An FS::tax_class object represents a class of tax definitions. FS::tax_class
+inherits from FS::Record.
-=over 4
-
-=item taxclassnum
-
-Primary key
+This should not be confused with L<FS::part_pkg_taxclass>, which defines tax
+classes for I<package> definitions. The two kinds of tax classes are
+completely unrelated.
-=item data_vendor
+The following fields are currently supported:
-Vendor of the tax data
+=over 4
-=item taxclass
+=item taxclassnum - Primary key
-Tax class
+=item data_vendor - Vendor of the tax data ('cch' or 'billsoft')
-=item description
+=item taxclass - The identifier used in the tax tables for this class.
-Human readable description of the tax class
+=item description - Human readable description of the tax class.
=back
@@ -321,6 +319,13 @@ sub batch_import {
'';
};
+ } elsif ( $format eq 'billsoft' ) {
+ # Billsoft doesn't actually have a format for this; it's just my own
+ # invention to have a way to load the list of tax classes from the
+ # documentation.
+ @fields = qw( taxclass description );
+ $endhook = $hook = sub {};
+
} elsif ( $format eq 'extended' ) {
die "unimplemented\n";
@fields = qw( );