Files
domokits/templates/pdf/default2020/invoice.html

375 lines
14 KiB
HTML

{*************************************************************************************/
/* This file is part of the Thelia package. */
/* */
/* Copyright (c) OpenStudio */
/* email : dev@thelia.net */
/* web : http://www.thelia.net */
/* */
/* For the full copyright and license information, please view the LICENSE.txt */
/* file that was distributed with this source code. */
/*************************************************************************************}
{* Set the default translation domain, that will be used by {intl} when the 'd' parameter is not set *}
{default_translation_domain domain='pdf.default2020'}
{literal}
<style>
h1, h2, h3, h4 {
color:#f6993c;
margin: .5em 0;
}
h1 {
font-size: 48px;
}
h2 {
font-size: 16px;
}
h3 {
font-size: 14px;
}
h4 {
color:#58585a;
font-size: 12px;
}
p, td {
color:#58585a;
font-size: 9px;
}
p {
margin: .5em 0;
}
span {
font-size: 9px;
}
table {
border-collapse: collapse;
width: 100%;
}
tr {
width: 100%;
}
td {
vertical-align: top;
}
.table-info h3 {
font-size: 18px;
color: #58585a;
margin-top: 0;
margin-bottom: 15px;
}
.table-info h3 span {
font-size: 18px;
color: #f6993c;
}
.table-1 td {
background: #f1f3f4;
border:solid 1px #bcbdc0;
}
.table-2 td {
border:solid 1px #bcbdc0;
}
.table-3-1, .table-3-2 {
border: solid 1px #bcbdc0;
}
.table-3-1 p {
font-size: 10px;
}
.table-3-2 p {
font-size: 9px;
color: #747475;
}
.table-3-module h3 {
margin-top: 1.5em;
}
.table-3-module span {
font-size: 11px;
}
.align-left {
text-align: left;
}
.align-center {
text-align: center;
}
.align-right{
text-align: right;
}
.clear {
padding: 0.5%;
border-bottom:solid 1px #dddddd;
}
.clear-none {
padding: 0.5%;
}
{hook name="invoice.css"}
</style>
{/literal}
<page backtop="10mm" backleft="10mm" backright="10mm" backbottom="10mm">
<page_header>
{hook name="invoice.header" order=$order_id}
</page_header>
<page_footer>
{hook name="invoice.footer-top" order=$order_id}
<table>
<col style="width: 80%; padding: 1mm; border: none; text-align: left;" />
<col style="width: 20%; padding: 1mm; border: none; text-align: right;" />
<tbody>
<tr>
<td>
{hook name="invoice.imprint" order=$order_id}
{elsehook rel="invoice.imprint"}
<!-- Imprint -->
{config key="store_name"}
{$addresses="{config key="store_address1"} {config key="store_address2"} {config key="store_address3"}"}
{$city="{config key="store_zipcode"} {config key="store_city"}"}
{if $addresses != " "}- {$addresses}{/if}
{if $city != " " }- {$city}{/if}
{if {config key="store_country"} }
{loop type="country" visible="*" name="address.country.title" id={config key="store_country"}} - {$TITLE}{/loop}
{/if}
{if {config key="store_business_id"} }
- {config key="store_business_id"}
{/if}
<br>
{if {config key="store_phone"} }
{intl l="Phone: "}{config key="store_phone"}
{/if}
{if {config key="store_email"} }
{intl l="Email: "}{config key="store_email"}
{/if}
{/elsehook}
</td>
<td>{intl l="page"} [[page_cu]]/[[page_nb]]</td>
</tr>
</tbody>
</table>
{hook name="invoice.footer-bottom" order=$order_id}
</page_footer>
<img src="{image file="assets/img/logo.png"}" style="height:60px;margin:30px">
{$taxes = []}
{loop name="order.invoice" type="order" id=$order_id customer="*"}
<table class="table-info">
<col style="width: 100%; padding: 0mm;" />
<tr>
<td>
<h1>{intl l="INVOICE"}</h1>
</td>
</tr>
<tr>
<td><h3>{intl l="Invoice date"} : <span>{format_date date=$INVOICE_DATE output="date"}</span></h3></td>
</tr>
<tr>
<td><h3>{intl l="Invoice REF"} : <span>{if $INVOICE_REF == null}{$REF}{else}{$INVOICE_REF}{/if}</span></h3></td>
</tr>
<tr>
<td><h3>{intl l="Customer Number"} : <span>{loop type="customer" name="customer.invoice" id=$CUSTOMER current="0"}{$REF}{/loop}</span></h3></td>
</tr>
{hookblock name="invoice.information" order=$order_id fields="title,value"}
{forhook rel="invoice.information"}
<tr>
<td><h3>{$title} : <span>{$value}</span></h3></td>
</tr>
{/forhook}
{/hookblock}
</table>
{hook name="invoice.after-information" order=$order_id}
<table class="table-address">
<col style="width: 50%; padding: 3mm;" />
<col style="padding: 3mm;" />
<tr>
<td style="border-left: solid 1mm #f6993c;" >
<h3>{intl l="Delivery address"}</h3>
{ifhook rel="invoice.delivery-address"}
{* delivery module can customize the delivery address *}
{hook name="invoice.delivery-address" module={$DELIVERY_MODULE} order=$order_id}
{/ifhook}
{elsehook rel="invoice.delivery-address"}
{format_address order_address=$DELIVERY_ADDRESS locale=$locale}
{/elsehook}
</td>
<td style="border-left: solid 1mm #f6993c;">
<h3>{intl l="Invoice address"}</h3>
{format_address order_address=$INVOICE_ADDRESS locale=$locale}
</td>
</tr>
</table>
{hook name="invoice.after-addresses" order=$order_id}
<table cellspacing="0" cellpadding="0" style="padding-top: 5mm;">
<col style="width: 40%; padding: 1mm;" />
<col style="width: 12%; padding: 1mm;" />
<col style="width: 12%; padding: 1mm;" />
<col style="width: 12%; padding: 1mm;" />
<col style="width: 12%; padding: 1mm;" />
<col style="width: 12%; padding: 1mm;" />
<tr class="table-1">
<td><h4>{intl l="Product"}</h4></td>
<td><h4 class="align-center">{intl l="Unit. price"}</h4></td>
<td><h4 class="align-center">{intl l="Tax"}</h4></td>
<td><h4 class="align-center">{intl l="Unit taxed price"}</h4></td>
<td><h4 class="align-center">{intl l="Quantity"}</h4></td>
<td style="background:#f6993c"><h4 style="color:white;" class="align-center">{intl l="Taxed total"}</h4></td>
</tr>
{loop type="order_product" name="order-products" order=$ID}
{if $WAS_IN_PROMO == 1}
{assign "realPrice" $PROMO_PRICE}
{assign "realTax" $PROMO_PRICE_TAX}
{assign "realTaxedPrice" $TAXED_PROMO_PRICE}
{assign "realTotalPrice" $TOTAL_TAXED_PROMO_PRICE}
{else}
{assign "realPrice" $PRICE}
{assign "realTax" $PRICE_TAX}
{assign "realTaxedPrice" $TAXED_PRICE}
{assign "realTotalPrice" $TOTAL_TAXED_PRICE}
{/if}
{$taxes[{$TAX_RULE_TITLE}][] = $realTax * $QUANTITY}
<tr class="table-2">
<td>
<p>{$TITLE}</p>
<p>
{intl l="Product ref : "}{$REF}<br>
{intl l="Combination ref : "}{$PRODUCT_SALE_ELEMENTS_REF}
</p>
{ifloop rel="combinations"}
{loop type="order_product_attribute_combination" name="combinations" order_product=$ID}
{$ATTRIBUTE_TITLE} - {$ATTRIBUTE_AVAILABILITY_TITLE}<br>
{/loop}
{/ifloop}
{hook name="invoice.product-list" order_product=$ID order=$order_id}
</td>
<td><p class="align-right">{format_money number=$realPrice currency_id=$CURRENCY}</p></td>
<td><p class="align-right">{format_money number=$realTax currency_id=$CURRENCY}</p></td>
<td><p class="align-right">{format_money number=$realTaxedPrice currency_id=$CURRENCY}</p></td>
<td><p class="align-center">{$QUANTITY}</p></td>
<td><p class="align-right">{format_money number=$realTotalPrice currency_id=$CURRENCY}</p></td>
</tr>
{hook name="invoice.order-product" order="{$order_id}" order_product="{$ID}"}
{/loop}
</table>
{hook name="invoice.after-products" order=$order_id}
<table cellspacing="0" cellpadding="0" style="padding-top: 5mm;">
<col style="width: 60%; padding: 1mm;" />
<col style="width: 40%; padding: 1mm;" />
<tr>
<td class="table-3-module">
<h3>Commentaire de commande</h3>
<p>
<span>{loop name="admin-comment" type="admin_comment" element_key="order" element_id={$order_id}}{$COMMENT}{/loop}</span>
</p>
<br />
<h3>{intl l="Payment module"}</h3>
<p>
<span>{loop name="payment-module" type="module" id=$PAYMENT_MODULE}{$TITLE}{/loop}</span>
</p>
{hook name="invoice.after-payment-module" order=$order_id module_id=$PAYMENT_MODULE}
<h3>{intl l="Delivery module"}</h3>
<p>
<span>{loop name="delivery-module" type="module" id=$DELIVERY_MODULE}{$TITLE}{/loop}</span>
</p>
{hook name="invoice.after-delivery-module" order=$order_id module_id=$DELIVERY_MODULE}
</td>
<td>
<table class="table-3">
<col style="width: 50%; padding: 1mm;">
<col style="width: 50%; padding: 1mm;">
{if $DISCOUNT}
<tr>
<td class="table-3-1"><p>{intl l="Discount"}</p></td>
<td class="table-3-1 align-right"><p>{format_money number=$DISCOUNT currency_id=$CURRENCY}</p></td>
</tr>
{/if}
<tr>
<td class="table-3-1"><p>{intl l="Total without tax"}</p></td>
<td class="table-3-1 align-right"><p>{format_money number={$TOTAL_AMOUNT - $POSTAGE_UNTAXED} currency_id=$CURRENCY}</p></td>
</tr>
<tr>
<td class="table-3-1"><p>{intl l="Postage"}</p></td>
<td class="table-3-1 align-right"><p>{format_money number=$POSTAGE currency_id=$CURRENCY}</p></td>
</tr>
{strip}
{capture name="tax"}
{foreach $taxes as $name=>$prices}
{assign var="_price_taxe_" value="0"}
{foreach $prices as $price}
{$_price_taxe_= $_price_taxe_ + $price}
{/foreach}
<!-- TheCoreDev le 03/05/2020 : on affiche la taxe, même si nulle -->
<!-- {if $_price_taxe_ != 0}-->
<tr>
<td class="table-3-2"><p>{$name}</p></td>
<td class="table-3-2 align-right"><p>{format_money number=$_price_taxe_ currency_id=$CURRENCY}</p></td>
</tr>
<!-- {/if}-->
{/foreach}
{if $POSTAGE_TAX != 0}
<tr>
<td class="table-3-2"><p>{intl l="Postage"}<br>{$POSTAGE_TAX_RULE_TITLE}</p></td>
<td class="table-3-2 align-right"><p>{format_money number=$POSTAGE_TAX currency_id=$CURRENCY}</p></td>
</tr>
{/if}
{/capture}
{/strip}
{if $smarty.capture.tax ne ""}
<tr>
<td class="table-3-1"><p>{intl l="Total taxes"}</p></td>
<td class="table-3-1 align-right"><p>{format_money number=$TOTAL_TAX currency_id=$CURRENCY}</p></td>
</tr>
{$smarty.capture.tax nofilter}
{/if}
<tr>
<td class="table-3-1"><p>{intl l="Total with tax"}</p></td>
<td class="table-3-1 align-right"><p>{format_money number={$TOTAL_TAXED_AMOUNT - $POSTAGE} currency_id=$CURRENCY}</p></td>
</tr>
<tr>
<td class="table-3-1" style="background:#f6993c;"><h3 style="color:white;">{intl l="Total"}</h3></td>
<td class="table-3-1 align-right" style="background:#f6993c;"><h3 style="color:white;">{format_money number=$TOTAL_TAXED_AMOUNT currency_id=$CURRENCY}</h3></td>
</tr>
</table>
</td>
</tr>
</table>
{hook name="invoice.after-summary" order=$order_id}
{/loop}
</page>