From 539daa850d829061bb0901c2851ec6ddf685030e Mon Sep 17 00:00:00 2001 From: Mark Wells Date: Wed, 29 Jun 2016 00:20:58 -0700 Subject: [PATCH] script to set up Suretax customer statuses, #39639 --- bin/set-tax-status | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100755 bin/set-tax-status diff --git a/bin/set-tax-status b/bin/set-tax-status new file mode 100755 index 000000000..d656780d1 --- /dev/null +++ b/bin/set-tax-status @@ -0,0 +1,34 @@ +#!/usr/bin/perl + +use FS::Misc::Getopt; +use FS::cust_main; +use FS::Record qw(qsearch dbh); +use FS::Conf; +getopts(''); + +my $conf = FS::Conf->new; +if ( $conf->config('tax_data_vendor') ne 'suretax' ) { + die "This script is for Suretax only."; +} + +$FS::UID::AutoCommit = 0; +local $FS::cust_main::ignore_expired_card = 1; +local $FS::cust_main::ignore_invalid_card = 1; +local $FS::cust_main::import = 1; + +my %taxstatusnum = map { + $_->taxstatus => $_->taxstatusnum +} qsearch('tax_status', { data_vendor => 'suretax' }); + +foreach my $cust_main (qsearch('cust_main', { taxstatusnum => '' })) { + my $status = length($cust_main->company) ? 'B' : 'R'; + print $cust_main->custnum . "\t" . + $cust_main->name_short . "\t" . + $status . "\n"; + $cust_main->set('taxstatusnum', $taxstatusnum{ $status }); + my $error = $cust_main->replace; + die $error if $error; +} + +warn "Finished.\n"; +dbh->commit; -- 2.11.0