+#!/usr/bin/perl -w
+# don't take any world-facing input
#!/usr/bin/perl -Tw
use strict;
use Fcntl qw(:flock);
use Date::Parse;
use Getopt::Std;
-use FS::UID qw(adminsuidsetup swapuid);
+use FS::UID qw(adminsuidsetup);
use FS::Record qw(qsearch qsearchs);
use FS::cust_main;
warn "Error billing, customer #" . $cust_main->getfield('custnum') .
":" . $error if $error;
+ if ($main::opt_p) {
+ $cust_main->apply_payments;
+ $error=$cust_main->apply_credits;
+ }
+
if ($main::opt_c) {
$error=$cust_main->collect('invoice_time'=>$time,
'batch_card' => $main::opt_i ? 'no' : 'yes',
);
- warn "Error collecting customer #" . $cust_main->getfield('custnum') .
- ":" . $error if $error;
-
- #sleep 1;
+ warn "Error collecting from customer #" . $cust_main->gcustnum. ":$error"
+ if $error;
+ #sleep 1;
}
}
=head1 SYNOPSIS
- freeside-bill [ -c [ -a ] [ -i ] ] [ -d 'date' ] user [ custnum custnum ... ]
+ freeside-bill [ -c [ -p ] [ -a ] [ -i ] ] [ -d 'date' ] user [ custnum custnum ... ]
=head1 DESCRIPTION
-c: Turn on collecting (you probably want this).
+ -p: Apply unapplied payments and credits before collecting (you probably want
+ this too)
+
-a: Call collect even if there isn't a new invoice (probably a bad idea for
daily use)
=head1 VERSION
-$Id: freeside-bill,v 1.6 2000-06-24 00:28:30 ivan Exp $
+$Id: freeside-bill,v 1.9 2001-09-11 00:08:18 ivan Exp $
=head1 BUGS