customer view work:
[freeside.git] / httemplate / view / cust_main / billing.html
1 <%
2   my( $cust_main ) = @_;
3   my @invoicing_list = $cust_main->invoicing_list;
4   my $conf = new FS::Conf;
5   my $money_char = $conf->config('money_char') || '$';
6 %>
7
8 Billing information
9 (<A HREF="<%= $p %>misc/bill.cgi?<%= $cust_main->custnum %>">Bill now</A>)
10 <%= ntable("#cccccc") %><TR><TD><%= ntable("#cccccc",2) %>
11
12 <%
13 ( my $balance = $cust_main->balance )
14   =~ s/^(\-?)(.*)$/<FONT SIZE=+1>$1<\/FONT>$money_char$2/;
15 %>
16
17 <TR>
18   <TD ALIGN="right">Balance due</TD>
19   <TD BGCOLOR="#ffffff"><B><%= $balance %></B></TD>
20 </TR>
21
22 <TR>
23   <TD ALIGN="right">Billing&nbsp;type</TD>
24   <TD BGCOLOR="#ffffff">
25
26 <% if ( $cust_main->payby eq 'CARD' || $cust_main->payby eq 'DCRD' ) { %>
27
28     Credit&nbsp;card&nbsp;<%= $cust_main->payby eq 'CARD' ? '(automatic)' : '(on-demand)' %>
29   </TD>
30 </TR>
31 <TR>
32   <TD ALIGN="right">Card number</TD>
33   <TD BGCOLOR="#ffffff"><%= $cust_main->payinfo_masked %></TD>
34 </TR>
35
36 <%
37 #false laziness w/elements/select-month_year.html & edit/cust_main/billing.html
38 my( $mon, $year );
39 my $date = $cust_main->paydate || '12-2037';
40 if ( $date  =~ /^(\d{4})-(\d{1,2})-\d{1,2}$/ ) { #PostgreSQL date format
41   ( $mon, $year ) = ( $2, $1 );
42 } elsif ( $date =~ /^(\d{1,2})-(\d{1,2}-)?(\d{4}$)/ ) {
43   ( $mon, $year ) = ( $1, $3 );
44 } else {
45   warn "unrecognized expiration date format: $date";
46   ( $mon, $year ) = ( '', '' );
47 }
48 %>
49 <TR>
50   <TD ALIGN="right">Expiration</TD>
51   <TD BGCOLOR="#ffffff"><%= "$mon/$year" %></TD>
52 </TR>
53
54 <% if ( $cust_main->paystart_month ) { %>
55   <TR>
56     <TD ALIGN="right">Start date</TD>
57     <TD BGCOLOR="#ffffff"><%= $cust_main->paystart_month. '/'. $cust_main->paystart_year %>
58   </TR>
59 <% } elsif ( $cust_main->payissue ) { %>
60   <TR>
61     <TD ALIGN="right">Issue #</TD>
62     <TD BGCOLOR="#ffffff"><%= $cust_main->payissue %>
63   </TR>
64 <% } %>
65
66 <TR>
67   <TD ALIGN="right">Name on card</TD>
68   <TD BGCOLOR="#ffffff"><%= $cust_main->payname %></TD>
69 </TR>
70
71 <% } elsif ( $cust_main->payby eq 'CHEK' || $cust_main->payby eq 'DCHK') {
72      my( $account, $aba ) = split('@', $cust_main->payinfo );
73 %>
74
75     Electronic&nbsp;check&nbsp;<%= $cust_main->payby eq 'CHEK' ? '(automatic)' : '(on-demand)' %>
76   </TD>
77 </TR>
78 <TR>
79   <TD ALIGN="right">ABA/Routing code</TD>
80   <TD BGCOLOR="#ffffff"><%= $aba %></TD>
81 </TR>
82 <TR>
83   <TD ALIGN="right">Account number</TD>
84   <TD BGCOLOR="#ffffff"><%= 'x'x(length($account)-2). substr($account,(length($account)-2)) %></TD>
85 </TR>
86 <TR>
87   <TD ALIGN="right">Bank name</TD>
88   <TD BGCOLOR="#ffffff"><%= $cust_main->payname %></TD>
89 </TR>
90
91 <% } elsif ( $cust_main->payby eq 'LECB' ) {
92      $cust_main->payinfo =~ /^(\d{3})(\d{3})(\d{4})$/;
93      my $payinfo = "$1-$2-$3";
94 %>
95
96     Phone&nbsp;bill&nbsp;billing
97   </TD>
98 </TR>
99 <TR>
100   <TD ALIGN="right">Phone number</TD>
101   <TD BGCOLOR="#ffffff"><%= $payinfo %></TD>
102 </TR>
103
104 <% } elsif ( $cust_main->payby eq 'BILL' ) { %>
105
106     Billing
107   </TD>
108 </TR>
109
110   <% if ( $cust_main->payinfo ) { %>
111 <TR>
112   <TD ALIGN="right">P.O. </TD>
113   <TD BGCOLOR="#ffffff"><%= $cust_main->payinfo %></TD>
114 </TR>
115   <% } %>
116
117 <TR>
118   <TD ALIGN="right">Attention</TD>
119   <TD BGCOLOR="#ffffff"><%= $cust_main->payname %></TD>
120 </TR>
121
122 <% } elsif ( $cust_main->payby eq 'COMP' ) { %>
123
124     Complimentary
125   </TD>
126 </TR>
127 <TR>
128   <TD ALIGN="right">Authorized&nbsp;by</TD>
129   <TD BGCOLOR="#ffffff"><%= $cust_main->payinfo %></TD>
130 </TR>
131
132 <%
133 #false laziness w/above etc.
134 my( $mon, $year );
135 my $date = $cust_main->paydate || '12-2037';
136 if ( $date  =~ /^(\d{4})-(\d{1,2})-\d{1,2}$/ ) { #PostgreSQL date format
137   ( $mon, $year ) = ( $2, $1 );
138 } elsif ( $date =~ /^(\d{1,2})-(\d{1,2}-)?(\d{4}$)/ ) {
139   ( $mon, $year ) = ( $1, $3 );
140 } else {
141   warn "unrecognized expiration date format: $date";
142   ( $mon, $year ) = ( '', '' );
143 }
144 %>
145 <TR>
146   <TD ALIGN="right">Expiration</TD>
147   <TD BGCOLOR="#ffffff"><%= "$mon/$year" %></TD>
148 </TR>
149
150 <% } %>
151
152 <TR>
153   <TD ALIGN="right">Tax&nbsp;exempt</TD>
154   <TD BGCOLOR="#ffffff"><%= $cust_main->tax ? 'yes' : 'no' %></TD>
155 </TR>
156 <TR>
157   <TD ALIGN="right">Postal&nbsp;invoices</TD>
158   <TD BGCOLOR="#ffffff">
159     <%= ( grep { $_ eq 'POST' } @invoicing_list ) ? 'yes' : 'no' %>
160   </TD>
161 </TR>
162 <TR>
163   <TD ALIGN="right">FAX&nbsp;invoices</TD>
164   <TD BGCOLOR="#ffffff">
165     <%= ( grep { $_ eq 'FAX' } @invoicing_list ) ? 'yes' : 'no' %>
166   </TD>
167 </TR>
168 <TR>
169   <TD ALIGN="right">Email&nbsp;invoices</TD>
170   <TD BGCOLOR="#ffffff">
171     <%= join(', ', grep { $_ !~ /^(POST|FAX)$/ } @invoicing_list ) || 'no' %>
172   </TD>
173 </TR>
174 <% if ( $conf->exists('voip-cust_cdr_spools') ) { %>
175   <TR>
176     <TD ALIGN="right">Spool&nbsp;CDRs</TD>
177     <TD BGCOLOR="#ffffff"><%= $cust_main->spool_cdr ? 'yes' : 'no' %></TD>
178   </TR>
179 <% } %>
180
181 </TABLE></TD></TR></TABLE>
182