X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=conf%2Finvoice_latex;h=ef92cf3fd92104af9c029456010b6df3dbf3ea7b;hb=098e780ae972ff57914ab2f31977832f84cc58b1;hp=5938a9872df7bcccafab3460e02604d3fb0773cf;hpb=b6343424437589018faba310159efaff6cecac18;p=freeside.git diff --git a/conf/invoice_latex b/conf/invoice_latex index 5938a9872..ef92cf3fd 100644 --- a/conf/invoice_latex +++ b/conf/invoice_latex @@ -19,7 +19,7 @@ \documentclass[letterpaper]{article} -\usepackage{fancyhdr,lastpage,ifthen,longtable,afterpage} +\usepackage{fancyhdr,lastpage,ifthen,longtable,afterpage,multirow,bigstrut} \usepackage{graphicx} % required for logo graphic \addtolength{\voffset}{-0.0cm} % top margin to top of header @@ -38,6 +38,19 @@ \renewcommand{\headrulewidth}{0pt} \renewcommand{\footrulewidth}{1pt} +\renewcommand{\footrule}{ +[@-- + $coupon ? '\ifthenelse{\equal{\thepage}{1}}' : ''; +--@] + { + } + { + \vbox to 0pt{\rule{\headwidth}{\footrulewidth}\vss} + } +} + +\newcommand{\extracouponspace}{4.8cm} + % Adjust the inset of the mailing address \newcommand{\addressinset}[1][]{\hspace{1.0cm}} @@ -45,7 +58,7 @@ \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{\addressline}[1]{\ifthenelse{\equal{#1}{}}{}{#1\\}} % Inserts dollar symbol \newcommand{\dollar}[1][]{\symbol{36}} @@ -60,9 +73,16 @@ \fancyfoot[C]{ \ifthenelse{\equal{\thepage}{1}} { % First page - \small{ +[@-- + if ($coupon) { + $OUT .= '\vspace{-\extracouponspace}'; + $OUT .= '\rule[0.5em]{\textwidth}{\footrulewidth}\\\\'; + $OUT .= $coupon; + } + ''; +--@] \small{ [@-- $footer --@] - } + }[@-- $coupon ? '\vspace{\extracouponspace}' : '' --@] } { % ... pages \small{ @@ -87,7 +107,7 @@ \makebox{ \begin{tabular}{ll} \includegraphics{[@-- $conf_dir --@]/logo.eps} & - \begin{minipage}[b]{3.5cm} + \begin{minipage}[b]{5.5cm} [@-- $returnaddress --@] \end{minipage} \end{tabular} @@ -101,10 +121,10 @@ \fancyhead[R]{ \ifthenelse{\equal{\thepage}{1}} { % First page - \begin{tabular}{rcl} - Invoice date & & Invoice number \\ + \begin{tabular}{ccc} + Invoice date & Invoice \#& Customer\#\\ \vspace{0.2cm} - \textbf{[@-- $date --@]} & & \textbf{[@-- $invnum --@]} \\\hline + \textbf{[@-- $date --@]} & \textbf{[@-- $invnum --@]} & \textbf{[@-- $custnum --@]} \\\hline \rule{0pt}{5ex} &~~ \huge{\textsc{Invoice}} & \\ \vspace{-0.2cm} & & \\\hline @@ -112,9 +132,9 @@ } { % ... pages \small{ - \begin{tabular}{ll} - Invoice date & Invoice number\\ - \textbf{[@-- $date --@]} & \textbf{[@-- $invnum --@]}\\ + \begin{tabular}{lll} + Invoice date & Invoice \#& Customer\#\\ + \textbf{[@-- $date --@]} & \textbf{[@-- $invnum --@]} & \textbf{[@-- $custnum --@]}\\ \end{tabular} } } @@ -135,19 +155,22 @@ % Commands for freeside description... -\newcommand{\FSdesc}[3]{ +\newcommand{\FSdesc}[5]{ \multicolumn{1}{c}{\rule{0pt}{2.5ex}\textbf{#1}} & - \textbf{#2} & - \multicolumn{1}{r}{\textbf{\dollar #3}}\\ + \multicolumn{4}{l}{\textbf{#2}} & + \multicolumn{1}{l}{\textbf{#3}} & + \multicolumn{1}{r}{\textbf{#4}} & + \multicolumn{1}{r}{\textbf{\dollar #5}}\\ } % ...extended description... \newcommand{\FSextdesc}[1]{ \multicolumn{1}{l}{\rule{0pt}{1.0ex}} & - \multicolumn{2}{l}{\small{~-~#1}}\\ +%% \multicolumn{2}{l}{\small{~-~#1}}\\ +#1\\ } % ...and total line items. \newcommand{\FStotaldesc}[2]{ - & \multicolumn{1}{l}{#1} & #2\\ + & \multicolumn{6}{l}{#1} & #2\\ } @@ -164,8 +187,8 @@ % % % -\begin{tabular}{ll} -\addressinset \rule{0cm}{0cm} & +[@-- $coupon ? '\enlargethispage{-\extracouponspace}' : '' --@] +\addressinset \rule{0.5cm}{0cm} \makebox{ \begin{minipage}[t]{5.0cm} \vspace{0.25cm} @@ -173,14 +196,29 @@ \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]{6.4cm} \begin{flushright} +[@-- + if ($ship_enable) { + $OUT .= '\textbf{Service Address}\\\\'; + $OUT .= "\\addressline{$ship_company}"; + $OUT .= "\\addressline{$ship_address1}"; + $OUT .= "\\addressline{$ship_address2}"; + $OUT .= "\\addressline{$ship_city, $ship_state~~$ship_zip}"; + $OUT .= "\\addressline{$ship_country}"; + $OUT .= '~\\\\'; + $OUT .= "\\textbf{ID:}~~$agent_custid\\\\" if $agent_custid; + $OUT .= "\\textbf{Fax:}~~$ship_fax\\\\" if $ship_fax; + $OUT .= '~\\\\' if ($ship_fax or $agent_custid); + }else{ + $OUT .= ''; + } +--@] Terms: [@-- $terms --@]\\ [@-- $po_line --@]\\ \end{flushright} @@ -188,23 +226,34 @@ Terms: [@-- $terms --@]\\ \vspace{1.5cm} % \section*{\textsc{Charges}} -\begin{longtable}{clr} +\begin{longtable}{cllllllr} \hline \rule{0pt}{2.5ex} \makebox[1.4cm]{\textbf{Ref}} & -\makebox[12.8cm][l]{\textbf{Description}} & -\makebox[2.5cm][r]{\textbf{Amount}} \\ +\makebox[2.0cm][l]{\textbf{Description}}& +\makebox[2.0cm][l]{}& +\makebox[2.0cm][l]{}& +\makebox[2.0cm][l]{}& +\makebox[2.0cm][l]{\textbf{[@-- $unitprices ? '~~Unit Price' : '' --@]}}& +\makebox[2.0cm]{\textbf{[@-- $unitprices ? '~Quantity' : '' --@]}}& +\makebox[2.0cm][r]{\textbf{Amount}} \\ +% \hline \endfirsthead -\multicolumn{3}{r}{\rule{0pt}{2.5ex}Continued from previous page}\\ +\multicolumn{7}{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}} \\ +\makebox[2.0cm][l]{\textbf{Description}}& +\makebox[2.0cm][l]{}& +\makebox[2.0cm][l]{}& +\makebox[2.0cm][l]{}& +\makebox[2.0cm][l]{\textbf{[@-- $unitprices ? '~~Unit Price' : '' --@]}}& +\makebox[2.0cm]{\textbf{[@-- $unitprices ? '~Quantity' : '' --@]}}& +\makebox[2.0cm][r]{\textbf{Amount}} \\ \hline \endhead -\multicolumn{3}{r}{\rule{0pt}{2.5ex}Continued on next page...}\\ +\multicolumn{7}{r}{\rule{0pt}{2.5ex}Continued on next page...}\\ \endfoot \hline [@-- @@ -227,11 +276,18 @@ Terms: [@-- $terms --@]\\ $OUT .= "\\hline\n"; $OUT .= '\FSdesc{' . $line->{'ref'} . '}{' . $line->{'description'} . '}' . + '{' . ( $unitprices ? $line->{'unit_amount'} : '' ) . '}'. + '{' . ( $unitprices ? $line->{'quantity'} : '' ) . '}' . '{' . $line->{'amount'} . "}${rowbreak}\n"; foreach my $ext_desc (@$ext_description) { - $ext_desc = substr($ext_desc, 0, 70) . '...' - if (length($ext_desc) > 70); + if ( $ext_desc !~ /[^\\]&/ ) { + $ext_desc = substr($ext_desc, 0, 80) . '...' + if (length($ext_desc) > 80); + $ext_desc = '\multicolumn{6}{l}{\small{~~~'. $ext_desc. '}}'; + }else{ + $ext_desc = "~~~$ext_desc"; + } $OUT .= '\FSextdesc{' . $ext_desc . '}' . "${rowbreak}\n"; }