[freeside-commits] branch FREESIDE_3_BRANCH updated. 258da3c96483b63102feed64f4240d7fe270839e

Mark Wells mark at 420.am
Tue Sep 20 13:19:08 PDT 2016


The branch, FREESIDE_3_BRANCH has been updated
       via  258da3c96483b63102feed64f4240d7fe270839e (commit)
      from  c9c285c2c5b01a8eb1318f1954629379e31318d2 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 258da3c96483b63102feed64f4240d7fe270839e
Author: Mark Wells <mark at freeside.biz>
Date:   Tue Sep 20 13:17:05 2016 -0700

    Revert "when crediting unused time on packages, also credit any tax that was charged, #42729"
    
    This reverts commit c9c285c2c5b01a8eb1318f1954629379e31318d2.

diff --git a/FS/FS/part_pkg/flat.pm b/FS/FS/part_pkg/flat.pm
index f2f1b3f..e10094e 100644
--- a/FS/FS/part_pkg/flat.pm
+++ b/FS/FS/part_pkg/flat.pm
@@ -264,22 +264,8 @@ sub calc_remain {
       $amount = $amount * ($edate - $time) / ($edate - $cust_bill_pkg->sdate);
     }
 
-    # calculate tax adjustment. we're not doing full credit_lineitems here
-    # (e.g. not applying the credit to the past billing of this package)
-    # so just include the adjustment in the source record with the rest
-    # of the credit
-    my %tax_adjust = FS::cust_credit->calculate_tax_adjustment(
-      'custnum'     => $cust_pkg->custnum,
-      'billpkgnums' => [ $cust_bill_pkg->billpkgnum ],
-      'setuprecurs' => [ 'recur' ],
-      'amounts'     => [ $amount ],
-    );
-    $amount += $tax_adjust{taxtotal};
-
-    $amount = sprintf('%.2f', $amount); # ensure that amounts add up right
     $credit += $amount;
-  } # foreach $cust_bill_pkg
-
+  } 
   sprintf('%.2f', $credit);
 
 }
diff --git a/FS/t/suite/09-sales_tax_credit_change.t b/FS/t/suite/09-sales_tax_credit_change.t
deleted file mode 100755
index 5af7ae0..0000000
--- a/FS/t/suite/09-sales_tax_credit_change.t
+++ /dev/null
@@ -1,90 +0,0 @@
-#!/usr/bin/perl
-
-=head2 DESCRIPTION
-
-Tests crediting a package for unused time when it has sales tax. See
-RT#42729.
-
-The package will be billed for $30.00 with 10% tax, then credited for 1/3
-of the billing period.
-
-Correct: The credit amount will be $11.00.
-
-=cut
-
-use strict;
-use Test::More tests => 2;
-use FS::Test;
-use Date::Parse 'str2time';
-use Date::Format 'time2str';
-use Test::MockTime qw(set_fixed_time);
-use FS::cust_main;
-use FS::cust_pkg;
-use FS::part_pkg;
-use FS::Conf;
-my $FS= FS::Test->new;
-
-# Create a package def
-my $error;
-my $part_pkg = FS::part_pkg->new({
-  pkg     => 'Tax credit test',
-  plan    => 'flat',
-  freq    => '1',
-  agentnum => 1,
-});
-my %options = (
-  'setup_fee' => 0,
-  'recur_fee' => 30.00,
-  'recur_temporality' => 'upcoming',
-  'unused_credit_cancel' => '1',
-);
-$error = $part_pkg->insert(options => \%options);
-BAIL_OUT("can't create package def: $error") if $error;
-
-# Create the customer and order a package
-my $cust = $FS->new_customer('Credit unused with taxes');
-$cust->bill_location->state('AK');
-$error = $cust->insert;
-BAIL_OUT("can't create test customer: $error") if $error;
-
-my $pkg = FS::cust_pkg->new({ pkgpart => $part_pkg->pkgpart });
-$error = $cust->order_pkg({ cust_pkg => $pkg });
-BAIL_OUT("can't create test charges: $error") if $error;
-
-# Create tax def
-my $cust_main_county = FS::cust_main_county->new({
-  'country'       => 'US',
-  'state'         => 'AK',
-  'exempt_amount' => 0.00,
-  'taxname'       => 'Test tax',
-  'tax'           => '10',
-});
-$error = $cust_main_county->insert;
-BAIL_OUT("can't create tax definitions: $error") if $error;
-
-# Bill the customer on Apr 1
-# (April because it's 30 days, and also doesn't have DST)
-set_fixed_time(str2time('2016-04-01 00:00'));
-my @return;
-$error = $cust->bill( return_bill => \@return );
-BAIL_OUT("can't bill charges: $error") if $error;
-my $cust_bill = $return[0] or BAIL_OUT("no invoice generated");
-
-# Check amount
-my ($tax_item) = grep { $_->itemdesc eq $cust_main_county->taxname }
-                $cust_bill->cust_bill_pkg;
-ok ( $tax_item && $tax_item->setup == 3.00, "Tax charged = 3.00" );
-
-# sync
-$pkg = $pkg->replace_old;
-
-# Now cancel with 1/3 of the period left
-set_fixed_time(str2time('2016-04-21 00:00'));
-$error = $pkg->cancel();
-BAIL_OUT("can't cancel package: $error") if $error;
-
-# and find the credit
-my ($credit) = $cust->cust_credit
-  or BAIL_OUT("no credit was created");
-ok ( $credit->amount == 11.00, "Credited 1/3 of package charge with tax" )
-  or diag("is ". $credit->amount );

-----------------------------------------------------------------------

Summary of changes:
 FS/FS/part_pkg/flat.pm                  |   16 +-----
 FS/t/suite/09-sales_tax_credit_change.t |   90 -------------------------------
 2 files changed, 1 insertion(+), 105 deletions(-)
 delete mode 100755 FS/t/suite/09-sales_tax_credit_change.t




More information about the freeside-commits mailing list