use Text::CSV;
my %opt;
-getopts('va:P:C:e:', \%opt);
+getopts('vqNa:P:C:e:', \%opt);
# Product codes that are subject to flat rate E911 charges. For these
# products, the'quantity' field represents the number of lines.
Usage:
freeside-ipifony-download
[ -v ]
+ [ -q ]
+ [ -N ]
[ -a archivedir ]
[ -P port ]
[ -C category ]
if ( $next_bill_date ) {
my ($bill_month, $bill_year) = (localtime($next_bill_date))[4, 5];
my ($this_month, $this_year) = (localtime(time))[4, 5];
- if ( $this_month == $bill_month and $this_year == $bill_year ) {
+ if ( $opt{N} or
+ $this_month == $bill_month and $this_year == $bill_year ) {
$cust_main->set('charge_date', $next_bill_date);
}
}
amount => $hash{unit_price},
quantity => $hash{quantity},
start_date => $cust_main->get('charge_date'),
- pkg => $hash{date_desc} .
- ' (' . $hash{quantity} . ' @ $' . $hash{unit_price} . ' ea)',
+ pkg => $hash{date_desc},
taxclass => $TAXCLASSES{ $hash{taxclass} },
);
+ if ( $opt{q} ) {
+ $charge_opt{pkg} .= ' (' . $hash{quantity} . ' @ $' . $hash{unit_price} . ' ea)';
+ }
if (my $classname = $hash{classname}) {
if (!exists($classnum_of{$classname}) ) {
# then look it up
freeside-ipifony-download
[ -v ]
+ [ -q ]
+ [ -N ]
[ -a archivedir ]
[ -P port ]
[ -C category ]
I<hostname>: the SFTP server.
+I<path>: the path on the server to the working directory. The working
+directory is the one containing the "ready/" and "done/" subdirectories.
+
=head1 OPTIONAL PARAMETERS
-v: Be verbose.
+-q: Include the quantity and unit price in the charge description.
+
+-N: Always bill the charges on the customer's next bill date, if they have
+one. Otherwise, charges will be billed on the next bill date only if it's
+within the current calendar month.
+
-a I<archivedir>: Save a copy of the downloaded file to I<archivedir>.
-P I<port>: Connect to that TCP port.