tax engine refactoring for Avalara and Billsoft tax vendors, #25718
[freeside.git] / FS / FS / cust_class.pm
index a811be7..fdc92ba 100644 (file)
@@ -1,8 +1,7 @@
 package FS::cust_class;
 package FS::cust_class;
+use base qw( FS::class_Common );
 
 use strict;
 
 use strict;
-use base qw( FS::class_Common );
-use FS::cust_main;
 use FS::cust_category;
 
 =head1 NAME
 use FS::cust_category;
 
 =head1 NAME
@@ -44,6 +43,11 @@ Text name of this customer class
 
 Number of associated cust_category (see L<FS::cust_category>)
 
 
 Number of associated cust_category (see L<FS::cust_category>)
 
+=item tax
+
+Tax exempt flag, empty or 'Y'.  Used when the cust_class-tax_exempt
+configuration setting is turned on.
+
 =item disabled
 
 Disabled flag, empty or 'Y'
 =item disabled
 
 Disabled flag, empty or 'Y'
@@ -86,9 +90,17 @@ Checks all fields to make sure this is a valid customer class.  If there is
 an error, returns the error, otherwise returns false.  Called by the insert
 and replace methods.
 
 an error, returns the error, otherwise returns false.  Called by the insert
 and replace methods.
 
-=item cust_category
+=cut
 
 
-=item category
+sub check {
+  my $self = shift;
+
+     $self->ut_enum('tax', [ '', 'Y' ])
+  || $self->SUPER::check;
+
+}
+
+=item cust_category
 
 Returns the cust_category record associated with this class, or false if there
 is none.
 
 Returns the cust_category record associated with this class, or false if there
 is none.