diff options
author | Karl Berry <karl@freefriends.org> | 2019-01-18 22:37:26 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2019-01-18 22:37:26 +0000 |
commit | 3fdf03421f7051f57f232646be4788e4234a8a62 (patch) | |
tree | 784f63760e4ac627c79961425ca48e70250020ba /Master/texmf-dist/tex | |
parent | ac52c731712b8871bb99e63035680ea98bfa1445 (diff) |
invoice-class (18jan19)
git-svn-id: svn://tug.org/texlive/trunk@49749 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r-- | Master/texmf-dist/tex/latex/invoice-class/invoice-class.cls | 168 |
1 files changed, 168 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/invoice-class/invoice-class.cls b/Master/texmf-dist/tex/latex/invoice-class/invoice-class.cls new file mode 100644 index 00000000000..d7fc6cc16b5 --- /dev/null +++ b/Master/texmf-dist/tex/latex/invoice-class/invoice-class.cls @@ -0,0 +1,168 @@ +% US Commercial Invoice Class +% Copyright 2008-2019 by Alan Munn amunn@msu.edu +% +% This class may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2005/12/01 or later. +% +% This package has the LPPL maintenance status `maintained'. +% +% The Current Maintainer of this package is Alan Munn amunn@msu.edu +% +\def\invc@date{2019/01/17} +\def\invc@version{1.0} +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{invoice-class}[\invc@date\space Commercial Invoice \invc@version] +\LoadClass[11pt]{article} +\RequirePackage[margin=1in]{geometry} +\RequirePackage{datatool} +\RequirePackage{multicol} +\RequirePackage{array} +\RequirePackage{tabularx} +\RequirePackage{longtable} +\RequirePackage{dcolumn} +\RequirePackage{fancyhdr} +% internal commands +\renewcommand{\rmdefault}{\sfdefault} +\newcommand*{\invc@BL}[1]{\rule{#1}{.5pt}} % signature rule +\newcommand*\invc@NL{\tabularnewline} +\newcolumntype{d}{D{.}{.}{6.2}} % decimal columns for amounts +\newcommand*{\invc@mc}{\multicolumn{1}{c|}} % column header +\newcommand*{\invc@waybill}{% format waybill in a box +\fbox{\textbf{Waybill Number:} \invc@waybillnum}} +% +% user commands +% +\newcommand*{\ConfigPrefix}[1]{\gdef\invc@configprefix{#1}} +\newcommand*{\InputFile}[1]{\gdef\invc@inputfile{#1}} +\newcommand*{\waybill}[1]{\gdef\invc@waybillnum{#1}} +\newcommand*{\shippingdate}[1]{\gdef\invc@shippingdate{#1}} +\newcommand{\toaddress}[1]{\gdef\invc@toaddress{#1}} +\newcommand*{\destination}[1]{\gdef\invc@destination{#1}} +\newcommand*{\carrier}[1]{\gdef\invc@carrier{#1}} +\newcommand*{\weight}[2]{\gdef\invc@pounds{#1}\gdef\invc@oz{#2}} +\newcommand*{\packages}[1]{\gdef\invc@packages{#1}} +\newcommand*{\packingcost}[1]{\gdef\invc@packingcost{#1}} +\newcommand*{\shippingcost}[1]{\gdef\invc@shippingcost{#1}} +\newcommand*{\insurancecost}[1]{\gdef\invc@insurancecost{#1}} +\newcommand{\fromaddress}[1]{\long\gdef\invc@fromaddress{#1}} +\newcommand*{\shipper}[1]{\gdef\invc@shipper{#1}} +\newcommand*{\location}[1]{\gdef\invc@location{#1}} +% +% defaults +% +\packingcost{0} +\shippingcost{0} +\insurancecost{0} +\shippingdate{\today} +\ConfigPrefix{} +% +% Configuration file scheme: +% \ConfigPrefix{} sets a prefix for config files and allows multiple configuration files +% invoice.cfg should contain the commands \fromaddress, \shipper and \location +% these will generally be fixed values, but can be set on a per document basis too. +% +\AtBeginDocument{ +\InputIfFileExists{\invc@configprefix invoice.cfg}{\ClassInfo{invoice-class}{Loading configuration file \invc@configprefix invoice.cfg }\typeout{Loading configuration file \invc@configprefix invoice.cfg}} +{\ClassInfo{invoice-class}{Config file not loaded. Using class default}\typeout{Config file not loaded. Using class default} +\fromaddress{% +The Duck Company\\ +Some Avenue\\ +Somewhere MI 48823\\ +USA\\ +Tel. 555-555-5555\\ +} +\shipper{Prof. van Duck} +\location{Somewhere, MI} +}} +% +\pagestyle{fancy} +\parindent=0pt +\lhead{} +\chead{\Large \sffamily \bfseries Commercial Invoice } +\rhead{} +\lfoot{} +\cfoot{\sffamily\thepage} +\rfoot{} +\renewcommand{\headrulewidth}{0.4pt} +\renewcommand{\footrulewidth}{0pt} +\setlength{\headheight}{18pt} +\thispagestyle{fancy} +\sffamily +\newcommand{\printinvoice}{% +\invc@waybill +\begin{multicols}{2} + +{\Large\bfseries From:} + +\invc@fromaddress + +\columnbreak + +{\Large\bfseries To:} + +\invc@toaddress +\end{multicols} + +\setlength{\extrarowheight}{9pt} +\begin{tabularx}{\linewidth}{|*{4}{>{\centering}X|}} +\hline +\textbf{\scriptsize Country of ultimate destination:} & \textbf{\scriptsize Exporting Carrier} & \textbf{\scriptsize Total number of packages} & \textbf{\scriptsize Gross Weight} \invc@NL +\invc@destination & \invc@carrier & +\invc@packages & \invc@pounds~lb \invc@oz~oz \invc@NL +\hline +\end{tabularx} +% +\DTLloaddb{invoice}{\invc@inputfile} +\DTLsumcolumn{invoice}{Amount}{\invc@total} +\setlength{\extrarowheight}{3pt} +\begin{longtable}{|p{2.1381in}|>{\centering}p{1in}|r|d|d|} +\hline +\centering\bfseries Description & \centering\bfseries Country of Origin & \centering \bfseries Quantity &\invc@mc{\bfseries Unit Value\$} & \invc@mc{\bfseries Amount (USD)}\invc@NL +\hline +\endhead +\hline +\endfoot +\DTLforeach{invoice}{% +\description=Description,\country=Country,\quantity=Quantity,\unitvalue=UnitValue,\amount=Amount}{% +\description & \country & \quantity & \unitvalue & \amount \invc@NL} & & & & \invc@NL +\hline +\multicolumn{4}{|r|}{\bfseries Currency type and amount}& \DTLdecimaltocurrency{\invc@total}{\invc@subtotal}\invc@subtotal \invc@NL +\multicolumn{4}{|r|}{\bfseries Packing cost} & \DTLdecimaltocurrency{\invc@packingcost}{\invc@pcost}\invc@pcost\invc@NL +\multicolumn{4}{|r|}{\bfseries Shipping cost} & \DTLdecimaltocurrency{\invc@shippingcost}{\invc@scost}\invc@scost\invc@NL +\multicolumn{4}{|r|}{\bfseries Insurance cost} & \DTLdecimaltocurrency{\invc@insurancecost}{\invc@icost}\invc@icost\invc@NL +\hline\hline +\multicolumn{4}{|r|}{\bfseries Total Invoice Value} &\DTLaddall{\invc@grandtotal}{\invc@total,\invc@packingcost,\invc@shippingcost,\invc@insurancecost} +\DTLconverttodecimal{\invc@grandtotal}{\invc@gtotal} +\DTLdecimaltocurrency{\invc@gtotal}{\invc@ctotal}\invc@ctotal \invc@NL +\hline +\end{longtable} +\vskip 5ex +{\Large\bfseries Notes:} + +{\footnotesize These commodities, technologies, or software were exported from the United States of +America in accordance with the Export Administration regulations. Diversion contrary to +U.S. law is prohibited. + +It is hereby certified that this invoice shows: (1) the actual price of the goods described, +(2) that no other invoice has been or will be issued, and (3) that all particulars are true +and correct.} + +\bigskip +\setlength{\extrarowheight}{18pt} +\begin{tabular}{|p{3in}|p{1.75in}|} +\hline +\textbf{\scriptsize Name:} \hskip 2em \invc@shipper & \textbf{\scriptsize Date:} \invc@shippingdate \invc@NL + +\hline +\multicolumn{2}{|l|}{\textbf{\scriptsize Location:} \hskip 1em \invc@location}\invc@NL +\hline +\multicolumn{2}{|l|}{ \textbf{\scriptsize Signature:}}\invc@NL +\hline +\end{tabular} +} +\endinput
\ No newline at end of file |