diff options
author | ivan <ivan> | 2007-02-09 01:05:56 +0000 |
---|---|---|
committer | ivan <ivan> | 2007-02-09 01:05:56 +0000 |
commit | 53121cc55f8a71fb90d58bfbd2167b0735351170 (patch) | |
tree | 5d8f4867decb0e38928ba73756a04f94e99329c3 /conf | |
parent | 320a556afd993320bbce19872462a2eb3d2f8113 (diff) |
add default statement conf
Diffstat (limited to 'conf')
-rw-r--r-- | conf/invoice_html_statement | 124 | ||||
-rw-r--r-- | conf/invoice_latex_statement | 244 | ||||
-rw-r--r-- | conf/invoice_latexnotes_statement | 8 | ||||
-rw-r--r-- | conf/invoice_template_statement | 27 |
4 files changed, 403 insertions, 0 deletions
diff --git a/conf/invoice_html_statement b/conf/invoice_html_statement new file mode 100644 index 000000000..4e4d259af --- /dev/null +++ b/conf/invoice_html_statement @@ -0,0 +1,124 @@ +<STYLE TYPE="text/css"> +.invoice { font-family: sans-serif; font-size: 10pt } +.invoice_header { font-size: 10pt } +.invoice_headerright TH { border-top: 2px solid #000000; border-bottom: 2px solid #000000 } +.invoice_headerright TD { font-size: 10pt; empty-cells: show } +.invoice_longtable table { cellspacing: none } +.invoice_longtable TH { border-top: 2px solid #000000; border-bottom: 1px solid #000000; padding-left: none; padding-right: none; font-size: 10pt } +.invoice_desc TD { border-top: 2px solid #000000; font-weight: bold; font-size: 10pt } +.invoice_extdesc TD { font-size: 8pt } +.invoice_totaldesc TD { font-size: 10pt; empty-cells: show } +</STYLE> + +<table class="invoice" bgcolor="#ffffff" WIDTH=768 CELLSPACING=8><tr><td> + + <table class="invoice_header" width="100%"> + <tr> + <td><img src="<%= $cid ? "cid:$cid" : "cust_bill-logo.cgi?$template" %>"></td> + <td align="left"><%= $returnaddress %></td> + <td align="right"> + <table CLASS="invoice_headerright" cellspacing=0> + <tr> + <td align="right"> + Invoice date<BR> + <B><%= $date %></B> + </td> + <td> + </td> + <td align="left"> + Invoice number<BR> + <B><%= $invnum %></B> + </td> + </tr> + <tr> + <th> </th> + <th colspan=1 align="center"> + <FONT SIZE="+3">S</FONT><FONT SIZE="+2">TATEMENT</FONT> + </th> + <th> </th> + </tr> + </table> + </td> + </tr> + + <tr> + <td> + </td> + <td align="left"> + <b><%= $payname %></b><BR> + <%= join('<BR>', grep length($_), $company, + $address1, + $address2, + "$city, $state $zip", + $country, + ) + %> + </td> + <td align="right"> + Terms: <%= $terms %><BR> + <%= $po_line %> + </td> + </tr> + + </table> + + <p><b><font size="+1">C</font><font size="+0">HARGES</font></b> + <p> + <table class="invoice_longtable" CELLSPACING=0 WIDTH="100%"> + <tr> + <th align="center">Ref</th> + <th align="left">Description</th> + <th align="right">Amount</th> + </tr> + <%= + + foreach my $line ( @detail_items ) { + $OUT .= + '<tr class="invoice_desc">'. + '<td align="center">'. $line->{'ref'}. '</td>'. + '<td align="left">'. $line->{'description'}. '</td>'. + '<td align="right">'. $line->{'amount'}. '</td>'. + '</tr>' + ; + foreach my $ext_desc ( @{$line->{'ext_description'} } ) { + $OUT .= + '<tr class="invoice_extdesc">'. + '<td></td>'. + '<td align="left">- '. $ext_desc. '</td>'. + '<td></td>'. + '</tr>' + } + } + + my $style = 'border-top: 3px solid #000000;'; + my $linenum = 0; + + foreach my $line ( @total_items ) { + + $style .= 'border-bottom: 3px solid #000000;' + if ++$linenum == scalar(@total_items); + + $OUT .= + '<tr class="invoice_totaldesc">'. + qq(<td style="$style"> </td>). + qq(<td align="left" style="$style">). + $line->{'total_item'}. '</td>'. + qq(<td align="right" style="$style">). + $line->{'total_amount'}. '</td>'. + '</tr>' + ; + + $style=''; + + } + + %> + </table> + <br><br> + +<%= $notes %> + + <hr NOSHADE SIZE=2 COLOR="#000000"> + <p align="center"><%= $footer %> + +</td></tr></table> diff --git a/conf/invoice_latex_statement b/conf/invoice_latex_statement new file mode 100644 index 000000000..302306aa7 --- /dev/null +++ b/conf/invoice_latex_statement @@ -0,0 +1,244 @@ +%% file: Standard Multipage.tex
+%% Purpose: Multipage bill template for e-Bills
+%%
+%% Created by Mark Asplen-Taylor
+%% Asplen Management Ltd
+%% www.asplen.co.uk
+%%
+%% Modified for Freeside by Kristian Hoffman
+%%
+%% Changes
+%% 0.1 4/12/00 Created
+%% 0.2 18/10/01 More fields added
+%% 1.0 16/11/01 RELEASED
+%% 1.2 16/10/02 Invoice number added
+%% 1.3 2/12/02 Logo graphic added
+%% 1.4 7/2/03 Multipage headers/footers added
+%% n/a forked for Freeside; checked into CVS
+%%
+
+\documentclass[letterpaper]{article}
+
+\usepackage{fancyhdr,lastpage,ifthen,longtable,afterpage}
+\usepackage{graphicx} % required for logo graphic
+
+\addtolength{\voffset}{-0.0cm} % top margin to top of header
+\addtolength{\hoffset}{-0.6cm} % left margin on page
+\addtolength{\topmargin}{-1.25cm} % top margin to top of header
+\setlength{\headheight}{2.0cm} % height of header
+\setlength{\headsep}{1.0cm} % between header and text
+\setlength{\footskip}{1.0cm} % bottom of footer from bottom of text
+
+%\addtolength{\textwidth}{2.1in} % width of text
+\setlength{\textwidth}{19.5cm}
+\setlength{\textheight}{19.5cm}
+\setlength{\oddsidemargin}{-0.9cm} % odd page left margin
+\setlength{\evensidemargin}{-0.9cm} % even page left margin
+
+\renewcommand{\headrulewidth}{0pt}
+\renewcommand{\footrulewidth}{1pt}
+
+% Adjust the inset of the mailing address
+\newcommand{\addressinset}[1][]{\hspace{1.0cm}}
+
+% Adjust the inset of the return address and logo
+\newcommand{\returninset}[1][]{\hspace{-0.25cm}}
+
+% New command for address lines i.e. skip them if blank
+\newcommand{\addressline}[1]{\ifthenelse{\equal{#1}{}}{}{#1\newline}}
+
+% Inserts dollar symbol
+\newcommand{\dollar}[1][]{\symbol{36}}
+
+% Remove plain style header/footer
+\fancypagestyle{plain}{
+ \fancyhead{}
+}
+\fancyhf{}
+
+% Define fancy header/footer for first and subsequent pages
+\fancyfoot[C]{
+ \ifthenelse{\equal{\thepage}{1}}
+ { % First page
+ \small{
+[@-- $footer --@]
+ }
+ }
+ { % ... pages
+ \small{
+[@-- $smallfooter --@]
+ }
+ }
+}
+
+\fancyfoot[R]{
+ \ifthenelse{\equal{\thepage}{1}}
+ { % First page
+ }
+ { % ... pages
+ \small{\thepage\ of \pageref{LastPage}}
+ }
+}
+
+\fancyhead[L]{
+ \ifthenelse{\equal{\thepage}{1}}
+ { % First page
+ \returninset
+ \makebox{
+ \begin{tabular}{ll}
+ \includegraphics{[@-- $conf_dir --@]/logo.eps} &
+ \begin{minipage}[b]{5.5cm}
+[@-- $returnaddress --@]
+ \end{minipage}
+ \end{tabular}
+ }
+ }
+ { % ... pages
+ %\includegraphics{[@-- $conf_dir --@]/logo.eps} % Uncomment if you want the logo on all pages.
+ }
+}
+
+\fancyhead[R]{
+ \ifthenelse{\equal{\thepage}{1}}
+ { % First page
+ \begin{tabular}{rcl}
+ Invoice date & & Invoice number \\
+ \vspace{0.2cm}
+ \textbf{[@-- $date --@]} & & \textbf{[@-- $invnum --@]} \\\hline
+ \rule{0pt}{5ex} &~~ \huge{\textsc{Statement}} & \\
+ \vspace{-0.2cm}
+ & & \\\hline
+ \end{tabular}
+ }
+ { % ... pages
+ \small{
+ \begin{tabular}{ll}
+ Invoice date & Invoice number\\
+ \textbf{[@-- $date --@]} & \textbf{[@-- $invnum --@]}\\
+ \end{tabular}
+ }
+ }
+}
+
+\pagestyle{fancy}
+
+
+%% Font options are:
+%% bch Bitsream Charter
+%% put Utopia
+%% phv Adobe Helvetica
+%% pnc New Century Schoolbook
+%% ptm Times
+%% pcr Courier
+
+\renewcommand{\familydefault}{phv}
+
+
+% Commands for freeside description...
+\newcommand{\FSdesc}[3]{
+ \multicolumn{1}{c}{\rule{0pt}{2.5ex}\textbf{#1}} &
+ \textbf{#2} &
+ \multicolumn{1}{r}{\textbf{\dollar #3}}\\
+}
+% ...extended description...
+\newcommand{\FSextdesc}[1]{
+ \multicolumn{1}{l}{\rule{0pt}{1.0ex}} &
+ \multicolumn{2}{l}{\small{~-~#1}}\\
+}
+% ...and total line items.
+\newcommand{\FStotaldesc}[2]{
+ & \multicolumn{1}{l}{#1} & #2\\
+}
+
+
+\begin{document}
+%
+%% Headers and footers defined for the first page
+%
+%% The LH Heading comprising logo
+%% UNCOMMENT the following FOUR lines and change the path if necssary to provide a logo
+%
+%% The Heading comprising isue date, customer ref & INVOICE name
+%
+%% Header & footer changes for subsequent pages
+%
+%
+%
+\begin{tabular}{ll}
+\addressinset \rule{0cm}{0cm} &
+\makebox{
+\begin{minipage}[t]{5.0cm}
+\vspace{0.25cm}
+\textbf{[@-- $payname --@]}\\
+\addressline{[@-- $company --@]}
+\addressline{[@-- $address1 --@]}
+\addressline{[@-- $address2 --@]}
+\addressline{[@-- $city --@], [@-- $state --@]~~[@-- $zip --@]}
+\addressline{[@-- $country --@]}
+\end{minipage}}
+\end{tabular}
+\hfill
+\makebox{
+\begin{minipage}[t]{6.4cm}
+\begin{flushright}
+Terms: [@-- $terms --@]\\
+[@-- $po_line --@]\\
+\end{flushright}
+\end{minipage}}
+\vspace{1.5cm}
+%
+\section*{\textsc{Charges}}
+\begin{longtable}{clr}
+\hline
+\rule{0pt}{2.5ex}
+\makebox[1.4cm]{\textbf{Ref}} &
+\makebox[12.8cm][l]{\textbf{Description}} &
+\makebox[2.5cm][r]{\textbf{Amount}} \\
+\hline
+\endfirsthead
+\multicolumn{3}{r}{\rule{0pt}{2.5ex}Continued from previous page}\\
+\hline
+\rule{0pt}{2.5ex}
+\makebox[1.4cm]{\textbf{Ref}} &
+\makebox[12.8cm][l]{\textbf{Description}} &
+\makebox[2.5cm][r]{\textbf{Amount}} \\
+\hline
+\endhead
+\multicolumn{3}{r}{\rule{0pt}{2.5ex}Continued on next page...}\\
+\endfoot
+\hline
+[@--
+
+ foreach my $line (@total_items) {
+ $OUT .= '\FStotaldesc{' . $line->{'total_item'} . '}' .
+ '{' . $line->{'total_amount'} . '}' . "\n";
+ }
+
+--@]
+\hline
+\endlastfoot
+[@--
+
+ foreach my $line (@detail_items) {
+ my $ext_description = $line->{'ext_description'};
+
+ # Don't break-up small packages.
+ my $rowbreak = @$ext_description < 5 ? '*' : '';
+
+ $OUT .= "\\hline\n";
+ $OUT .= '\FSdesc{' . $line->{'ref'} . '}{' . $line->{'description'} . '}' .
+ '{' . $line->{'amount'} . "}${rowbreak}\n";
+
+ foreach my $ext_desc (@$ext_description) {
+ $ext_desc = substr($ext_desc, 0, 80) . '...'
+ if (length($ext_desc) > 80);
+ $OUT .= '\FSextdesc{' . $ext_desc . '}' . "${rowbreak}\n";
+ }
+
+ }
+
+--@]
+\end{longtable}
+\vfill
+[@-- $notes --@]
+\end{document}
diff --git a/conf/invoice_latexnotes_statement b/conf/invoice_latexnotes_statement new file mode 100644 index 000000000..0836d2745 --- /dev/null +++ b/conf/invoice_latexnotes_statement @@ -0,0 +1,8 @@ +%% +%% Add any customer specific notes in here +%% +\section*{\textsc{Notes}} +\begin{enumerate} +\item This statement reflects current charges and payments. +\item If you have any questions please email or telephone. +\end{enumerate} diff --git a/conf/invoice_template_statement b/conf/invoice_template_statement new file mode 100644 index 000000000..674416a87 --- /dev/null +++ b/conf/invoice_template_statement @@ -0,0 +1,27 @@ + + Statement + { substr("Page $page of $total_pages ", 0, 19); } { use Date::Format; time2str("%x", $date); } FS-{ $invnum; } + + +Ivan Kohler +12345 Test Lane +Truckee, CA 96161 + + +{ $address[0]; } +{ $address[1]; } +{ $address[2]; } +{ $address[3]; } +{ $address[4]; } +{ $address[5]; } + +{ + join("\n", + map { + my ( $desc, $price ) = @{$_}; + " ". substr( $desc. " "x65, 0, 65). " ". substr( $price. " "x11, 0, 11); + } invoice_lines(31) + ); +} + + -=> Freeside - open-source billing for ISPs - http://www.sisd.com/freeside <=- |