From: ivan Date: Fri, 9 Feb 2007 01:05:56 +0000 (+0000) Subject: add default statement conf X-Git-Tag: TRIXBOX_2_6~659 X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=53121cc55f8a71fb90d58bfbd2167b0735351170 add default statement conf --- 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 @@ + + +
+ + + + + + + + + + + + + + +
"><%= $returnaddress %> + + + + + + + + + + + +
+ Invoice date
+ <%= $date %> +
+ + Invoice number
+ <%= $invnum %> +
  + STATEMENT +  
+
+ + <%= $payname %>
+ <%= join('
', grep length($_), $company, + $address1, + $address2, + "$city, $state  $zip", + $country, + ) + %> +
+ Terms: <%= $terms %>
+ <%= $po_line %> +
+ +

CHARGES +

+ + + + + + + <%= + + foreach my $line ( @detail_items ) { + $OUT .= + ''. + ''. + ''. + ''. + '' + ; + foreach my $ext_desc ( @{$line->{'ext_description'} } ) { + $OUT .= + ''. + ''. + ''. + ''. + '' + } + } + + 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 .= + ''. + qq(). + qq('. + qq('. + '' + ; + + $style=''; + + } + + %> +
RefDescriptionAmount
'. $line->{'ref'}. ''. $line->{'description'}. ''. $line->{'amount'}. '
- '. $ext_desc. '
 ). + $line->{'total_item'}. '). + $line->{'total_amount'}. '
+

+ +<%= $notes %> + +


+

<%= $footer %> + +

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 <=-