summaryrefslogtreecommitdiff
path: root/conf
diff options
context:
space:
mode:
authorivan <ivan>2005-05-04 00:41:00 +0000
committerivan <ivan>2005-05-04 00:41:00 +0000
commitb6343424437589018faba310159efaff6cecac18 (patch)
treea6c156a059a3efed598ffbf8e62cde95e4e0816b /conf
parent89b9309553e8a1d6c197011962e7e15e4c22aaa6 (diff)
great new invoice template from kristian!
Diffstat (limited to 'conf')
-rw-r--r--conf/invoice_latex204
-rw-r--r--conf/invoice_latexfooter6
-rw-r--r--conf/invoice_latexreturnaddress3
-rw-r--r--conf/logo.eps9
4 files changed, 156 insertions, 66 deletions
diff --git a/conf/invoice_latex b/conf/invoice_latex
index e7f6d08d6..5938a9872 100644
--- a/conf/invoice_latex
+++ b/conf/invoice_latex
@@ -5,7 +5,7 @@
%% Asplen Management Ltd
%% www.asplen.co.uk
%%
-%% Modified for Freeside by Ivan Kohler and Kristian Hoffman
+%% Modified for Freeside by Kristian Hoffman
%%
%% Changes
%% 0.1 4/12/00 Created
@@ -14,7 +14,7 @@
%% 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 10/12/03 forked for Freeside; checked into CVS
+%% n/a forked for Freeside; checked into CVS
%%
\documentclass[letterpaper]{article}
@@ -22,30 +22,107 @@
\usepackage{fancyhdr,lastpage,ifthen,longtable,afterpage}
\usepackage{graphicx} % required for logo graphic
-\addtolength{\voffset}{-0.0in} % top margin to top of header
-\addtolength{\hoffset}{-0.60in} %left margin on page
-\addtolength{\topmargin}{-0.6in} % top margin to top of header
-\setlength{\headheight}{1in} % height of header
-\setlength{\headsep}{0.5in} % between header and text
-\addtolength{\textheight}{-0.4in} % height of main text
+\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{\textheight}{-0.5in} % height of main text
-\setlength{\footskip}{0.5in} % bottom of footer from bottom of text
-
-\addtolength{\textwidth}{2.1in} % width of text
-\setlength{\oddsidemargin}{0in} % odd page left margin
-\setlength{\evensidemargin}{0in} % even page left margin
+%\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}
- % New command for address lines i.e. skip them if blank
+% 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}}
-\newcommand{\dollar}[1][]{\symbol{36}} % Inserts dollar symbol
+
+% 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]{3.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{Invoice}} & \\
+ \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
@@ -54,90 +131,87 @@
%% ptm Times
%% pcr Courier
-\renewcommand{\familydefault}{phv}
+\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
-\fancyfoot[CO,CE]{\small{
-\begin{tabular}{c}
-[@-- $footer --@]
-\end{tabular}}}
%
%% The LH Heading comprising logo
%% UNCOMMENT the following FOUR lines and change the path if necssary to provide a logo
-\fancyhead[LO,LE]{
-\begin{tabular}{l}
-\includegraphics{/usr/local/etc/freeside/conf.DBI:Pg:dbname=freeside/logo.eps}
-\end{tabular}}
%
%% The Heading comprising isue date, customer ref & INVOICE name
-\fancyhead[RO,RE]{
-\begin{tabular}{rcl}
-Invoice date & & Invoice number \\
-\vspace{0.2cm}
-\textbf{[@-- $date --@]} & & \textbf{[@-- $invnum --@]} \\\hline
-\rule{0pt}{5ex} &~~ \huge{\textsc{Invoice}}& \\
-\vspace{-0.2cm}
- & & \\\hline
-\end{tabular}}
%
%% Header & footer changes for subsequent pages
%
-\afterpage{ \fancyfoot[RO,RE]{\small{\thepage\ of \pageref{LastPage}}} }
-\afterpage{ \fancyfoot[CO,CE]{\small{[@-- $smallfooter --@]}} }
-\afterpage{ \fancyhead[LO,LE]{\small{}} }
-\afterpage{ \fancyhead[RO,RE]{\small{
-\begin{tabular}{ll}
-Invoice date & Invoice number\\
-\textbf{[@-- $date --@]} & \textbf{[@-- $invnum --@]}\\
-\end{tabular}}} }
%
%
+\begin{tabular}{ll}
+\addressinset \rule{0cm}{0cm} &
\makebox{
-\begin{minipage}[t]{2.9in}
-\vspace{0.20in}
+\begin{minipage}[t]{5.0cm}
+\vspace{0.25cm}
\textbf{[@-- $payname --@]}\\
\addressline{[@-- $company --@]}
\addressline{[@-- $address1 --@]}
\addressline{[@-- $address2 --@]}
-\addressline{[@-- $city --@], [@-- $state --@] [@-- $zip --@]}
+\addressline{[@-- $city --@], [@-- $state --@], [@-- $zip --@]}
\addressline{[@-- $country --@]}
\end{minipage}}
+\end{tabular}
\hfill
\makebox{
-\begin{minipage}[t]{2.5in}
+\begin{minipage}[t]{6.4cm}
\begin{flushright}
Terms: [@-- $terms --@]\\
[@-- $po_line --@]\\
\end{flushright}
\end{minipage}}
-\vspace{0.5cm}
+\vspace{1.5cm}
%
\section*{\textsc{Charges}}
-\begin{longtable}{|c|l|r|}
+\begin{longtable}{clr}
\hline
\rule{0pt}{2.5ex}
\makebox[1.4cm]{\textbf{Ref}} &
-\makebox[13cm][l]{\textbf{Description}} &
-\makebox[2cm][r]{\textbf{Amount}} \\
+\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[13cm][l]{\textbf{Description}} &
-\makebox[2cm][r]{\textbf{Amount}} \\
+\makebox[12.8cm][l]{\textbf{Description}} &
+\makebox[2.5cm][r]{\textbf{Amount}} \\
\hline
\endhead
-\multicolumn{3}{r}{\rule{0pt}{2.5ex}/cont...}\\
+\multicolumn{3}{r}{\rule{0pt}{2.5ex}Continued on next page...}\\
\endfoot
+\hline
[@--
foreach my $line (@total_items) {
- $OUT .= ' & \multicolumn{1}{l}{' . $line->{'total_item'} . '} & ' .
- $line->{'total_amount'} . '\\\\' . "\n";
+ $OUT .= '\FStotaldesc{' . $line->{'total_item'} . '}' .
+ '{' . $line->{'total_amount'} . '}' . "\n";
}
--@]
@@ -146,11 +220,21 @@ Terms: [@-- $terms --@]\\
[@--
foreach my $line (@detail_items) {
- $OUT .= '\rule{0pt}{2.5ex}' . $line->{'ref'} . ' &' . "\n".
- '\begin{tabular}{l}' . "\n".
- $line->{'description'} . '\tabularnewline' . "\n".
- '\end{tabular}' . "\n".
- '& \dollar ' . $line->{'amount'} . '\\\\\\hline' . "\n";
+ 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, 70) . '...'
+ if (length($ext_desc) > 70);
+ $OUT .= '\FSextdesc{' . $ext_desc . '}' . "${rowbreak}\n";
+ }
+
}
--@]
diff --git a/conf/invoice_latexfooter b/conf/invoice_latexfooter
index ee5d7e931..527c356f5 100644
--- a/conf/invoice_latexfooter
+++ b/conf/invoice_latexfooter
@@ -1,5 +1 @@
-Ivan Kohler\\
-12345 Test Lane\\
-Truckee, CA~~96161\\
-ivan@sisd.com~~~~+1 415 462 1624\\
-Freeside - open-source billing - http://www.sisd.com/freeside\\
+Ivan Kohler~~~Freeside - open-source billing
diff --git a/conf/invoice_latexreturnaddress b/conf/invoice_latexreturnaddress
new file mode 100644
index 000000000..95067e230
--- /dev/null
+++ b/conf/invoice_latexreturnaddress
@@ -0,0 +1,3 @@
+Ivan Kohler\\*
+12345 Test Lane\\*
+Truckee, CA~~96161
diff --git a/conf/logo.eps b/conf/logo.eps
index 8091b03fd..ff25dd4ce 100644
--- a/conf/logo.eps
+++ b/conf/logo.eps
@@ -1,10 +1,16 @@
%!PS-Adobe-2.0 EPSF-2.0
-%%BoundingBox: 261 345 419 447
%%HiResBoundingBox: 261.500000 345.500000 418.500000 446.500000
%%Creator: xpdf/pdftops 3.00
%%LanguageLevel: 2
%%DocumentMedia: plain 612 792 0 () ()
+%%BoundingBox: 19 0 70 33
%%EndComments
+%%BeginProcSet: epsffit 1 0
+gsave
+-65.000 -111.618 translate
+0.324 0.324 scale
+%%EndProcSet
+
% EPSF created by ps2eps 1.54
%%BeginProlog
save
@@ -13501,3 +13507,4 @@ countdictstack
exch sub { end } repeat
restore
%%EOF
+grestore