From: Mark Wells <mark@freeside.biz>
Date: Sat, 4 Jun 2016 00:45:04 +0000 (-0700)
Subject: calculate unitrecur on sql_external packages with quantity details, #40558
X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=64427efc6ccc314e525b310c02b39a6f776b99f4

calculate unitrecur on sql_external packages with quantity details, #40558
---

diff --git a/FS/FS/cust_main/Billing.pm b/FS/FS/cust_main/Billing.pm
index 77529562f..7cb3837f1 100644
--- a/FS/FS/cust_main/Billing.pm
+++ b/FS/FS/cust_main/Billing.pm
@@ -1361,6 +1361,7 @@ sub _make_lines {
 
     if ( $param{'override_quantity'} ) {
       $override_quantity = $param{'override_quantity'};
+      $unitrecur = $recur / $override_quantity;
     }
 
     if ( $increment_next_bill ) {
diff --git a/FS/FS/part_pkg/sql_external.pm b/FS/FS/part_pkg/sql_external.pm
index 48d89a0e3..38bd8d77c 100644
--- a/FS/FS/part_pkg/sql_external.pm
+++ b/FS/FS/part_pkg/sql_external.pm
@@ -96,8 +96,7 @@ sub calc_recur {
             die "sql_external query returned non-numeric amount: $row->{amount}";
           }
         }
-        if (exists $row->{quantity}) {
-          $quantity ||= 0;
+        if (defined $row->{quantity}) {
           if ( $row->{quantity} eq '' ) {
             # treat as zero
           } elsif ( $row->{quantity} =~ /^\d+$/ ) {