diff options
author | Ivan Kohler <ivan@freeside.biz> | 2018-02-09 19:09:57 -0800 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2018-02-09 19:09:57 -0800 |
commit | 4b67c9f8cfc9f944b7758e7e69ac1f9f188ffa47 (patch) | |
tree | c8ddda46eadb745d66e4c8082f2f92a7d07c4271 /bin | |
parent | 5847b9f9d69019e8c254da74b484e2b55f1507a1 (diff) |
miss you, mark
Diffstat (limited to 'bin')
-rw-r--r-- | bin/update-rates | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/bin/update-rates b/bin/update-rates new file mode 100644 index 0000000..b16fc7f --- /dev/null +++ b/bin/update-rates @@ -0,0 +1,42 @@ +#!/usr/bin/perl + +use FS::UID 'adminsuidsetup'; +use FS::Record qw(dbh qsearch qsearchs); +use FS::tax_class; +use FS::tax_rate; +use strict; + +adminsuidsetup('ivan'); +$FS::UID::AutoCommit = 0; +my @location = ( geocode => { op => 'like', value => '24%' } ); + +# convert TELECOMM RELAY SYSTEMS SURCHARGE:CENTREX LINES +# to TELECOMM RELAY SYSTEMS SURCHARGE:TELECOMMUNICATIONS +my $old_taxclassnum = qsearchs('tax_class', { 'taxclass' => '09:35' })->taxclassnum; +my $new_taxclassnum = qsearchs('tax_class', { 'taxclass' => '09:00' })->taxclassnum; +my $error; + +my @bindings = qsearch('part_pkg_taxrate', { + 'taxclassnum' => $old_taxclassnum, + @location +}); +print "remapping ".scalar(@bindings)." tax rate bindings.\n"; +foreach my $part_pkg_taxrate (@bindings) { + $part_pkg_taxrate->set('taxclassnum', $new_taxclassnum); + $error = $part_pkg_taxrate->replace; + die $part_pkg_taxrate->pkgtaxratenum .": $error" if $error; +} + +# change the fee to 0.05. +my @tax_rates = qsearch('tax_rate', { + taxclassnum => $new_taxclassnum, + @location +}); +print "changing rate on ".scalar(@tax_rates)." tax rate definitions.\n"; +foreach my $tax_rate (@tax_rates) { + $tax_rate->set('fee', 0.05); + my $error = $tax_rate->replace; + die $tax_rate->taxnum . ": $error\n" if $error; +} + +dbh->commit; |