summaryrefslogtreecommitdiff
path: root/FS/FS/cust_main_exemption.pm
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2014-11-19 00:12:38 -0800
committerIvan Kohler <ivan@freeside.biz>2014-11-19 00:12:38 -0800
commit933897259d1e64fdc12c612f924db3b039a9ffdf (patch)
tree439f1fa3694bdfa8eb0805e0b76cd3665602cb5f /FS/FS/cust_main_exemption.pm
parent36b23802990dc9220661ce118788893fce71f71d (diff)
option for residential-only requirement for individual tax exemption numbers, RT#32027
Diffstat (limited to 'FS/FS/cust_main_exemption.pm')
-rw-r--r--FS/FS/cust_main_exemption.pm11
1 files changed, 8 insertions, 3 deletions
diff --git a/FS/FS/cust_main_exemption.pm b/FS/FS/cust_main_exemption.pm
index 6492e22..4fe6b71 100644
--- a/FS/FS/cust_main_exemption.pm
+++ b/FS/FS/cust_main_exemption.pm
@@ -115,9 +115,14 @@ sub check {
return $error if $error;
my $conf = new FS::Conf;
- if ( ! $self->exempt_number && $conf->exists('tax-cust_exempt-groups-require_individual_nums') ) {
- return 'Tax exemption number required for '. $self->taxname. ' exemption';
- }
+ return 'Tax exemption number required for '. $self->taxname. ' exemption'
+ if ! $self->exempt_number
+ && ( $conf->exists('tax-cust_exempt-groups-require_individual_nums')
+ || $conf->config('tax-cust_exempt-groups-num_req') eq 'all'
+ || ( $conf->config('tax-cust_exempt-groups-num_req') eq 'residential'
+ && ! $self->cust_main->company
+ )
+ );
$self->SUPER::check;
}