updated scripts

This commit is contained in:
liphh committed 2026-10-02 22:35:11 +02:00
1 parent 2326f1fbbc
commit 41b55f96c1
118 files changed
+8245 -627

No files matched your search

+120
View File
@@ -0,0 +1,120 @@
<?lsmb# This is a comment block; it's ignored by the template engine.
Version: 1.5
Date: 2024-04-21
File: 1099-INT.tex
Set: demo
Template version numbers are explicitly not aligned across templates or
releases. No explicit versioning was applied before 2021-01-04.
Version Changes
1.5 Fix 'latexpdf' errors with missing data
1.4 Correct values passed into 'taxformpart' block
1.3 Document available variables; replace deprecated ones
1.2 Fix syntax error
1.1 Merged xelatex targetting templates with those targetting pdflatex
This template has the following variables available:
SETTINGS:
company_name
company_address
company_phone
company_fax
company_email
businessnumber
results:
- id
legal_name
entity_id
entity_class
control_code
meta_number
tax_id
sales_tax_id
acc_sum
invoice_sum
total_sum
invnumber (1)
duedate (1)
invoice_id (1)
line_one
line_two
line_three
city
state
mail_code
(1): These fields are only available when the report being printed
is a detailed report (as opposed to a summary report).
-?>
<?lsmb FILTER latex { format="$FORMAT($PROCESSOR)" } ?>
\documentclass[usletter]{article}
\usepackage{textpos}
\usepackage[top=0.0in, bottom=0in, left=0in, right=0in]{geometry}
\setlength{\parindent}{0pt}
\setlength{\TPHorizModule}{1in}
\setlength{\TPVertModule}{1in}
<?lsmb BLOCK taxformpart ?>
\begin{textblock}{4}[0,1](1, 1.5)
<?lsmb SETTINGS.company_name || 'No Company Name set in System Defaults' ?>\\
<?lsmb SETTINGS.company_address || 'No Company Address set in System Defaults' ?>\\
Tel: <?lsmb SETTINGS.company_phone ?>
\end{textblock}
\begin{textblock}{2}[0,1](1, 3.5)
<?lsmb SETTINGS.businessnumber ?>
\end{textblock}
\begin{textblock}{2}[0,1](3, 3.5)
<?lsmb taxnumber ?>
\end{textblock}
\begin{textblock}{4}[0,1](1, 4)
<?lsmb legal_name ?>\\
<?lsmb IF line_one ?>
<?lsmb line_one ?>\\
<?lsmb IF line_two ?><?lsmb line_two ?>\\ <?lsmb END ?>
<?lsmb IF line_three ?><?lsmb line_three ?>\\ <?lsmb END ?>
<?lsmb ELSE -?>
No billing or physical address set \\
<?lsmb END # line_one ?>
<?lsmb city ?>, <?lsmb state ?> <?lsmb mail_code ?>
\end{textblock}
\begin{textblock}{2}[0,1](4.5, 1.5)
<?lsmb total_sum ?>
\end{textblock}
<?lsmb END # Block taxformpart ?>
<?lsmb BLOCK taxform ?>
<?lsmb PROCESS taxformpart ?>
\clearpage
<?lsmb PROCESS taxformpart ?>
\clearpage
<?lsmb PROCESS taxformpart ?>
\clearpage
<?lsmb PROCESS taxformpart ?>
\clearpage
<?lsmb END #BLOCK taxform ?>
\begin{document}
<?lsmb FOR tf in results ?>
<?lsmb INCLUDE taxform
legal_name = tf.legal_name
line_one = tf.line_one
line_two = tf.line_two
line_three = tf.line_three
city = tf.city
state = tf.state
mail_code = tf.mail_code
taxnumber = tf.taxnumber
total_sum = tf.total_sum ;
END # FOR tf ?>
\end{document}
<?lsmb END # FILTER latex -?>
+128
View File
@@ -0,0 +1,128 @@
<?lsmb# This is a comment block; it's ignored by the template engine.
Version: 1.4
Date: 2024-04-21
File: 1099-MISC.tex
Set: demo
Template version numbers are explicitly not aligned across templates or
releases. No explicit versioning was applied before 2021-01-04.
Version Changes
1.4 Fix 'latexpdf' errors with missing data
1.3 Correct values passed into 'taxformpart' block
1.2 Document available variables; replace deprecated ones
1.1 Merged xelatex targetting templates with those targetting pdflatex
This template has the following variables available:
SETTINGS:
company_name
company_address
company_phone
company_fax
company_email
businessnumber
results:
- id
legal_name
entity_id
entity_class
control_code
meta_number
tax_id
sales_tax_id
acc_sum
invoice_sum
total_sum
invnumber (1)
duedate (1)
invoice_id (1)
line_one
line_two
line_three
city
state
mail_code
(1): These fields are only available when the report being printed
is a detailed report (as opposed to a summary report).
-?>
<?lsmb FILTER latex { format="$FORMAT($PROCESSOR)" } ?>
\documentclass[usletter]{article}
\usepackage{textpos}
\usepackage[top=0.0in, bottom=0in, left=0in, right=0in]{geometry}
\setlength{\parindent}{0pt}
\setlength{\TPHorizModule}{1in}
\setlength{\TPVertModule}{1in}
<?lsmb BLOCK taxformpart
# Defines a repeatable block of TeX commands
?>
\begin{textblock}{4}[0,1](1, 1.5)
<?lsmb SETTINGS.company_name || 'No Company Name set in System Defaults' ?>\\
<?lsmb SETTINGS.company_address || 'No Company Address set in System Defaults' ?>\\
Tel: <?lsmb SETTINGS.company_phone ?>
\end{textblock}
\begin{textblock}{2}[0,1](1, 3.5)
<?lsmb SETTINGS.businessnumber ?>
\end{textblock}
\begin{textblock}{2}[0,1](3, 3.5)
<?lsmb taxnumber ?>
\end{textblock}
\begin{textblock}{4}[0,1](1, 4)
<?lsmb legal_name ?>\\
<?lsmb IF street1 ?>
<?lsmb street1 ?>\\
<?lsmb IF street2 ?><?lsmb street2 ?>\\ <?lsmb END ?>
<?lsmb IF street3 ?><?lsmb street3 ?>\\ <?lsmb END ?>
<?lsmb ELSE -?>
No billing or physical address set \\
<?lsmb END # street1 ?>
<?lsmb city ?>, <?lsmb state ?> <?lsmb mail_code ?>
\end{textblock}
\begin{textblock}{2}[0,1](4.5, 4.5)
<?lsmb total_sum ?>
\end{textblock}
<?lsmb END # Block taxformpart ?>
<?lsmb BLOCK taxform
# Defines a repeatable block of TeX commands
?>
<?lsmb PROCESS taxformpart ?>
\clearpage
<?lsmb PROCESS taxformpart ?>
\clearpage
<?lsmb PROCESS taxformpart ?>
\clearpage
<?lsmb PROCESS taxformpart ?>
\clearpage
<?lsmb END #BLOCK taxform ?>
\begin{document}
<?lsmb
# Executes the actual form
FOREACH tf IN results;
INCLUDE taxform
legal_name = tf.legal_name
street1 = tf.line_one
street2 = tf.line_two
street3 = tf.line_three
city = tf.city
state = tf.state
mail_code = tf.mail_code
taxnumber = tf.taxnumber
total_sum = tf.total_sum;
END # FOR tf ?>
\end{document}
<?lsmb END # FILTER latex -?>
+26
View File
@@ -0,0 +1,26 @@
<?lsmb# This is a comment block; it's ignored by the template engine.
Version: 1.2
Date: 2024-10-08
File: PNL.csv
Set: demo
Template version numbers are explicitly not aligned across templates or
releases. No explicit versioning was applied before 2021-01-04.
Version Changes
1.2 Restore 'heading_account' column (turning out not-spurious)
1.1 Remove spurious 'heading_account' column
-?>
account,description,is_heading,heading_account<?lsmb
FOREACH col IN report.sorted_col_ids -?>
,"<?lsmb report.cheads.ids.$col.props.description ?>"<?lsmb END; ?>
<?lsmb FOREACH row IN report.sorted_row_ids ; -?>
<?lsmb report.rheads.ids.$row.props.account_number -?>,"<?lsmb report.rheads.ids.$row.props.account_description ?>",<?lsmb IF report.rheads.ids.$row.props.account_type == 'H' -?>Y<?lsmb ELSE ?>N<?lsmb END ?>,<?lsmb
PARENT = report.rheads.ids.$row.parent_id ;
report.rheads.ids.$PARENT.props.account_number ?><?lsmb
FOREACH col IN report.sorted_col_ids ; -?>
,<?lsmb report.cells.$row.$col -?><?lsmb
END; ?>
<?lsmb END; -?>
Can't render this file because it contains an unexpected character in line 18 and column 53.
+376
View File
@@ -0,0 +1,376 @@
<?lsmb# This is a comment block; it's ignored by the template engine.
Version: 2.2
Date: 2026-02-19
File: PNL.html
Set: demo
Template version numbers are explicitly not aligned across templates or
releases. No explicit versioning was applied before 2021-01-04.
Version Changes
2.0 Created clickable section heads to collapse parts of hierarchical reports
2.1 Simplify indentation calculations; many values are provided as variables as-of 1.13
2.2 Fix address not showing below the company name
-?>
<!DOCTYPE html>
<html>
<head>
<meta name="generator" content="HTML Tidy for HTML5 for Linux version 5.6.0">
<title><?lsmb title ?></title>
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
<style type="text/css">
table.c1 {border-collapse: collapse}
.flat-hierarchy .balancesheet .report-head th {
font-weight: bold;
text-align: right;
white-space: pre;
}
.flat-hierarchy .balancesheet .section1.QL,
.flat-hierarchy .income_statement .section1 {
border: none;
display: none;
}
.flat-hierarchy .balancesheet .section1,
.flat-hierarchy .balancesheet .section2,
.flat-hierarchy .income_statement .section2 {
border-bottom: 3px double black;
font-size: large;
}
.financial-statement.flat-hierarchy .heading1,
.financial-statement.flat-hierarchy .balancesheet .heading2 {
border-top: 1px solid black;
font-weight: bold;
height: 2em;
vertical-align: top;
}
.financial-statement.flat-hierarchy .income_statement .heading2 {
border-top: 1px solid black;
font-size: bigger;
font-style: italic;
height: 2em;
vertical-align: top;
}
.financial-statement.flat-hierarchy table {
margin-top: 3em;
min-width: 60ex;
}
.financial-statement.flat-hierarchy table td,
.financial-statement.flat-hierarchy table th {
padding-bottom: 3px; /* add space for the dashed line underlining hovered amounts */
}
.financial-statement .company-name {
font-family: monospace;
margin-top: 2em;
text-align: center;
}
.financial-statement .company-address {
font-family: monospace;
font-size: smaller;
text-align: center;
}
#PNL a {
background-color: inherit;
color: inherit;
text-decoration: none;
}
#PNL a:link {
background-color: inherit;
color: inherit;
text-decoration: none;
}
#PNL a:visited {
background-color: inherit;
color: inherit;
text-decoration: none;
}
#PNL a:hover {
background-color: inherit;
border-bottom: thin dashed;
color: inherit;
text-decoration: none;
}
#PNL td.amount {
padding-left: 0.5em;
text-align: right;
}
#PNL tr.separator {
min-height: 1em;
}
#PNL tr.sectionhead th {
font-weight: bold;
margin-top: 4em;
padding-top: 2em;
text-align: right;
}
#PNL td.total {
border: 0;
border-color: black;
border-style: solid;
border-top: 1px;
}
#PNL th {
padding-left: 5px;
}
#PNL table {
margin-left: auto;
margin-right: auto;
}
#PNL h1,
h2 {
text-align: center;
}
#PNL th[colspan="1"].indent {
width: 1em;
}
#PNL th[colspan="2"].indent {
width: 2em;
}
#PNL th[colspan="3"].indent {
width: 3em;
}
#PNL th[colspan="4"].indent {
width: 4em;
}
#PNL th[colspan="5"].indent {
width: 5em;
}
#PNL th[colspan="6"].indent {
width: 6em;
}
#PNL th[colspan="7"].indent {
width: 7em;
}
#PNL th[colspan="8"].indent {
width: 8em;
}
#PNL th[colspan="9"].indent {
width: 9em;
}
#PNL td.heading1,
#PNL th.heading1 {
border-bottom: 1px solid black;
border-top: 1px solid black;
font-weight: bold;
padding-bottom: 1em;
}
#PNL td.heading2,
#PNL th.heading2 {
font-style: italic;
font-weight: bold;
}
#PNL table.balancesheet {
border-top: 1px solid black;
margin-top: 2em;
}
#PNL .amount {
padding-left: 0.5em;
}
.financial-statement h1,
.financial-statement h2 {
text-align: center;
}
.financial-statement table {
margin-left: auto;
margin-right: auto;
}
.financial-statement td.amount {
padding-left: 4em;
text-align: right;
}
.financial-statement tr.total td,
.financial-statement tr.total th {
padding-bottom: 2em;
}
.financial-statement tr.total td.amount {
border-top: thick double black;
}
.financial-statement th {
text-align: left;
}
.financial-statement tr.section-head th,
.financial-statement tr.total th {
text-align: center;
}
.financial-statement a,
.financial-statement a:visited {
color: black;
text-decoration: none;
}
.heading3.H {
padding-bottom: 1em;
}
.heading2.H {
padding-bottom: 1.5em;
}
.heading4.H {
padding-bottom: 0.75em;
}
.section1 {
font-size: 140%;
}
.section2 {
font-size: 120%;
}
.section3 {
font-size: 110%;
}
.H {
font-style: italic;
}
.section4 {
font-size: 105%;
}
th {
font-weight: normal;
}
@media print {
.non-printed {
display: none;
}
}
</style>
<script>
let lvl = {};
function toggle(tgt,cls) {
let elms = document.querySelectorAll(tgt+' .'+cls);
let newState = lvl[cls] ? '' : 'none';
lvl[cls] = !lvl[cls];
for ( var e = elms.length - 1; e >= 0; e-- ) {
elms[e].style.display = newState;
}
}
</script></head><?lsmb
account_data = report.account_data;
max_path_depth = report.rheads.max_path_depth;
IF report.legacy_hierarchy ;
hierarchy = 'flat-hierarchy';
ELSE ;
hierarchy = 'full-hierarchy';
END ;
?>
<body class="financial-statement <?lsmb dojo_theme ?> <?lsmb hierarchy ?>">
<div id="PNL" class="financial-statement <?lsmb hierarchy ?>">
<!-- Also used in balance sheet! -->
<h1><?lsmb name ?></h1>
<div class="company-name">
<?lsmb SETTINGS.company_name ?>
</div>
<div class="company-address">
<?lsmb SETTINGS.company_address ?>
</div>
<table class="income_statement c1">
<colgroup class="headings">
<?lsmb i = 1;
WHILE i <= max_path_depth;
' <col class="level' _ i _ '" />';
i = i + 1;
END;
?>
</colgroup>
<colgroup class="values">
<?lsmb i = 1;
WHILE i <= report.cheads.ids.size;
' <col class="values' _ i _ '" />';
i = i + 1;
END;
?>
</colgroup>
<thead>
<tr class="report-head">
<th colspan="<?lsmb max_path_depth ?>">
</th><?lsmb FOREACH col IN report.sorted_col_ids -?>
<th><?lsmb report.cheads.ids.$col.props.description ?></th><?lsmb END -?>
</tr>
</thead>
<tbody>
<?lsmb FOREACH row IN report.sorted_row_ids ;
row_data = report.rheads.ids.$row;
path_depth = row_data.path_depth;
path_prefix_len = row_data.path_prefix_len;
path_suffix_len = row_data.path_suffix_len;
IF row_data.props.account_type == 'H' ;
class = 'class="heading' _ path_depth _ ' ' _ row_data.props.account_type _ '"';
clazz = "heading" _ path_depth _ ' ' _ row_data.props.account_type;
row_type = 'H';
ELSIF row_data.props.section_for ;
class = 'class="section' _ path_depth _ ' ' _ row_data.heading_props.account_category _ '"';
clazz = "section" _ path_depth _ ' ' _ row_data.heading_props.account_category;
row_type = 'H';
ELSE;
class = 'class="account"';
clazz = 'account';
row_type = 'A';
END;
?>
<tr class="<?lsmb FOREACH sec IN row_data.path ; IF NOT loop.last(); " sub-" _ sec ; END; END; ?>" <?lsmb IF row_type == 'H' ; ?> onclick="toggle('', 'sub-<?lsmb row_data.path.last ?>')" <?lsmb END ?> >
<?lsmb IF report.legacy_hierarchy ?>
<?lsmb IF path_prefix_len > 0 ?>
<th colspan="<?lsmb path_prefix_len ?>" class="indent">&nbsp;</th>
<?lsmb END ?>
<?lsmb ELSE ?>
<?lsmb- FILTER repeat(path_prefix_len) -?>
<th class="indent">&nbsp;</th>
<?lsmb- END -?>
<?lsmb- END -?>
<th colspan="<?lsmb path_suffix_len ?>" <?lsmb class ?>>
<?lsmb IF row_data.props.section_for ;
row_data.props.row_description ?></th>
<th colspan="<?lsmb report.cheads.ids.size ?>" <?lsmb class ?>>
<?lsmb ELSE -?>
<?lsmb row_data.props.row_description ?></th><?lsmb FOREACH col IN report.sorted_col_ids -?>
<td class="amount <?lsmb clazz ?>">
<?lsmb report.cells.$row.$col ?>
</td><?lsmb END ?><?lsmb END ?>
</tr><?lsmb END ?>
</tbody>
</table>
</div>
<p class="non-printed">Click on the headings to collapse sections.</p>
</body>
</html>
+112
View File
@@ -0,0 +1,112 @@
<?lsmb# This is a comment block; it's ignored by the template engine.
Version: 1.3
Date: 2025-08-30
File: PNL.tex
Set: demo
Template version numbers are explicitly not aligned across templates or
releases. No explicit versioning was applied before 2021-01-04.
Version Changes
1.1 Merged xelatex targetting templates with those targetting pdflatex
1.2 Fixed company address not showing
1.3 Simplify indentation calculations; as of 1.13, many pre-calculated
values are provided as variables
-?>
<?lsmb FILTER latex { format="$FORMAT($PROCESSOR)" } ?>
<?lsmb
max_path_depth = report.rheads.max_path_depth;
last_col_no = max_path_depth + 1 + report.sorted_col_ids.size;
IF report.legacy_hierarchy ;
hierarchy = 'flat-hierarchy';
ELSE ;
hierarchy = 'full-hierarchy';
END ;
-?>
\documentclass[10pt]{article}
\usepackage{longtable}
\usepackage[<?lsmb SETTINGS.papersize ?>paper,top=2cm,bottom=1.5cm,left=1.1cm,right=1.5cm]{geometry}
\begin{document}
\renewcommand\baselinestretch{1.2}\selectfont
\begin{center}
\Huge{<?lsmb text('Income Statement') ?>}
\small{
\texttt{<?lsmb SETTINGS.company_name ?>}
\texttt{<?lsmb SETTINGS.company_address ?>}
}
\end{center}
\begin{longtable}{@{\extracolsep{'0pt}}<?lsmb l = 'l'; l.repeat(max_path_depth);
-?>p{2cm}<?lsmb l = 'r'; l.repeat(report.sorted_col_ids.size); ?>}
\\
\multicolumn{<?lsmb max_path_depth ?>}{l}{} &%
<?lsmb
FOREACH col IN report.sorted_col_ids;
' & \shortstack{';
report.cheads.ids.$col.props.description ;
'} ';
END;
?> \\
\\
<?lsmb FOREACH row IN report.sorted_row_ids ;
row_data = report.rheads.ids.$row;
path_depth = row_data.path_depth;
path_prefix_len = row_data.path_prefix_len;
path_suffix_len = row_data.path_suffix_len;
IF row_data.props.section_for;
IF row_data.heading_props.account_category == 'Q';
NEXT;
END;
END;
desc = row_data.props.row_description;
IF row_data.props.account_type != 'A';
IF row_data.props.section_for ;
desc = '\Large{' _ row_data.props.row_description _ '}';
ELSE;
'\cline{' _ path_depth _ '-' _ last_col_no _ '} ';
END;
desc = '\textbf{\emph{' _ desc _ '}}';
END ;
-?>%
%
<?lsmb amp = '& '; amp.repeat(path_prefix_len); -?>
<?lsmb IF path_suffix_len > 1 -?>
\multicolumn{<?lsmb path_suffix_len ?>}{l}{<?lsmb desc ?>}%
<?lsmb ELSE -?>
<?lsmb desc ?>
<?lsmb END -?>
%
& %
<?lsmb FOREACH col IN report.sorted_col_ids;
' & '; report.cells.$row.$col;
END; -?>
%
\\
%
<?lsmb IF row_data.props.account_type != 'A'; -?>
<?lsmb IF row_data.props.section_for; -?>
\cline{<?lsmb path_depth ?>-<?lsmb last_col_no ?>}
\noalign{\vskip 2pt}
\cline{<?lsmb path_depth ?>-<?lsmb last_col_no ?>}
<?lsmb ELSE -?>
\\
<?lsmb END -?>
<?lsmb END -?>
<?lsmb END -?>
\end{longtable}
\end{document}
<?lsmb END -?>
+16
View File
@@ -0,0 +1,16 @@
<?lsmb# This is a comment block; it's ignored by the template engine.
Version: 1.1
Date: 2022-03-28
File: ap_transaction.csv
Set: demo
Template version numbers are explicitly not aligned across templates or
releases. No explicit versioning was applied before 2021-01-04.
-?>
account,amount,description,project
<?lsmb FOREACH amount ?><?lsmb lc = loop.index ?><?lsmb accno.${lc} ?>,<?lsmb account.${lc} ?>,<?lsmb amount.${lc} ?>,<?lsmb linedescription.${lc} ?>,<?lsmb projectnumber.${lc} ?>
<?lsmb END ?><?lsmb FOREACH t IN taxaccounts.split(' ') ?><?lsmb loop_count = loop.index -?>
<?lsmb t.remove('"') ?>,<?lsmb tax.${loop_count} ?>,<?lsmb taxdescription.${loop_count} ?>,
<?lsmb END ?>
Can't render this file because it contains an unexpected character in line 15 and column 18.
+182
View File
@@ -0,0 +1,182 @@
<?lsmb# This is a comment block; it's ignored by the template engine.
Version: 1.1
Date: 2022-03-28
File: ap_transaction.html
Set: demo
Template version numbers are explicitly not aligned across templates or
releases. No explicit versioning was applied before 2021-01-04.
-?>
<!DOCTYPE html>
<html>
<head>
<meta name="generator" content="HTML Tidy for HTML5 for Linux version 5.6.0">
<title><?lsmb text('AP Transaction') ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
body {
background-color: white;
}
span.c2 {font-size: 64%}
h4.c1 {text-transform:uppercase}
</style>
</head>
<body>
<table width="100%">
<?lsmb INCLUDE letterhead ?>
<tr>
<th colspan="3">
<h4 class="c1"><?lsmb text('AP Transaction') ?></h4>
</th>
</tr>
<tr>
<td>
<table width="100%" cellspacing="0" cellpadding="0">
<tr valign="top">
<td>
<?lsmb name ?><br>
<?lsmb address1 ?> <?lsmb IF address2 ?><br>
<?lsmb address2 ?> <?lsmb END ?><br>
<?lsmb city ?> <?lsmb IF state ?> , <?lsmb state ?> <?lsmb END ?> <?lsmb zipcode ?>
<?lsmb IF country ?><br>
<?lsmb country ?> <?lsmb END ?><br>
<?lsmb IF contact ?><br>
<?lsmb contact ?><br>
<?lsmb END ?> <?lsmb IF vendorphone ?><br>
<?lsmb text('Tel: [_1]', vendorphone) ?> <?lsmb END ?> <?lsmb IF vendorfax ?><br>
<?lsmb text('Fax: [_1]', vendorfax) ?> <?lsmb END ?> <?lsmb IF email ?><br>
<?lsmb email ?> <?lsmb END ?> <?lsmb IF vendortaxnumber ?>
<p><?lsmb text('Taxnumber: [_1]', vendortaxnumber) ?> <?lsmb END ?></p>
</td>
<td align="right">
<table>
<tr>
<th align="left" nowrap><?lsmb text('Invoice #') ?></th>
<td><?lsmb invnumber ?></td>
</tr>
<tr>
<th align="left" nowrap><?lsmb text('Date') ?></th>
<td><?lsmb invdate ?></td>
</tr>
<tr>
<th align="left" nowrap><?lsmb text('Due') ?></th>
<td><?lsmb duedate ?></td>
</tr><?lsmb IF ponumber ?>
<tr>
<th align="left"><?lsmb text('PO #') ?></th>
<td><?lsmb ponumber ?>&nbsp;</td>
</tr><?lsmb END ?><?lsmb IF ordnumber ?>
<tr>
<th align="left"><?lsmb text('Order #') ?></th>
<td><?lsmb ordnumber ?>&nbsp;</td>
</tr><?lsmb END ?>
<tr>
<th align="left" nowrap><?lsmb text('Employee') ?></th>
<td><?lsmb employee ?>&nbsp;</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td>
<table>
<?lsmb FOREACH account ?><?lsmb loop_count = loop.index ?>
<tr valign="top">
<td><?lsmb accno.${loop_count} ?></td>
<td><?lsmb account.${loop_count} ?></td>
<td width="10"></td>
<td align="right"><?lsmb amount.${loop_count} ?></td>
<td width="10"></td>
<td><?lsmb linedescription.${loop_count}.replace("\n","<br />") ?></td>
<td width="10"></td>
<td><?lsmb projectnumber.${loop_count} ?></td>
</tr><?lsmb END ?>
<tr>
<?lsmb IF taxincluded ?>
<th colspan="2" align="right"><?lsmb text('Total') ?></th>
<td width="10"></td>
<td align="right"><?lsmb invtotal ?></td><?lsmb ELSE ?>
<th colspan="2" align="right"><?lsmb text('Subtotal') ?></th>
<td width="10"></td>
<td align="right"><?lsmb subtotal ?></td><?lsmb END ?>
</tr><?lsmb FOREACH tax ?><?lsmb loop_count = loop.index ?>
<tr>
<th colspan="2" align="right">
<?lsmb taxdescription.${loop_count}.replace("\n","<br />") ?>@
<?lsmb taxrate.${loop_count} ?> %</th>
<td width="10"></td>
<td align="right"><?lsmb tax.${loop_count} ?></td>
</tr><?lsmb END ?><?lsmb IF NOT taxincluded ?>
<tr>
<th colspan="2" align="right"><?lsmb text('Total') ?></th>
<td width="10"></td>
<td align="right"><?lsmb invtotal ?></td>
</tr><?lsmb END ?>
</table>
</td>
</tr>
<tr>
<td><?lsmb text_amount ?>***** <?lsmb decimal ?>/100 <?lsmb currency ?></td>
</tr>
<tr>
<td>
<?lsmb FOREACH P IN notes.split('\n\n') ?>
<p><?lsmb P ?></p><?lsmb END ?>
</td>
</tr><?lsmb IF paid_1 ?>
<tr>
<td>&nbsp;</td>
<td>
<table>
<tr>
<th><?lsmb text('Payments') ?></th>
</tr>
<tr>
<td>
<hr noshade>
</td>
</tr>
<tr>
<td>
<table>
<tr>
<th><?lsmb text('Date') ?></th>
<th>&nbsp;</th>
<th><?lsmb text('Source') ?></th>
<th><?lsmb text('Memo') ?></th>
<th><?lsmb text('Amount') ?></th>
</tr><?lsmb END ?><?lsmb FOREACH payment ?><?lsmb loop_count = loop.index ?>
<tr>
<td><?lsmb paymentdate.${loop_count} ?></td>
<td><?lsmb paymentaccount.${loop_count} ?></td>
<td><?lsmb paymentsource.${loop_count} ?></td>
<td><?lsmb paymentmemo.${loop_count} ?></td>
<td align="right"><?lsmb payment.${loop_count} ?></td>
</tr><?lsmb END ?><?lsmb IF paid_1 ?>
</table>
</td>
</tr>
</table>
</td>
</tr><?lsmb END ?>
<tr>
<td></td>
</tr><?lsmb IF taxincluded ?>
<tr>
<td></td>
</tr>
<tr>
<th colspan="3" align="left"><span class=
"c2"><?lsmb text('Taxes shown are included in price.') ?></span></th>
</tr><?lsmb END ?>
</table>
</body>
</html>
+138
View File
@@ -0,0 +1,138 @@
<?lsmb# This is a comment block; it's ignored by the template engine.
Version: 1.2
Date: 2022-07-22
File: ap_transaction.tex
Set: demo
Template version numbers are explicitly not aligned across templates or
releases. No explicit versioning was applied before 2021-01-04.
Version Changes
1.1 Fix line descriptions not shown in AR/AP transaction prints
1.2 Merged xelatex targetting templates with those targetting pdflatex
-?>
<?lsmb FILTER latex { format="$FORMAT($PROCESSOR)" };
# Uncomment the next line to overrule the value from System > Defaults;
# The value should be without the 'paper' suffix. E.g. "a4" for "a4paper"
# SETTINGS.papersize = "<your-format>";
INCLUDE "preamble.tex"; -?>
\begin{document}
\pagestyle{myheadings}
\thispagestyle{empty}
\ifpdftex
%% (pdf)latex
\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
\fi
<?lsmb INCLUDE letterhead ?>
\centerline{\MakeUppercase{\textbf{<?lsmb text('AP Transaction') ?>}}}
\vspace*{0.5cm}
\parbox[t]{.5\textwidth}{
<?lsmb name ?>
<?lsmb address1 ?>
<?lsmb address2 ?>
<?lsmb city ?>
<?lsmb IF state ?>
\hspace{-0.1cm}, <?lsmb state ?>
<?lsmb END ?> <?lsmb zipcode ?>
<?lsmb country ?>
\vspace{0.3cm}
<?lsmb IF contact ?>
<?lsmb contact ?>
\vspace{0.2cm}
<?lsmb END ?>
<?lsmb IF vendorphone ?>
Tel: <?lsmb vendorphone ?>
<?lsmb END ?>
<?lsmb IF vendorfax ?>
Fax: <?lsmb vendorfax ?>
<?lsmb END ?>
<?lsmb email ?>
<?lsmb IF vendortaxnumber ?>
Tax Number: <?lsmb vendortaxnumber ?>
<?lsmb END ?>
}
\hfill
\begin{tabular}[t]{ll}
\textbf{<?lsmb text('Invoice #') ?>} & <?lsmb invnumber ?> \\
\textbf{<?lsmb text('Date') ?>} & <?lsmb invdate ?> \\
\textbf{<?lsmb text('Due') ?>} & <?lsmb duedate ?> \\
<?lsmb IF ponumber ?>
\textbf{<?lsmb text('PO #') ?>} & <?lsmb ponumber ?> \\
<?lsmb END ?>
<?lsmb IF ordnumber ?>
\textbf{<?lsmb text('Order #') ?>} & <?lsmb ordnumber ?> \\
<?lsmb END ?>
\textbf{<?lsmb text('Employee') ?>} & <?lsmb employee ?> \\
\end{tabular}
\vspace{1cm}
\begin{tabularx}{\textwidth}[t]{@{}llrX@{\hspace{1cm}}l@{}}
<?lsmb FOREACH amount ?>
<?lsmb lc = loop.index ?>
<?lsmb accno.${lc} ?> &
<?lsmb account.${lc} ?> &
<?lsmb amount.${lc} ?> &
<?lsmb linedescription.${lc} ?> &
<?lsmb projectnumber.${lc} ?> \\
<?lsmb END ?>
\multicolumn{2}{r}{\textbf{Subtotal}} & <?lsmb subtotal ?> & \\
<?lsmb FOREACH tax ?>
<?lsmb lc = loop.index ?>
\multicolumn{2}{r}{\textbf{<?lsmb taxdescription.${lc} ?> @ <?lsmb taxrate.${lc} ?> \%}} & <?lsmb tax.${lc} ?> & \\
<?lsmb END ?>
\multicolumn{2}{r}{\textbf{Total}} & <?lsmb invtotal ?> & \\
\end{tabularx}
\vspace{0.3cm}
<?lsmb text_amount ?> ***** <?lsmb decimal ?>/100 <?lsmb currency ?>
<?lsmb IF notes ?>
\vspace{0.3cm}
<?lsmb FOREACH P IN notes.split('\n\n+') ?>
<?lsmb P ?>\medskip
<?lsmb END ?>
<?lsmb END ?>
\vspace{0.3cm}
<?lsmb IF paid_1 ?>
\begin{tabular}{@{}llllr@{}}
\multicolumn{5}{c}{\textbf{<?lsmb text('Payments') ?>}} \\
\hline
\textbf{<?lsmb text('Date') ?>} & & \textbf{<?lsmb text('Source') ?>} & \textbf{<?lsmb text('Memo') ?>} & \textbf{<?lsmb text('Amount') ?>} \\
<?lsmb END ?>
<?lsmb FOREACH payment ?>
<?lsmb lc = loop.index ?>
<?lsmb paymentdate.${lc} ?> & <?lsmb paymentaccount.${lc} ?> & <?lsmb paymentsource.${lc} ?> & <?lsmb paymentmemo.${lc} ?> & <?lsmb payment.${lc} ?> \\
<?lsmb END ?>
<?lsmb IF paid_1 ?>
\end{tabular}
<?lsmb END ?>
\end{document}
<?lsmb END -?>
+16
View File
@@ -0,0 +1,16 @@
<?lsmb# This is a comment block; it's ignored by the template engine.
Version: 1.1
Date: 2022-03-28
File: ar_transaction.csv
Set: demo
Template version numbers are explicitly not aligned across templates or
releases. No explicit versioning was applied before 2021-01-04.
-?>
account,description,amount,memo,project
<?lsmb FOREACH amount ?><?lsmb lc = loop.index ?><?lsmb accno.${lc} ?>,<?lsmb account.${lc} ?>,<?lsmb amount.${lc} ?>,<?lsmb linedescription.${lc} ?>,<?lsmb projectnumber.${lc} ?>
<?lsmb END ?><?lsmb FOREACH t IN taxaccounts.split(' ') ?><?lsmb loop_count = loop.index -?>
<?lsmb t.remove('"') ?>,<?lsmb taxdescription.${loop_count} ?>,<?lsmb tax.${loop_count} ?>,,,
<?lsmb END ?>
Can't render this file because it contains an unexpected character in line 15 and column 18.
+182
View File
@@ -0,0 +1,182 @@
<?lsmb# This is a comment block; it's ignored by the template engine.
Version: 1.1
Date: 2022-03-28
File: ar_transaction.html
Set: demo
Template version numbers are explicitly not aligned across templates or
releases. No explicit versioning was applied before 2021-01-04.
-?>
<!DOCTYPE html>
<html>
<head>
<meta name="generator" content="HTML Tidy for HTML5 for Linux version 5.6.0">
<title><?lsmb text('AR Transaction') ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
body {
background-color: white;
}
span.c2 {font-size: 64%}
h4.c1 {text-transform:uppercase}
</style>
</head>
<body>
<table width="100%">
<?lsmb INCLUDE letterhead ?>
<tr>
<th colspan="3">
<h4 class="c1"><?lsmb text('AR Transaction') ?></h4>
</th>
</tr>
<tr>
<td>
<table width="100%" cellspacing="0" cellpadding="0">
<tr valign="top">
<td><?lsmb name ?><br>
<?lsmb address1 ?> <?lsmb IF address2 ?><br>
<?lsmb address2 ?> <?lsmb END ?><br>
<?lsmb city ?> <?lsmb IF state ?> , <?lsmb state ?> <?lsmb END ?> <?lsmb zipcode ?>
<?lsmb IF country ?><br>
<?lsmb country ?> <?lsmb END ?><br>
<?lsmb IF contact ?><br>
<?lsmb contact ?><br>
<?lsmb END ?> <?lsmb IF customerphone ?><br>
<?lsmb text('Tel:') _ ' ' _ customerphone ?> <?lsmb END ?> <?lsmb IF customerfax ?><br>
<?lsmb text('Fax:') _ ' ' _ customerfax ?> <?lsmb END ?> <?lsmb IF email ?><br>
<?lsmb email ?> <?lsmb END ?> <?lsmb IF customertaxnumber ?><br>
<?lsmb text('Taxnumber:') _ ' ' _ customertaxnumber ?> <?lsmb END ?></td>
<td align="right">
<table>
<tr>
<th align="left" nowrap><?lsmb text('Invoice #') ?></th>
<td><?lsmb invnumber ?></td>
</tr>
<tr>
<th align="left" nowrap><?lsmb text('Date') ?></th>
<td><?lsmb invdate ?></td>
</tr>
<tr>
<th align="left" nowrap><?lsmb text('Due') ?></th>
<td><?lsmb duedate ?></td>
</tr><?lsmb IF ponumber ?>
<tr>
<th align="left"><?lsmb text('PO #') ?></th>
<td><?lsmb ponumber ?>&nbsp;</td>
</tr><?lsmb END ?><?lsmb IF ordnumber ?>
<tr>
<th align="left"><?lsmb text('Order #') ?></th>
<td><?lsmb ordnumber ?>&nbsp;</td>
</tr><?lsmb END ?>
<tr>
<th align="left" nowrap><?lsmb text('Salesperson') ?></th>
<td><?lsmb employee ?>&nbsp;</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td>
<table>
<?lsmb FOREACH account ?><?lsmb loop_count = loop.index ?>
<tr valign="top">
<td><?lsmb accno.${loop_count} ?></td>
<td><?lsmb account.${loop_count} ?></td>
<td width="10">&nbsp;</td>
<td align="right"><?lsmb amount.${loop_count} ?></td>
<td width="10">&nbsp;</td>
<td><?lsmb linedescription.${loop_count}.replace("\n","<br />") ?></td>
<td width="10">&nbsp;</td>
<td><?lsmb projectnumber.${loop_count} ?></td>
</tr><?lsmb END ?>
<tr>
<?lsmb IF taxincluded ?>
<th colspan="2" align="right"><?lsmb text('Total') ?></th>
<td width="10">&nbsp;</td>
<td align="right"><?lsmb invtotal ?></td><?lsmb ELSE ?>
<th colspan="2" align="right"><?lsmb text('Subtotal') ?></th>
<td width="10">&nbsp;</td>
<td align="right"><?lsmb subtotal ?></td><?lsmb END ?>
</tr><?lsmb FOREACH tax ?><?lsmb loop_count = loop.index ?>
<tr>
<th colspan="2" align="right">
<?lsmb taxdescription.${loop_count}.replace("\n","<br />") ?>@
<?lsmb taxrate.${loop_count} ?> %</th>
<td width="10">&nbsp;</td>
<td align="right"><?lsmb tax.${loop_count} ?></td>
</tr><?lsmb END ?><?lsmb IF NOT taxincluded ?>
<tr>
<th colspan="2" align="right"><?lsmb text('Total') ?></th>
<td width="10">&nbsp;</td>
<td align="right"><?lsmb invtotal ?></td>
</tr><?lsmb END ?>
</table>
</td>
</tr>
<tr>
<td><?lsmb text_amount ?>***** <?lsmb decimal ?>/100 <?lsmb currency ?></td>
</tr>
<tr>
<td>
<?lsmb FOREACH P IN notes.split('\n\n') ?>
<p><?lsmb P ?></p><?lsmb END ?>
</td>
</tr><?lsmb IF paid_1 ?>
<tr>
<td>
<table>
<tr>
<th><?lsmb text('Payments') ?></th>
</tr>
<tr>
<td>
<hr noshade>
</td>
</tr>
<tr>
<td>
<table>
<tr>
<th><?lsmb text('Date') ?></th>
<th>&nbsp;</th>
<th><?lsmb text('Source') ?></th>
<th><?lsmb text('Amount') ?></th>
</tr><?lsmb END ?><?lsmb FOREACH payment ?><?lsmb loop_count = loop.index ?>
<tr>
<td><?lsmb paymentdate.${loop_count} ?></td>
<td><?lsmb paymentaccount.${loop_count} ?></td>
<td><?lsmb paymentsource.${loop_count} ?></td>
<td align="right"><?lsmb payment.${loop_count} ?></td>
</tr><?lsmb END ?><?lsmb IF paid_1 ?>
</table>
</td>
</tr>
</table>
</td>
</tr><?lsmb END ?>
<tr>
<td></td>
</tr><?lsmb FOREACH tax ?><?lsmb loop_count = loop.index ?>
<tr>
<th colspan="9" align="left"><span class=
"c2"><?lsmb taxdescription.${loop_count}.replace("\n","<br />") ?>
<?lsmb text('Registration') _ ' ' _ taxnumber.${loop_count} ?></span></th>
</tr><?lsmb END ?><?lsmb IF taxincluded ?>
<tr>
<td></td>
</tr>
<tr>
<th colspan="3" align="left"><span class=
"c2"><?lsmb text('Taxes shown are included in price.') ?></span></th>
</tr><?lsmb END ?>
</table>
</body>
</html>
+163
View File
@@ -0,0 +1,163 @@
<?lsmb# This is a comment block; it's ignored by the template engine.
Version: 1.2
Date: 2022-07-22
File: ar_transaction.tex
Set: demo
Template version numbers are explicitly not aligned across templates or
releases. No explicit versioning was applied before 2021-01-04.
Version Changes
1.1 Fix line descriptions not shown in AR/AP transaction prints
1.2 Merged xelatex targetting templates with those targetting pdflatex
-?>
<?lsmb FILTER latex { format="$FORMAT($PROCESSOR)" };
# Uncomment the next line to overrule the value from System > Defaults;
# The value should be without the 'paper' suffix. E.g. "a4" for "a4paper"
# SETTINGS.papersize = "<your-format>";
INCLUDE "preamble.tex"; -?>
\begin{document}
\pagestyle{empty}
\ifpdftex
%% (pdf)latex
\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
\fi
\parbox{\textwidth}{%
\parbox[b]{.42\textwidth}{%
<?lsmb company ?>
<?lsmb address ?>
}
%\parbox[b]{.2\textwidth}{
%\includegraphics[scale=0.3]{ledger-smb}
%}
\hfill
\begin{tabular}[b]{rr@{}}
<?lsmb text('Tel:') ?> & <?lsmb tel ?>\\
<?lsmb text('Fax:') ?> & <?lsmb fax ?>
\end{tabular}
\rule[1.5em]{\textwidth}{0.5pt}
}
\centerline{\MakeUppercase{<?lsmb text('AR Transaction') ?>}}
\vspace*{0.5cm}
\parbox[t]{.5\textwidth}{
<?lsmb name ?>
<?lsmb address1 ?>
<?lsmb address2 ?>
<?lsmb city ?>
<?lsmb IF state ?>
, <?lsmb state ?>
<?lsmb END ?>
<?lsmb zipcode ?>
<?lsmb country ?>
\vspace{0.3cm}
<?lsmb IF contact ?>
<?lsmb contact ?>
<?lsmb END ?>
\vspace{0.2cm}
<?lsmb IF customerphone ?>
<?lsmb text('Tel: [_1]', customerphone) ?>
<?lsmb END ?>
<?lsmb IF customerfax ?>
<?lsmb text('Fax: [_1]', customerfax) ?>
<?lsmb END ?>
<?lsmb email ?>
<?lsmb IF customertaxnumber ?>
<?lsmb text('Tax Number: [_1]', customertaxnumber) ?>
<?lsmb END ?>
}
\hfill
\begin{tabular}[t]{ll}
\textbf{<?lsmb text('Invoice #') ?>} & <?lsmb invnumber ?> \\
\textbf{<?lsmb text('Date') ?>} & <?lsmb invdate ?> \\
\textbf{<?lsmb text('Due') ?>} & <?lsmb duedate ?> \\
<?lsmb IF ponumber ?>
\textbf{PO \#} & <?lsmb ponumber ?> \\
<?lsmb END ?>
<?lsmb IF ordnumber ?>
\textbf{<?lsmb text('Order #') ?>} & <?lsmb ordnumber ?> \\
<?lsmb END ?>
\textbf{<?lsmb text('Employee') ?>} & <?lsmb employee ?> \\
\end{tabular}
\vspace{1cm}
\begin{tabularx}{\textwidth}[t]{@{}llrX@{\hspace{1cm}}l@{}}
<?lsmb FOREACH amount ?>
<?lsmb lc = loop.index ?>
<?lsmb accno.${lc} ?> &
<?lsmb account.${lc} ?> &
<?lsmb amount.${lc} ?> &
<?lsmb linedescription.${lc} ?> &
<?lsmb projectnumber.${lc} ?> \\
<?lsmb END ?>
\multicolumn{2}{r}{\textbf{Subtotal}} & <?lsmb subtotal ?> & \\
<?lsmb FOREACH tax ?>
<?lsmb lc = loop.index ?>
\multicolumn{2}{r}{\textbf{<?lsmb taxdescription.${lc} ?> @ <?lsmb taxrate.${lc} ?> \%}} & <?lsmb tax.${lc} ?> & \\
<?lsmb END ?>
\multicolumn{2}{r}{\textbf{Total}} & <?lsmb invtotal ?> & \\
\end{tabularx}
\vspace{0.3cm}
<?lsmb text_amount ?> ***** <?lsmb decimal ?>/100 <?lsmb currency ?>
<?lsmb IF notes ?>
\vspace{0.3cm}
<?lsmb FOREACH P IN notes.split('\n\n+') ?>
<?lsmb P ?>\medskip
<?lsmb END ?>
<?lsmb END ?>
\vspace{0.3cm}
<?lsmb IF paid_1 ?>
\begin{tabular}{@{}lllr@{}}
\multicolumn{5}{c}{\textbf{<?lsmb text('Payments') ?>}} \\
\hline
\textbf{<?lsmb text('Date') ?>} & & \textbf{<?lsmb text('Source') ?>} &
\textbf{<?lsmb text('Amount') ?>} \\
<?lsmb END ?>
<?lsmb FOREACH payment ?>
<?lsmb lc = loop.index ?>
<?lsmb paymentdate.${lc} ?> & <?lsmb paymentaccount.${lc} ?> & <?lsmb paymentsource.${lc} ?> & <?lsmb payment.${lc} ?> \\
<?lsmb END ?>
<?lsmb IF paid_1 ?>
\end{tabular}
<?lsmb END ?>
\vspace{0.5cm}
<?lsmb FOREACH tax ?>
<?lsmb lc = loop.index ?>
\textbf{\scriptsize <?lsmb taxdescription.${lc} _ ' ' _ text('Registration') _ ' ' _ taxnumber.${lc} ?>} \\
<?lsmb END ?>
\end{document}
<?lsmb END -?>
+26
View File
@@ -0,0 +1,26 @@
<?lsmb# This is a comment block; it's ignored by the template engine.
Version: 1.2
Date: 2024-10-08
File: balance_sheet.csv
Set: demo
Template version numbers are explicitly not aligned across templates or
releases. No explicit versioning was applied before 2021-01-04.
Version Changes
1.2 Restore 'heading_account' column (turning out not-spurious)
1.1 Fix comparison columns and remove spurious 'heading_account' column
-?>
account,description,is_heading,heading_account<?lsmb
FOREACH col IN report.sorted_col_ids -?>
,"<?lsmb report.cheads.ids.$col.props.description ?>"<?lsmb END; ?>
<?lsmb FOREACH row IN report.sorted_row_ids ; -?>
<?lsmb report.rheads.ids.$row.props.account_number -?>,"<?lsmb report.rheads.ids.$row.props.account_description ?>",<?lsmb IF report.rheads.ids.$row.props.account_type == 'H' -?>Y<?lsmb ELSE ?>N<?lsmb END ?>,<?lsmb
PARENT = report.rheads.ids.$row.parent_id ;
report.rheads.ids.$PARENT.props.account_number ?><?lsmb
FOREACH col IN report.sorted_col_ids ; -?>
,<?lsmb report.cells.$row.$col -?><?lsmb
END; ?>
<?lsmb END; -?>
Can't render this file because it contains an unexpected character in line 18 and column 53.
+411
View File
@@ -0,0 +1,411 @@
<?lsmb# This is a comment block; it's ignored by the template engine.
Version: 2.3
Date: 2026-02-19
File: balance_sheet.html
Set: demo
Template version numbers are explicitly not aligned across templates or
releases. No explicit versioning was applied before 2021-01-04.
Version Changes
2.0 Created clickable section heads to collapse parts of hierarchical reports
2.1 Simplify indentation calculations; many values are provided as variables as-of 1.13
2.2 Support sections in the column dimension (used for foreign currency reports)
2.3 Fix company address not showing below company name
-?>
<!DOCTYPE html>
<html>
<head>
<meta name="generator" content="HTML Tidy for HTML5 for Linux version 5.6.0">
<title><?lsmb title ?></title>
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
<style type="text/css">
table.c1 {border-collapse: collapse}
.flat-hierarchy .balancesheet .report-head th {
font-weight: bold;
text-align: right;
white-space: pre;
}
.flat-hierarchy .balancesheet .section1.QL,
.flat-hierarchy .income_statement .section1 {
border: none;
display: none;
}
.flat-hierarchy .balancesheet .section1,
.flat-hierarchy .balancesheet .section2,
.flat-hierarchy .income_statement .section2 {
border-bottom: 3px double black;
font-size: large;
}
.financial-statement.flat-hierarchy .heading1,
.financial-statement.flat-hierarchy .balancesheet .heading2 {
border-top: 1px solid black;
font-weight: bold;
height: 2em;
vertical-align: top;
}
.financial-statement.flat-hierarchy .income_statement .heading2 {
border-top: 1px solid black;
font-size: bigger;
font-style: italic;
height: 2em;
vertical-align: top;
}
.financial-statement.flat-hierarchy table {
margin-top: 3em;
min-width: 60ex;
}
.financial-statement.flat-hierarchy table td,
.financial-statement.flat-hierarchy table th {
padding-bottom: 3px; /* add space for the dashed line underlining hovered amounts */
}
.financial-statement .company-name {
font-family: monospace;
margin-top: 2em;
text-align: center;
}
.financial-statement .company-address {
font-family: monospace;
font-size: smaller;
text-align: center;
}
#PNL a {
background-color: inherit;
color: inherit;
text-decoration: none;
}
#PNL a:link {
background-color: inherit;
color: inherit;
text-decoration: none;
}
#PNL a:visited {
background-color: inherit;
color: inherit;
text-decoration: none;
}
#PNL a:hover {
background-color: inherit;
border-bottom: thin dashed;
color: inherit;
text-decoration: none;
}
#PNL td.amount {
padding-left: 0.5em;
text-align: right;
}
#PNL tr.separator {
min-height: 1em;
}
#PNL tr.sectionhead th {
font-weight: bold;
margin-top: 4em;
padding-top: 2em;
text-align: right;
}
#PNL td.total {
border: 0;
border-color: black;
border-style: solid;
border-top: 1px;
}
#PNL th {
padding-left: 5px;
text-align: left;
vertical-align: top;
}
#PNL table {
margin-left: auto;
margin-right: auto;
}
#PNL h1,
h2 {
text-align: center;
}
#PNL th[colspan="1"].indent {
width: 1em;
}
#PNL th[colspan="2"].indent {
width: 2em;
}
#PNL th[colspan="3"].indent {
width: 3em;
}
#PNL th[colspan="4"].indent {
width: 4em;
}
#PNL th[colspan="5"].indent {
width: 5em;
}
#PNL th[colspan="6"].indent {
width: 6em;
}
#PNL th[colspan="7"].indent {
width: 7em;
}
#PNL th[colspan="8"].indent {
width: 8em;
}
#PNL th[colspan="9"].indent {
width: 9em;
}
#PNL td.heading1,
#PNL th.heading1 {
border-bottom: 1px solid black;
border-top: 1px solid black;
font-weight: bold;
padding-bottom: 1em;
}
#PNL td.heading2,
#PNL th.heading2 {
font-style: italic;
font-weight: bold;
}
#PNL table.balancesheet {
border-top: 1px solid black;
margin-top: 2em;
}
#PNL .amount {
padding-left: 0.5em;
}
.financial-statement h1,
.financial-statement h2 {
text-align: center;
}
.financial-statement table {
margin-left: auto;
margin-right: auto;
}
.financial-statement td.amount {
padding-left: 4em;
text-align: right;
}
.financial-statement tr.total td,
.financial-statement tr.total th {
padding-bottom: 2em;
}
.financial-statement tr.total td.amount {
border-top: thick double black;
}
.financial-statement th {
text-align: left;
}
.financial-statement tr.section-head th,
.financial-statement tr.total th {
text-align: center;
}
.financial-statement a,
.financial-statement a:visited {
color: black;
text-decoration: none;
}
.heading3.H {
padding-bottom: 1em;
}
.heading2.H {
padding-bottom: 1.5em;
}
.heading4.H {
padding-bottom: 0.75em;
}
.section1 {
font-size: 140%;
}
.section2 {
font-size: 120%;
}
.section3 {
font-size: 110%;
}
.H {
font-style: italic;
}
.section4 {
font-size: 105%;
}
th {
font-weight: normal;
}
@media print {
.non-printed {
display: none;
}
}
</style>
<script>
let lvl = {};
function toggle(tgt,cls) {
let elms = document.querySelectorAll(tgt+' .'+cls);
let newState = lvl[cls] ? '' : 'none';
lvl[cls] = !lvl[cls];
for ( var e = elms.length - 1; e >= 0; e-- ) {
elms[e].style.display = newState;
}
}
</script></head><?lsmb
max_col_path_depth = report.cheads.max_path_depth;
max_row_path_depth = report.rheads.max_path_depth;
IF report.legacy_hierarchy ;
hierarchy = 'flat-hierarchy';
ELSE ;
hierarchy = 'full-hierarchy';
END ;
?>
<body class="financial-statement <?lsmb dojo_theme ?> <?lsmb hierarchy ?>">
<div id="PNL" class="financial-statement <?lsmb hierarchy ?> balance-sheet">
<!-- TODO: Find better name!! -->
<h1><?lsmb text('Balance Sheet') ?></h1>
<h2><?lsmb HLINES.1 ?></h2>
<div class="company-name">
<?lsmb SETTINGS.company_name ?>
</div>
<div class="company-address">
<?lsmb SETTINGS.company_address ?>
</div>
<table class="balancesheet c1">
<colgroup class="headings">
<?lsmb i = 1;
WHILE i <= max_row_path_depth;
' <col class="level' _ i _ '" />';
i = i + 1;
END;
?>
</colgroup>
<colgroup class="values">
<?lsmb i = 1;
FOREACH col IN report.sorted_col_ids ;
IF report.cheads.ids.$col.is_leaf;
NEXT;
END;
' <col class="values' _ i _ '" />';
i = i + 1;
END;
?>
</colgroup>
<thead>
<?lsmb head_level = 1;
WHILE head_level <= max_col_path_depth ; ?>
<tr class="report-head">
<th colspan="<?lsmb max_row_path_depth ?>"></th>
<?lsmb FOREACH col IN report.sorted_col_ids;
IF report.cheads.ids.$col.props.section_for;
NEXT;
END;
IF head_level == report.cheads.ids.$col.path.size -?>
<th data-id="<?lsmb col ?>"
colspan="<?lsmb report.cheads.ids.$col.leaves ?>"
rowspan="<?lsmb report.cheads.ids.$col.is_leaf ? (max_col_path_depth - report.cheads.ids.$col.path.size + 1) : 1 ?>"><?lsmb report.cheads.ids.$col.props.description ?></th>
<?lsmb END -?><?lsmb END ?>
</tr>
<?lsmb head_level = head_level + 1;
END ?>
</thead>
<tbody>
<?lsmb FOREACH row IN report.sorted_row_ids ;
row_data = report.rheads.ids.$row;
path_depth = row_data.path_depth;
path_prefix_len = row_data.path_prefix_len;
path_suffix_len = row_data.path_suffix_len;
IF row_data.props.account_type == 'H' ;
class = 'class="heading' _ path_depth _ ' ' _ row_data.props.account_type _ '"';
clazz = "heading" _ path_depth _ ' ' _ row_data.props.account_type;
row_type = 'H';
ELSIF row_data.props.section_for ;
class = 'class="section' _ path_depth _ ' ' _ row_data.heading_props.account_category _ '"';
clazz = "section" _ path_depth _ ' ' _ row_data.heading_props.account_category;
row_type = 'H';
ELSE;
class = 'class="account"';
clazz = 'account';
row_type = 'A';
END;
?>
<tr class="<?lsmb FOREACH sec IN row_data.path ; IF NOT loop.last(); " sub-" _ sec ; END; END; ?>" <?lsmb IF row_type == 'H' ; ?> onclick="toggle('', 'sub-<?lsmb row_data.path.last ?>')" <?lsmb END ?> >
<?lsmb IF report.legacy_hierarchy ?>
<?lsmb IF path_prefix_len > 0 ?>
<th colspan="<?lsmb path_prefix_len ?>" class="indent">&nbsp;</th>
<?lsmb END ?>
<?lsmb ELSE ?>
<?lsmb FILTER repeat(path_prefix_len) -?>
<th class="indent">&nbsp;</th>
<?lsmb- END -?>
<?lsmb END ?>
<th colspan="<?lsmb path_suffix_len ?>" <?lsmb class ?>>
<?lsmb IF row_data.props.section_for ;
row_data.props.row_description ?></th>
<th colspan="<?lsmb report.cheads.ids.size ?>" <?lsmb class ?>>
<?lsmb ELSE -?>
<?lsmb row_data.props.row_description ?></th><?lsmb FOREACH col IN report.sorted_col_ids;
IF not report.cheads.ids.$col.is_leaf;
NEXT;
END;
-?>
<td class="amount <?lsmb clazz ?>">
<?lsmb report.cells.$row.$col ?>
</td><?lsmb END ?><?lsmb END ?>
</tr><?lsmb END ?><!--
<h2><?lsmb text('Key Ratios'); ?></h2>
<h2><?lsmb text('First column only') ?></h2>
<table>
<tr><th><?lsmb text('Assets to Liabilities') ?></th>
<td><?lsmb report.balance_sheet.ratios.AL ?></td>
</tr>
<tr><th><?lsmb text('Assets to Equity') ?></th>
<td><?lsmb report.balance_sheet.ratios.AQ ?></td>
</tr>
<tr><th><?lsmb text('Equity to Liabilities') ?></th>
<td><?lsmb report.balance_sheet.ratios.QL ?></td>
</tr>
-->
</tbody>
</table>
</div>
<p class="non-printed">Click on the headings to collapse sections.</p>
</body>
</html>
+136
View File
@@ -0,0 +1,136 @@
<?lsmb# This is a comment block; it's ignored by the template engine.
Version: 1.4
Date: 2025-08-31
File: balance_sheet.tex
Set: demo
Template version numbers are explicitly not aligned across templates or
releases. No explicit versioning was applied before 2021-01-04.
Version Changes
1.1 Merged xelatex targetting templates with those targetting pdflatex
1.2 Fixed company address not showing
1.3 Simplify indentation calculations; as of 1.13, many pre-calculated
values are provided as variables
1.4 Support for sections in the column dimension (used for
foreign currency reports)
-?>
<?lsmb FILTER latex { format="$FORMAT($PROCESSOR)" } -?>
<?lsmb
max_col_path_depth = report.cheads.max_path_depth;
max_row_path_depth = report.rheads.max_path_depth;
leaf_columns = 0;
FOREACH col IN report.sorted_col_ids ;
IF report.cheads.ids.$col.is_leaf ;
leaf_columns = leaf_columns + 1;
END;
END;
last_col_no = max_row_path_depth + 1 + leaf_columns;
IF report.legacy_hierarchy ;
hierarchy = 'flat-hierarchy';
ELSE ;
hierarchy = 'full-hierarchy';
END ;
-?>
\documentclass[10pt]{article}
\usepackage{longtable}
\usepackage{multirow}
\usepackage[<?lsmb SETTINGS.papersize ?>paper,top=2cm,bottom=1.5cm,left=1.1cm,right=1.5cm]{geometry}
\begin{document}
\renewcommand\baselinestretch{1.2}\selectfont
\begin{center}
\Huge{<?lsmb text('Balance Sheet') ?>}
<?lsmb HLINES.1 ?>
\small{
\texttt{<?lsmb SETTINGS.company_name ?>}
\texttt{<?lsmb SETTINGS.company_address ?>}
}
\end{center}
\begin{longtable}{@{\extracolsep{10pt}}<?lsmb l = 'l'; l.repeat(max_row_path_depth) -?>p{2cm}<?lsmb
l = 'r'; l.repeat(report.sorted_col_ids.size); -?>}
\\
<?lsmb head_level = 1;
WHILE head_level <= max_col_path_depth; ?>
\multicolumn{<?lsmb max_row_path_depth ?>}{l}{} &%
<?lsmb
FOREACH col IN report.sorted_col_ids;
IF report.cheads.ids.$col.props.section_for;
NEXT;
END;
IF head_level == report.cheads.ids.$col.path.size ;
' & \multicolumn{'; report.cheads.ids.$col.leaves ; '}{l}{\multirow{'; report.cheads.ids.$col.is_leaf ? (max_col_path_depth - report.cheads.ids.$col.path.size + 1) : 1 ; '}{*}{\shortstack{';
report.cheads.ids.$col.props.description ;
'}}} ';
ELSIF head_level > report.cheads.ids.$col.path.size ;
' & ';
END;
END;
?> \\
<?lsmb head_level = head_level + 1;
END ?>
\\
<?lsmb FOREACH row IN report.sorted_row_ids;
row_data = report.rheads.ids.$row;
path_depth = row_data.path_depth;
path_prefix_len = row_data.path_prefix_len;
path_suffix_len = row_data.path_suffix_len;
IF row_data.props.section_for ;
IF row_data.heading_props.account_category == 'QL';
NEXT;
END;
END;
desc = row_data.props.row_description;
IF report.rheads.ids.$row.props.account_type != 'A';
IF NOT report.rheads.ids.$row.props.section_for ;
'\cline{' _ path_depth _ '-' _ last_col_no _ '} ';
ELSE;
desc = '\Large{' _ row_data.props.row_description _ '}';
END;
desc = '\textbf{\emph{' _ desc _ '}}';
END;
-?>%
<?lsmb amp = '& '; amp.repeat(path_prefix_len); -?>
<?lsmb IF path_suffix_len > 1 -?>
\multicolumn{<?lsmb path_suffix_len ?>}{l}{<?lsmb desc ?>}%
<?lsmb ELSE; ?>
<?lsmb desc ?>
<?lsmb END -?>
%
& %
<?lsmb FOREACH col IN report.sorted_col_ids;
IF report.cheads.ids.$col.props.section_for;
NEXT;
END;
' & '; report.cells.$row.$col;
END; -?>
%
\\
%
<?lsmb IF row_data.props.account_type != 'A'; -?>
<?lsmb IF row_data.props.section_for; -?>
\cline{<?lsmb path_depth ?>-<?lsmb last_col_no ?>}
\noalign{\vskip 2pt}
\cline{<?lsmb path_depth ?>-<?lsmb last_col_no ?>}
<?lsmb ELSE -?>
\\
<?lsmb END -?>
<?lsmb END ?>
<?lsmb END ?>
\end{longtable}
\end{document}
<?lsmb END -?>
+129
View File
@@ -0,0 +1,129 @@
<?lsmb# This is a comment block; it's ignored by the template engine.
Version: 1.0
Date: 2021-01-04
File: bin_list.html
Set: demo
Template version numbers are explicitly not aligned across templates or
releases. No explicit versioning was applied before 2021-01-04.
-?>
<!DOCTYPE html>
<html>
<head>
<meta name="generator" content="HTML Tidy for HTML5 for Linux version 5.6.0">
<title><?lsmb text('Bin List') ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
body {
background-color: white;
}
tr.c3 {background-color: black}
span.c2 {color: white}
h4.c1 {text-transform:uppercase}
</style>
</head>
<body>
<table width="100%">
<?lsmb INCLUDE letterhead ?>
<tr>
<th colspan="3">
<h4 class="c1"><?lsmb text('Bin List') ?></h4>
</th>
</tr>
<tr>
<td>&nbsp;</td>
<td>
<table width="100%" cellspacing="0" cellpadding="0">
<tr class="c3">
<th align="left" width="50%"><span class="c2"><?lsmb text('From') ?></span></th>
<th align="left" width="50%"><span class="c2"><?lsmb text('Ship To') ?></span></th>
</tr>
<tr valign="top">
<td><?lsmb name ?><br>
<?lsmb address1 ?> <?lsmb IF address2 ?><br>
<?lsmb address2 ?> <?lsmb END ?><br>
<?lsmb city ?> <?lsmb IF state ?> , <?lsmb state ?> <?lsmb END ?> <?lsmb zipcode ?>
<?lsmb IF country ?> <?lsmb country ?> <?lsmb END ?><br>
<?lsmb IF contact ?><br>
<?lsmb text('Attn: [_1]', contact) ?> <?lsmb END ?> <?lsmb IF vendorphone ?><br>
<?lsmb text('Tel: [_1]', vendorphone) ?> <?lsmb END ?> <?lsmb IF vendorfax ?><br>
<?lsmb text('Fax: [_1]', vendorfax) ?> <?lsmb END ?> <?lsmb IF email ?><br>
<?lsmb email ?> <?lsmb END ?></td>
<td><?lsmb shiptoname ?><br>
<?lsmb shiptoaddress1 ?> <?lsmb IF shiptoaddress2 ?><br>
<?lsmb shiptoaddress2 ?> <?lsmb END ?><br>
<?lsmb shiptocity ?> <?lsmb IF shiptostate ?> , <?lsmb shiptostate ?> <?lsmb END ?>
<?lsmb shiptozipcode ?> <?lsmb IF shiptocountry ?> <?lsmb shiptocountry ?>
<?lsmb END ?><br>
<?lsmb IF shiptocontact ?><br>
<?lsmb text('Attn: [_1]', shiptocontact) ?> <?lsmb END ?> <?lsmb IF shiptophone ?><br>
<?lsmb text('Tel: [_1]', shiptophone) ?> <?lsmb END ?> <?lsmb IF shiptofax ?><br>
<?lsmb text('Fax: [_1]', shiptofax) ?> <?lsmb END ?></td>
</tr>
</table>
</td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td>
<table width="100%" border="1">
<tr>
<th width="17%" align="left" nowrap><?lsmb text('Order #') ?></th>
<th width="17%" align="left" nowrap><?lsmb text('Date') ?></th>
<th width="17%" align="left" nowrap><?lsmb text('Contact') ?></th><?lsmb IF warehouse ?>
<th width="17%" align="left" nowrap><?lsmb text('Warehouse') ?></th><?lsmb END ?>
<th width="17%" align="left"><?lsmb text('Shipping Point') ?></th>
<th width="15%" align="left"><?lsmb text('Ship via') ?></th>
</tr>
<tr>
<td><?lsmb ordnumber ?>&nbsp;</td><?lsmb IF shippingdate ?>
<td><?lsmb shippingdate ?></td><?lsmb ELSE ?>
<td><?lsmb orddate ?></td><?lsmb END ?>
<td><?lsmb employee ?>&nbsp;</td><?lsmb IF warehouse ?>
<td><?lsmb warehouse ?></td><?lsmb END ?>
<td><?lsmb shippingpoint ?>&nbsp;</td>
<td><?lsmb shipvia ?>&nbsp;</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table width="100%">
<tr class="c3">
<th align="left"><span class="c2"><?lsmb text('Item') ?></span></th>
<th align="left"><span class="c2"><?lsmb text('Number') ?></span></th>
<th align="left"><span class="c2"><?lsmb text('Description') ?></span></th>
<th><span class="c2"><?lsmb text('Serialnumber') ?></span></th>
<th>&nbsp;</th>
<th><span class="c2"><?lsmb text('Qty') ?></span></th>
<th><span class="c2"><?lsmb text('Recd') ?></span></th>
<th>&nbsp;</th>
<th><span class="c2"><?lsmb text('Bin') ?></span></th>
</tr><?lsmb FOREACH number ?><?lsmb loop_count = loop.index ?>
<tr valign="top">
<td><?lsmb runningnumber.${loop_count} ?></td>
<td><?lsmb number.${loop_count} ?></td>
<td><?lsmb item_description.${loop_count}.replace("\n","<br />") ?></td>
<td><?lsmb serialnumber.${loop_count} ?></td>
<td><?lsmb deliverydate.${loop_count} ?></td>
<td align="right"><?lsmb qty.${loop_count} ?></td>
<td align="right"><?lsmb ship.${loop_count} ?></td>
<td><?lsmb unit.${loop_count} ?></td>
<td><?lsmb bin.${loop_count} ?></td>
</tr><?lsmb END ?>
</table>
</td>
</tr>
<tr>
<td>
<hr noshade>
</td>
</tr>
</table>
</body>
</html>
+144
View File
@@ -0,0 +1,144 @@
<?lsmb# This is a comment block; it's ignored by the template engine.
Version: 1.1
Date: 2022-07-22
File: bin_list.tex
Set: demo
Template version numbers are explicitly not aligned across templates or
releases. No explicit versioning was applied before 2021-01-04.
Version Changes
1.1 Merged xelatex targetting templates with those targetting pdflatex
-?>
<?lsmb FILTER latex { format="$FORMAT($PROCESSOR)" };
# Uncomment the next line to overrule the value from System > Defaults;
# The value should be without the 'paper' suffix. E.g. "a4" for "a4paper"
# SETTINGS.papersize = "<your-format>";
INCLUDE "preamble.tex"; -?>
\begin{document}
\pagestyle{myheadings}
\thispagestyle{empty}
\ifpdftex
%% (pdf)latex
\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
\fi
<?lsmb INCLUDE letterhead ?>
% Breaking old pagebreak directives
%<?xlsmb pagebreak 65 27 37 ?>
%\end{tabularx}
%
%\newpage
%
%\markboth{<?xlsmb company ?>\hfill <?xlsmb ordnumber ?>}{<?xlsmb company ?>\hfill <?xlsmb ordnumber ?>}
%
%\begin{tabularx}{\textwidth}{@{}rlXllrrll@{}}
% \textbf{Item} & \textbf{Number} & \textbf{Description} & \textbf{Serial Number} & & \textbf{Qty} & \textbf{Recd} & & \textbf{Bin} \\
%<?xlsmb end pagebreak ?>
\vspace*{0.5cm}
\parbox[t]{.5\textwidth}{
\textbf{<?lsmb text('From') ?>}
\vspace{0.3cm}
<?lsmb name ?>
<?lsmb address1 ?>
<?lsmb address2 ?>
<?lsmb city ?>
<?lsmb IF state ?>
\hspace{-0.1cm}, <?lsmb state ?>
<?lsmb END ?>
<?lsmb zipcode ?>
<?lsmb country ?>
}
\parbox[t]{.5\textwidth}{
\textbf{<?lsmb text('Ship To') ?>}
\vspace{0.3cm}
<?lsmb shiptoname ?>
<?lsmb shiptoaddress1 ?>
<?lsmb shiptoaddress2 ?>
<?lsmb shiptocity ?>
<?lsmb IF shiptostate ?>
\hspace{-0.1cm}, <?lsmb shiptostate ?>
<?lsmb END ?>
<?lsmb shiptozipcode ?>
<?lsmb shiptocountry ?>
}
\hfill
\vspace{1cm}
\textbf{\MakeUppercase{<?lsmb text('Bin List') ?>}}
\hfill
\vspace{1cm}
\begin{tabularx}{\textwidth}{*{6}{|X}|} \hline
\textbf{Order \#} & \textbf{Date} & \textbf{Contact}
<?lsmb IF warehouse ?>
& \textbf{<?lsmb text('Warehouse') ?>}
<?lsmb END ?>
& \textbf{<?lsmb text('Shipping Point') ?>} & \textbf{<?lsmb text('Ship via') ?>} \\ [0.5em]
\hline
<?lsmb ordnumber ?>
<?lsmb IF shippingdate ?>
& <?lsmb shippingdate ?>
<?lsmb END ?>
<?lsmb IF NOT shippingdate ?>
& <?lsmb orddate ?>
<?lsmb END ?>
& <?lsmb employee ?>
<?lsmb IF warehouse ?>
& <?lsmb warehouse ?>
<?lsmb END ?>
& <?lsmb shippingpoint ?> & <?lsmb shipvia ?> \\
\hline
\end{tabularx}
\vspace{1cm}
\begin{longtable}{@{\extracolsep{\fill}}rllllrrll@{}}
\textbf{<?lsmb text('Item') ?>} & \textbf{<?lsmb text('Number') ?>}
& \textbf{<?lsmb text('Description') ?>} &
\textbf{<?lsmb text('Serial Number') ?>} &
& \textbf{<?lsmb text('Qty') ?>} & \textbf{<?lsmb text('Recd') ?>} &
& \textbf{<?lsmb text('Bin') ?>} \\
<?lsmb FOREACH number ?>
<?lsmb lc = loop.index ?>
<?lsmb runningnumber.${lc} ?> &
<?lsmb number.${lc} ?> &
<?lsmb item_description.${lc} ?> &
<?lsmb serialnumber.${lc} ?> &
<?lsmb deliverydate.${lc} ?> &
<?lsmb qty.${lc} ?> &
<?lsmb ship.${lc} ?> &
<?lsmb unit.${lc} ?> &
<?lsmb bin.${lc} ?> \\
<?lsmb END ?>
\end{longtable}
\rule{\textwidth}{2pt}
\end{document}
<?lsmb END -?>
+44
View File
@@ -0,0 +1,44 @@
<?lsmb# This is a comment block; it's ignored by the template engine.
Version: 1.1
Date: 2022-07-22
File: check.tex
Set: demo
Template version numbers are explicitly not aligned across templates or
releases. No explicit versioning was applied before 2021-01-04.
Version Changes
1.1 Merged xelatex targetting templates with those targetting pdflatex
-?>
<?lsmb FILTER latex { format="$FORMAT($PROCESSOR)" } ?>
\documentclass{scrartcl}
\usepackage{iftex}
\ifpdftex
%% (pdf)latex
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\else
\usepackage{fontspec}
\fi
\usepackage{tabularx}
\usepackage[<?lsmb SETTINGS.papersize ?>paper,top=2cm,bottom=1.5cm,left=1.1cm,right=1.5cm]{geometry}
\usepackage{graphicx}
<?lsmb REQUIRE check_base ?>
\begin{document}
\pagestyle{myheadings}
\thispagestyle{empty}
\ifpdftex
%% (pdf)latex
\fontfamily{cmss}\fontsize{9pt}{9pt}\selectfont
\fi
<?lsmb PROCESS check_single ?>
\end{document}
<?lsmb END # FILTER latex { format="$FORMAT($PROCESSOR)" } -?>
+80
View File
@@ -0,0 +1,80 @@
<?lsmb# This is a comment block; it's ignored by the template engine.
Version: 1.1
Date: 2022-07-22
File: check_base.tex
Set: demo
Template version numbers are explicitly not aligned across templates or
releases. No explicit versioning was applied before 2021-01-04.
Version Changes
1.1 Merged xelatex targetting templates with those targetting pdflatex
-?>
<?lsmb BLOCK check_single ?>
\parbox[t]{12cm}{
<?lsmb name ?>
<?lsmb address ?>}
\hfill
\parbox[t]{6cm}{\hfill <?lsmb source ?>}
\vspace*{0.6cm}
<?lsmb text_amount ?> \dotfill <?lsmb decimal ?>/100 \makebox[0.5cm]{\hfill}
\vspace{0.5cm}
\hfill <?lsmb datepaid ?> \makebox[2cm]{\hfill} <?lsmb
format_amount({amount = amount, format = '1,000.00', money = 1}) ?>
% different date format for datepaid
% <?lsmb DD ?><?lsmb MM ?><?lsmb YYYY ?>
\vspace{0.5cm}
<?lsmb name ?>
<?lsmb street1 ?>
<?lsmb street2 ?>
<?lsmb city ?>
<?lsmb IF state ?>
\hspace{-0.1cm}, <?lsmb state ?>
<?lsmb END # state ?>
<?lsmb mail_code ?>
<?lsmb country ?>
\vspace{1.8cm}
<?lsmb memo ?>
\vspace{0.8cm}
<?lsmb name ?>
\vspace{0.5cm}
<?lsmb name ?> \hfill <?lsmb datepaid ?> \hfill <?lsmb source ?>
\vspace{0.5cm}
\begin{tabularx}{\textwidth}{lXrr@{}}
\textbf{<?lsmb text('Invoice #') ?>} & \textbf{<?lsmb text('Invoice Date') ?>}
& \textbf{<?lsmb text('Amount Due') ?>} & \textbf{<?lsmb text('Applied') ?>} \\
<?lsmb FOR inv = invoices ?>
<?lsmb inv.invnumber ?> & <?lsmb inv.invoice_date ?> \dotfill
& <?lsmb inv.due ?> & <?lsmb inv.paid ?> \\
<?lsmb END # FOREACH inv ?>
\end{tabularx}
\vspace{1cm}
<?lsmb memo ?>
\vfill
<?lsmb message ?>
<?lsmb END # BLOCK ?>
+62
View File
@@ -0,0 +1,62 @@
<?lsmb# This is a comment block; it's ignored by the template engine.
Version: 1.1
Date: 2022-07-22
File: check_multiple.tex
Set: demo
Template version numbers are explicitly not aligned across templates or
releases. No explicit versioning was applied before 2021-01-04.
Version Changes
1.1 Merged xelatex targetting templates with those targetting pdflatex
-?>
<?lsmb FILTER latex { format="$FORMAT($PROCESSOR)" } ?>
\documentclass{scrartcl}
\usepackage{iftex}
\ifpdftex
%% (pdf)latex
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\else
\usepackage{fontspec}
\fi
\usepackage{tabularx}
\usepackage{graphicx}
\usepackage[<?lsmb SETTINGS.papersize ?>paper,top=2cm,bottom=1.5cm,left=1.1cm,right=1.5cm]{geometry}
<?lsmb PROCESS check_base ?>
\begin{document}
\pagestyle{myheadings}
\thispagestyle{empty}
\ifpdftex
%% (pdf)latex
\fontfamily{cmss}\fontsize{9pt}{9pt}\selectfont
\fi
<?lsmb FOR check = checks ?>
<?lsmb name = check.name ?>
<?lsmb INCLUDE check_single
source = check.source
control_code = check.control_code
text_amount = check.text_amount
decimal = check.decimal
amount = check.amount
legal_name = check.legal_name
street1 = check.street1
street2 = check.street2
city = check.city
state = check.state
mail_code = check.mail_code
country = check.country
memo = check.memo
invoices = check.invoices
?>
\clearpage
<?lsmb END # FOR check ?>
\end{document}
<?lsmb END # FILTER latex { format="$FORMAT($PROCESSOR)" } -?>
+62
View File
@@ -0,0 +1,62 @@
<?lsmb# This is a comment block; it's ignored by the template engine.
Version: 1.2
Date: 2025-05-02
File: display_report.csv
Set: demo
Template version numbers are explicitly not aligned across templates or
releases. No explicit versioning was applied before 2021-01-04.
Version Changes
1.1 Merged 'dynatable.csv' into this template
1.2 Fix missing newlines after each row
-?>
<?lsmb-
BLOCK do_quote ;
IF VALUE.to_output.defined();
value = VALUE.to_output();
ELSE;
value = VALUE;
END;
IF value.match('[^0-9.+-]'); # any non-digit means run escaping
'"'; value.replace('"', '""'); '"'; # " balance the double quotes
ELSE;
value;
END;
END;
BLOCK dynatable;
SKIP_TYPES = ['hidden', 'radio', 'checkbox'];
FOREACH COL IN columns;
IF SKIP_TYPES.grep(COL.type).empty();
UNLESS loop.first();
',';
END;
INCLUDE do_quote VALUE = COL.name;
END;
END;
"\n";
FOREACH ROW IN tbody.rows;
FOREACH COL IN columns;
COL_ID = COL.col_id;
IF SKIP_TYPES.grep(COL.type).empty();
UNLESS loop.first();
',';
END;
INCLUDE do_quote VALUE = ROW.$COL_ID;
END;
END;
"\n";
END;
END;
PROCESS dynatable tbody = {rows = rows };
?>
Can't render this file because it contains an unexpected character in line 27 and column 7.
+167
View File
@@ -0,0 +1,167 @@
<?lsmb# This is a comment block; it's ignored by the template engine.
Version: 1.1
Date: 2024-08-21
File: display_report.html
Set: demo
Template version numbers are explicitly not aligned across templates or
releases. No explicit versioning was applied before 2021-01-04.
Version Changes
1.1 Merged 'dynatable.html' into this template
-?>
<?lsmb-
# Simplified block from UI/lib/dynatable.html; see that file for docs
BLOCK dynatable -?>
<table id="<?lsmb attributes.id ?>"
class="dynatable <?lsmb attributes.class ?>"
width="<?lsmb attributes.width ?>">
<?lsmb- IF !hide_header -?>
<thead>
<tr>
<?lsmb- FOREACH COL IN columns;
IF COL.type != 'hidden'; -?>
<th class="<?lsmb COL.col_id _ ' ' _ COL.class _ ' ' _ COL.type | html ?>"><?lsmb COL.name | html ?>
</th>
<?lsmb- END; END; -?>
</tr>
</thead>
<?lsmb- END -?>
<tbody>
<?lsmb-
PFX = attributes.input_prefix;
FOREACH ROW IN tbody.rows; -?>
<tr class="<?lsmb ROW.html_class _ ' ' _ ROW.row_id ?>">
<?lsmb- FOREACH COL IN columns;
ROWSPANNED = COL.col_id _ "_ROWSPANNED";
IF ROW.$ROWSPANNED;
NEXT;
END;
ROWSPAN = COL.col_id _ "_ROWSPAN";
IF ROW.$ROWSPAN;
ROWSPAN=" rowspan=\"" _ ROW.$ROWSPAN _ "\"";
ELSE;
ROWSPAN="";
END;
TYPE = COL.type;
NOHREF = COL.col_id _ "_NOHREF";
IF (ROW.NOINPUT AND TYPE != 'href' AND TYPE != 'hidden')
OR (ROW.$NOHREF AND TYPE == 'href');
TYPE = 'text';
END;
NEXT IF TYPE == 'hidden'; -?>
<td class="<?lsmb COL.col_id _ ' ' _ COL.class _ ' ' _ COL.type | html ?>"<?lsmb ROWSPAN ?>>
<?lsmb- IF TYPE == 'boolean_checkmark' OR TYPE == 'checkbox' OR TYPE == 'radio';
IF ROW.${COL.col_id};
'✓';
END;
ELSIF TYPE == 'select';
# ROW is passed as an argument if COL.options is a callback
# function, which allows dropdown options to be dynamically
# customised to each row. The ROW argument is harmlessly
# ignored by Template Toolkit if COL.options is a static
# arrayref common to every row.
OPTION_LIST = COL.options(ROW);
FOREACH option IN OPTION_LIST;
IF (option.value | html) == ROW.${COL.col_id};
option.text | html;
END;
END;
ELSE -?>
<?lsmb ROW.${COL.col_id} ?>
<?lsmb- END -?>
</td>
<?lsmb- END; END -?>
</tr>
<?lsmb- END ?>
</tbody>
<?lsmb- IF tfoot -?>
<tfoot>
<?lsmb- FOREACH ROW IN tfoot.rows;
SPACECOUNT = 0 -?>
<tr>
<?lsmb- FOREACH COL IN columns;
COL_ID = COL.col_id;
IF tfoot.coltypes.$COL_ID;
TYPE = tfoot.coltypes.$COL_ID;
ELSE;
TYPE = COL.type;
END;
DOJO = tfoot.dojo_type.$COL_ID;
DOJO_PROPS = tfoot.dojo_props.$COL_ID;
IF tfoot.coltypes.${COL.col_id} == 'spacer';
SPACECOUNT = SPACECOUNT + 1;
ELSE;
IF SPACECOUNT > 0 ?>
<td colspan="<?lsmb SPACECOUNT ?>">&nbsp;</td>
<?lsmb END;
NEXT IF TYPE == 'hidden';
-?>
<td class="<?lsmb COL.col_id | html ?>">
<?lsmb- IF TYPE == 'boolean_checkmark' OR TYPE == 'checkbox' OR TYPE == 'radio';
IF ROW.${COL.col_id};
'✓';
END;
ELSE -?>
<?lsmb ROW.${COL.col_id} ?>
<?lsmb- END -?>
</td>
<?lsmb- END -?>
</tr>
<?lsmb- END -?>
</tfoot>
<?lsmb- END -?>
</table>
<?lsmb- END; -?>
<!DOCTYPE html>
<html>
<head>
<title></title>
<style>
table tbody tr:nth-child(2n) {
background-color: #e6e6fa;
}
table tbody tr:nth-child(2n+1) {
background-color: #ffeeec;
}
table td, table th {
padding: 0.2em 1ex;
}
table thead {
background-color: #bcd8f4;
}
label {
font-weight: bold;
}
div.heading-section {
margin-bottom: 2em;
}
</style>
</head>
<body>
<div class="heading-section">
<div class="report-header">
<label><?lsmb text('Report Name') ?>:</label>
<span class="report-header"><?lsmb name ?></span>
</div>
<div class="report-header">
<label><?lsmb text('Company') ?>:</label>
<span class="report-header"><?lsmb SETTINGS.company_name ?></span>
</div><?lsmb FOREACH LINE IN hlines ?>
<div class="report-header">
<label><?lsmb LINE.text ?>:</label>
<span class="report-header"><?lsmb LINE.value ?></span>
</div><?lsmb END ?>
</div><?lsmb PROCESS dynatable tbody = {rows = rows }
attributes = {class = 'report', order_url = order_url } ?>
</body>
</html>
+91
View File
@@ -0,0 +1,91 @@
<?lsmb# This is a comment block; it's ignored by the template engine.
Version: 1.1
Date: 2024-08-21
File: display_report.odst
Set: demo
Template version numbers are explicitly not aligned across templates or
releases. No explicit versioning was applied before 2021-01-04.
Version Changes
1.1 Merged 'dynatable.odst' into this template
-?>
<?lsmb-
BLOCK dynatable;
ROWCOUNT = 1;
IF tbody.rows.size;
ROWCOUNT = ROWCOUNT + tbody.rows.size;
END;
IF tfoot.rows.size;
ROWCOUNT = ROWCOUNT + tbody.rows.size;
END;
-?>
<worksheet name="<?lsmb attributes.id | html ?>" rows="<?lsmb ROWCOUNT ?>" columns="<?lsmb columns.size + 1 ?>">
<format bottom="5" bg_color="lime" bottom_color="magenta">
<?lsmb IF !hide_header -?>
<row>
<?lsmb FOREACH COL IN columns;
IF COL.type != 'hidden'; -?>
<cell text="<?lsmb COL.name | html ?>" />
<?lsmb END; END; ?>
</row>
<?lsmb END -?>
</format>
<format align="right">
<?lsmb FOREACH ROW IN tbody.rows -?>
<row>
<?lsmb FOREACH COL IN columns -?>
<?lsmb IF COL.type != 'hidden'; -?>
<cell text="<?lsmb ROW.${COL.col_id} | html ?>" />
<?lsmb END;
END -?>
</row>
<?lsmb END -?>
<?lsmb- IF tfoot -?>
<?lsmb- FOREACH ROW IN tfoot.rows; ?>
<row>
<?lsmb FOREACH COL IN columns ?>
<?lsmb IF COL.type != 'hidden'; -?>
<cell text="<?lsmb ROW.${COL.col_id} | html ?>" />
<?lsmb END; END ?>
</row>
<?lsmb END;
END ?>
</format>
</worksheet>
<?lsmb
END; # BLOCK dynatable
# MAIN template
HEADS = 2;
IF hlines.size;
HEADS = HEADS + hlines.size;
END;
-?>
<workbook>
<worksheet name="<?lsmb text('Title Page') | html ?>" rows="<?lsmb HEADS ?>"
columns="2">
<row><cell text="<?lsmb text('Report Name') | html ?>:" />
<cell text="<?lsmb name | html ?>" />
</row>
<row><cell text="<?lsmb text('Company') | html ?>:" />
<cell text="<?lsmb SETTINGS.company_name | html ?>" />
</row>
<?lsmb FOREACH HLINE IN hlines -?>
<row><cell text="<?lsmb HLINE.text | html ?>:" />
<cell text="<?lsmb HLINE.value | html ?>" />
</row>
<?lsmb END -?>
</worksheet>
<?lsmb PROCESS dynatable
attributes = {id = name }
tbody = {rows = rows } ?>
</workbook>
+135
View File
@@ -0,0 +1,135 @@
<?lsmb# This is a comment block; it's ignored by the template engine.
Version: 1.3
Date: 2024-08-21
File: display_report.tex
Set: demo
Template version numbers are explicitly not aligned across templates or
releases. No explicit versioning was applied before 2021-01-04.
Version Changes
1.3 Merged 'dynatable.html' into this template
1.2 Simplified report header generation factored out of dynatable
1.1 Merged xelatex targetting templates with those targetting pdflatex
-?>
<?lsmb-
BLOCK dynatable;
TOTAL_WIDTH=14; # cm. using A4 as a basis because it is slightly narrower than
# US Letter. This way the dynatable works for both paper sizes.
# This assumes a 1cm margin on either side. --CT
DECLARED_WIDTH=0;
SKIP_TYPES = ['hidden', 'radio', 'checkbox'];
FOREACH COL IN columns;
DECLARED_WIDTH = DECLARED_WIDTH + COL.pwidth; # pwidth is arbitrary scale
END;
IF DECLARED_WIDTH > 0;
WIDTH_PER_P = TOTAL_WIDTH / DECLARED_WIDTH;
ELSE;
WIDTH_PER_P = 1;
END;
?>
\begin{longtable}{<?lsmb-
FOREACH COL IN columns;
IF COL.psep_before;
'|';
END;
IF 1 == SKIP_TYPES.grep(COL.type).size() or COL.html_only;
'';
ELSIF COL.pwidth;
"p{" _ (COL.pwidth * WIDTH_PER_P) _ "cm}";
ELSIF COL.palign;
COL.palign;
ELSE;
'l';
END;
IF COL.psep_after;
'|';
END;
END;
-?>}
<?lsmb
FOREACH COL IN columns;
IF 0 == SKIP_TYPES.grep(COL.type).size() AND ! COL.html_only;
UNLESS loop.first();
' & ';
END;
escape(COL.name);
END;
END;
-?>\tabularnewline
\hline\hline
\endfirsthead
<?lsmb
FOREACH COL IN columns;
IF 0 == SKIP_TYPES.grep(COL.type).size() AND ! COL.html_only;
UNLESS loop.first() ;
' & ';
END;
escape(COL.name);
END;
END;
-?>\tabularnewline
\hline\hline
\endhead
<?lsmb
FOREACH ROW IN tbody.rows;
FOREACH COL IN columns;
IF 0 == SKIP_TYPES.grep(COL.type).size() AND ! COL.html_only;
UNLESS loop.first();
' & ';
END;
?>\begin{tabular}[t]{@{}l@{}}<?lsmb
ROW.${COL.col_id};
?>\end{tabular}<?lsmb
END;
END;
?>\tabularnewline
<?lsmb
END; # FOREACH ?>
\end{longtable}
<?lsmb END; # block dynatable
# MAIN template
SKIP_TYPES = ['hidden', 'radio', 'checkbox'];
COLNUMBER = 0;
FOREACH COL IN columns;
IF 0 == SKIP_TYPES.grep(COL.type).size() and ! COL.html_only.defined();
COLNUMBER = COLNUMBER + 1;
END;
END;
FILTER latex { format="$FORMAT($PROCESSOR)" };
-?>
\documentclass[<?lsmb SETTINGS.papersize ?>paper]{article}
\usepackage{longtable}
\usepackage[margin=1cm]{geometry}
\begin{document}
\begin{center}
\begin{tabular}{rl}
\textbf{<?lsmb text('Report Name') ?>}: & <?lsmb name ?> \\
\textbf{<?lsmb text('Company') ?>}: & <?lsmb SETTINGS.company_name ?> \\
<?lsmb- newlines = new_heads(hlines);
FOREACH LINE IN newlines -?>
\textbf{<?lsmb LINE.text ?>}: & <?lsmb LINE.value ?> \\
<?lsmb- END -?>
\end{tabular}
\end{center}
<?lsmb PROCESS dynatable
tbody = { rows = rows };
?>
\end{document}
<?lsmb END -?>
+91
View File
@@ -0,0 +1,91 @@
<?lsmb# This is a comment block; it's ignored by the template engine.
Version: 1.1
Date: 2024-08-21
File: display_report.xlst
Set: demo
Template version numbers are explicitly not aligned across templates or
releases. No explicit versioning was applied before 2021-01-04.
Version Changes
1.1 Merged 'dynatable.xlst' into this template
-?>
<?lsmb-
BLOCK dynatable;
ROWCOUNT = 1;
IF tbody.rows.size;
ROWCOUNT = ROWCOUNT + tbody.rows.size;
END; #IF
IF tfoot.rows.size;
ROWCOUNT = ROWCOUNT + tbody.rows.size;
END; # IF
-?>
<worksheet name="<?lsmb attributes.id | html ?>" rows="<?lsmb ROWCOUNT ?>" columns="<?lsmb columns.size + 1 ?>">
<format bottom="5" bg_color="lime" bottom_color="magenta">
<?lsmb IF !hide_header -?>
<row>
<?lsmb FOREACH COL IN columns;
IF COL.type != 'hidden'; -?>
<cell text="<?lsmb COL.name | html ?>" />
<?lsmb END; # IF
END; # FOREACH ?>
</row>
<?lsmb END; # IF -?>
</format>
<format align="right">
<?lsmb FOREACH ROW IN tbody.rows -?>
<row>
<?lsmb FOREACH COL IN columns -?>
<?lsmb IF COL.type != 'hidden'; -?>
<cell text="<?lsmb ROW.${COL.col_id} | html ?>" />
<?lsmb END; # IF
END; #FOREACH -?>
</row>
<?lsmb END; #FOREACH -?>
<?lsmb- IF tfoot -?>
<?lsmb- FOREACH ROW IN tfoot.rows; ?>
<row>
<?lsmb FOREACH COL IN columns ?>
<?lsmb IF COL.type != 'hidden'; -?>
<cell text="<?lsmb ROW.${COL.col_id} | html ?>" />
<?lsmb END; # IF
END; # FOREACH ?>
</row>
<?lsmb END; # FOREACH
END; #IF ?>
</format>
</worksheet>
<?lsmb
END; # BLOCK dynatable
# MAIN template
HEADS = 2;
IF hlines.size;
HEADS = HEADS + hlines.size;
END;
?>
<workbook>
<worksheet name="<?lsmb text('Title Page') | html ?>" rows="<?lsmb HEADS ?>"
columns="2">
<row><cell text="<?lsmb text('Report Name') | html ?>:" />
<cell text="<?lsmb name | html ?>" />
</row>
<row><cell text="<?lsmb text('Company') | html ?>:" />
<cell text="<?lsmb SETTINGS.company_name | html ?>" />
</row>
<?lsmb FOREACH HLINE IN hlines -?>
<row><cell text="<?lsmb HLINE.text | html ?>:" />
<cell text="<?lsmb HLINE.value | html ?>" />
</row>
<?lsmb END -?>
</worksheet>
<?lsmb PROCESS dynatable
attributes = {id = name }
tbody = {rows = rows } ?>
</workbook>
+37
View File
@@ -0,0 +1,37 @@
<?lsmb# This is a comment block; it's ignored by the template engine.
Version: 1.1
Date: 2022-07-22
File: envelope.tex
Set: demo
Template version numbers are explicitly not aligned across templates or
releases. No explicit versioning was applied before 2021-01-04.
Version Changes
1.1 Merged xelatex targetting templates with those targetting pdflatex
-?>
<?lsmb FILTER latex { format="$FORMAT($PROCESSOR)" } ?>
\documentclass{scrartcl}
\usepackage{iftex}
\ifpdftex
%% (pdf)latex
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\else
\usepackage{fontspec}
\fi
\usepackage{tabularx}
\usepackage[paperheight=11cm, paperwidth=23cm,top=3.5cm,bottom=3cm,left=12cm,right=1cm]{geometry}
\begin{document}
\thispagestyle{empty}
\noindent <?lsmb name ?>\\
<?lsmb address1 ?> \\
<?lsmb- IF address2 ?>
<?lsmb address2 ?> \\
<?lsmb- END ?>
<?lsmb city ?>
<?lsmb- IF state -?>, <?lsmb state ?> <?lsmb END ?> <?lsmb zipcode ?>\\
\end{document}
<?lsmb END -?>
+24
View File
@@ -0,0 +1,24 @@
<?lsmb# This is a comment block; it's ignored by the template engine.
Version: 1.0
Date: 2021-01-04
File: invoice.894.edi
Set: demo
Template version numbers are explicitly not aligned across templates or
releases. No explicit versioning was applied before 2021-01-04.
-?>
ISA*00* *00* *12*XXXXXXXXXX *01*XXXXXXXXXX *<?lsmb EDI_CURRENT_DATE ?>*<?lsmb EDI_CURRENT_TIME ?>*^*00501*<?lsmb FILTER format('%09d'); id ; END ?>*0*P*>~
GS*DX*7196333434*031958655*<?lsmb EDI_CURRENT_DATE ?>*<?lsmb EDI_CURRENT_TIME ?>*0001*X*005010~
ST*894*<?lsmb id ?>~
G82*<?lsmb IF reverse; 'C'; ELSE; 'X'; END ?>*<?lsmb invnumber ?>*0001*0000*<?lsmb edidate(transdate) ?>~
<?lsmb t_qty = 0; FOREACH n IN number; lc = loop.index; t_qty = t_qty + qty.${lc} -?>
LS*<?lsmb loop.count ?>~
G83*<?lsmb loop.count?>*<?lsmb qty.${lc} ?>*UC*<?lsmb number.${lc} ?>*<?lsmb FILTER format('%.4f'); sellprice.${lc}; END ?>**~
LE*<?lsmb loop.count ?>~
<?lsmb END # FOREACH n in number -?>
G84*<?lsmb t_qty?>*<?lsmb invtotal ?>~
SE*<?lsmb (3 * lc) + 7 ?>*<?lsmb id ?>~
GE*1*0001~
IEA*1*<?lsmb FILTER format('%09d'); id ; END ?>~
+240
View File
@@ -0,0 +1,240 @@
<?lsmb# This is a comment block; it's ignored by the template engine.
Version: 1.2
Date: 2025-10-29
File: invoice.html
Set: demo
Template version numbers are explicitly not aligned across templates or
releases. No explicit versioning was applied before 2021-01-04.
Version Changes
1.1 Extended with 'shiptoattn' (at the attention of)
1.2 Add missing space before 'on' in tax specification row
-?>
<!DOCTYPE html>
<html>
<head>
<meta name="generator" content="HTML Tidy for HTML5 for Linux version 5.6.0">
<title><?lsmb text('Invoice') ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
span.c5 {font-size: 64%}
span.c4 {font-size: 51%}
tr.c3 {background-color: black}
span.c2 {color: white}
h4.c1 {text-transform:uppercase}
</style>
</head>
<body>
<table width="100%">
<?lsmb INCLUDE letterhead ?>
<tr>
<th colspan="3">
<h4 class="c1">
<?lsmb IF reverse; text('Credit Invoice'); ELSE; text('Invoice'); END; ?></h4>
</th>
</tr>
<tr>
<td>
<table width="100%" cellspacing="0" cellpadding="0">
<tr class="c3">
<th align="left" width="50%"><span class="c2"><?lsmb text('To') ?></span></th>
<th align="left" width="50%"><span class="c2"><?lsmb text('Ship To') ?></span></th>
</tr>
<tr valign="top">
<td><?lsmb name ?><br>
<?lsmb address1 ?> <?lsmb IF address2 ?><br>
<?lsmb address2 ?> <?lsmb END ?><br>
<?lsmb city ?> <?lsmb IF state ?> , <?lsmb state ?> <?lsmb END ?> <?lsmb zipcode ?>
<?lsmb IF country ?><br>
<?lsmb country ?> <?lsmb END ?><br>
<?lsmb IF contact ?><br>
<?lsmb contact ?><br>
<?lsmb END ?> <?lsmb IF customerphone ?><br>
<?lsmb text('Tel: [_1]', customerphone) ?> <?lsmb END ?> <?lsmb IF customerfax ?><br>
<?lsmb text('Fax: [_1]', customerfax) ?> <?lsmb END ?> <?lsmb IF email ?><br>
<?lsmb email ?> <?lsmb END ?></td>
<td><?lsmb shiptoname ?><br>
<?lsmb IF shiptoattn ?><?lsmb shiptoattn ?><br><?lsmb END ?>
<?lsmb shiptoaddress1 ?> <?lsmb IF shiptoaddress2 ?><br>
<?lsmb shiptoaddress2 ?> <?lsmb END ?><br>
<?lsmb shiptocity ?> <?lsmb IF shiptostate ?> , <?lsmb shiptostate ?> <?lsmb END ?>
<?lsmb shiptozipcode ?> <?lsmb IF shiptocountry ?><br>
<?lsmb shiptocountry ?> <?lsmb END ?><br>
<?lsmb IF shiptocontact ?><br>
<?lsmb shiptocontact ?><br>
<?lsmb END ?> <?lsmb IF shiptophone ?><br>
<?lsmb text('Tel: [_1]', shiptophone) ?> <?lsmb END ?> <?lsmb IF shiptofax ?><br>
<?lsmb text('Fax: [_1]', shiptofax) ?> <?lsmb END ?> <?lsmb IF shiptoemail ?><br>
<?lsmb shiptoemail ?> <?lsmb END ?></td>
</tr>
</table>
</td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td>
<table width="100%" border="1">
<tr>
<th width="14%" align="left" nowrap><?lsmb text('Invoice #') ?></th>
<th width="14%" align="left" nowrap><?lsmb text('Date') ?></th>
<th width="14%" align="left" nowrap><?lsmb text('Due') ?></th>
<th width="14%" align="left"><?lsmb text('Order #') ?></th>
<th width="14%" align="left" nowrap><?lsmb text('Salesperson') ?></th>
<th width="14%" align="left" nowrap><?lsmb text('Shipping Point') ?></th>
<th width="14%" align="left" nowrap><?lsmb text('Ship via') ?></th>
</tr>
<tr>
<td><?lsmb invnumber ?></td>
<td><?lsmb invdate ?></td>
<td><?lsmb duedate ?></td>
<td><?lsmb ordnumber ?>&nbsp;</td>
<td><?lsmb employee ?>&nbsp;</td>
<td><?lsmb shippingpoint ?>&nbsp;</td>
<td><?lsmb shipvia ?>&nbsp;</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table width="100%">
<tr class="c3">
<th align="right"><span class="c2"><?lsmb text('Item') ?></span></th>
<th align="left"><span class="c2"><?lsmb text('Number') ?></span></th>
<th align="left"><span class="c2"><?lsmb text('Description') ?></span></th>
<th>&nbsp;</th>
<th align="right"><span class="c2"><?lsmb text('Qty') ?></span></th>
<th>&nbsp;</th>
<th align="right"><span class="c2"><?lsmb text('Unit Price') ?></span></th>
<th align="right"><span class="c2"><?lsmb text('Disc %') ?></span></th>
<th align="right"><span class="c2"><?lsmb text('Extended') ?></span></th>
</tr><?lsmb FOREACH number ?><?lsmb loop_count = loop.index ?>
<tr valign="top">
<td align="right"><?lsmb runningnumber.${loop_count} ?>.</td>
<td><?lsmb number.${loop_count} ?></td>
<td><?lsmb item_description.${loop_count}.replace("\n","<br />") ?></td>
<td><?lsmb deliverydate.${loop_count} ?></td>
<td align="right"><?lsmb qty.${loop_count} ?></td>
<td><?lsmb unit.${loop_count} ?></td>
<td align="right"><?lsmb sellprice.${loop_count} ?></td>
<td align="right"><?lsmb discountrate.${loop_count} ?></td>
<td align="right"><?lsmb linetotal.${loop_count} ?></td>
</tr><?lsmb END ?>
<tr>
<td colspan="9">
<hr noshade>
</td>
</tr><?lsmb IF tax -?>
<tr>
<th colspan="7" align="right"><?lsmb text('Subtotal') ?></th>
<td colspan="2" align="right"><?lsmb subtotal ?></td>
</tr><?lsmb FOREACH tax ?><?lsmb loop_count = loop.index ?>
<tr>
<th colspan="7" align="right">
<?lsmb taxdescription.${loop_count}.replace("\n","<br />") ?> on
<?lsmb taxbase.${loop_count} ?> @ <?lsmb taxrate.${loop_count} ?> %</th>
<td colspan="2" align="right"><?lsmb tax.${loop_count} ?></td>
</tr><?lsmb END ?><?lsmb END -?>
<tr>
<th colspan="7" align="right"><?lsmb text('Total') ?></th>
<td colspan="2" align="right"><?lsmb invtotal ?></td>
</tr><?lsmb IF paymentdate.0 ?>
<tr>
<th colspan="7" align="right"><?lsmb text('Paid') ?></th>
<td colspan="2" align="right">- <?lsmb paid ?></td>
</tr>
<tr>
<td colspan="5">&nbsp;</td>
<td colspan="4">
<hr noshade>
</td>
</tr>
<tr>
<td colspan="5">&nbsp;</td>
<th colspan="2" align="right" nowrap><?lsmb text('Balance') ?></th>
<th colspan="2" align="right"><?lsmb total ?></th>
</tr><?lsmb END ?>
</table>
</td>
</tr>
<tr>
<td>
<table width="100%">
<tr valign="top">
<?lsmb IF notes ?>
<td>
<?lsmb FOREACH P IN notes.split('\n\n') ?>
<p><?lsmb P ?></p><?lsmb END ?>
</td><?lsmb END ?>
<td><?lsmb text_amount ?>***** <?lsmb decimal ?>/100</td>
<td align="right" nowrap><?lsmb text('All prices in [_1]', currency) ?></td>
</tr>
</table>
</td>
</tr><?lsmb IF paymentdate.0 ?>
<tr>
<td colspan="9">
<table width="60%">
<tr>
<th align="left"><?lsmb text('Payments') ?></th>
</tr>
<tr>
<td colspan="4">
<hr noshade>
</td>
</tr>
<tr>
<th align="left"><?lsmb text('Date') ?></th>
<th align="left"><?lsmb text('Account') ?></th>
<th align="left"><?lsmb text('Source') ?></th>
<th align="left"><?lsmb text('Amount') ?></th>
</tr><?lsmb FOREACH payment ?><?lsmb loop_count = loop.index ?>
<tr>
<td><?lsmb paymentdate.${loop_count} ?></td>
<td><?lsmb paymentaccount.${loop_count} ?></td>
<td><?lsmb paymentsource.${loop_count} ?></td>
<td><?lsmb payment.${loop_count} ?></td>
</tr><?lsmb END ?>
</table>
</td>
</tr><?lsmb END ?>
<tr>
<td></td>
</tr>
<tr>
<th><?lsmb text('Thank you for your valued business!') ?></th>
</tr>
<tr>
<td>
<table width="100%">
<tr valign="top">
<td width="60%"><span class="c4"><?lsmb text('Payment due by [_1].', duedate) ?>
<?lsmb text('Items returned are subject to a 10% restocking charge. A return authorization must be obtained from [_1] before goods are returned. Returns must be shipped prepaid and properly insured. [_1] will not be responsible for damages during transit.', company) ?></span></td>
<td width="40%">
X
<hr noshade>
</td>
</tr>
</table>
</td>
</tr><?lsmb FOREACH tax ?><?lsmb loop_count = loop.index ?>
<tr>
<th colspan="9" align="left"><span class=
"c5"><?lsmb taxdescription.${loop_count}.replace("\n","<br />") ?>
<?lsmb text('Registration [_1]', taxnumber.${loop_count}) ?></span></th>
</tr><?lsmb END ?><?lsmb IF taxincluded ?>
<tr>
<td></td>
</tr>
<tr>
<th colspan="8" align="left"><span class=
"c5"><?lsmb text('Taxes shown are included in price.') ?></span></th>
</tr><?lsmb END ?>
</table>
</body>
</html>
+257
View File
@@ -0,0 +1,257 @@
<?lsmb# This is a comment block; it's ignored by the template engine.
Version: 1.3
Date: 2024-08-14
File: invoice.tex
Set: demo
Template version numbers are explicitly not aligned across templates or
releases. No explicit versioning was applied before 2021-01-04.
Version Changes
1.1 Fix spelling mistake (acrue -> accrue)
1.2 Merged xelatex targetting templates with those targetting pdflatex
1.3 Extended with 'shiptoattn' (at the attention of)
The "$FORMAT($PROCESSOR)" below evaluates to e.g. "pdf(pdflatex)".
-?>
<?lsmb FILTER latex { format="$FORMAT($PROCESSOR)" };
# Uncomment the next line to overrule the value from System > Defaults;
# The value should be without the 'paper' suffix. E.g. "a4" for "a4paper"
# SETTINGS.papersize = "<your-format>";
INCLUDE "preamble.tex"; -?>
\setlength\LTleft{0pt}
\setlength\LTright{0pt}
\begin{document}
\pagestyle{myheadings}
\thispagestyle{empty}
\ifpdftex
%% (pdf)latex
\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
\fi
<?lsmb BLOCK multiline -?>
\begin{minipage}{2in}
\medskip
\raggedright
<?lsmb string ?>
\end{minipage}
<?lsmb- END -?>
\newsavebox{\ftr}
\sbox{\ftr}{
\parbox{\textwidth}{
\tiny
\rule[1.5em]{\textwidth}{0.5pt}
<?lsmb text('Payment due NET [_1] Days from date of Invoice.', terms) ?>
<?lsmb text('Interest on overdue amounts will accrue at the rate of 12% per annum starting from [_1] until paid in full. Items returned are subject to a 10% restocking charge.', duedate) ?>
<?lsmb text('A return authorization must be obtained from [_1] before goods are returned. Returns must be shipped prepaid and properly insured. [_1] will not be responsible for damages during transit.', company) ?>
}
}
<?lsmb INCLUDE letterhead ?>
\markboth{<?lsmb company ?>\hfill <?lsmb invnumber ?>}{<?lsmb company ?>\hfill <?lsmb invnumber ?>}
\vspace*{0.5cm}
\parbox[t]{.5\textwidth}{
\textbf{To}
\vspace{0.3cm}
<?lsmb name ?>
<?lsmb address1 ?>
<?lsmb address2 ?>
<?lsmb city ?>
<?lsmb IF state -?>
\hspace{-0.1cm}, <?lsmb state ?> <?lsmb END ?> <?lsmb zipcode ?>
<?lsmb country ?>
\vspace{0.3cm}
<?lsmb IF contact ?>
<?lsmb contact ?>
\vspace{0.2cm}
<?lsmb END ?>
<?lsmb IF customerphone ?>
Tel: <?lsmb customerphone ?>
<?lsmb END ?>
<?lsmb IF customerfax ?>
Fax: <?lsmb customerfax ?>
<?lsmb END ?>
<?lsmb email ?>
}
\parbox[t]{.5\textwidth}{
\textbf{<?lsmb text('Ship To') ?>}
\vspace{0.3cm}
<?lsmb shiptoname ?>
<?lsmb IF shiptoattn -?>
<?lsmb shiptoattn ?>
<?lsmb END -?>
<?lsmb shiptoaddress1 ?>
<?lsmb shiptoaddress2 ?>
<?lsmb shiptocity ?>
<?lsmb IF shiptostate -?>
\hspace{-0.1cm}, <?lsmb shiptostate ?><?lsmb END ?> <?lsmb shiptozipcode ?>
<?lsmb shiptocountry ?>
\vspace{0.3cm}
<?lsmb IF shiptocontact ?>
<?lsmb shiptocontact ?>
\vspace{0.2cm}
<?lsmb END ?>
<?lsmb IF shiptophone ?>
Tel: <?lsmb shiptophone ?>
<?lsmb END ?>
<?lsmb IF shiptofax ?>
Fax: <?lsmb shiptofax ?>
<?lsmb END ?>
<?lsmb shiptoemail ?>
}
\hfill
\vspace{1cm}
\textbf{\MakeUppercase{<?lsmb
IF reverse;
text('Credit Invoice');
ELSE;
text('Invoice');
END; ?>}}
\hfill
\vspace{1cm}
\begin{tabularx}{\textwidth}{*{7}{|X}|} \hline
\textbf{<?lsmb text('Invoice #') ?>} & \textbf{<?lsmb text('Date') ?>}
& \textbf{<?lsmb text('Due') ?>} & \textbf{<?lsmb text('Order #') ?>}
& \textbf{<?lsmb text('Salesperson') ?>}
& \textbf{<?lsmb text('Shipping Point') ?>}
& \textbf{<?lsmb text('Ship via') ?>} \\ [0.5em]
\hline
<?lsmb invnumber ?> & <?lsmb invdate ?> & <?lsmb duedate ?> & <?lsmb ordnumber ?> & <?lsmb employee ?>
& <?lsmb shippingpoint ?> & <?lsmb shipvia ?> \\
\hline
\end{tabularx}
\vspace{1cm}
\begin{longtable}{@{\extracolsep{\fill}}r|llcrlrr|r}
\textbf{<?lsmb text('Item') ?>}
& \textbf{<?lsmb text('Number') ?>}
& \textbf{<?lsmb text('Description') ?>}
& \textbf{<?lsmb text('Delivery') ?>}
& \textbf{<?lsmb text('Qty') ?>}
& \textbf{<?lsmb text('Unit') ?>}
& \textbf{<?lsmb text('Price') ?>}
& \textbf{<?lsmb text('Disc %') ?>}
& \textbf{<?lsmb text('Amount') ?>} \\
\hline
\endhead
<?lsmb FOREACH number ?>
<?lsmb lc = loop.index ?>
<?lsmb runningnumber.${lc} ?> &
<?lsmb number.${lc} ?> &
<?lsmb INCLUDE multiline string = item_description.${lc} ?> &
<?lsmb deliverydate.${lc} ?> &
<?lsmb qty.${lc} ?> &
<?lsmb unit.${lc} ?> &
<?lsmb sellprice.${lc} ?> &
<?lsmb discountrate.${lc} ?> &
<?lsmb linetotal.${lc} ?> \\
<?lsmb END ?>
<?lsmb IF tax ?>
\hline \hline
\multicolumn{8}{r|}{<?lsmb text('Subtotal') ?>} & <?lsmb subtotal ?> \\*
<?lsmb FOREACH tax ?>
<?lsmb lc = loop.index ?>
\multicolumn{8}{r|}{<?lsmb taxdescription.${lc}
?> on <?lsmb taxbase.${lc} ?> }
& <?lsmb tax.${lc} ?> \\*
<?lsmb END ?>
<?lsmb END ?>
\hline \hline
\multicolumn{8}{r|}{<?lsmb text('Total') ?>} & <?lsmb invtotal ?> \\*
<?lsmb IF paymentdate.0 ?>
\multicolumn{8}{r|}{ <?lsmb text('Paid') ?> } & - <?lsmb paid ?> \\*
\hline
\hline
\multicolumn{8}{r|}{<?lsmb text('Balance') ?>} & <?lsmb total ?>\\
<?lsmb END ?>
\end{longtable}
\parbox{\textwidth}{
\vspace{0.2cm}
\hfill
\vspace{0.3cm}
<?lsmb text_amount ?> ***** <?lsmb decimal ?>/100
\hfill
<?lsmb text('All prices in [_1].', currency) ?>
\vspace{12pt}
<?lsmb FOREACH P IN notes.split('\n\n+') ?>
<?lsmb P ?>\medskip
<?lsmb END ?>
}
\vfill
<?lsmb IF paymentdate.0 ?>
\begin{tabularx}{10cm}{@{}lXlr@{}}
\textbf{<?lsmb text('Payments') ?>} & & & \\
\hline
\textbf{<?lsmb text('Date') ?>} & & \textbf{<?lsmb text('Source') ?>}
& \textbf{<?lsmb text('Amount') ?>} \\
<?lsmb FOREACH payment ?>
<?lsmb lc = loop.index ?>
<?lsmb paymentdate.${lc} ?> & <?lsmb paymentaccount.${lc} ?> & <?lsmb paymentsource.${lc} ?> & <?lsmb payment.${lc} ?> \\
<?lsmb END ?>
\end{tabularx}
<?lsmb END ?>
<?lsmb FOR FILE IN file_list ?>
\includegraphics[scale=0.3]{<?lsmb file_path _ '/' _ FILE.file_name ?>}
<?lsmb END ?>
\vspace{1cm}
\centerline{\textbf{<?lsmb text('Thank You for your valued business!') ?>}}
\rule{\textwidth}{0.5pt}
\usebox{\ftr}
\end{document}
<?lsmb END -?>
+59
View File
@@ -0,0 +1,59 @@
<?lsmb# This is a comment block; it's ignored by the template engine.
Version: 1.0
Date: 2021-01-04
File: letterhead.html
Set: demo
Template version numbers are explicitly not aligned across templates or
releases. No explicit versioning was applied before 2021-01-04.
-?>
<tr>
<td>
<table width="100%">
<tr>
<td>
<h4><?lsmb company ?><br>
<?lsmb address ?></h4>
</td><?lsmb# using "comment block" template tag to suppress output
There are two options of including a picture in the output:
1. An external image available from your webserver
This option has the downside that the webserver and image
need to remain available for extended periods.
<img src="https://example.com/logo.png" border="0" height="58">
2. An image embedded in the invoice itself
This option has the downside that the invoice file will
be larger and the HTML source will be less readable, however,
it eliminates external dependencies, retaining the integrity
of the invoice, independent of what happens to publicly hosted
images
<img src="data:image/png;base64,<-?lsmb dbfile_base64('logo.png') ?->"
border="0" height="58">
Please note that this is dependent on having a file uploaded by
the name 'logo.png' under "System - Files". Also, when using this
option, please remove the hyphens from '<-?lsmb' and '?->'; they
are used to hide the text from the template processor.
?>
<th><!--Replace this comment with one of the two image tags above --></th>
<td align="right">
<h4><?lsmb text('Tel: [_1]', tel) ?><br>
<?lsmb text('Fax: [_1]', fax) ?></h4>
</td>
</tr>
<tr>
<td colspan="3">
<hr noshade>
</td>
</tr>
</table>
</td>
</tr>
+54
View File
@@ -0,0 +1,54 @@
<?lsmb# This is a comment block; it's ignored by the template engine.
Version: 1.1
Date: 2022-07-22
File: letterhead.tex
Set: demo
Template version numbers are explicitly not aligned across templates or
releases. No explicit versioning was applied before 2021-01-04.
Version Changes
1.1 Merged xelatex targetting templates with those targetting pdflatex
-?>
\parbox{\textwidth}{%
\parbox[b]{.42\textwidth}{%
<?lsmb company ?>
<?lsmb address ?>
}
\parbox[b]{.2\textwidth}{
<?lsmb# using "comment block" template tag to suppress output
To include a logo in your LaTeX document, it needs to be retrieved from
the database and temporarily stored in a location accessible to the PDF
generator. The function 'dbfile_path' handles that.
To use this functionality, (a) remove the percent sign before the
\includegraphics command and (b) make sure all templates which INCLUDE
'letterhead', contain '\usepackage{graphics}'
If the generated output is to be PDF output, make sure that the image is
a PNG image as shown below. In case Postscript (PS) or EPS output, make
sure the image is (E)PS.
For information on the avaliable options for the 'includegraphics'
command, see https://en.wikibooks.org/wiki/LaTeX/Importing_Graphics
Example (remove the 3 %-signs):
?>
% \includegraphics[scale=0.3]{<%?lsmb dbfile_path('logo.png') ?%>}
}\hfill
\begin{tabular}[b]{rr@{}}
<?lsmb text('Tel:') ?> & <?lsmb tel ?>\\
<?lsmb text('Fax:') ?> & <?lsmb fax ?>
\end{tabular}
\rule[1.5em]{\textwidth}{0.5pt}
}
+146
View File
@@ -0,0 +1,146 @@
<?lsmb# This is a comment block; it's ignored by the template engine.
Version: 1.0
Date: 2021-01-04
File: packing_list.html
Set: demo
Template version numbers are explicitly not aligned across templates or
releases. No explicit versioning was applied before 2021-01-04.
-?>
<!DOCTYPE html>
<html>
<head>
<meta name="generator" content="HTML Tidy for HTML5 for Linux version 5.6.0">
<title><?lsmb text('Packing List') ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
body {
background-color: white;
}
span.c4 {font-size: 51%}
tr.c3 {background-color: black}
span.c2 {color: white}
h4.c1 {text-transform:uppercase}
</style>
</head>
<body>
<table width="100%">
<?lsmb INCLUDE letterhead ?>
<tr>
<th colspan="3">
<h4 class="c1"><?lsmb text('Packing List') ?></h4>
</th>
</tr>
<tr>
<td>
<table width="100%" cellspacing="0" cellpadding="0">
<tr class="c3">
<th width="50%" align="left"><span class="c2"><?lsmb text('Ship To:') ?></span></th>
<th width="50%">&nbsp;</th>
</tr>
<tr valign="top">
<td><?lsmb shiptoname ?><br>
<?lsmb shiptoaddress1 ?> <?lsmb IF shiptoaddress2 ?><br>
<?lsmb shiptoaddress2 ?> <?lsmb END ?><br>
<?lsmb shiptocity ?> <?lsmb IF shiptostate ?> , <?lsmb shiptostate ?> <?lsmb END ?>
<?lsmb shiptozipcode ?> <?lsmb IF shiptocountry ?><br>
<?lsmb shiptocountry ?> <?lsmb END ?></td>
<td><?lsmb IF shiptocontact ?><br>
<?lsmb text('Attn: [_1]', shiptocontact) ?> <?lsmb END ?> <?lsmb IF shiptophone ?><br>
<?lsmb text('Tel: [_1]', shiptophone) ?> <?lsmb END ?> <?lsmb IF shiptofax ?><br>
<?lsmb text('Fax: [_1]', shiptofax) ?> <?lsmb END ?> <?lsmb shiptoemail ?></td>
</tr>
</table>
</td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td>
<table width="100%" border="1">
<tr>
<th width="17%" align="left"><?lsmb text('Invoice #') ?></th>
<th width="17%" align="left"><?lsmb text('Order #') ?></th>
<th width="17%" align="left"><?lsmb text('Date') ?></th>
<th width="17%" align="left" nowrap><?lsmb text('Contact') ?></th><?lsmb IF warehouse ?>
<th width="17%" align="left"><?lsmb text('Warehouse') ?></th><?lsmb END ?>
<th width="17%" align="left"><?lsmb text('Shipping Point') ?></th>
<th width="15%" align="left"><?lsmb text('Ship via') ?></th>
</tr>
<tr>
<td><?lsmb invnumber ?>&nbsp;</td>
<td><?lsmb ordnumber ?>&nbsp;</td><?lsmb IF shippingdate ?>
<td><?lsmb shippingdate ?></td><?lsmb ELSE ?>
<td><?lsmb transdate ?></td><?lsmb END ?>
<td><?lsmb employee ?>&nbsp;</td><?lsmb IF warehouse ?>
<td><?lsmb warehouse ?>&nbsp;</td><?lsmb END ?>
<td><?lsmb shippingpoint ?>&nbsp;</td>
<td><?lsmb shipvia ?>&nbsp;</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table width="100%">
<tr class="c3">
<th align="left"><span class="c2"><?lsmb text('Item') ?></span></th>
<th align="left"><span class="c2"><?lsmb text('Number') ?></span></th>
<th align="left"><span class="c2"><?lsmb text('Description') ?></span></th>
<th align="left"><span class="c2"><?lsmb text('Serial #') ?></span></th>
<th>&nbsp;</th>
<th><span class="c2"><?lsmb text('Qty') ?></span></th>
<th><span class="c2"><?lsmb text('Ship') ?></span></th>
<th>&nbsp;</th>
</tr><?lsmb FOREACH number ?><?lsmb loop_count = loop.index ?>
<tr valign="top">
<td><?lsmb runningnumber.${loop_count} ?></td>
<td><?lsmb number.${loop_count} ?></td>
<td><?lsmb item_description.${loop_count}.replace("\n","<br />") ?></td>
<td><?lsmb serialnumber.${loop_count} ?></td>
<td><?lsmb deliverydate.${loop_count} ?></td>
<td align="right"><?lsmb qty.${loop_count} ?></td>
<td align="right"><?lsmb ship.${loop_count} ?></td>
<td><?lsmb unit.${loop_count} ?></td>
</tr><?lsmb END ?>
</table>
</td>
</tr>
<tr>
<td>
<hr noshade>
</td>
</tr><?lsmb IF notes ?>
<tr>
<td>
<table width="100%">
<tr valign="top">
<td>Notes</td>
<td>
<?lsmb FOREACH P IN notes.split('\n\n') ?>
<p><?lsmb P ?></p><?lsmb END ?>
</td>
</tr>
</table>
</td>
</tr><?lsmb END ?>
<tr>
<td>
<table width="100%">
<tr valign="top">
<td width="70%"><span class=
"c4"><?lsmb text('Items returned are subject to a 10% restocking charge. A return authorization must be obtained from [_1] before goods are returned. Returns must be shipped prepaid and properly insured. [_1] will not be responsible for damages during transit.', company) ?></span></td>
<td width="30%">
X
<hr noshade>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>
+166
View File
@@ -0,0 +1,166 @@
<?lsmb# This is a comment block; it's ignored by the template engine.
Version: 1.1
Date: 2022-07-22
File: packing_list.tex
Set: demo
Template version numbers are explicitly not aligned across templates or
releases. No explicit versioning was applied before 2021-01-04.
Version Changes
1.1 Merged xelatex targetting templates with those targetting pdflatex
-?>
<?lsmb FILTER latex { format="$FORMAT($PROCESSOR)" };
# Uncomment the next line to overrule the value from System > Defaults;
# The value should be without the 'paper' suffix. E.g. "a4" for "a4paper"
# SETTINGS.papersize = "<your-format>";
INCLUDE "preamble.tex"; -?>
\begin{document}
\pagestyle{myheadings}
\thispagestyle{empty}
\ifpdftex
%% (pdf)latex
\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
\fi
\newsavebox{\ftr}
\sbox{\ftr}{
\parbox{\textwidth}{
\tiny
\rule[1.5em]{\textwidth}{0.5pt}
<?lsmb text('Items returned are subject to a 10% restocking charge.') ?>
<?lsmb text('A return authorization must be obtained from [_1] before goods are returned. Returns must be shipped prepaid and properly insured. [_1] will not be responsible for damages during transit.', company) ?>
}
}
<?lsmb INCLUDE letterhead ?>
% Breaking old pagebreak directive
%<?xlsmb pagebreak 65 27 37 ?>
%\end{tabularx}
%
%\newpage
%
%\markboth{<?xlsmb company ?>\hfill <?xlsmb ordnumber ?>}{<?xlsmb company ?>\hfill <?xlsmb ordnumber ?>}
%
%\begin{tabularx}{\textwidth}{@{}rlXllrrl@{}}
% \textbf{Item} & \textbf{Number} & \textbf{Description} & \textbf{Serial Number} & & \textbf{Qty} & \textbf{Ship} & \\
%<?xlsmb end pagebreak ?>
\vspace*{0.5cm}
\parbox[t]{.5\textwidth}{
\textbf{Ship To}} \hfill
\vspace{0.3cm}
\parbox[t]{.5\textwidth}{
<?lsmb shiptoname ?>
<?lsmb shiptoaddress1 ?>
<?lsmb shiptoaddress2 ?>
<?lsmb shiptocity ?>
<?lsmb IF shiptostate ?>
\hspace{-0.1cm}, <?lsmb shiptostate ?>
<?lsmb END ?>
<?lsmb shiptozipcode ?>
<?lsmb shiptocountry ?>
}
\parbox[t]{.5\textwidth}{
<?lsmb shiptocontact ?>
<?lsmb IF shiptophone ?>
Tel: <?lsmb shiptophone ?>
<?lsmb END ?>
<?lsmb IF shiptofax ?>
Fax: <?lsmb shiptofax ?>
<?lsmb END ?>
<?lsmb shiptoemail ?>
}
\hfill
\vspace{1cm}
\textbf{\MakeUppercase{<?lsmb text('Packing List') ?>}}
\hfill
\vspace{1cm}
\begin{tabularx}{\textwidth}{*{7}{|X}|} \hline
\textbf{<?lsmb text('Invoice #') ?>} & \textbf{<?lsmb text('Order #') ?>}
& \textbf{<?lsmb text('Date') ?>} & \textbf{<?lsmb text('Contact') ?>}
<?lsmb IF warehouse ?>
& \textbf{<?lsmb text('Warehouse') ?>}
<?lsmb END ?>
& \textbf{<?lsmb text('Shipping Point') ?>}
& \textbf{<?lsmb text('Ship via') ?>} \\ [0.5em]
\hline
<?lsmb invnumber ?> & <?lsmb ordnumber ?>
<?lsmb IF shippingdate ?>
& <?lsmb shippingdate ?>
<?lsmb ELSE ?>
& <?lsmb transdate ?>
<?lsmb END ?>
& <?lsmb employee ?>
<?lsmb IF warehouse ?>
& <?lsmb warehouse ?>
<?lsmb END ?>
& <?lsmb shippingpoint ?> & <?lsmb shipvia ?> \\
\hline
\end{tabularx}
\vspace{1cm}
\begin{longtable}{@{\extracolsep{\fill}}rllllrrl@{}}
\textbf{<?lsmb text('Item') ?>} & \textbf{<?lsmb text('Number') ?>}
& \textbf{<?lsmb text('Description') ?>}
& \textbf{<?lsmb text('Serial Number') ?>} &
& \textbf{<?lsmb text('Qty') ?>} & \textbf{<?lsmb text('Ship') ?>} & \\
<?lsmb FOREACH number ?>
<?lsmb lc = loop.index ?>
<?lsmb runningnumber.${lc} ?> &
<?lsmb number.${lc} ?> &
<?lsmb item_description.${lc} ?> &
<?lsmb serialnumber.${lc} ?> &
<?lsmb deliverydate.${lc} ?> &
<?lsmb qty.${lc} ?> &
<?lsmb ship.${lc} ?> &
<?lsmb unit.${lc} ?> \\
<?lsmb END ?>
\end{longtable}
\parbox{\textwidth}{
\rule{\textwidth}{2pt}
\vspace{12pt}
<?lsmb FOREACH P IN notes.split('\n\n+') ?>
<?lsmb P ?>\medskip
<?lsmb END ?>
}
\vfill
\rule{\textwidth}{0.5pt}
\usebox{\ftr}
\end{document}
<?lsmb END -?>
+117
View File
@@ -0,0 +1,117 @@
<?lsmb# This is a comment block; it's ignored by the template engine.
Version: 1.0
Date: 2021-01-04
File: pick_list.html
Set: demo
Template version numbers are explicitly not aligned across templates or
releases. No explicit versioning was applied before 2021-01-04.
-?>
<!DOCTYPE html>
<html>
<head>
<meta name="generator" content="HTML Tidy for HTML5 for Linux version 5.6.0">
<title><?lsmb text('Pick List') ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
body {
background-color: white;
}
tr.c3 {background-color: black}
span.c2 {color: white}
h4.c1 {text-transform:uppercase}
</style>
</head>
<body>
<table width="100%">
<?lsmb INCLUDE letterhead ?>
<tr>
<th colspan="3">
<h4 class="c1"><?lsmb text('Pick List') ?></h4>
</th>
</tr>
<tr>
<td>
<table width="100%" cellspacing="0" cellpadding="0">
<tr class="c3">
<th width="50%" align="left"><span class="c2"><?lsmb text('Ship To:')
?></span></th>
<th width="50%">&nbsp;</th>
</tr>
<tr valign="top">
<td><?lsmb shiptoname ?><br>
<?lsmb shiptoaddress1 ?> <?lsmb IF shiptoaddress2 ?><br>
<?lsmb shiptoaddress2 ?> <?lsmb END ?><br>
<?lsmb shiptocity ?> <?lsmb IF shiptostate ?> , <?lsmb shiptostate ?> <?lsmb END ?>
<?lsmb shiptozipcode ?> <?lsmb IF shiptocountry ?><br>
<?lsmb shiptocountry ?> <?lsmb END ?></td>
<td><?lsmb IF shiptocontact ?><br>
<?lsmb text('Attn: [_1]', shiptocontact) ?> <?lsmb END ?> <?lsmb IF shiptophone ?><br>
<?lsmb text('Tel: [_1]', shiptophone) ?> <?lsmb END ?> <?lsmb IF shiptofax ?><br>
<?lsmb text('Fax: [_1]', shiptofax) ?> <?lsmb END ?> <?lsmb shiptoemail ?></td>
</tr>
</table>
</td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td>
<table width="100%" border="1">
<tr>
<th width="15%" align="left"><?lsmb text('Invoice #') ?></th>
<th width="15%" align="left"><?lsmb text('Order #') ?></th>
<th width="10%" align="left"><?lsmb text('Date') ?></th>
<th width="15%" align="left" nowrap><?lsmb text('Contact') ?></th>
<th width="15%" align="left"><?lsmb text('Warehouse') ?></th>
<th width="10%" align="left"><?lsmb text('Shipping Point') ?></th>
<th width="10%" align="left"><?lsmb text('Ship via') ?></th>
</tr>
<tr>
<td><?lsmb invnumber ?>&nbsp;</td>
<td><?lsmb ordnumber ?>&nbsp;</td><?lsmb IF shippingdate ?>
<td><?lsmb shippingdate ?></td><?lsmb ELSE ?>
<td><?lsmb transdate ?></td><?lsmb END ?>
<td><?lsmb employee ?>&nbsp;</td>
<td><?lsmb warehouse ?>&nbsp;</td>
<td><?lsmb shippingpoint ?>&nbsp;</td>
<td><?lsmb shipvia ?>&nbsp;</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table width="100%">
<tr class="c3">
<th align="left"><span class="c2"><?lsmb text('Item') ?></span></th>
<th align="left"><span class="c2"><?lsmb text('Number') ?></span></th>
<th align="left"><span class="c2"><?lsmb text('Description') ?></span></th>
<th><span class="c2"><?lsmb text('Qty') ?></span></th>
<th><span class="c2"><?lsmb text('Ship') ?></span></th>
<th>&nbsp;</th>
<th><span class="c2"><?lsmb text('Bin') ?></span></th>
</tr><?lsmb FOREACH number ?><?lsmb loop_count = loop.index ?>
<tr valign="top">
<td><?lsmb runningnumber.${loop_count} ?></td>
<td><?lsmb number.${loop_count} ?></td>
<td><?lsmb item_description.${loop_count}.replace("\n","<br />") ?></td>
<td align="right"><?lsmb qty.${loop_count} ?></td>
<td align="right">[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]</td>
<td><?lsmb unit.${loop_count} ?></td>
<td align="right"><?lsmb bin.${loop_count} ?></td>
</tr><?lsmb END ?>
</table>
</td>
</tr>
<tr>
<td>
<hr noshade>
</td>
</tr>
</table>
</body>
</html>
+134
View File
@@ -0,0 +1,134 @@
<?lsmb# This is a comment block; it's ignored by the template engine.
Version: 1.1
Date: 2022-07-22
File: pick_list.tex
Set: demo
Template version numbers are explicitly not aligned across templates or
releases. No explicit versioning was applied before 2021-01-04.
Version Changes
1.1 Merged xelatex targetting templates with those targetting pdflatex
-?>
<?lsmb FILTER latex { format="$FORMAT($PROCESSOR)" };
# Uncomment the next line to overrule the value from System > Defaults;
# The value should be without the 'paper' suffix. E.g. "a4" for "a4paper"
# SETTINGS.papersize = "<your-format>";
INCLUDE "preamble.tex"; -?>
\begin{document}
\pagestyle{myheadings}
\thispagestyle{empty}
\ifpdftex
%% (pdf)latex
\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
\fi
<?lsmb INCLUDE letterhead ?>
% Breaking old pagebreak directive
%<?xlsmb pagebreak 65 27 37 ?>
%\end{tabularx}
%
%\newpage
%
%\markboth{<?xlsmb company ?>\hfill <?xlsmb ordnumber ?>}{<?xlsmb company ?>\hfill <?xlsmb ordnumber ?>}
%
%\begin{tabularx}{\textwidth}{@{}rlXrcll@{}}
% \textbf{Item} & \textbf{Number} & \textbf{Description} &
% \textbf{Qty} & \textbf{Ship} & & \textbf{Bin} \\
%
%<?xlsmb end pagebreak ?>
\vspace*{0.5cm}
\parbox[t]{.5\textwidth}{
\textbf{Ship To}
} \hfill
\vspace{0.3cm}
\parbox[t]{.5\textwidth}{
<?lsmb shiptoname ?>
<?lsmb shiptoaddress1 ?>
<?lsmb shiptoaddress2 ?>
<?lsmb shiptocity ?>
<?lsmb IF shiptostate ?>
\hspace{-0.1cm}, <?lsmb shiptostate ?>
<?lsmb END ?>
<?lsmb shiptozipcode ?>
<?lsmb shiptocountry ?>
}
\parbox[t]{.5\textwidth}{
<?lsmb shiptocontact ?>
<?lsmb IF shiptophone ?>
Tel: <?lsmb shiptophone ?>
<?lsmb END ?>
<?lsmb IF shiptofax ?>
Fax: <?lsmb shiptofax ?>
<?lsmb END ?>
<?lsmb shiptoemail ?>
}
\hfill
\vspace{1cm}
\textbf{\MakeUppercase{<?lsmb text('Pick List') ?>}}
\hfill
\vspace{1cm}
\begin{tabularx}{\textwidth}{*{7}{|X}|} \hline
\textbf{<?lsmb text('Invoice #') ?>} & \textbf{<?lsmb text('Order #') ?>}
& \textbf{<?lsmb text('Date') ?>} & \textbf{<?lsmb text('Contact') ?>}
& \textbf{<?lsmb text('Warehouse') ?>}
& \textbf{<?lsmb text('Shipping Point') ?>}
& \textbf{<?lsmb text('Ship via') ?>} \\ [0.5em]
\hline
<?lsmb invnumber ?> & <?lsmb ordnumber ?>
<?lsmb IF shippingdate ?>
& <?lsmb shippingdate ?>
<?lsmb ELSE ?>
& <?lsmb transdate ?>
<?lsmb END ?>
& <?lsmb employee ?> & <?lsmb warehouse ?> & <?lsmb shippingpoint ?> & <?lsmb shipvia ?> \\
\hline
\end{tabularx}
\vspace{1cm}
\begin{longtable}{@{\extracolsep{\fill}}rllrcll@{}}
\textbf{<?lsmb text('Item') ?>} & \textbf{<?lsmb text('Number') ?>}
& \textbf{<?lsmb text('Description') ?>} &
\textbf{<?lsmb text('Qty') ?>} & \textbf{<?lsmb text('Ship') ?>} &
& \textbf{<?lsmb text('Bin') ?>} \\
<?lsmb FOREACH number ?>
<?lsmb lc = loop.index ?>
<?lsmb runningnumber.${lc} ?> &
<?lsmb number.${lc} ?> &
<?lsmb item_description.${lc} ?> &
<?lsmb qty.${lc} ?> & [\hspace{1cm}] &
<?lsmb unit.${lc} ?> & <?lsmb bin.${lc} ?> \\
<?lsmb END ?>
\end{longtable}
\parbox{\textwidth}{
\rule{\textwidth}{2pt}
}
\end{document}
<?lsmb END -?>
+104
View File
@@ -0,0 +1,104 @@
<?lsmb# This is a comment block; it's ignored by the template engine.
Version: 1.0
Date: 2021-01-04
File: printPayment.html
Set: demo
Template version numbers are explicitly not aligned across templates or
releases. No explicit versioning was applied before 2021-01-04.
-?>
<!DOCTYPE html>
<html>
<head>
<meta name="generator" content="HTML Tidy for HTML5 for Linux version 5.6.0">
<title></title>
<style type="text/css">
td.c7 {text-align:left}
span.c6 {text-transform:uppercase}
th.c5 {text-align:right}
td.c4 {text-align:center}
span.c3 {color: black}
h1.c2 {text-transform:uppercase}
th.c1 {text-align:left}
</style>
</head>
<body>
<?lsmb column_count = 0 -?>
<table width="100%" id="header_table">
<tr id="header_bar">
<th id="top_bar_header" colspan="2" width="30%" class="c1">
<h5>LOGO AREA<br>
<?lsmb text('Address: [_1]', company.address) ?><br>
<?lsmb text('Tel: [_1]', company.telephone) ?></h5>
</th>
<th class="c1">
<h1 class="c2"><?lsmb text('Payment Order Number [_1]', header.payment_reference) ?></h1>
</th>
</tr>
</table>
<table class="datarow" width="100%" cellspacing="0" cellpadding="0" border="1">
<tr>
<th class="titledatarow" align="center" width="7%"><span class=
"c3"><?lsmb text('Invoice') ?>&nbsp;<?lsmb text('Number')?></span></th>
<th class="titledatarow" align="center" width="11%"><span class=
"c3"><?lsmb text('Account') ?></span></th>
<th class="titledatarow" align="center" width="68%"><span class=
"c3"><?lsmb text('Description') ?></span></th>
<th class="titledatarow" align="center" width="14%"><span class=
"c3"><?lsmb text('Source') ?></span></th>
<th class="titledatarow" align="center" width="14%"><span class=
"c3"><?lsmb text('Amount') ?></span></th>
</tr><?lsmb FOREACH row IN rows -?>
<tr valign="top">
<td class="c4"><?lsmb row.invoice_number ?></td>
<td class="c4"><?lsmb row.chart_description?>--<?lsmb row.chart_accno?></td>
<td class="c4"><?lsmb row.memo -?></td>
<td class="c4"><?lsmb row.source ?></td>
<td class="c4"><?lsmb row.amount ?></td>
</tr><?lsmb END -?>
<tr valign="top">
<th class="c5" colspan="4">&nbsp; <?lsmb text('TOTAL') ?></th>
<td class="c4"><?lsmb header.amount ?></td>
</tr>
</table>
<table width="100%">
<tr>
<th class="titledatarow c1"><span class="c3"><?lsmb text('Currency') ?>:
<?lsmb header.currency ?></span></th>
<th class="titledatarow c1"><span class="c3"><?lsmb text('Date') ?>:
<?lsmb header.payment_date ?></span></th>
<th rowspan="5" width="30%" class="c1"><span class="c6"><?lsmb text('Signature') ?><br>
<br>
<br>
<br>
<br>
<br>
<br>
___________________________________________<br>
<?lsmb text('Identification') ?></span></th>
</tr>
<tr>
<td width="70%" class="c7" colspan="3"><span><b><?lsmb text('Pay in behalf of') ?>:</b>
<?lsmb header.legal_name ?></span></td>
</tr>
<tr>
<td class="c7" colspan="3"><span><b><?lsmb text('The amount of') ?>:</b>
<?lsmb header.amount2text -?></span></td>
</tr>
<tr>
<td class="c7" colspan="3"><span><b><?lsmb text('This document has been approved by')
-?>:</b><?lsmb header.employee_first_name -?>&nbsp;<?lsmb header.employee_last_name -?></span></td>
</tr>
<tr>
<td colspan="3" class="c7"><span><b><?lsmb text('Approved signature')?>:</b>
____________________________</span></td>
</tr>
<tr>
<td class="c7" colspan="3"><span><b><?lsmb text('Notes') ?>:</b>
<?lsmb header.notes ?></span></td>
</tr>
</table>
</body>
</html>
+196
View File
@@ -0,0 +1,196 @@
<?lsmb# This is a comment block; it's ignored by the template engine.
Version: 1.0
Date: 2023-04-03
File: print_cash_transfer.html
Set: demo
Template version numbers are explicitly not aligned across templates or
releases. No explicit versioning was applied before 2021-01-04.
-?>
<!DOCTYPE html>
<html>
<head>
<meta
name="generator"
content="HTML Tidy for HTML5 for Linux version 5.6.0"
/>
<title><?lsmb form.print_title ?></title>
<style type="text/css">
body {
margin: 10px 20px;
}
span {
display: block;
}
label {
display: block;
font-weight: bold;
margin-right: 15px;
}
label::after {
content: ':';
float: right;
}
table {
width: 100%;
}
table, td, th {
border: 0.5px solid darkgray;
}
th {
background-color: lightgray;
}
h4 {
margin: 10px 0;
}
.header-area {
display: grid;
grid-template-columns: auto 1fr auto;
}
.logo {
align-self: end;
}
.logo > img {
width: 160px;
height: 120px;
}
.company-info {
align-self: end;
padding-left: 20px;
border-bottom: 2px solid black;
}
.company-name {
margin: 10px 0 0 0;
}
.title {
border-bottom: 2px solid black;
align-self: end;
}
.title > h3 {
margin: 0;
text-transform: uppercase;
}
.voucher-header {
display: grid;
grid-template-columns: 1fr 1fr;
margin-top: 10px;
}
.flex-label {
display: flex;
}
.flex-label > div {
display: flex;
flex-direction: column;
}
.flex-label > div:first-child {
width: fit-content;
}
.flex-label > div > * {
padding: 3px 0;
}
.voucher-info {
justify-self: end;
margin-right: 40px;
}
.left-border {
border: 0;
border-left: 0.5px solid darkgray;
width: 5em;
padding: 10px 0;
}
.right-border {
border: 0;
border-right: 0.5px solid darkgray;
padding-right: 10px;
padding-top: 15px;
}
.signature-area {
margin-top: 10px;
}
.signature-area th,
.signature-area td {
padding-left: 20px;
}
footer {
width: 100%;
text-align: center;
}
</style>
</head>
<body>
<?lsmb column_count = 0 -?>
<div class="header-area">
<div class="logo">
<!-- If you want to use a logo uncomment following line, remove # from dbfile_base64 and set images file name -->
<!-- <img class="logo" src="data:image/png;base64,<?lsmb #dbfile_base64('logo.jpg') ?>"/> -->
</div>
<div class="company-info">
<h2 class="company-name"><?lsmb form.company ?></h2>
<span class="company-address"><?lsmb form.address ?></span>
<span class="company-phone">Ph: <?lsmb form.tel ?></span>
</div>
<div class="title">
<h3><?lsmb form.print_title ?></h3>
</div>
</div>
<div class="voucher-header">
<div class="eca-info flex-label">
<div>
<label>Customer/Supplier Name</label>
<label>Customer/Supplier Code</label>
<label>Description</label>
<label>Exchange Rate</label>
<label>Amount</label>
<label>In Words</label>
<label>Additional Remarks</label>
</div>
<div>
<span>_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ </span>
<span>_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ </span>
<span><?lsmb form.description ?></span>
<span><?lsmb form.exchange_rate ?></span>
<span><?lsmb form.amount ?> <?lsmb form.curr ?></span>
<span style="text-transform: uppercase;"><?lsmb form.text_amount ?> <?lsmb form.curr ?> ONLY</span>
<span><?lsmb form.notes ?></span>
</div>
</div>
<div class="voucher-info flex-label">
<div>
<label>Voucher No</label>
<label>Date</label>
</div>
<div>
<span><?lsmb form.reference ?></span>
<span><?lsmb form.transdate ?></span>
</div>
</div>
</div>
<div class="signature-area">
<table cellspacing="0">
<tr>
<th colspan="2" align="left">Approved By</th>
<th colspan="2" align="left">Received By</th>
<th colspan="2" align="left">Paid By</th>
</tr>
<tr>
<td class="left-border">Signature</td>
<td class="right-border"><hr/></td>
<td class="left-border">Signature</td>
<td class="right-border"><hr/></td>
<td class="left-border">Signature</td>
<td class="right-border"><hr/></td>
</tr>
<tr>
<td class="left-border">Name</td>
<td class="right-border"><hr/></td>
<td class="left-border">Name</td>
<td class="right-border"><hr/></td>
<td class="left-border">Name</td>
<td class="right-border"><hr/></td>
</tr>
</table>
</div>
</body>
</html>
+226
View File
@@ -0,0 +1,226 @@
<?lsmb# This is a comment block; it's ignored by the template engine.
Version: 1.0
Date: 2023-04-03
File: print_journal_entry.html
Set: demo
Template version numbers are explicitly not aligned across templates or
releases. No explicit versioning was applied before 2021-01-04.
-?>
<!DOCTYPE html>
<html>
<head>
<meta
name="generator"
content="HTML Tidy for HTML5 for Linux version 5.6.0"
/>
<title><?lsmb form.print_title ?></title>
<style type="text/css">
body {
margin: 10px 20px;
}
span {
display: block;
}
label {
display: block;
font-weight: bold;
margin-right: 15px;
}
label::after {
content: ':';
float: right;
}
table {
width: 100%;
}
table, td, th {
border: 0.5px solid darkgray;
}
th {
background-color: lightgray;
}
h4 {
margin: 10px 0;
}
.header-area {
display: grid;
grid-template-columns: auto 1fr auto;
}
.logo {
align-self: end;
}
.logo > img {
width: 160px;
height: 120px;
}
.company-info {
align-self: end;
padding-left: 20px;
border-bottom: 2px solid black;
}
.company-name {
margin: 10px 0 0 0;
}
.title {
border-bottom: 2px solid black;
align-self: end;
}
.title > h3 {
margin: 0;
text-transform: uppercase;
}
.voucher-header {
display: grid;
grid-template-columns: 1fr 1fr;
margin-top: 10px;
}
.flex-label {
display: flex;
}
.flex-label > div {
display: flex;
flex-direction: column;
}
.flex-label > div:first-child {
width: fit-content;
}
.flex-label > div > * {
padding: 3px 0;
}
.voucher-info {
justify-self: end;
margin-right: 40px;
}
.left-border {
border: 0;
border-left: 0.5px solid darkgray;
width: 5em;
padding: 10px 0;
}
.right-border {
border: 0;
border-right: 0.5px solid darkgray;
padding-right: 10px;
padding-top: 15px;
}
.signature-area {
margin-top: 10px;
}
.signature-area th,
.signature-area td {
padding-left: 20px;
}
footer {
width: 100%;
text-align: center;
}
</style>
</head>
<body>
<?lsmb column_count = 0 -?>
<div class="header-area">
<div class="logo">
<!-- If you want to use a logo uncomment following line, remove # from dbfile_base64 and set images file name -->
<!-- <img class="logo" src="data:image/png;base64,<?lsmb #dbfile_base64('logo.jpg') ?>"/> -->
</div>
<div class="company-info">
<h2 class="company-name"><?lsmb form.company ?></h2>
<span class="company-address"><?lsmb form.address ?></span>
<span class="company-phone">Ph: <?lsmb form.tel ?></span>
</div>
<div class="title">
<h3><?lsmb form.print_title ?></h3>
</div>
</div>
<div class="voucher-header">
<div class="eca-info flex-label">
<div>
<label>Reference</label>
<label>Description</label>
<label>Notes</label>
</div>
<div>
<span><?lsmb form.reference ?></span>
<span><?lsmb form.description ?></span>
<span><?lsmb form.notes ?></span>
</div>
</div>
<div class="voucher-info flex-label">
<div>
<label>Date</label>
</div>
<div>
<span><?lsmb form.transdate ?></span>
</div>
</div>
</div>
<div class="invoice-data">
<table cellspacing="0">
<tr align="center">
<th>Account</th>
<th>Curr</th>
<th>Debit</th>
<th>Credit</th>
<th>Source</th>
<th>Memo</th>
<?lsmb FOREACH cls IN form.bu_class ?>
<th class="listheading"><?lsmb cls.label ?></th>
<?lsmb END ?>
</tr>
<?lsmb FOREACH displayrow IN displayrows;
IF displayrow.accno; ?>
<tr>
<td><?lsmb displayrow.accno ?></td>
<td><?lsmb displayrow.curr ?></td>
<td align="right"><?lsmb displayrow.debit ?></td>
<td align="right"><?lsmb displayrow.credit ?></td>
<td><?lsmb displayrow.source ?></td>
<td><?lsmb displayrow.memo ?></td>
<?lsmb FOREACH cls IN form.bu_class ?>
<td>
<?lsmb clsid = cls.id;
bucid = "b_unit_$clsid";
displayrow.${bucid}; ?>
</td>
<?lsmb END ?>
</tr>
<?lsmb END;
END -?>
<tr>
<td colspan="2">&nbsp;</td>
<td align="right"><?lsmb form.totaldebit ?></td>
<td align="right"><?lsmb form.totalcredit ?></td>
<td colspan="15">&nbsp;</td>
</tr>
</table>
</div>
<div class="signature-area">
<table cellspacing="0">
<tr>
<th colspan="2" align="left">Approved By</th>
<th colspan="2" align="left">Received By</th>
<th colspan="2" align="left">Paid By</th>
</tr>
<tr>
<td class="left-border">Signature</td>
<td class="right-border"><hr/></td>
<td class="left-border">Signature</td>
<td class="right-border"><hr/></td>
<td class="left-border">Signature</td>
<td class="right-border"><hr/></td>
</tr>
<tr>
<td class="left-border">Name</td>
<td class="right-border"><hr/></td>
<td class="left-border">Name</td>
<td class="right-border"><hr/></td>
<td class="left-border">Name</td>
<td class="right-border"><hr/></td>
</tr>
</table>
</div>
</body>
</html>
+186
View File
@@ -0,0 +1,186 @@
<?lsmb# This is a comment block; it's ignored by the template engine.
Version: 1.0
Date: 2021-01-04
File: product_receipt.html
Set: demo
Template version numbers are explicitly not aligned across templates or
releases. No explicit versioning was applied before 2021-01-04.
-?>
<!DOCTYPE html>
<html>
<head>
<meta name="generator" content="HTML Tidy for HTML5 for Linux version 5.6.0">
<title><?lsmb text('Product Receipt') ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
body {
background-color: white;
}
tr.c3 {background-color: black}
span.c2 {color: white}
h4.c1 {text-transform:uppercase}
</style>
</head>
<body>
<table width="100%">
<?lsmb INCLUDE letterhead ?>
<tr>
<th colspan="3">
<h4 class="c1"><?lsmb text('Product Receipt') ?></h4>
</th>
</tr>
<tr>
<td>
<table width="100%" cellspacing="0" cellpadding="0">
<tr class="c3">
<th align="left" width="50%"><span class="c2"><?lsmb text('To:') ?></span></th>
<th align="left" width="50%"><span class="c2"><?lsmb text('Ship To:') ?></span></th>
</tr>
<tr valign="top">
<td><?lsmb name ?><br>
<?lsmb address1 ?> <?lsmb IF address2 ?><br>
<?lsmb address2 ?> <?lsmb END ?><br>
<?lsmb city ?> <?lsmb IF state ?> , <?lsmb state ?> <?lsmb END ?> <?lsmb zipcode ?>
<?lsmb IF country ?><br>
<?lsmb country ?> <?lsmb END ?><br>
<?lsmb IF contact ?><br>
<?lsmb text('Attn: [_1]', contact) ?> <?lsmb END ?> <?lsmb IF vendorphone ?><br>
<?lsmb text('Tel: [_1]', vendorphone) ?> <?lsmb END ?> <?lsmb IF vendorfax ?><br>
<?lsmb text('Fax: [_1]', vendorfax) ?> <?lsmb END ?></td>
<td><?lsmb shiptoname ?><br>
<?lsmb shiptoaddress1 ?> <?lsmb IF shiptoaddress2 ?><br>
<?lsmb shiptoaddress2 ?> <?lsmb END ?><br>
<?lsmb shiptocity ?> <?lsmb IF shiptostate ?> , <?lsmb shiptostate ?> <?lsmb END ?>
<?lsmb shiptozipcode ?> <?lsmb IF shiptocountry ?><br>
<?lsmb shiptocountry ?> <?lsmb END ?><br>
<?lsmb IF shiptocontact ?><br>
<?lsmb text('Attn: [_1]', shiptocontact) ?> <?lsmb END ?> <?lsmb IF shiptophone ?><br>
<?lsmb text('Tel: [_1]', shiptophone) ?> <?lsmb END ?> <?lsmb IF shiptofax ?><br>
<?lsmb text('Fax: [_1]', shiptofax) ?> <?lsmb END ?></td>
</tr>
</table>
</td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td>
<table width="100%" border="1">
<tr>
<th width="17%" align="left"><?lsmb text('Invoice #') ?></th>
<th width="17%" align="left"><?lsmb text('Receipt Date') ?></th>
<th width="17%" align="left"><?lsmb text('Contact') ?></th>
<th width="17%" align="left"><?lsmb text('Shipping Point') ?></th>
<th width="15%" align="left"><?lsmb text('Ship Via') ?></th>
</tr>
<tr>
<td><?lsmb invnumber ?></td>
<td><?lsmb transdate ?></td>
<td><?lsmb employee ?></td>
<td><?lsmb shippingpoint ?>&nbsp;</td>
<td><?lsmb shipvia ?>&nbsp;</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table width="100%">
<tr class="c3">
<th align="right"><span class="c2"><?lsmb text('Item') ?></span></th>
<th align="left"><span class="c2"><?lsmb text('Number') ?></span></th>
<th align="left"><span class="c2"><?lsmb text('Description') ?></span></th>
<th><span class="c2"><?lsmb text('Qty') ?></span></th>
<th>&nbsp;</th>
<th><span class="c2"><?lsmb text('Price') ?></span></th>
<th><span class="c2">%</span></th>
<th><span class="c2"><?lsmb text('Amount') ?></span></th>
</tr><?lsmb FOREACH number ?><?lsmb loop_count = loop.index ?>
<tr valign="top">
<td align="right"><?lsmb runningnumber.${loop_count} ?>.</td>
<td><?lsmb number.${loop_count} ?></td>
<td><?lsmb item_description.${loop_count}.replace("\n","<br />") ?></td>
<td align="right"><?lsmb qty.${loop_count} ?></td>
<td><?lsmb unit.${loop_count} ?></td>
<td align="right"><?lsmb sellprice.${loop_count} ?></td>
<td align="right"><?lsmb discountrate.${loop_count} ?></td>
<td align="right"><?lsmb linetotal.${loop_count} ?></td>
</tr><?lsmb END ?>
<tr>
<td colspan="8">
<hr noshade>
</td>
</tr>
<tr>
<?lsmb IF taxincluded ?>
<th colspan="7" align="right"><?lsmb text('Total') ?></th>
<th colspan="1" align="right"><?lsmb ordtotal ?></th><?lsmb ELSE ?>
<th colspan="7" align="right"><?lsmb text('Subtotal') ?></th>
<td colspan="1" align="right"><?lsmb subtotal ?></td><?lsmb END ?>
</tr><?lsmb FOREACH tax ?><?lsmb loop_count = loop.index ?>
<tr>
<th colspan="7" align="right">
<?lsmb taxdescription.${loop_count}.replace("\n","<br />") ?>on
<?lsmb taxbase.${loop_count} ?> @ <?lsmb taxrate.${loop_count} ?> %</th>
<td colspan="1" align="right"><?lsmb tax.${loop_count} ?></td>
</tr><?lsmb END ?>
<tr>
<td colspan="4">&nbsp;</td>
<td colspan="4">
<hr noshade>
</td>
</tr><?lsmb IF NOT taxincluded ?>
<tr>
<th colspan="7" align="right"><?lsmb text('Total') ?></th>
<td colspan="1" align="right"><?lsmb ordtotal ?></td><?lsmb END ?><?lsmb IF terms ?>
</tr>
<tr>
<td colspan="4"><?lsmb text('Terms Net [_1] days', terms) ?></td>
<th colspan="3" align="right"><?lsmb text('Total') ?></th>
<th colspan="1" align="right"><?lsmb ordtotal ?></th>
</tr><?lsmb END ?><?lsmb IF taxincluded ?>
<tr>
<td colspan="2"><?lsmb text('Tax included') ?></td>
</tr><?lsmb END ?>
<tr>
<td>&nbsp;</td>
</tr><?lsmb IF ordtotal ?>
<tr>
<td colspan="8" align="right"><?lsmb text('All prices in [_1] funds', currency) ?></td>
</tr><?lsmb END ?>
</table>
</td>
</tr><?lsmb IF notes ?>
<tr>
<td>
<table width="100%">
<tr valign="top">
<td><?lsmb text('Notes') ?></td>
<td>
<?lsmb FOREACH P IN notes.split('\n\n') ?>
<p><?lsmb P ?></p><?lsmb END ?>
</td>
</tr>
</table>
</td>
</tr><?lsmb END ?>
<tr>
<td>
<table width="100%">
<tr valign="top">
<td width="70%">&nbsp;</td>
<td width="30%">
X
<hr noshade>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>
+180
View File
@@ -0,0 +1,180 @@
<?lsmb# This is a comment block; it's ignored by the template engine.
Version: 1.1
Date: 2022-07-22
File: product_receipt.tex
Set: demo
Template version numbers are explicitly not aligned across templates or
releases. No explicit versioning was applied before 2021-01-04.
Version Changes
1.1 Merged xelatex targetting templates with those targetting pdflatex
-?>
<?lsmb FILTER latex { format="$FORMAT($PROCESSOR)" };
# Uncomment the next line to overrule the value from System > Defaults;
# The value should be without the 'paper' suffix. E.g. "a4" for "a4paper"
# SETTINGS.papersize = "<your-format>";
INCLUDE "preamble.tex"; -?>
\setlength\LTleft{0pt}
\setlength\LTright{0pt}
\begin{document}
\pagestyle{myheadings}
\thispagestyle{empty}
\ifpdftex
%% (pdf)latex
\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
\fi
<?lsmb INCLUDE letterhead ?>
\markboth{<?lsmb company ?>\hfill <?lsmb invnumber ?>}{<?lsmb company ?>\hfill <?lsmb invnumber ?>}
\vspace*{0.5cm}
\parbox[t]{.5\textwidth}{
\textbf{To}
\vspace{0.3cm}
<?lsmb name ?>
<?lsmb address1 ?>
<?lsmb address2 ?>
<?lsmb city ?>
<?lsmb IF state ?>
\hspace{-0.1cm}, <?lsmb state ?>
<?lsmb END ?>
<?lsmb zipcode ?>
<?lsmb country ?>
\vspace{0.3cm}
<?lsmb IF contact ?>
<?lsmb text('Attn: [_1]', contact) ?>
\vspace{0.2cm}
<?lsmb END ?>
<?lsmb IF vendorphone ?>
<?lsmb text('Tel: [_1]', vendorphone) ?>
<?lsmb END ?>
<?lsmb IF vendorfax ?>
<?lsmb text('Fax: [_1]', vendorfax) ?>
<?lsmb END ?>
<?lsmb email ?>
}
\parbox[t]{.5\textwidth}{
\textbf{Ship To}
\vspace{0.3cm}
<?lsmb shiptoname ?>
<?lsmb shiptoaddress1 ?>
<?lsmb shiptoaddress2 ?>
<?lsmb shiptocity ?>
<?lsmb IF shiptostate ?>
\hspace{-0.1cm}, <?lsmb shiptostate ?>
<?lsmb END ?>
<?lsmb shiptozipcode ?>
<?lsmb shiptocountry ?>
\vspace{0.3cm}
<?lsmb IF shiptocontact ?>
<?lsmb text('Attn: [_1]', shiptocontact) ?>
\vspace{0.2cm}
<?lsmb END ?>
<?lsmb IF shiptophone ?>
<?lsmb text('Tel: [_1]', shiptophone) ?>
<?lsmb END ?>/
<?lsmb IF shiptofax ?>
<?lsmb text('Fax: [_1]', shiptofax) ?>
<?lsmb END ?>
<?lsmb shiptoemail ?>
}
\hfill
\vspace{1cm}
\textbf{\MakeUppercase{<?lsmb text('Product Receipt') ?>}}
\hfill
\vspace{1cm}
\begin{tabularx}{\textwidth}{*{6}{|X}|} \hline
\textbf{<?lsmb text('Invoice #') ?>} & \textbf{<?lsmb text('Date') ?>}
& \textbf{<?lsmb text('Required by') ?>} & \textbf{<?lsmb text('Contact') ?>}
& \textbf{<?lsmb text('Shipping Point') ?>}
& \textbf{<?lsmb text('Ship via') ?>} \\ [0.5ex]
\hline
<?lsmb invnumber ?> & <?lsmb transdate ?> & <?lsmb reqdate ?> & <?lsmb employee ?> & <?lsmb shippingpoint ?> & <?lsmb shipvia ?> \\
\hline
\end{tabularx}
\vspace{1cm}
\begin{longtable}{@{\extracolsep{\fill}}llrlrr@{\extracolsep{0pt}}}
\textbf{<?lsmb text('Number') ?>} & \textbf{<?lsmb text('Description') ?>}
& \textbf{<?lsmb text('Qty') ?>} &
\textbf{<?lsmb text('Unit') ?>} & \textbf{<?lsmb text('Price') ?>}
& \textbf{<?lsmb text('Amount') ?>} \\
\endhead
<?lsmb FOREACH number ?>
<?lsmb lc = loop.index ?>
<?lsmb number.${lc} ?> &
<?lsmb item_description.${lc} ?> &
<?lsmb qty.${lc} ?> &
<?lsmb unit.${lc} ?> &
<?lsmb sellprice.${lc} ?> &
<?lsmb linetotal.${lc} ?> \\
<?lsmb END ?>
\end{longtable}
\parbox{\textwidth}{
\rule{\textwidth}{2pt}
\vspace{0.2cm}
\hfill
\begin{tabularx}{7cm}{Xr@{\hspace{1cm}}r@{}}
& Total & <?lsmb invtotal ?>\\
\end{tabularx}
\vspace{0.3cm}
\hfill
<?lsmb text('All prices in [_1].', currency) ?>
\vspace{12pt}
<?lsmb FOREACH P IN notes.split('\n\n+') ?>
<?lsmb P ?>\medskip
<?lsmb END ?>
}
%\renewcommand{\thefootnote}{\fnsymbol{footnote}}
%\footnotetext[1]{\tiny }
\end{document}
<?lsmb END -?>
+188
View File
@@ -0,0 +1,188 @@
<?lsmb# This is a comment block; it's ignored by the template engine.
Version: 1.0
Date: 2021-01-04
File: purchase_order.html
Set: demo
Template version numbers are explicitly not aligned across templates or
releases. No explicit versioning was applied before 2021-01-04.
-?>
<!DOCTYPE html>
<html>
<head>
<meta name="generator" content="HTML Tidy for HTML5 for Linux version 5.6.0">
<title><?lsmb text('Purchase Order') ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
body {
background-color: white;
}
tr.c3 {background-color: black}
span.c2 {color: white}
h4.c1 {text-transform:uppercase}
</style>
</head>
<body>
<table width="100%">
<?lsmb INCLUDE letterhead ?>
<tr>
<th colspan="3">
<h4 class="c1"><?lsmb text('Purchase Order') ?></h4>
</th>
</tr>
<tr>
<td>
<table width="100%" cellspacing="0" cellpadding="0">
<tr class="c3">
<th align="left" width="50%"><span class="c2"><?lsmb text('To:') ?></span></th>
<th align="left" width="50%"><span class="c2"><?lsmb text('Ship To:') ?></span></th>
</tr>
<tr valign="top">
<td><?lsmb name ?><br>
<?lsmb address1 ?> <?lsmb IF address2 ?><br>
<?lsmb address2 ?> <?lsmb END ?><br>
<?lsmb city ?> <?lsmb IF state ?> , <?lsmb state ?> <?lsmb END ?> <?lsmb zipcode ?>
<?lsmb IF country ?><br>
<?lsmb country ?> <?lsmb END ?><br>
<?lsmb IF contact ?><br>
<?lsmb text('Attn: [_1]', contact) ?> <?lsmb END ?> <?lsmb IF vendorphone ?><br>
<?lsmb text('Tel: [_1]', vendorphone) ?> <?lsmb END ?> <?lsmb IF vendorfax ?><br>
<?lsmb text('Fax: [_1]', vendorfax) ?> <?lsmb END ?></td>
<td><?lsmb shiptoname ?><br>
<?lsmb shiptoaddress1 ?> <?lsmb IF shiptoaddress2 ?><br>
<?lsmb shiptoaddress2 ?> <?lsmb END ?><br>
<?lsmb shiptocity ?> <?lsmb IF shiptostate ?> , <?lsmb shiptostate ?> <?lsmb END ?>
<?lsmb shiptozipcode ?> <?lsmb IF shiptocountry ?><br>
<?lsmb shiptocountry ?> <?lsmb END ?><br>
<?lsmb IF shiptocontact ?><br>
<?lsmb text('Attn: [_1]', shiptocontact) ?> <?lsmb END ?> <?lsmb IF shiptophone ?><br>
<?lsmb text('Tel: [_1]', shiptophone) ?> <?lsmb END ?> <?lsmb IF shiptofax ?><br>
<?lsmb text('Fax: [_1]', shiptofax) ?> <?lsmb END ?></td>
</tr>
</table>
</td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td>
<table width="100%" border="1">
<tr>
<th width="17%" align="left"><?lsmb text('Order #') ?></th>
<th width="17%" align="left"><?lsmb text('Order Date') ?></th>
<th width="17%" align="left"><?lsmb text('Required by') ?></th>
<th width="17%" align="left"><?lsmb text('Contact') ?></th>
<th width="17%" align="left"><?lsmb text('Shipping Point') ?></th>
<th width="15%" align="left"><?lsmb text('Ship Via') ?></th>
</tr>
<tr>
<td><?lsmb ordnumber ?></td>
<td><?lsmb orddate ?></td>
<td><?lsmb reqdate ?></td>
<td><?lsmb employee ?></td>
<td><?lsmb shippingpoint ?>&nbsp;</td>
<td><?lsmb shipvia ?>&nbsp;</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table width="100%">
<tr class="c3">
<th align="right"><span class="c2"><?lsmb text('Item') ?></span></th>
<th align="left"><span class="c2"><?lsmb text('Number') ?></span></th>
<th align="left"><span class="c2"><?lsmb text('Description') ?></span></th>
<th><span class="c2"><?lsmb text('Qty') ?></span></th>
<th>&nbsp;</th>
<th><span class="c2"><?lsmb text('Price') ?></span></th>
<th><span class="c2">%</span></th>
<th><span class="c2"><?lsmb text('Amount') ?></span></th>
</tr><?lsmb FOREACH number ?><?lsmb loop_count = loop.index ?>
<tr valign="top">
<td align="right"><?lsmb runningnumber.${loop_count} ?>.</td>
<td><?lsmb number.${loop_count} ?></td>
<td><?lsmb item_description.${loop_count}.replace("\n","<br />") ?></td>
<td align="right"><?lsmb qty.${loop_count} ?></td>
<td><?lsmb unit.${loop_count} ?></td>
<td align="right"><?lsmb sellprice.${loop_count} ?></td>
<td align="right"><?lsmb discountrate.${loop_count} ?></td>
<td align="right"><?lsmb linetotal.${loop_count} ?></td>
</tr><?lsmb END ?>
<tr>
<td colspan="8">
<hr noshade>
</td>
</tr>
<tr>
<?lsmb IF taxincluded ?>
<th colspan="7" align="right"><?lsmb text('Total') ?></th>
<th colspan="1" align="right"><?lsmb ordtotal ?></th><?lsmb ELSE ?>
<th colspan="7" align="right"><?lsmb text('Subtotal') ?></th>
<td colspan="1" align="right"><?lsmb subtotal ?></td><?lsmb END ?>
</tr><?lsmb FOREACH tax ?><?lsmb loop_count = loop.index ?>
<tr>
<th colspan="7" align="right">
<?lsmb taxdescription.${loop_count}.replace("\n","<br />") ?>on
<?lsmb taxbase.${loop_count} ?> @ <?lsmb taxrate.${loop_count} ?> %</th>
<td colspan="1" align="right"><?lsmb tax.${loop_count} ?></td>
</tr><?lsmb END ?>
<tr>
<td colspan="4">&nbsp;</td>
<td colspan="4">
<hr noshade>
</td>
</tr><?lsmb IF NOT taxincluded ?>
<tr>
<th colspan="7" align="right"><?lsmb text('Total') ?></th>
<td colspan="1" align="right"><?lsmb ordtotal ?></td><?lsmb END ?><?lsmb IF terms ?>
</tr>
<tr>
<td colspan="4"><?lsmb text('Terms Net [_1] days', terms) ?></td>
<th colspan="3" align="right"><?lsmb text('Total') ?></th>
<th colspan="1" align="right"><?lsmb ordtotal ?></th>
</tr><?lsmb END ?><?lsmb IF taxincluded ?>
<tr>
<td colspan="2"><?lsmb text('Tax included') ?></td>
</tr><?lsmb END ?>
<tr>
<td>&nbsp;</td>
</tr><?lsmb IF ordtotal ?>
<tr>
<td colspan="8" align="right"><?lsmb text('All prices in [_1] funds', currency) ?></td>
</tr><?lsmb END ?>
</table>
</td>
</tr><?lsmb IF notes ?>
<tr>
<td>
<table width="100%">
<tr valign="top">
<td><?lsmb text('Notes') ?></td>
<td>
<?lsmb FOREACH P IN notes.split('\n\n') ?>
<p><?lsmb P ?></p><?lsmb END ?>
</td>
</tr>
</table>
</td>
</tr><?lsmb END ?>
<tr>
<td>
<table width="100%">
<tr valign="top">
<td width="70%">&nbsp;</td>
<td width="30%">
X
<hr noshade>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>
+186
View File
@@ -0,0 +1,186 @@
<?lsmb# This is a comment block; it's ignored by the template engine.
Version: 1.1
Date: 2022-07-22
File: purchase_order.tex
Set: demo
Template version numbers are explicitly not aligned across templates or
releases. No explicit versioning was applied before 2021-01-04.
Version Changes
1.1 Merged xelatex targetting templates with those targetting pdflatex
-?>
<?lsmb FILTER latex { format="$FORMAT($PROCESSOR)" };
# Uncomment the next line to overrule the value from System > Defaults;
# The value should be without the 'paper' suffix. E.g. "a4" for "a4paper"
# SETTINGS.papersize = "<your-format>";
INCLUDE "preamble.tex"; -?>
\setlength\LTleft{0pt}
\setlength\LTright{0pt}
\begin{document}
\pagestyle{myheadings}
\thispagestyle{empty}
\ifpdftex
%% (pdf)latex
\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
\fi
<?lsmb INCLUDE letterhead ?>
\markboth{<?lsmb company ?>\hfill <?lsmb ordnumber ?>}{<?lsmb company ?>\hfill <?lsmb ordnumber ?>}
\vspace*{0.5cm}
\parbox[t]{.5\textwidth}{
\textbf{To}
\vspace{0.3cm}
<?lsmb name ?>
<?lsmb address1 ?>
<?lsmb address2 ?>
<?lsmb city ?>
<?lsmb IF state ?>
\hspace{-0.1cm}, <?lsmb state ?>
<?lsmb END ?>
<?lsmb zipcode ?>
<?lsmb country ?>
\vspace{0.3cm}
<?lsmb IF contact ?>
<?lsmb text('Attn: [_1]', contact) ?>
\vspace{0.2cm}
<?lsmb END ?>
<?lsmb IF vendorphone ?>
<?lsmb text('Tel: [_1]', vendorphone) ?>
<?lsmb END ?>
<?lsmb IF vendorfax ?>
<?lsmb text('Fax: [_1]', vendorfax) ?>
<?lsmb END ?>
<?lsmb email ?>
}
\parbox[t]{.5\textwidth}{
\textbf{Ship To}
\vspace{0.3cm}
<?lsmb shiptoname ?>
<?lsmb shiptoaddress1 ?>
<?lsmb shiptoaddress2 ?>
<?lsmb shiptocity ?>
<?lsmb IF shiptostate ?>
\hspace{-0.1cm}, <?lsmb shiptostate ?>
<?lsmb END ?>
<?lsmb shiptozipcode ?>
<?lsmb shiptocountry ?>
\vspace{0.3cm}
<?lsmb IF shiptocontact ?>
<?lsmb text('Attn: [_1]', shiptocontact) ?>
\vspace{0.2cm}
<?lsmb END ?>
<?lsmb IF shiptophone ?>
<?lsmb text('Tel: [_1]', shiptophone) ?>
<?lsmb END ?>/
<?lsmb IF shiptofax ?>
<?lsmb text('Fax: [_1]', shiptofax) ?>
<?lsmb END ?>
<?lsmb shiptoemail ?>
}
\hfill
\vspace{1cm}
\textbf{\MakeUppercase{<?lsmb text('Purchase Order') ?>}}
\hfill
\vspace{1cm}
\begin{tabularx}{\textwidth}{*{6}{|X}|} \hline
\textbf{<?lsmb text('Order #') ?>} & \textbf{<?lsmb text('Date') ?>}
& \textbf{<?lsmb text('Required by') ?>} & \textbf{<?lsmb text('Contact') ?>}
& \textbf{<?lsmb text('Shipping Point') ?>}
& \textbf{<?lsmb text('Ship via') ?>} \\ [0.5ex]
\hline
<?lsmb ordnumber ?> & <?lsmb orddate ?> & <?lsmb reqdate ?> & <?lsmb employee ?> & <?lsmb shippingpoint ?> & <?lsmb shipvia ?> \\
\hline
\end{tabularx}
\vspace{1cm}
\begin{longtable}{@{\extracolsep{\fill}}llrlrr@{\extracolsep{0pt}}}
\textbf{<?lsmb text('Number') ?>} & \textbf{<?lsmb text('Description') ?>}
& \textbf{<?lsmb text('Qty') ?>} &
\textbf{<?lsmb text('Unit') ?>} & \textbf{<?lsmb text('Price') ?>}
& \textbf{<?lsmb text('Amount') ?>} \\
\endhead
<?lsmb FOREACH number ?>
<?lsmb lc = loop.index ?>
<?lsmb number.${lc} ?> &
<?lsmb item_description.${lc} ?> &
<?lsmb qty.${lc} ?> &
<?lsmb unit.${lc} ?> &
<?lsmb sellprice.${lc} ?> &
<?lsmb linetotal.${lc} ?> \\
<?lsmb END ?>
\end{longtable}
\parbox{\textwidth}{
\rule{\textwidth}{2pt}
\vspace{0.2cm}
\hfill
\begin{tabularx}{7cm}{Xr@{\hspace{1cm}}r@{}}
& Subtotal & <?lsmb subtotal ?> \\
<?lsmb FOREACH tax ?>
<?lsmb lc = loop.index ?>
& <?lsmb taxdescription.${lc} ?> on <?lsmb taxbase.${lc} ?> & <?lsmb tax.${lc} ?>\\
<?lsmb END ?>
\hline
& Total & <?lsmb ordtotal ?>\\
\end{tabularx}
\vspace{0.3cm}
\hfill
<?lsmb text('All prices in [_1].', currency) ?>
\vspace{12pt}
<?lsmb FOREACH P IN notes.split('\n\n+') ?>
<?lsmb P ?>\medskip
<?lsmb END ?>
}
%\renewcommand{\thefootnote}{\fnsymbol{footnote}}
%\footnotetext[1]{\tiny }
\end{document}
<?lsmb END -?>
+95
View File
@@ -0,0 +1,95 @@
<?lsmb# This is a comment block; it's ignored by the template engine.
Version: 1.1
Date: 2022-07-22
File: receipt.tex
Set: demo
Template version numbers are explicitly not aligned across templates or
releases. No explicit versioning was applied before 2021-01-04.
Version Changes
1.1 Merged xelatex targetting templates with those targetting pdflatex
-?>
<?lsmb FILTER latex { format="$FORMAT($PROCESSOR)" };
# Uncomment the next line to overrule the value from System > Defaults;
# The value should be without the 'paper' suffix. E.g. "a4" for "a4paper"
# SETTINGS.papersize = "<your-format>";
INCLUDE "preamble.tex"; -?>
\begin{document}
\pagestyle{myheadings}
\thispagestyle{empty}
\ifpdftex
%% (pdf)latex
\fontfamily{cmss}\fontsize{9pt}{9pt}\selectfont
\fi
\parbox[t]{12cm}{
<?lsmb company ?>
<?lsmb address ?>}
\hfill
\parbox[t]{6cm}{\hfill <?lsmb source ?>}
\vspace*{0.6cm}
<?lsmb text_amount ?> \dotfill <?lsmb decimal ?>/100 \makebox[0.5cm]{\hfill}
\vspace{0.5cm}
\hfill <?lsmb datepaid ?> \makebox[2cm]{\hfill} <?lsmb amount ?>
% different date format for datepaid
% <?lsmb DD ?><?lsmb MM ?><?lsmb YYYY ?>
\vspace{0.5cm}
<?lsmb name ?>
<?lsmb address1 ?>
<?lsmb address2 ?>
<?lsmb city ?>
<?lsmb IF state ?>
\hspace{-0.1cm}, <?lsmb state ?>
<?lsmb END ?>
<?lsmb zipcode ?>
<?lsmb country ?>
\vspace{1.8cm}
<?lsmb memo ?>
\vspace{0.8cm}
<?lsmb company ?>
\vspace{0.5cm}
<?lsmb name ?> \hfill <?lsmb datepaid ?> \hfill <?lsmb source ?>
\vspace{0.5cm}
\begin{tabularx}{\textwidth}{lXrr@{}}
\textbf{<?lsmb text('Invoice No.') ?>} & \textbf{<?lsmb text('Invoice Date') ?>}
& \textbf{<?lsmb text('Due') ?>} & \textbf{<?lsmb text('Applied') ?>} \\
<?lsmb FOREACH invnumber ?>
<?lsmb lc = loop.index ?>
<?lsmb invnumber.${lc} ?> & <?lsmb invdate.${lc} ?> \dotfill
& <?lsmb due.${lc} ?> & <?lsmb paid.${lc} ?> \\
<?lsmb END ?>
\end{tabularx}
\vspace{1cm}
<?lsmb memo ?>
\vfill
\end{document}
<?lsmb END -?>
+144
View File
@@ -0,0 +1,144 @@
<?lsmb# This is a comment block; it's ignored by the template engine.
Version: 1.0
Date: 2021-01-04
File: request_quotation.html
Set: demo
Template version numbers are explicitly not aligned across templates or
releases. No explicit versioning was applied before 2021-01-04.
-?>
<!DOCTYPE html>
<html>
<head>
<meta name="generator" content="HTML Tidy for HTML5 for Linux version 5.6.0">
<title><?lsmb text('Request for Quotation') ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
body {
background-color: white;
}
tr.c3 {background-color: black}
span.c2 {color: white}
h4.c1 {text-transform:uppercase}
</style>
</head>
<body>
<table width="100%">
<?lsmb INCLUDE letterhead ?>
<tr>
<th colspan="3">
<h4 class="c1"><?lsmb text('Request for Quotation') ?></h4>
</th>
</tr>
<tr>
<td>
<table width="100%">
<tr class="c3">
<th align="left" width="50%"><span class="c2"><?lsmb text('To:') ?></span></th>
<th align="left" width="50%"><span class="c2"><?lsmb text('Ship To:') ?></span></th>
</tr>
<tr valign="top">
<td><?lsmb name ?><br>
<?lsmb address1 ?> <?lsmb IF address2 ?><br>
<?lsmb address2 ?> <?lsmb END ?><br>
<?lsmb city ?> <?lsmb IF state ?> , <?lsmb state ?> <?lsmb END ?> <?lsmb zipcode ?>
<?lsmb IF country ?><br>
<?lsmb country ?> <?lsmb END ?><br>
<?lsmb IF contact ?><br>
<?lsmb text('Attn: [_1]', contact) ?> <?lsmb END ?> <?lsmb IF vendorphone ?><br>
<?lsmb text('Tel: [_1]', vendorphone) ?> <?lsmb END ?> <?lsmb IF vendorfax ?><br>
<?lsmb text('Fax: [_1]', vendorfax) ?> <?lsmb END ?></td>
<td><?lsmb shiptoname ?><br>
<?lsmb shiptoaddress1 ?> <?lsmb IF shiptoaddress2 ?><br>
<?lsmb shiptoaddr2 ?> <?lsmb END ?><br>
<?lsmb shiptocity ?> <?lsmb IF shiptostate ?> , <?lsmb shiptostate ?> <?lsmb END ?>
<?lsmb shiptozipcode ?> <?lsmb IF shiptocountry ?><br>
<?lsmb shiptocountry ?> <?lsmb END ?><br>
<?lsmb IF shiptocontact ?><br>
<?lsmb text('Attn: [_1]', shiptocontact) ?> <?lsmb END ?> <?lsmb IF shiptophone ?><br>
<?lsmb text('Tel: [_1]', shiptophone) ?> <?lsmb END ?> <?lsmb IF shiptofax ?><br>
<?lsmb text('Fax: [_1]', shiptofax) ?> <?lsmb END ?></td>
</tr>
</table>
</td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td>
<table width="100%" border="1">
<tr>
<th width="17%" align="left"><?lsmb text('RFQ #') ?></th>
<th width="17%" align="left"><?lsmb text('Date') ?></th>
<th width="17%" align="left"><?lsmb text('Required by') ?></th>
<th width="17%" align="left"><?lsmb text('Contact') ?></th>
<th width="17%" align="left"><?lsmb text('Shipping Point') ?></th>
<th width="15%" align="left"><?lsmb text('Ship via') ?></th>
</tr>
<tr>
<td><?lsmb quonumber ?></td>
<td><?lsmb quodate ?></td>
<td><?lsmb reqdate ?>&nbsp;</td>
<td><?lsmb employee ?></td>
<td><?lsmb shippingpoint ?>&nbsp;</td>
<td><?lsmb shipvia ?>&nbsp;</td>
</tr>
</table>
</td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td><?lsmb text('Please provide price and delivery time for the following items:') ?></td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td>
<table width="100%">
<tr>
<th align="right"><?lsmb text('Item') ?></th>
<th align="left"><?lsmb text('Number') ?></th>
<th align="left"><span class="c2"><?lsmb text('Description') ?></span></th>
<th><?lsmb text('Qty') ?></th>
<th>&nbsp;</th>
<th><?lsmb text('Delivery') ?></th>
<th></th>
<th></th>
</tr><?lsmb FOREACH number ?><?lsmb loop_count = loop.index ?>
<tr valign="top">
<td align="right"><?lsmb runningnumber.${loop_count} ?>.</td>
<td><?lsmb number.${loop_count} ?></td>
<td><?lsmb item_description.${loop_count}.replace("\n","<br />") ?></td>
<td align="right"><?lsmb qty.${loop_count} ?></td>
<td><?lsmb unit.${loop_count} ?></td>
</tr><?lsmb END ?>
<tr>
<td colspan="8">
<hr noshade>
</td>
</tr>
</table>
</td>
</tr><?lsmb IF notes ?>
<tr>
<td>
<table width="100%">
<tr valign="top">
<td></td>
<td>
<?lsmb FOREACH P IN notes.split('\n\n') ?>
<p><?lsmb P ?></p><?lsmb END ?>
</td>
</tr>
</table>
</td>
</tr><?lsmb END ?>
</table>
</body>
</html>
+165
View File
@@ -0,0 +1,165 @@
<?lsmb# This is a comment block; it's ignored by the template engine.
Version: 1.1
Date: 2022-07-22
File: request_quotation.tex
Set: demo
Template version numbers are explicitly not aligned across templates or
releases. No explicit versioning was applied before 2021-01-04.
Version Changes
1.1 Merged xelatex targetting templates with those targetting pdflatex
-?>
<?lsmb FILTER latex { format="$FORMAT($PROCESSOR)" };
# Uncomment the next line to overrule the value from System > Defaults;
# The value should be without the 'paper' suffix. E.g. "a4" for "a4paper"
# SETTINGS.papersize = "<your-format>";
INCLUDE "preamble.tex"; -?>
\setlength\LTleft{0pt}
\setlength\LTright{0pt}
\begin{document}
\pagestyle{myheadings}
\thispagestyle{empty}
\ifpdftex
%% (pdf)latex
\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
\fi
<?lsmb INCLUDE letterhead ?>
\markboth{<?lsmb company ?>\hfill <?lsmb ordnumber ?>}{<?lsmb company ?>\hfill <?lsmb ordnumber ?>}
\vspace*{0.5cm}
\parbox[t]{.5\textwidth}{
\textbf{<?lsmb text('To') ?>}
\vspace{0.3cm}
<?lsmb name ?>
<?lsmb address1 ?>
<?lsmb address2 ?>
<?lsmb city ?>
<?lsmb IF state ?>
\hspace{-0.1cm}, <?lsmb state ?>
<?lsmb END ?>
<?lsmb zipcode ?>
<?lsmb country ?>
\vspace{0.3cm}
<?lsmb IF contact ?>
<?lsmb contact ?>
\vspace{0.2cm}
<?lsmb END ?>
<?lsmb IF vendorphone ?>
<?lsmb text('Tel: [_1]', vendorphone) ?>
<?lsmb END ?>
<?lsmb IF vendorfax ?>
<?lsmb text('Fax: [_1]', vendorfax) ?>
<?lsmb END ?>
<?lsmb email ?>
}
\parbox[t]{.5\textwidth}{
\textbf{Ship To}
\vspace{0.3cm}
<?lsmb shiptoname ?>
<?lsmb shiptoaddress1 ?>
<?lsmb shiptoaddress2 ?>
<?lsmb shiptocity ?>
<?lsmb IF shiptostate ?>
\hspace{-0.1cm}, <?lsmb shiptostate ?>
<?lsmb END ?>
<?lsmb shiptozipcode ?>
<?lsmb shiptocountry ?>
\vspace{0.3cm}
<?lsmb IF shiptocontact ?>
<?lsmb shiptocontact ?>
\vspace{0.2cm}
<?lsmb END ?>
<?lsmb IF shiptophone ?>
<?lsmb text('Tel: [_1]', shiptophone) ?>
<?lsmb END ?>
<?lsmb IF shiptofax ?>
<?lsmb text('Fax: [_1]', shiptofax) ?>
<?lsmb END ?>
<?lsmb shiptoemail ?>
}
\hfill
\vspace{1cm}
\textbf{\MakeUppercase{<?lsmb text('Request for Quotation') ?>}}
\hfill
\vspace{1cm}
\begin{tabularx}{\textwidth}{*{6}{|X}|} \hline
\textbf{<?lsmb text('RFQ #') ?>} & \textbf{<?lsmb text('Date') ?>}
& \textbf{<?lsmb text('Required by') ?>} & \textbf{<?lsmb text('Contact') ?>}
& \textbf{<?lsmb text('Shipping Point') ?>}
& \textbf{<?lsmb text('Ship via') ?>} \\ [0.5ex]
\hline
<?lsmb quonumber ?> & <?lsmb quodate ?> & <?lsmb reqdate ?> & <?lsmb employee ?> & <?lsmb shippingpoint ?> & <?lsmb shipvia ?> \\
\hline
\end{tabularx}
\vspace{1cm}
<?lsmb text('Please provide price and delivery time for the following items:') ?>
\vspace{1cm}
\begin{longtable}{@{\extracolsep{\fill}}lcrllrr@{\extracolsep{\fill}}}
\textbf{<?lsmb text('Number') ?>} & \textbf{<?lsmb text('Description') ?>}
& \textbf{<?lsmb text('Qty') ?>} & & \textbf{<?lsmb text('Delivery') ?>}
& \textbf{<?lsmb text('Unit Price') ?>} & \textbf{<?lsmb text('Extended') ?>}
\endhead
<?lsmb FOREACH number ?>
<?lsmb lc = loop.index ?>
<?lsmb number.${lc} ?> &
<?lsmb item_description.${lc} ?> &
<?lsmb qty.${lc} ?> &
<?lsmb unit.${lc} ?> \\
<?lsmb END ?>
\end{longtable}
\parbox{\textwidth}{
\rule{\textwidth}{2pt}
\hfill
<?lsmb FOREACH P IN notes.split('\n\n+') ?>
<?lsmb P ?>\medskip
<?lsmb END ?>
}
\end{document}
<?lsmb END -?>
+185
View File
@@ -0,0 +1,185 @@
<?lsmb# This is a comment block; it's ignored by the template engine.
Version: 1.0
Date: 2021-01-04
File: sales_order.html
Set: demo
Template version numbers are explicitly not aligned across templates or
releases. No explicit versioning was applied before 2021-01-04.
-?>
<!DOCTYPE html>
<html>
<head>
<meta name="generator" content="HTML Tidy for HTML5 for Linux version 5.6.0">
<title><?lsmb text('Sales Order') ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
body {
background-color: white;
}
span.c4 {font-size: 51%}
tr.c3 {background-color: black}
span.c2 {color: white}
h4.c1 {text-transform:uppercase}
</style>
</head>
<body>
<table width="100%">
<?lsmb INCLUDE letterhead ?>
<tr>
<th colspan="3">
<h4 class="c1"><?lsmb text('Sales Order') ?></h4>
</th>
</tr>
<tr>
<td>
<table width="100%" cellspacing="0" cellpadding="0">
<tr class="c3">
<th align="left" width="50%"><span class="c2"><?lsmb text('To') ?></span></th>
<th align="left" width="50%"><span class="c2"><?lsmb text('Ship To') ?></span></th>
</tr>
<tr valign="top">
<td><?lsmb name ?><br>
<?lsmb address1 ?> <?lsmb IF address2 ?><br>
<?lsmb address2 ?> <?lsmb END ?><br>
<?lsmb city ?> <?lsmb IF state ?> , <?lsmb state ?> <?lsmb END ?> <?lsmb zipcode ?>
<?lsmb IF country ?><br>
<?lsmb country ?> <?lsmb END ?><br>
<?lsmb IF contact ?><br>
<?lsmb text('Attn: [_1]', contact) ?> <?lsmb END ?> <?lsmb IF customerphone ?><br>
<?lsmb text('Tel: [_1]', customerphone) ?> <?lsmb END ?> <?lsmb IF customerfax ?><br>
<?lsmb text('Fax: [_1]', customerfax) ?> <?lsmb END ?> <?lsmb IF email ?><br>
<?lsmb email ?> <?lsmb END ?></td>
<td><?lsmb shiptoname ?><br>
<?lsmb shiptoaddress1 ?> <?lsmb IF shiptoaddress2 ?><br>
<?lsmb shiptoaddress2 ?> <?lsmb END ?><br>
<?lsmb shiptocity ?> <?lsmb IF shiptostate ?> , <?lsmb shiptostate ?> <?lsmb END ?>
<?lsmb shiptozipcode ?> <?lsmb IF shiptocountry ?><br>
<?lsmb shiptocountry ?> <?lsmb END ?><br>
<?lsmb IF shiptocontact ?><br>
<?lsmb shiptocontact ?> <?lsmb END ?> <?lsmb IF shiptophone ?><br>
<?lsmb text('Tel: [_1]', shiptophone) ?> <?lsmb END ?> <?lsmb IF shiptofax ?><br>
<?lsmb text('Fax: [_1]', shiptofax) ?> <?lsmb END ?> <?lsmb IF shiptoemail ?><br>
<?lsmb shiptoemail ?> <?lsmb END ?></td>
</tr>
</table>
</td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td>
<table width="100%" border="1">
<tr>
<th width="17%" align="left" nowrap><?lsmb text('Order #') ?></th>
<th width="17%" align="left"><?lsmb text('Order Date') ?></th>
<th width="17%" align="left"><?lsmb text('Required by') ?></th>
<th width="17%" align="left" nowrap><?lsmb text('Salesperson') ?></th>
<th width="17%" align="left" nowrap><?lsmb text('Shipping Point') ?></th>
<th width="15%" align="left" nowrap><?lsmb text('Ship Via') ?></th>
</tr>
<tr>
<td><?lsmb ordnumber ?></td>
<td><?lsmb orddate ?></td>
<td><?lsmb reqdate ?></td>
<td><?lsmb employee ?></td>
<td><?lsmb shippingpoint ?>&nbsp;</td>
<td><?lsmb shipvia ?>&nbsp;</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table width="100%">
<tr class="c3">
<th align="right"><span class="c2"><?lsmb text('Item') ?></span></th>
<th align="left"><span class="c2"><?lsmb text('Number') ?></span></th>
<th align="left"><span class="c2"><?lsmb text('Description') ?></span></th>
<th><span class="c2"><?lsmb text('Qty') ?></span></th>
<th>&nbsp;</th>
<th><span class="c2"><?lsmb text('Price') ?></span></th>
<th><span class="c2"><?lsmb text('Disc %') ?></span></th>
<th><span class="c2"><?lsmb text('Amount') ?></span></th>
</tr><?lsmb FOREACH number ?><?lsmb loop_count = loop.index ?>
<tr valign="top">
<td align="right"><?lsmb runningnumber.${loop_count} ?>.</td>
<td><?lsmb number.${loop_count} ?></td>
<td><?lsmb item_description.${loop_count}.replace("\n","<br />") ?></td>
<td align="right"><?lsmb qty.${loop_count} ?></td>
<td><?lsmb unit.${loop_count} ?></td>
<td align="right"><?lsmb sellprice.${loop_count} ?></td>
<td align="right"><?lsmb discountrate.${loop_count} ?></td>
<td align="right"><?lsmb linetotal.${loop_count} ?></td>
</tr><?lsmb END ?>
<tr>
<td colspan="8">
<hr noshade>
</td>
</tr>
<tr>
<?lsmb IF taxincluded ?>
<th colspan="6" align="right"><?lsmb text('Total') ?></th>
<td colspan="2" align="right"><?lsmb invtotal ?></td><?lsmb ELSE ?>
<th colspan="6" align="right"><?lsmb text('Subtotal') ?></th>
<td colspan="2" align="right"><?lsmb subtotal ?></td><?lsmb END ?>
</tr><?lsmb FOREACH tax ?><?lsmb loop_count = loop.index ?>
<tr>
<th colspan="6" align="right">
<?lsmb taxdescription.${loop_count}.replace("\n","<br />") ?>on
<?lsmb taxbase.${loop_count} ?> @ <?lsmb taxrate.${loop_count} ?> %</th>
<td colspan="2" align="right"><?lsmb tax.${loop_count} ?></td>
</tr><?lsmb END ?>
<tr>
<td colspan="4">&nbsp;</td>
<td colspan="4">
<hr noshade>
</td>
</tr>
<tr>
<td colspan="4"><?lsmb text_amount ?>***** <?lsmb decimal ?>/100 <?lsmb IF terms ?><br>
<?lsmb text('Terms Net [_1] days', terms) ?> <?lsmb END ?></td>
<th colspan="2" align="right"><?lsmb text('Total') ?></th>
<th colspan="2" align="right"><?lsmb ordtotal ?></th>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table width="100%">
<tr valign="top">
<?lsmb IF notes ?>
<td><?lsmb text('Notes') ?></td>
<td>
<?lsmb FOREACH P IN notes.split('\n\n') ?>
<p><?lsmb P ?></p><?lsmb END ?>
</td><?lsmb END ?>
<td align="right" nowrap><?lsmb text('All prices in [_1] Funds', currency) ?></td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table width="100%">
<tr valign="top">
<td width="60%"><span class=
"c4"><?lsmb text('Special order items are subject to a 10% order cancellation fee.') ?></span></td>
<td width="40%">
X
<hr noshade>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>
+196
View File
@@ -0,0 +1,196 @@
<?lsmb# This is a comment block; it's ignored by the template engine.
Version: 1.1
Date: 2022-07-22
File: sales_order.tex
Set: demo
Template version numbers are explicitly not aligned across templates or
releases. No explicit versioning was applied before 2021-01-04.
Version Changes
1.1 Merged xelatex targetting templates with those targetting pdflatex
-?>
<?lsmb FILTER latex { format="$FORMAT($PROCESSOR)" };
# Uncomment the next line to overrule the value from System > Defaults;
# The value should be without the 'paper' suffix. E.g. "a4" for "a4paper"
# SETTINGS.papersize = "<your-format>";
INCLUDE "preamble.tex"; -?>
\setlength\LTleft{0pt}
\setlength\LTright{0pt}
\begin{document}
\pagestyle{myheadings}
\thispagestyle{empty}
\ifpdftex
%% (pdf)latex
\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
\fi
<?lsmb INCLUDE letterhead ?>
\markboth{<?lsmb company ?>\hfill <?lsmb ordnumber ?>}{<?lsmb company ?>\hfill <?lsmb ordnumber ?>}
\vspace*{0.5cm}
\parbox[t]{.5\textwidth}{
\textbf{To}
\vspace{0.3cm}
<?lsmb name ?>
<?lsmb address1 ?>
<?lsmb address2 ?>
<?lsmb city ?>
<?lsmb IF state ?>
\hspace{-0.1cm}, <?lsmb state ?>
<?lsmb END ?>
<?lsmb zipcode ?>
<?lsmb country ?>
\vspace{0.3cm}
<?lsmb IF contact ?>
<?lsmb contact ?>
\vspace{0.2cm}
<?lsmb END ?>
<?lsmb IF customerphone ?>
<?lsmb text('Tel: [_1]', customerphone) ?>
<?lsmb END ?>
<?lsmb IF customerfax ?>
<?lsmb text('Fax: [_1]', customerfax) ?>
<?lsmb END ?>
<?lsmb email ?>
}
\parbox[t]{.5\textwidth}{
\textbf{Ship To}
\vspace{0.3cm}
<?lsmb shiptoname ?>
<?lsmb shiptoaddress1 ?>
<?lsmb shiptoaddress2 ?>
<?lsmb shiptocity ?>
<?lsmb IF shiptostate ?>
\hspace{-0.1cm}, <?lsmb shiptostate ?>
<?lsmb END ?>
<?lsmb shiptozipcode ?>
<?lsmb shiptocountry ?>
\vspace{0.3cm}
<?lsmb IF shiptocontact ?>
<?lsmb shiptocontact ?>
\vspace{0.2cm}
<?lsmb END ?>
<?lsmb IF shiptophone ?>
<?lsmb text('Tel: [_1]', shiptophone) ?>
<?lsmb END ?>
<?lsmb IF shiptofax ?>
<?lsmb text('Fax: [_1]', shiptofax) ?>
<?lsmb END ?>
<?lsmb shiptoemail ?>
}
\hfill
\vspace{1cm}
\textbf{\MakeUppercase{<?lsmb text('Sales Order') ?>}}
\hfill
\vspace{1cm}
\begin{tabularx}{\textwidth}{*{6}{|X}|} \hline
\textbf{<?lsmb text('Order #') ?>} & \textbf{<?lsmb text('Order Date') ?>}
& \textbf{<?lsmb text('Required by') ?>}
& \textbf{<?lsmb text('Salesperson') ?>}
& \textbf{<?lsmb text('Shipping Point') ?>}
& \textbf{<?lsmb text('Ship Via') ?>} \\ [0.5em]
\hline
<?lsmb ordnumber ?> & <?lsmb orddate ?> & <?lsmb reqdate ?> & <?lsmb employee ?> & <?lsmb shippingpoint ?> & <?lsmb shipvia ?> \\
\hline
\end{tabularx}
\vspace{1cm}
\begin{longtable}{@{\extracolsep{\fill}}rlcrlrrr@{\extracolsep{0pt}}}
\textbf{<?lsmb text('Item') ?>} & \textbf{<?lsmb text('Number') ?>}
& \textbf{<?lsmb text('Description') ?>} & \textbf{<?lsmb text('Qty') ?>} &
\textbf{<?lsmb text('Unit') ?>} & \textbf{<?lsmb text('Price') ?>}
& \textbf{<?lsmb text('Disc %') ?>}
& \textbf{<?lsmb text('Amount') ?>}
\endhead
<?lsmb FOREACH number ?>
<?lsmb lc = loop.index ?>
<?lsmb runningnumber.${lc} ?> &
<?lsmb number.${lc} ?> &
<?lsmb item_description.${lc} ?> &
<?lsmb qty.${lc} ?> &
<?lsmb unit.${lc} ?> &
<?lsmb sellprice.${lc} ?> &
<?lsmb discountrate.${lc} ?> &
<?lsmb linetotal.${lc} ?> \\
<?lsmb END ?>
\end{longtable}
\parbox{\textwidth}{
\rule{\textwidth}{2pt}
\vspace{0.2cm}
\hfill
\begin{tabularx}{7cm}{Xr@{\hspace{1cm}}r@{}}
& Subtotal & <?lsmb subtotal ?> \\
<?lsmb FOREACH tax ?>
<?lsmb lc = loop.index ?>
& <?lsmb taxdescription.${lc} ?> on <?lsmb taxbase.${lc} ?> & <?lsmb tax.${lc} ?>\\
<?lsmb END ?>
\hline
& Total & <?lsmb ordtotal ?>\\
\end{tabularx}
\vspace{0.3cm}
<?lsmb text_amount ?> ***** <?lsmb decimal ?>/100
\hfill
<?lsmb text('All prices in [_1].', currency) ?>
<?lsmb IF terms ?>
<?lsmb text('Terms: Net [_1] days', terms) ?>
<?lsmb END ?>
\vspace{12pt}
<?lsmb FOREACH P IN notes.split('\n\n+') ?>
<?lsmb P ?>\medskip
<?lsmb END ?>
}
\vfill
\centerline{\textbf{<?lsmb text('Thank You for your valued business!') ?>}}
\rule{\textwidth}{0.5pt}
\end{document}
<?lsmb END -?>
+168
View File
@@ -0,0 +1,168 @@
<?lsmb# This is a comment block; it's ignored by the template engine.
Version: 1.0
Date: 2021-01-04
File: sales_quotation.html
Set: demo
Template version numbers are explicitly not aligned across templates or
releases. No explicit versioning was applied before 2021-01-04.
-?>
<!DOCTYPE html>
<html>
<head>
<meta name="generator" content="HTML Tidy for HTML5 for Linux version 5.6.0">
<title><?lsmb text('Quotation') ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
body {
background-color: white;
}
span.c4 {font-size: 51%}
tr.c3 {background-color: black}
span.c2 {color: white}
th.c1 {text-transform:uppercase}
</style>
</head>
<body>
<table width="100%">
<?lsmb INCLUDE letterhead ?>
<tr>
<th colspan="3" class="c1">
<h4><?lsmb text('Quotation') ?></h4>
</th>
</tr>
<tr>
<td>
<table width="100%">
<tr valign="top">
<td><?lsmb name ?><br>
<?lsmb address1 ?> <?lsmb IF address2 ?><br>
<?lsmb address2 ?> <?lsmb END ?><br>
<?lsmb city ?> <?lsmb IF state ?> , <?lsmb state ?> <?lsmb END ?> <?lsmb zipcode ?>
<?lsmb IF country ?><br>
<?lsmb country ?> <?lsmb END ?><br>
<?lsmb IF contact ?><br>
<?lsmb text('Attn: [_1]', contact) ?> <?lsmb END ?> <?lsmb IF customerphone ?><br>
<?lsmb text('Tel: [_1]', customerphone) ?> <?lsmb END ?> <?lsmb IF customerfax ?><br>
<?lsmb text('Fax: [_1]', customerfax) ?> <?lsmb END ?> <?lsmb IF email ?><br>
<?lsmb email ?> <?lsmb END ?></td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table width="100%" border="1">
<tr>
<th width="17%" align="left" nowrap><?lsmb text('Number') ?></th>
<th width="17%" align="left"><?lsmb text('Date') ?></th>
<th width="17%" align="left"><?lsmb text('Valid until') ?></th>
<th width="17%" align="left" nowrap><?lsmb text('Contact') ?></th>
<th width="17%" align="left" nowrap><?lsmb text('Shipping Point') ?></th>
<th width="15%" align="left" nowrap><?lsmb text('Ship via') ?></th>
</tr>
<tr>
<td><?lsmb quonumber ?></td>
<td><?lsmb quodate ?></td>
<td><?lsmb reqdate ?></td>
<td><?lsmb employee ?></td>
<td><?lsmb shippingpoint ?>&nbsp;</td>
<td><?lsmb shipvia ?>&nbsp;</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table width="100%">
<tr class="c3">
<th align="right"><span class="c2"><?lsmb text('Item') ?></span></th>
<th align="left"><span class="c2"><?lsmb text('Number') ?></span></th>
<th align="left"><span class="c2"><?lsmb text('Description') ?></span></th>
<th><span class="c2"><?lsmb text('Qty') ?></span></th>
<th>&nbsp;</th>
<th><span class="c2"><?lsmb text('Price') ?></span></th>
<th><span class="c2"><?lsmb text('Disc %') ?></span></th>
<th><span class="c2"><?lsmb text('Amount') ?></span></th>
</tr><?lsmb FOREACH number ?><?lsmb loop_count = loop.index ?>
<tr valign="top">
<td align="right"><?lsmb runningnumber.${loop_count} ?></td>
<td><?lsmb number.${loop_count} ?></td>
<td><?lsmb item_description.${loop_count}.replace("\n","<br />") ?></td>
<td align="right"><?lsmb qty.${loop_count} ?></td>
<td><?lsmb unit.${loop_count} ?></td>
<td align="right"><?lsmb sellprice.${loop_count} ?></td>
<td align="right"><?lsmb discountrate.${loop_count} ?></td>
<td align="right"><?lsmb linetotal.${loop_count} ?></td>
</tr><?lsmb END ?>
<tr>
<td colspan="8">
<hr noshade>
</td>
</tr>
<tr>
<?lsmb IF taxincluded ?>
<th colspan="6" align="right"><?lsmb text('Total') ?></th>
<td colspan="2" align="right"><?lsmb invtotal ?></td><?lsmb ELSE ?>
<th colspan="6" align="right"><?lsmb text('Subtotal') ?></th>
<td colspan="2" align="right"><?lsmb subtotal ?></td><?lsmb END ?>
</tr><?lsmb FOREACH tax ?><?lsmb loop_count = loop.index ?>
<tr>
<th colspan="6" align="right">
<?lsmb taxdescription.${loop_count}.replace("\n","<br />") ?>on
<?lsmb taxbase.${loop_count} ?> @ <?lsmb taxrate.${loop_count} ?> %</th>
<td colspan="2" align="right"><?lsmb tax.${loop_count} ?></td>
</tr><?lsmb END ?>
<tr>
<td colspan="4">&nbsp;</td>
<td colspan="4">
<hr noshade>
</td>
</tr>
<tr>
<td colspan="4">&nbsp; <?lsmb IF terms ?> <?lsmb text('Terms Net [_1] days', terms) ?>
<?lsmb END ?></td>
<th colspan="2" align="right"><?lsmb text('Total') ?></th>
<th colspan="2" align="right"><?lsmb quototal ?></th>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table width="100%">
<tr valign="top">
<?lsmb IF notes ?>
<td><?lsmb text('Notes') ?></td>
<td>
<?lsmb FOREACH P IN notes.split('\n\n') ?>
<p><?lsmb P ?></p><?lsmb END ?>
</td><?lsmb END ?>
<td align="right"><?lsmb text('All prices in [_1] Funds', currency) ?></td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table width="100%">
<tr valign="top">
<td width="60%"><span class="c4"><?lsmb
text('Special order items are subject to a 10% cancellation fee.')
?></span></td>
<td width="40%">
X
<hr noshade>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>
+163
View File
@@ -0,0 +1,163 @@
<?lsmb# This is a comment block; it's ignored by the template engine.
Version: 1.1
Date: 2022-07-22
File: sales_quotation.tex
Set: demo
Template version numbers are explicitly not aligned across templates or
releases. No explicit versioning was applied before 2021-01-04.
Version Changes
1.1 Merged xelatex targetting templates with those targetting pdflatex
-?>
<?lsmb FILTER latex { format="$FORMAT($PROCESSOR)" };
# Uncomment the next line to overrule the value from System > Defaults;
# The value should be without the 'paper' suffix. E.g. "a4" for "a4paper"
# SETTINGS.papersize = "<your-format>";
INCLUDE "preamble.tex"; -?>
\setlength\LTleft{0pt}
\setlength\LTright{0pt}
\begin{document}
\pagestyle{myheadings}
\thispagestyle{empty}
\ifpdftex
%% (pdf)latex
\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
\fi
\newsavebox{\ftr}
\sbox{\ftr}{
\parbox{\textwidth}{
\tiny
\rule[1.5em]{\textwidth}{0.5pt}
<?lsmb text('Special order items are subject to a 10\% cancellation fee.') ?>
}
}
<?lsmb INCLUDE letterhead ?>
\markboth{<?lsmb company ?>\hfill <?lsmb quonumber ?>}{<?lsmb company ?>\hfill <?lsmb quonumber ?>}
\vspace*{0.5cm}
\parbox[t]{.5\textwidth}{
<?lsmb name ?>
<?lsmb address1 ?>
<?lsmb address2 ?>
<?lsmb city ?>
<?lsmb IF state ?>\hspace{-0.1cm}, <?lsmb state ?>
<?lsmb END ?>
<?lsmb zipcode ?>
<?lsmb country ?>
\vspace{0.3cm}
<?lsmb IF contact ?>
<?lsmb contact ?>
\vspace{0.2cm}
<?lsmb END ?>
<?lsmb IF customerphone ?>
<?lsmb text('Tel: [_1]', customerphone) ?> ?>
<?lsmb END ?>
<?lsmb IF customerfax ?>
<?lsmb text('Fax: [_1]', customerfax) ?>
<?lsmb END ?>
<?lsmb email ?>
}
\vspace{1cm}
\textbf{\MakeUppercase{<?lsmb text('Quotation') ?>}}
\hfill
\vspace{1cm}
\begin{tabularx}{\textwidth}{*{6}{|X}|} \hline
\textbf{<?lsmb text('Quotation #') ?>} & \textbf{<?lsmb text('Date') ?>}
& \textbf{<?lsmb text('Valid until') ?>} & \textbf{<?lsmb text('Contact') ?>}
& \textbf{<?lsmb text('Shipping Point') ?>}
& \textbf{<?lsmb text('Ship via') ?>} \\ [0.5ex]
\hline
<?lsmb quonumber ?> & <?lsmb quodate ?> & <?lsmb reqdate ?> & <?lsmb employee ?> & <?lsmb shippingpoint ?> & <?lsmb shipvia ?> \\
\hline
\end{tabularx}
\vspace{1cm}
\begin{longtable}{@{\extracolsep{\fill}}llrlrrr@{\extracolsep{0pt}}}
\textbf{<?lsmb text('Number') ?>} & \textbf{<?lsmb text('Description') ?>}
& \textbf{<?lsmb text('Qty') ?>} & \textbf{<?lsmb text('Unit') ?>}
& \textbf{<?lsmb text('Price') ?>} & \textbf{<?lsmb text('Disc %') ?>}
& \textbf{<?lsmb text('Amount') ?>}
\endhead
<?lsmb FOREACH number ?>
<?lsmb lc = loop.index ?>
<?lsmb number.${lc} ?> &
\begin{minipage}{2in}
\raggedright
<?lsmb item_description.${lc} ?>
\end{minipage}&
<?lsmb qty.${lc} ?> &
<?lsmb unit.${lc} ?> &
<?lsmb sellprice.${lc} ?> &
<?lsmb discountrate.${lc} ?> &
<?lsmb linetotal.${lc} ?> \\
<?lsmb END ?>
\hline \hline
\multicolumn{6}{r}{<?lsmb text('Subtotal') ?>} & <?lsmb subtotal ?> \\*
<?lsmb FOREACH tax ?>
<?lsmb lc = loop.index ?>
\multicolumn{6}{r}{<?lsmb taxdescription.${lc}
?> on <?lsmb taxbase.${lc} ?> }
& <?lsmb tax.${lc} ?> \\*
<?lsmb END ?>
\multicolumn{6}{r}{<?lsmb text('Total') ?> } & <?lsmb quototal ?> \\*
\end{longtable}
\parbox{\textwidth}{
\rule{\textwidth}{2pt}
\vspace{0.2cm}
\hfill
<?lsmb text('All prices in [_1].', currency) ?>
<?lsmb IF terms ?>
<?lsmb text('Terms: [_1] days', terms) ?>
<?lsmb END ?>
\vspace{12pt}
<?lsmb FOREACH P IN notes.split('\n\n+') ?>
<?lsmb P ?>\medskip
<?lsmb END ?>
}
\vfill
\hfill \parbox{7cm}{X \rule{6.5cm}{0.5pt}}
\rule{\textwidth}{0.5pt}
\usebox{\ftr}
\end{document}
<?lsmb END -?>
+45
View File
@@ -0,0 +1,45 @@
<?lsmb# This is a comment block; it's ignored by the template engine.
Version: 1.1
Date: 2022-07-22
File: shipping_label.tex
Set: demo
Template version numbers are explicitly not aligned across templates or
releases. No explicit versioning was applied before 2021-01-04.
Version Changes
1.1 Merged xelatex targetting templates with those targetting pdflatex
-?>
<?lsmb FILTER latex { format="$FORMAT($PROCESSOR)" } ?>
\documentclass{scrartcl}
\usepackage{iftex}
\ifpdftex
%% (pdf)latex
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\else
\usepackage{fontspec}
\fi
\usepackage{tabularx}
\usepackage[paperheight=10.5cm, paperwidth=16.2cm,top=1cm,bottom=1.5cm,left=2cm,right=2cm]{geometry}
\begin{document}
<?lsmb IF shiptoaddress1 ?>
\noindent <?lsmb name ?>\\
<?lsmb shiptoaddress1 ?>\\
<?lsmb IF shiptoaddress2; shiptoaddress2 ?>\\ <?lsmb END ?>
<?lsmb- shiptocity ?>
<?lsmb IF shiptostate -?>
\hspace{-0.1cm}, <?lsmb shiptostate ?><?lsmb END ?> <?lsmb shiptozipcode ?>\\
<?lsmb shiptocountry ?>
<?lsmb ELSE ?>
\noindent <?lsmb name ?>\\
<?lsmb address1 ?> \\
<?lsmb- IF address2; address2 ?> \\<?lsmb END ?>
<?lsmb- city ?>
<?lsmb- IF state -?>, <?lsmb state ?> <?lsmb END ?> <?lsmb zipcode ?>\\
<?lsmb END ?>
\end{document}
<?lsmb END -?>
+114
View File
@@ -0,0 +1,114 @@
<?lsmb# This is a comment block; it's ignored by the template engine.
Version: 2.0
Date: 2024-03-16
File: statement.html
Set: demo
Template version numbers are explicitly not aligned across templates or
releases. No explicit versioning was applied before 2021-01-04.
Version Changes
2.0 Grouping of amounts by currency, in case of
exposure in multiple currencies against a single customer
-?>
<!DOCTYPE html>
<html>
<head>
<meta name="generator" content="HTML Tidy for HTML5 for Linux version 5.6.0">
<title><?lsmb text('Statement') ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
body {
background-color: white;
}
h4.c1 {text-transform:uppercase}
tr.subtotal td { font-weight: bold }
</style>
</head>
<body>
<?lsmb FOREACH statement IN statements ?>
<table width="100%">
<?lsmb INCLUDE letterhead ?>
<tr>
<th colspan="3">
<h4 class="c1"><?lsmb text('Statement') ?></h4>
</th>
</tr>
<tr>
<td colspan="3" align="right"><?lsmb statementdate ?></td>
</tr>
<tr>
<td>
<table width="100%">
<tr valign="top">
<td><?lsmb statement.entity.name ?><br>
<?lsmb statement.address.line_one ?> <?lsmb IF statement.address.line_two ?><br>
<?lsmb statement.address.line_two ?> <?lsmb END ?><br>
<?lsmb statement.address.city ?> <?lsmb IF statement.address.state ?> ,
<?lsmb statement.address.state ?> <?lsmb END ?>
<?lsmb statement.address.mail_code ?><br></td>
</tr>
</table>
</td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td>
<table width="100%">
<tr>
<th align="left"><?lsmb text('Invoice #') ?></th>
<th align="left"><?lsmb text('Order #') ?></th>
<th width="10%"><?lsmb text('Date') ?></th>
<th width="10%"><?lsmb text('Due') ?></th>
<th width="10%"><?lsmb text('Current') ?></th>
<th width="10%"><?lsmb text('30') ?></th>
<th width="10%"><?lsmb text('60') ?></th>
<th width="10%"><?lsmb text('90') ?></th>
<th width="10%"><?lsmb text('Total') ?></th>
<th width="10%"><?lsmb text('Currency') ?></th>
</tr>
<tr>
<td colspan="10">
<hr size="1">
</td>
</tr>
<?lsmb- FOREACH invoice IN statement.aging.rows ;
IF invoice.html_class.defined ;
row_class = 'class="subtotal"';
ELSE ;
row_class = '';
END; ?>
<tr <?lsmb row_class ?> >
<?lsmb- IF invoice.html_class.defined ?>
<td><?lsmb text('Total') ?></td>
<?lsmb- ELSE ?>
<td><?lsmb invoice.invnumber ?></td>
<?lsmb- END ?>
<td><?lsmb invoice.ordnumber ?></td>
<td><?lsmb invoice.transdate ?></td>
<td><?lsmb invoice.duedate ?></td>
<td align="right"><?lsmb invoice.c0_tc ?></td>
<td align="right"><?lsmb invoice.c30_tc ?></td>
<td align="right"><?lsmb invoice.c60_tc ?></td>
<td align="right"><?lsmb invoice.c90_tc ?></td>
<td align="right"><?lsmb invoice.total_tc ?></td>
<td><?lsmb invoice.curr ?></td>
</tr>
<?lsmb- IF invoice.html_class == 'listsubtotal' ; ?>
<tr class="subtotal">
<td colspan="10">
<hr size="1">
</td>
</tr>
<?lsmb- END -?>
<?lsmb END -?>
</table>
</td>
</tr>
</table><?lsmb END ?>
</body>
</html>
+95
View File
@@ -0,0 +1,95 @@
<?lsmb# This is a comment block; it's ignored by the template engine.
Version: 2.0
Date: 2024-03-16
File: statement.tex
Set: demo
Template version numbers are explicitly not aligned across templates or
releases. No explicit versioning was applied before 2021-01-04.
Version Changes
2.0 Grouping of amounts by currency, in case of
exposure in multiple currencies against a single customer
1.1 Merged xelatex targetting templates with those targetting pdflatex
-?>
<?lsmb FILTER latex { format="$FORMAT($PROCESSOR)" };
# Uncomment the next line to overrule the value from System > Defaults;
# The value should be without the 'paper' suffix. E.g. "a4" for "a4paper"
# SETTINGS.papersize = "<your-format>";
INCLUDE "preamble.tex"; -?>
\begin{document}
<?lsmb FOREACH statement IN statements ?>
\pagestyle{myheadings}
\thispagestyle{empty}
\ifpdftex
%% (pdf)latex
\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
\fi
<?lsmb INCLUDE letterhead ?>
\parbox[t]{.5\textwidth}{
<?lsmb statement.entity.name ?>
<?lsmb statement.address.line_one ?>
<?lsmb statement.address.city ?> <?lsmb statement.address.state ?>
<?lsmb statement.address.mail_code ?>
}
\hfill
\vspace{1cm}
\textbf{\MakeUppercase{<?lsmb text('Statement') ?>}} \hfill
\textbf{<?lsmb statementdate ?>}
\vspace{2cm}
\begin{tabular*}{\textwidth}{|ll@{\extracolsep\fill}ccrrrrrl|}
\hline
\textbf{<?lsmb text('Invoice #') ?>} & \textbf{<?lsmb text('Order #') ?>}
& \textbf{<?lsmb text('Date') ?>} & \textbf{<?lsmb text('Due') ?>} &
\textbf{<?lsmb text('Current') ?>} & \textbf{30} & \textbf{60} & \textbf{90} &
\textbf{<?lsmb text('Total') ?>} & \textbf{<?lsmb text('Currency') ?>} \\
\hline
<?lsmb- FOREACH invoice IN statement.aging.rows -?>
<?lsmb- IF invoice.html_class.defined -?>
% \hline
\textbf{<?lsmb text('Total') ?>} &
& & &
\textbf{<?lsmb invoice.c0_tc ?>} &
\textbf{<?lsmb invoice.c30_tc ?>} &
\textbf{<?lsmb invoice.c60_tc ?>} &
\textbf{<?lsmb invoice.c90_tc ?>} &
\textbf{<?lsmb invoice.total_tc ?>} &
\textbf{<?lsmb invoice.curr ?>} \\
<?lsmb- ELSE -?>
<?lsmb invoice.invnumber ?> &
<?lsmb invoice.ordnumber ?> &
<?lsmb invoice.transdate ?> &
<?lsmb invoice.duedate ?> &
<?lsmb invoice.c0_tc ?> &
<?lsmb invoice.c30_tc ?> &
<?lsmb invoice.c60_tc ?> &
<?lsmb invoice.c90_tc ?> &
<?lsmb invoice.total_tc ?> &
<?lsmb invoice.curr ?> \\
<?lsmb- END -?>
<?lsmb- IF invoice.html_class.defined -?>
\hline
<?lsmb- END -?>
<?lsmb END ?>
\end{tabular*}
\vspace{0.5cm}
\hfill
\pagebreak
<?lsmb END ?>
\end{document}
<?lsmb END -?>
+131
View File
@@ -0,0 +1,131 @@
<?lsmb# This is a comment block; it's ignored by the template engine.
Version: 1.0
Date: 2021-01-04
File: timecard.html
Set: demo
Template version numbers are explicitly not aligned across templates or
releases. No explicit versioning was applied before 2021-01-04.
-?>
<!DOCTYPE html>
<html>
<head>
<meta name="generator" content="HTML Tidy for HTML5 for Linux version 5.6.0">
<title><?lsmb text('Time Card') ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
body {
background-color: white;
}
h4.c1 {text-transform:uppercase}
</style>
</head>
<body>
<table width="100%">
<?lsmb INCLUDE letterhead ?>
<tr>
<th colspan="3">
<h4 class="c1"><?lsmb text('Time Card') ?></h4>
</th>
</tr>
<tr>
<td>
<table width="100%" cellspacing="0" cellpadding="0">
<tr valign="top">
<td>
<table>
<tr>
<th align="left"><?lsmb text('Employee') ?></th>
<td><?lsmb employee ?></td>
</tr>
<tr>
<th align="left"><?lsmb text('ID') ?></th>
<td><?lsmb employee_id ?></td>
</tr>
</table>
</td>
<td align="right">
<table>
<tr>
<th align="left" nowrap><?lsmb text('Card ID') ?></th>
<td><?lsmb id ?></td>
</tr>
<tr>
<th align="left" nowrap><?lsmb text('Date') ?></th>
<td><?lsmb transdate ?></td>
</tr>
<tr>
<th align="left" nowrap><?lsmb text('In') ?></th>
<td><?lsmb checkedin ?></td>
</tr>
<tr>
<th align="left"><?lsmb text('Out') ?></th>
<td><?lsmb checkedout ?></td>
</tr>
<tr>
<th align="left" nowrap><?lsmb text('Hours') ?></th>
<td><?lsmb qty ?></td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td>
<table width="100%">
<tr valign="bottom">
<td>
<table>
<tr valign="top">
<th align="left"><?lsmb text('Job/Project #') ?></th>
<td><?lsmb projectnumber ?></td>
</tr>
<tr>
<th align="left"><?lsmb text('Description') ?></th>
<td><?lsmb projectdescription ?></td>
</tr>
<tr valign="top">
<th align="left"><?lsmb text('Labor/Service Code') ?></th>
<td><?lsmb partnumber ?></td>
</tr>
<tr>
<th align="left"><?lsmb text('Description') ?></th>
<td><?lsmb description ?></td>
</tr>
</table>
</td>
<td align="right">
<table>
<tr>
<th align="right"><?lsmb text('Rate') ?></th>
<td><?lsmb sellprice ?></td>
</tr>
<tr>
<th align="right"><?lsmb text('Total') ?></th>
<td><?lsmb total ?></td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr><?lsmb IF notes ?>
<tr>
<td></td>
</tr>
<tr>
<td>
<?lsmb FOREACH P IN notes.split('\n\n') ?>
<p><?lsmb P ?></p><?lsmb END ?>
</td>
</tr><?lsmb END ?>
</table>
</body>
</html>
+72
View File
@@ -0,0 +1,72 @@
<?lsmb# This is a comment block; it's ignored by the template engine.
Version: 1.1
Date: 2022-07-22
File: timecard.tex
Set: demo
Template version numbers are explicitly not aligned across templates or
releases. No explicit versioning was applied before 2021-01-04.
Version Changes
1.1 Merged xelatex targetting templates with those targetting pdflatex
-?>
<?lsmb FILTER latex { format="$FORMAT($PROCESSOR)" };
# Uncomment the next line to overrule the value from System > Defaults;
# The value should be without the 'paper' suffix. E.g. "a4" for "a4paper"
# SETTINGS.papersize = "<your-format>";
INCLUDE "preamble.tex"; -?>
\begin{document}
\pagestyle{myheadings}
\thispagestyle{empty}
\ifpdftex
%% (pdf)latex
\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
\fi
<?lsmb INCLUDE letterhead ?>
\centerline{\textbf{\MakeUppercase{<?lsmb text('Time Card') ?>}}}
\vspace*{0.5cm}
\begin{tabular}[t]{ll}
\textbf{<?lsmb text('Employee') ?>} & <?lsmb employee ?> \\
\textbf{<?lsmb text('ID') ?>} & <?lsmb employee_id ?> \\
\end{tabular}
\hfill
\begin{tabular}[t]{ll}
\textbf{<?lsmb text('Card ID') ?>} & <?lsmb id ?> \\
\textbf{<?lsmb text('Date') ?>} & <?lsmb transdate ?> \\
\textbf{<?lsmb text('In') ?>} & <?lsmb checkedin ?> \\
\textbf{<?lsmb text('Out') ?>} & <?lsmb checkedout ?> \\
\textbf{<?lsmb text('Hours') ?>} & <?lsmb qty ?> \\
\end{tabular}
\vspace{1cm}
\begin{tabular}[b]{ll}
\textbf{<?lsmb text('Job/Project #') ?>} & <?lsmb projectnumber ?> \\
\textbf{<?lsmb text('Description') ?>} & <?lsmb projectdescription ?> \\
\textbf{<?lsmb text('Labor/Service Code') ?>} & <?lsmb partnumber ?> \\
\textbf{<?lsmb text('Description') ?>} & <?lsmb description ?> \\
\end{tabular}
\hfill
\begin{tabular}[b]{lr}
\textbf{<?lsmb text('Rate') ?>} & <?lsmb sellprice ?> \\
\textbf{<?lsmb text('Total') ?>} & <?lsmb total ?> \\
\end{tabular}
\vspace{0.3cm}
<?lsmb FOREACH P IN notes.split('\n\n+') ?>
<?lsmb P ?>\medskip
<?lsmb END ?>
\end{document}
<?lsmb END -?>
+131
View File
@@ -0,0 +1,131 @@
<?lsmb# This is a comment block; it's ignored by the template engine.
Version: 1.0
Date: 2021-01-04
File: work_order.html
Set: demo
Template version numbers are explicitly not aligned across templates or
releases. No explicit versioning was applied before 2021-01-04.
-?>
<!DOCTYPE html>
<html>
<head>
<meta name="generator" content="HTML Tidy for HTML5 for Linux version 5.6.0">
<title><?lsmb text('Work Order') ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
body {
background-color: white;
}
tr.c3 {background-color: black}
span.c2 {color: white}
h4.c1 {text-transform:uppercase}
</style>
</head>
<body>
<table width="100%">
<?lsmb INCLUDE letterhead ?>
<tr>
<th colspan="3">
<h4 class="c1"><?lsmb text('Work Order') ?></h4>
</th>
</tr>
<tr>
<td>
<table width="100%" cellspacing="0" cellpadding="0">
<tr class="c3">
<th align="left" width="50%"><span class="c2"><?lsmb text('To') ?></span></th>
<th align="left" width="50%"><span class="c2"><?lsmb text('Ship To') ?></span></th>
</tr>
<tr valign="top">
<td><?lsmb name ?><br>
<?lsmb address1 ?> <?lsmb IF address2 ?><br>
<?lsmb address2 ?> <?lsmb END ?><br>
<?lsmb city ?> <?lsmb IF state ?> , <?lsmb state ?> <?lsmb END ?> <?lsmb zipcode ?>
<?lsmb IF country ?><br>
<?lsmb country ?> <?lsmb END ?><br>
<?lsmb IF contact ?><br>
<?lsmb text('Attn: [_1]', contact) ?> <?lsmb END ?> <?lsmb IF customerphone ?><br>
<?lsmb text('Tel: [_1]', customerphone) ?> <?lsmb END ?> <?lsmb IF customerfax ?><br>
<?lsmb text('Fax: [_1]', customerfax) ?> <?lsmb END ?> <?lsmb IF email ?><br>
<?lsmb email ?> <?lsmb END ?></td>
<td><?lsmb shiptoname ?><br>
<?lsmb shiptoaddress1 ?> <?lsmb IF shiptoaddress2 ?><br>
<?lsmb shiptoaddress2 ?> <?lsmb END ?><br>
<?lsmb shiptocity ?> <?lsmb IF shiptostate ?> , <?lsmb shiptostate ?> <?lsmb END ?>
<?lsmb shiptozipcode ?> <?lsmb IF shiptocountry ?><br>
<?lsmb shiptocountry ?> <?lsmb END ?><br>
<?lsmb IF shiptocontact ?><br>
<?lsmb shiptocontact ?> <?lsmb END ?> <?lsmb IF shiptophone ?><br>
<?lsmb text('Tel: [_1]', shiptophone) ?> <?lsmb END ?> <?lsmb IF shiptofax ?><br>
<?lsmb text('Fax: [_1]', shiptofax) ?> <?lsmb END ?> <?lsmb IF shiptoemail ?><br>
<?lsmb shiptoemail ?> <?lsmb END ?></td>
</tr>
</table>
</td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td>
<table width="100%" border="1">
<tr>
<th width="17%" align="left" nowrap><?lsmb text('Order #') ?></th>
<th width="17%" align="left"><?lsmb text('Order Date') ?></th>
<th width="17%" align="left"><?lsmb text('Required by') ?></th>
<th width="17%" align="left" nowrap><?lsmb text('Salesperson') ?></th>
<th width="17%" align="left" nowrap><?lsmb text('Shipping Point') ?></th>
<th width="15%" align="left" nowrap><?lsmb text('Ship Via') ?></th>
</tr>
<tr>
<td><?lsmb ordnumber ?></td>
<td><?lsmb orddate ?></td>
<td><?lsmb reqdate ?></td>
<td><?lsmb employee ?></td>
<td><?lsmb shippingpoint ?>&nbsp;</td>
<td><?lsmb shipvia ?>&nbsp;</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table width="100%">
<tr class="c3">
<th align="right"><span class="c2"><?lsmb text('Item') ?></span></th>
<th align="left"><span class="c2"><?lsmb text('Number') ?></span></th>
<th align="left"><span class="c2"><?lsmb text('Description') ?></span></th>
<th><span class="c2"><?lsmb text('Qty') ?></span></th>
<th>&nbsp;</th>
<th><span class="c2"><?lsmb text('Bin') ?></span></th>
<th><span class="c2"><?lsmb text('Serial #') ?></span></th>
</tr><?lsmb FOREACH number ?><?lsmb loop_count = loop.index ?>
<tr valign="top">
<td align="right"><?lsmb runningnumber.${loop_count} ?>.</td>
<td><?lsmb number.${loop_count} ?></td>
<td><?lsmb item_description.${loop_count}.replace("\n","<br />") ?></td>
<td align="right"><?lsmb qty.${loop_count} ?></td>
<td><?lsmb unit.${loop_count} ?></td>
<td><?lsmb bin.${loop_count} ?></td>
<td><?lsmb serialnumber.${loop_count} ?></td>
</tr><?lsmb END ?>
<tr>
<td colspan="7">
<hr noshade>
</td>
</tr>
</table>
</td>
</tr>
<tr><?lsmb IF notes ?>
<td>
<?lsmb FOREACH P IN notes.split('\n\n') ?>
<p><?lsmb P ?></p><?lsmb END ?>
</td><?lsmb END ?>
</tr>
</table>
</body>
</html>
+168
View File
@@ -0,0 +1,168 @@
<?lsmb# This is a comment block; it's ignored by the template engine.
Version: 1.1
Date: 2022-07-22
File: work_order.tex
Set: demo
Template version numbers are explicitly not aligned across templates or
releases. No explicit versioning was applied before 2021-01-04.
Version Changes
1.1 Merged xelatex targetting templates with those targetting pdflatex
-?>
<?lsmb FILTER latex { format="$FORMAT($PROCESSOR)" };
# Uncomment the next line to overrule the value from System > Defaults;
# The value should be without the 'paper' suffix. E.g. "a4" for "a4paper"
# SETTINGS.papersize = "<your-format>";
INCLUDE "preamble.tex"; -?>
\begin{document}
\pagestyle{myheadings}
\thispagestyle{empty}
\ifpdftex
%% (pdf)latex
\fontfamily{cmss}\fontsize{10pt}{12pt}\selectfont
\fi
<?lsmb INCLUDE letterhead ?>
% Break old pagebreak directive
%<?xlsmb pagebreak 65 27 48 ?>
%\end{tabularx}
%
%\newpage
%
%\markboth{<?xlsmb company ?>\hfill <?xlsmb ordnumber ?>}{<?xlsmb company ?>\hfill <?xlsmb ordnumber ?>}
%
%\begin{tabularx}{\textwidth}{@{}rlXrll@{}}
% \textbf{Item} & \textbf{Number} & \textbf{Description} & \textbf{Qt'y} &
% & \textbf{Serial Number} \\
%<?xlsmb end pagebreak ?>
\vspace*{0.5cm}
\parbox[t]{.5\textwidth}{
\textbf{To}
\vspace{0.3cm}
<?lsmb name ?>
<?lsmb address1 ?>
<?lsmb address2 ?>
<?lsmb city ?>
<?lsmb IF state ?>
\hspace{-0.1cm}, <?lsmb state ?>
<?lsmb END ?>
<?lsmb zipcode ?>
<?lsmb country ?>
\vspace{0.3cm}
<?lsmb IF contact ?>
<?lsmb contact ?>
\vspace{0.2cm}
<?lsmb END ?>
<?lsmb IF customerphone ?>
<?lsmb text('Tel: [_1]', customerphone) ?>
<?lsmb END ?>
<?lsmb IF customerfax ?>
<?lsmb text('Fax: [_1]', customerfax) ?>
<?lsmb END ?>
<?lsmb email ?>
}
\parbox[t]{.5\textwidth}{
\textbf{Ship To}
\vspace{0.3cm}
<?lsmb shiptoname ?>
<?lsmb shiptoaddress1 ?>
<?lsmb shiptoaddress2 ?>
<?lsmb shiptocity ?>
<?lsmb IF shiptostate ?>
\hspace{-0.1cm}, <?lsmb shiptostate ?>
<?lsmb END ?>
<?lsmb shiptozipcode ?>
<?lsmb shiptocountry ?>
\vspace{0.3cm}
<?lsmb IF shiptocontact ?>
<?lsmb shiptocontact ?>
\vspace{0.2cm}
<?lsmb END ?>
<?lsmb IF shiptophone ?>
<?lsmb text('Tel: [_1]', shiptophone) ?>
<?lsmb END ?>
<?lsmb IF shiptofax ?>
<?lsmb text('Fax: [_1]', shiptofax) ?>
<?lsmb END ?>
<?lsmb shiptoemail ?>
}
\hfill
\vspace{1cm}
\textbf{\MakeUppercase{<?lsmb text('Work Order') ?>}}
\hfill
\vspace{1cm}
\begin{tabularx}{\textwidth}{*{6}{|X}|} \hline
\textbf{Order \#} & \textbf{Order Date} & \textbf{Required by} & \textbf{Salesperson} & \textbf{Shipping Point} & \textbf{Ship Via} \\ [0.5em]
\hline
<?lsmb ordnumber ?> & <?lsmb orddate ?> & <?lsmb reqdate ?> & <?lsmb employee ?> & <?lsmb shippingpoint ?> & <?lsmb shipvia ?> \\
\hline
\end{tabularx}
\vspace{1cm}
\begin{longtable}{@{\extracolsep{\fill}}rllrll@{}}
\textbf{<?lsmb text('Item') ?>} & \textbf{<?lsmb text('Number') ?>}
& \textbf{<?lsmb text('Description') ?>} & \textbf{<?lsmb text('Qty') ?>} &
& \textbf{<?lsmb text('Serial Number') ?>} \\
<?lsmb FOREACH number ?>
<?lsmb lc = loop.index ?>
<?lsmb runningnumber.${lc} ?> &
<?lsmb number.${lc} ?> &
<?lsmb item_description.${lc} ?> &
<?lsmb qty.${lc} ?> &
<?lsmb unit.${lc} ?> &
<?lsmb serialnumber.${lc} ?> \\
<?lsmb END ?>
\end{longtable}
\parbox{\textwidth}{
\rule{\textwidth}{2pt}
\vspace{12pt}
<?lsmb FOREACH P IN notes.split('\n\n+') ?>
<?lsmb P ?>\medskip
<?lsmb END ?>
}
\vfill
\end{document}
<?lsmb END -?>