diff options
author | ivan <ivan> | 2003-12-23 00:41:34 +0000 |
---|---|---|
committer | ivan <ivan> | 2003-12-23 00:41:34 +0000 |
commit | 44a5b8ae93bac552a5098522f7b73cb82b7b7e30 (patch) | |
tree | 02f3ed10ab8fbef7032c25b25f480ec71140aa87 | |
parent | 3e334bcc6999b65067251efe54ca2b68ddd7b38a (diff) |
allow_negative_charges config option
-rw-r--r-- | FS/FS/Conf.pm | 7 | ||||
-rw-r--r-- | FS/FS/cust_main.pm | 8 |
2 files changed, 11 insertions, 4 deletions
diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm index ac638f875..858dbbb9a 100644 --- a/FS/FS/Conf.pm +++ b/FS/FS/Conf.pm @@ -1151,6 +1151,13 @@ httemplate/docs/config.html ], }, + { + 'key' => 'allow_negative_charges', + 'section' => 'billing', + 'description' => 'Allow negative charges. Normally not used unless importing data from a legacy system that requires this.', + 'type' => 'checkbox', + }, + ); 1; diff --git a/FS/FS/cust_main.pm b/FS/FS/cust_main.pm index 57fe3b851..417937a24 100644 --- a/FS/FS/cust_main.pm +++ b/FS/FS/cust_main.pm @@ -1183,15 +1183,15 @@ sub bill { } $setup = sprintf( "%.2f", $setup ); $recur = sprintf( "%.2f", $recur ); - if ( $setup < 0 ) { + if ( $setup < 0 && ! $conf->exists('allow_negative_charges') ) { $dbh->rollback if $oldAutoCommit; return "negative setup $setup for pkgnum ". $cust_pkg->pkgnum; } - if ( $recur < 0 ) { + if ( $recur < 0 && ! $conf->exists('allow_negative_charges') ) { $dbh->rollback if $oldAutoCommit; return "negative recur $recur for pkgnum ". $cust_pkg->pkgnum; } - if ( $setup > 0 || $recur > 0 ) { + if ( $setup != 0 || $recur != 0 ) { my $cust_bill_pkg = new FS::cust_bill_pkg ({ 'pkgnum' => $cust_pkg->pkgnum, 'setup' => $setup, @@ -1308,7 +1308,7 @@ sub bill { } #unless $self->tax =~ /Y/i || $self->payby eq 'COMP' - } #if $setup > 0 || $recur > 0 + } #if $setup != 0 || $recur != 0 } #if $cust_pkg_mod_flag |