templates/billing/invoice.html.twig line 1

Open in your IDE?
  1. <!doctype html>
  2. <html lang="fr">
  3. <head>
  4.     <meta charset="utf-8">
  5.     <title>Facture FA-{{ invoice.number }}</title>
  6.     <link rel="stylesheet" type="text/css" href="{{ publicDir ~ 'css/pdf_styles.css' }}">
  7. </head>
  8. <body>
  9. <header>
  10.     <table>
  11.         <tr>
  12.             <td class="w-50 pr-5">
  13.                 <img src="{{ publicDir ~ 'img/logo.png' }}" width="200px" alt="">
  14.                 <h4 class="pt-4">KOAH - DIGIDOM - GROUPE PARAJURIS</h4>
  15.             </td>
  16.             <td class="w-50 pl-5 mt-5">
  17.                 <div>
  18.                     <strong>FACTURE FA-{{ invoice.number }}</strong>
  19.                     <div>En date du {{ invoice.createdAt|date('d/m/Y') }}</div>
  20.                     <div>{% if invoice.organization.vatID != "" %}TVA Intracommunautaire: {{ invoice.organization.vatID }}{% endif %}</div>
  21.                 </div>
  22.                 {% if invoice.organization.legalName is empty %}
  23.                     <h5 class="pt-3">{{ companyName }}</h5>
  24.                     <spam>(société en cours de création)</spam>
  25.                 {% else %}
  26.                     <h5 class="pt-3">{{ invoice.organization.legalName }}</h5>
  27.                 {% endif %}
  28.                 {% if invoice.organization.address %}
  29.                     <div>
  30.                         {{ invoice.organization.address.streetAddress }}<br>
  31.                         {{ invoice.organization.address.postalCode }}<br>
  32.                         {{ invoice.organization.address.addressLocality }}<br>
  33.                         {{ invoice.organization.address.CountryTranslation|upper }}<br><br>
  34.                         {% if invoice.organization.SIRET is not null %}
  35.                             SIREN : {{ invoice.organization.SIRET }}
  36.                         {% endif %}
  37.                     </div>
  38.                 {% endif %}
  39.             </td>
  40.         </tr>
  41.     </table>
  42. </header>
  43. <main>
  44.     <div class="clearfix float-none">
  45.         <div class="py-4" >
  46.             <span style="font-size: 20px">Objet : {{ invoice.object }}</span><br>
  47.             <span style="font-size: 15px">Facture de prestation de services</span>
  48.         </div>
  49.     </div>
  50.     <table class="w-100 pt-2">
  51.         <thead>
  52.         <tr>
  53.             <th class="name">Produit</th>
  54.             <th class="text-center">PU HT</th>
  55.             <th class="text-center">Quantité</th>
  56.             {% if isDisplayDiscount == true %}
  57.                 <th class="text-center">Réduction</th>
  58.             {% endif %}
  59.             <th class="text-center">Montant HT</th>
  60.         </tr>
  61.         </thead>
  62.         <tbody>
  63.         {% for item in items %}
  64.             {% if item.product is not null %}
  65.                 <tr>
  66.                     <td class="name">
  67.                         <strong>{{ item.product.name }}</strong>
  68.                         <br>
  69.                         {% if discountName != "" and discountCode > 0 and isDisplayDiscountInvoice == false and item.discountWithoutTax > 0 %}
  70.                             <small>{{ discountLabel }} : {{ item.discountWithoutTax }} € de remise {{ discountCodeType == "PRODUCT_DISCOUNT" ? " " : "sur l'abonnement" }}</small>
  71.                             <br>
  72.                         {% endif %}
  73.                         <small>{{ item.description|raw }}</small>
  74.                     </td>
  75.                     <td class="text-center">{{ item.unitPriceWithoutTax|number_format(2) }}</td>
  76.                     <td class="text-center">{{ item.quantity }}</td>
  77.                     {% if isDisplayDiscount == true %}
  78.                         <td class="text-center">{{ item.discountWithoutTax }}</td>
  79.                     {% endif %}
  80.                     <td class="text-center">
  81.                         {{ max(((item.unitPriceWithoutTax * item.quantity) - item.discountWithoutTax)|number_format(2), 0) }}
  82.                     </td>
  83.                     {#<td class="tva">{{ (item.unitPriceWithoutTax * item.quantity * invoice.VATRate/100)|number_format(2) }} comment</td>#}
  84.                 </tr>
  85.             {% endif %}
  86.         {% endfor %}
  87.         </tbody>
  88.     </table>
  89.     {% if discountCode != 0 and isDisplayDiscountInvoice == true %}
  90.         <div class="clearfix float-none">
  91.             <p class="py-4">
  92.                 Code promo {{ discountName }} utilisé ( {{ discountCode|number_format(2) }} € )
  93.             </p>
  94.         </div>
  95.     {% endif %}
  96.     <table class="mt-5 w-100">
  97.         <tr>
  98.             <td class="w-50">
  99.                 <div class="p-2 d-none border border-secondary">
  100.                     Notes :<br>
  101.                     Conditions de souscriptions :<br>
  102.                     <ul>
  103.                         <li>L'entretien seul sera facturé 100 euros déductible
  104.                             de la facture globale en cas d'acceptation du devis
  105.                         </li>
  106.                         <li>Paiement avant la rédaction/relecture des actes</li>
  107.                         <li>Remboursement de 50% de la somme en cas
  108.                             d'annulation de votre parts si les actes ont déjà été
  109.                             rédigés.
  110.                         </li>
  111.                     </ul>
  112.                 </div>
  113.             </td>
  114.             <td class="w-50 align-top">
  115.                 <table class="w-100">
  116.                     {% if discount_without_tax != 0 %}
  117.                         <tr>
  118.                             <td class="w-50 text-right font-weight-bold">Réduction HT</td>
  119.                             <td class="w-50 text-right font-weight-bold">{{ discount_without_tax|number_format(2) }} €
  120.                             </td>
  121.                         </tr>
  122.                     {% endif %}
  123.                     <tr>
  124.                         <td class="w-50 text-right font-weight-bold">Total net HT</td>
  125.                         <td class="w-50 text-right font-weight-bold">{{ subtotal_without_tax|number_format(2) }} €</td>
  126.                     </tr>
  127.                     {% if subtotal_vat != 0 %}
  128.                         <tr>
  129.                             <td class="w-50 text-right">TVA {{ invoice.VATRate|number_format(2) }}%</td>
  130.                             <td class="w-50 text-right">{{ subtotal_vat|number_format(2) }} €</td>
  131.                         </tr>
  132.                     {% endif %}
  133.                     <tr>
  134.                         <td class="w-50 text-right font-weight-bold">Montant total TTC</td>
  135.                         <td class="w-50 text-right font-weight-bold">{{ subtotal|number_format(2) }} €</td>
  136.                     </tr>
  137.                     {% if totalRefundedPayment > 0 %}
  138.                     <tr>
  139.                         <td class="w-50 text-right font-weight-bold">Remboursements</td>
  140.                         <td class="w-50 text-right font-weight-bold">{{ totalRefundedPayment|number_format(2) }} €</td>
  141.                     </tr>
  142.                     {% endif %}
  143.                     {% if invoice.creditNotes %}
  144.                         {% for credit in invoice.creditNotes %}
  145.                             <tr>
  146.                                 <td class="w-50 text-right">
  147.                                     <p class="my-4">
  148.                                         Avoir du {{ credit.createdAt|date('d/m/Y') }}
  149.                                         <br>
  150.                                         <em><small>AV-{{ credit.number }}</small></em>
  151.                                     </p>
  152.                                 </td>
  153.                                 <td class="w-50 text-right font-italic">
  154.                                     {{ credit.amount|number_format(2) }} €
  155.                                 </td>
  156.                             </tr>
  157.                         {% endfor %}
  158.                     {% endif %}
  159.                 </table>
  160.             </td>
  161.         </tr>
  162.     </table>
  163.     <table class="my-4 w-100">
  164.         <tr>
  165.             <td class="w-50"></td>
  166.             <td class="w-50">
  167.                 <strong class="d-none">Signature du client précédée de la mention 'Lu et approuvé, bon pour accord' :</strong>
  168.             </td>
  169.         </tr>
  170.     </table>
  171.     <div style="margin-top: 5%">
  172.         <div>
  173.             {% set paymentMethod = invoice.isDomiciliation ?
  174.                 'Prélèvement bancaire' :
  175.                 'Carte Bancaire, Virement bancaire, Prélèvement bancaire' %}
  176.             Moyen de règlement : {{ paymentMethod }}<br/><br/>
  177.             Banque : <span>BRED VINCENNES</span><br/>
  178.             <span style="margin-left: 76px">BIC : BREDFRPPXXX</span><br/>
  179.             <span style="margin-left: 76px">IBAN : FR76 1010 7002 2800 6220 5303 854</span>
  180.         </div>
  181.     </div>
  182.     <table class="mt-5">
  183.         <tr>
  184.             <td class="small">
  185.                 <h5>Conditions d’utilisation</h5>
  186.                 <small>
  187.                     En conformité de l’article L 441-6 du Code de commerce :<br>
  188.                     La facture est payable dès réception. Pas d’escompte pour paiement anticipé. Tout règlement effectué
  189.                     après expiration de ce délai donnera lieu, à titre de pénalité de retard, à
  190.                     l’application d’un intérêt égal à celui appliqué par la Banque Centrale Européenne à son opération
  191.                     de refinancement la plus récente, majoré de 10 points de pourcentage, ainsi qu'à une indemnité
  192.                     forfaitaire pour frais de recouvrement d'un montant de 40 Euros. Les pénalités de retard sont
  193.                     exigibles sans qu’un rappel soit nécessaire. <br>
  194.                     Informations concernant les droits d'exploitation : <br>
  195.                     Le prestataire ne cède que les droits d’exploitation de la création limités aux termes du présent
  196.                     document. Le prestataire reste propriétaire de l’intégralité des créations tant que la prestation
  197.                     n’est pas
  198.                     entièrement réglée. Toute utilisation sortant du cadre initialement prévu dans ce devis est
  199.                     interdite; sauf autorisation expresse et écrite du prestataire.
  200.                 </small>
  201.             </td>
  202.         </tr>
  203.     </table>
  204. </main>
  205. </body>
  206. </html>