X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fview%2Fcust_main%2Fbilling.html;h=08b4323a869c76c1caa26d33c733b632620e5074;hb=9aa198dfc90054de34cf1af8f3238d004416ebc9;hp=fa3863b13ba1a7452a0d6838ec779bb689092df2;hpb=5e05724a635a22776f1b973f5d7e77989da4e048;p=freeside.git diff --git a/httemplate/view/cust_main/billing.html b/httemplate/view/cust_main/billing.html index fa3863b13..08b4323a8 100644 --- a/httemplate/view/cust_main/billing.html +++ b/httemplate/view/cust_main/billing.html @@ -1,214 +1,289 @@ -Billing information -%# If we can't see the unencrypted card, then bill now is an exercise in -%# frustration (without some sort of job queue magic to send it to a secure -%# machine, anyway) -%if ( $FS::CurrentUser::CurrentUser->access_right('Bill customer now') -% && ! $cust_main->is_encrypted($cust_main->payinfo) -% ) { - (Bill now) -% } +<% mt('Billing information') |h %> +% my $yes = emt('yes'); +% my $no = emt('no'); +% my $allowed = emt('allowed'); +% my $refused = emt('refused'); + +
<% ntable("#cccccc",2) %> +% if ( $cust_main->complimentary ) { + | |||||
<% mt('Complimentary') |h %> | +<% $yes %> | +||||
---|---|---|---|---|---|
Balance due | -<% $balance %> | +<% mt('Balance due') |h %> | +<% $balance %> | ||
Billing type | --% if ( $cust_main->payby eq 'CARD' || $cust_main->payby eq 'DCRD' ) { - +% #54: just an arbitrary number i pulled out of my goober. ideally we'd like +% # to consider e.g. a histogram of num_ncancelled_packages for the entire +% # customer base, and compare it to a graph of the overhead for generating this +% # information. (and optimize it better, we could get it more from SQL) +% if ( $cust_main->num_ncancelled_pkgs < 54 ) { +% my $sth = dbh->prepare(" +% SELECT DISTINCT freq FROM cust_pkg LEFT JOIN part_pkg USING (pkgpart) +% WHERE freq IS NOT NULL AND freq != '0' +% AND ( cancel IS NULL OR cancel = 0 ) +% AND custnum = ? +% ") or die $DBI::errstr; +% +% $sth->execute($cust_main->custnum) or die $sth->errstr; - Credit card <% $cust_main->payby eq 'CARD' ? '(automatic)' : '(on-demand)' %> - | -||||
Card number | -<% $cust_main->paymask %> | -||||
<% emt( ucfirst($freq_pretty). ' recurring' ) %> | +<% $money_char. sprintf('%.2f', $amount) %> | + +||||
Expiration | -<% "$mon/$year" %> | +<% mt('Prorate day of month') |h %> | +<% $cust_main->prorate_day %> + | ||
Start date | -<% $cust_main->paystart_month. '/'. $cust_main->paystart_year %> - | ||||
<% mt('Payment day of month') |h %> | +<% $cust_main->billday %> + | +||||
Issue # | -<% $cust_main->payissue %> - | ||||
<% mt('Purchase Order #') |h %> | +<% $cust_main->po_number %> | +||||
Name on card | -<% $cust_main->payname %> | -||||
<% mt('Tax exempt') |h %><% @exempt_groups ? ' ('.emt('all taxes').')' : '' %> | +<% $cust_main->tax ? $yes : $no %> | +||||
<% mt('Tax exempt') |h %> (<% $exempt_group %> taxes) | +<% $cust_main_exemption ? $yes : $no %> + <% $cust_main_exemption ? $cust_main_exemption->exempt_number : '' |h %> + | +||||
ABA/Routing code | -<% $aba %> | +<% mt('Tax location') |h %> | +% my $tax_location = $conf->exists('tax-ship_address') +% ? $cust_main->ship_location +% : $cust_main->bill_location; +<% $tax_location->geocode('cch') %> | ||
Account number | -<% 'x'x(length($account)-2). substr($account,(length($account)-2)) %> | +<% mt('Postal mail invoices') |h %> | +% if ( $cust_main->postal_invoice ) { +<% $yes . ( $cust_main->invoice_attn + ? ', attn: '. $cust_main->invoice_attn + : '' + ) %> + | +% } elsif ( $cust_main->invoice_noemail +% or scalar(@invoicing_list) == 0 ) { +% # alert the user that this customer has no way to receive an invoice +<% $no %> | +% } else { +<% $no %> | +% } +
Account type | -<% $cust_main->paytype %> | +<% mt('Email invoices') |h %> | +% if ( $cust_main->invoice_noemail and ! $cust_main->postal_invoice ) { +% # as above, warn if the customer refuses both email and postal invoices +<% $refused %> | +% } else { +<% $cust_main->invoice_noemail ? $refused : $allowed %> | +% }|
Bank name | -<% $cust_main->payname %> | +<% mt('Other email notices') |h %> | ++ <% $cust_main->message_noemail ? $refused : $allowed %> + | ||
<% $paystate_label %> | -<% $cust_main->paystate || ' ' %> | -<% mt('Invoice terms') |h %> | ++ <% $cust_main->invoice_terms + || emt('Default').' ('. ( $conf->config('invoice_default_terms', $cust_main->agentnum) + || emt('Payable upon receipt') + ). + ')' + %> | ||
Phone number | -<% $payinfo %> | -<% mt('Credit limit') |h %> | ++% my $default_credit_limit = $conf->config('default_credit_limit'); + <% length($cust_main->credit_limit) + ? $money_char. sprintf("%.2f", $cust_main->credit_limit) + : $default_credit_limit + ? "Default ($money_char". sprintf("%.2f", $default_credit_limit). ")" + : emt('Unlimited') + %> +% if ( $cust_main->num_cust_main_credit_limit ) { + (incidents) +% } | -% if ( $cust_main->payinfo ) { -||
P.O. | -<% $cust_main->payinfo %> | -||||
<% mt('Spool CDRs') |h %> | +<% $cust_main->spool_cdr ? $yes : $no %> | +||||
<% mt($conf->exists('voip-cdr_email') ? 'Print CDRs' : 'Show CDRs') |h %> | +<% $cust_main->squelch_cdr ? $no : $yes %> | +||||
Attention | -<% $cust_main->payname %> | -||||
Authorized by | -<% $cust_main->payinfo %> | -||||
<% mt('Breakdown CDRs by accountcode') |h %> | +<% $cust_main->accountcode_cdr ? $yes : $no %> | +||||
Expiration | -<% "$mon/$year" %> | -||||
<% mt('Email CDRs as '.uc($attach)) |h %> | +<% $cust_main->email_csv_cdr ? $yes : $no %> | +||||
<% mt('CDR termination settlement') |h %> | +<% $cust_main->cdr_termination_percentage %><% $cust_main->cdr_termination_percentage =~ /\d/ ? '%' : '' %> | +||||
Tax exempt | -<% $cust_main->tax ? 'yes' : 'no' %> | -||||
Postal invoices | -- <% ( grep { $_ eq 'POST' } @invoicing_list ) ? 'yes' : 'no' %> - | -||||
FAX invoices | -- <% ( grep { $_ eq 'FAX' } @invoicing_list ) ? 'yes' : 'no' %> - | -||||
Email invoices | -- <% join(', ', grep { $_ !~ /^(POST|FAX)$/ } @invoicing_list ) || 'no' %> - | -||||
Invoice terms | -- <% $cust_main->invoice_terms || 'Default ('. ( $conf->config('invoice_default_terms') || 'Payable upon receipt' ). ')' %> - | -||||
Spool CDRs | -<% $cust_main->spool_cdr ? 'yes' : 'no' %> | +<% mt('Invoicing currency') |h %> | +<% $cust_main->currency. ': '. code2currency($cust_main->currency) %> |