L'objectif de cet article est d'expliquer d'où viennent les informations affichées dans les modèles PDF, afin que vous puissiez les renseigner au bon endroit dans les objets Frisbii.
Ces explications vous permettent également de modifier la page Visualforce pour l'adapter à vos besoins.
Afin de garder juste les informations les plus pertinentes ici, vous ne trouverez pas de procédures qui permettent la mise en place, mais des liens vers des aides Salesforce ou d'autres articles de notre base de connaissances.
Nous vous recommandons la lecture de ces articles afin d'apporter des modifications :
Suite à la lecture de l'article Catalogue modèle PDF Facture : All inclusive portrait - Mise en place, jetons un oeil aux champs affichés sur le modèle PDF par section de la page Visualforce.
Les titres de cette partie reprennent les commentaires que vous trouverez dans la page Visualforce.
<!--Pied de page/ Footer-->
Cette partie est la première de la page Visualforce, grâce au CSS elle est quand même placée au bon endroit.
<!--Coordonnées de votre entreprise/ Your company's adress-->
Informations affichées | Champ Frisbii | Objet | Style | Condition |
Nom de votre entreprise | Nom de la raison sociale | Raison sociale | text-transform: uppercase; | n/a |
Rue - Siège social | Rue | Raison sociale | n/a | n/a |
Code postale - Siège social | Code postal | Raison sociale | n/a | n/a |
Ville - Siège social | Ville | Raison sociale | n/a | n/a |
<!--Contact de votre entreprise/ Your companies contact infos-->
Information affichées | Champ Frisbii | Objet | Style | Condition |
Numéro de téléphone | Téléphone | Raison sociale | n/a | Juste affiché si le champ est renseigné |
Numéro de télécopie | Télécopie | Raison sociale | n/a | Juste affiché si le champ est renseigné |
Adresse Email | Raison sociale | n/a | n/a | |
Site d'internet de l'entreprise | Site web | Raison sociale | n/a | n/a |
<!--Mentions légales/ Legal notice-->
Information affichées | Champ Frisbii | Objet | Style | Condition |
Forme juridique | Forme juridique | Raison sociale | n/a | n/a |
Capital social | Capital social | Raison sociale | n/a | n/a |
Ville RCS | Ville RCS | Raison sociale | n/a | n/a |
Numéro SIREN | SIREN | Raison sociale | n/a | n/a |
Code APE | APE | Raison sociale | n/a | n/a |
TVA intracommunautaire | TVA intracommunautaire | Raison sociale | n/a | n/a |
<!--Référence de la Facture - Logo/ Invoice Number - Logo-->
Cette partie représente l'en-tête qui est affichée sur la première page et la page suivante.
Information affichées | Champ Frisbii | Objet | Style | Condition |
Type de la facture | Type | Facture | text-transform: uppercase; | n/a |
Mention Proforma | Sofacto_Proforma | Etiquette personnalisée | text-transform: uppercase; |
|
Référence de la facture | Référence | Facture | color:#696969; |
|
Nom de la facture | Name | Facture | color:#696969; |
|
Sous-type Avoir | Sous-type | Facture | font-size:13px |
|
Date d'émission | Sofacto_DateEmission | Etiquette personnalisée | {0,date,dd'/'MM'/'yyyy} |
|
Date de livraison | Sofacto_DateLivraison | Etiquette personnalisée | {0,date,dd'/'MM'/'yyyy} |
|
Numéro compte client | Numéro du compte | Compte | n/a |
|
Numéro de commande | Sofacto_NumeroCommande | Etiquette personnalisée | n/a | n/a |
Numéro de la facture initiale | Facture initiale | Facture | n/a |
|
Logo d'entreprise | Logo | Raison sociale | float:right; |
> en haut à droite sur l'onglet Raisons sociales. |
<!--Adresse de facturation du client sans adresse expedition/ Billing address without shipping address-->
Cette partie s'affiche seulement s'il n'y a pas d'adresse d'expédition renseignée sur le compte.
Information affichées | Champ Frisbii | Objet | Style | Condition |
Adresse de facturation | Sofacto_Adresse1 | Etiquette personnalisée | text-transform: uppercase; | n/a |
Nom de l'entreprise (client) | Nom du compte | Compte | text-transform: uppercase; | n/a |
Nom du contact | Sofacto_Adresse2 | Etiquette personnalisée | n/a |
|
Rue de facturation | Rue de facturation | Compte | n/a | n/a |
Code postal de facturation | Code postal de facturation | Compte | n/a | n/a |
Ville de facturation | Ville de facturation | Compte | n/a | n/a |
Pays de facturation | Pays de facturation | Compte | n/a | n/a |
<!--Adresse de facturation du client avec adresse expedition/ Billing address with shipping address-->
Cette partie s'affiche seulement, s'il y a une adresse d'expédition renseignée sur le compte.
<!--Adresse d'expedition/ Shipping Address-->
Information affichées | Champ Frisbii | Objet | Style | Condition |
Adresse d'expédition | Sofacto_Adresse3 | Etiquette personnalisée | text-transform: uppercase; | n/a |
Nom de l'entreprise (client) | Nom du compte | Compte | text-transform: uppercase; | n/a |
Nom du contact | Sofacto_Adresse2 | Etiquette personnalisée | n/a |
|
Rue d'expédition | Rue d'expédition | Compte | n/a | n/a |
Code postal d'expédition | Code postal d'expédition | Compte | n/a | n/a |
Ville d'expédition | Ville d'expédition | Compte | n/a | n/a |
Pays d'expédition | Pays d'expédition | Compte | n/a | n/a |
<!-- Adresse de facturation/ Billing address -->
Information affichées | Champ Frisbii | Objet | Style | Condition |
Adresse de facturation | Sofacto_Adresse1 | Etiquette personnalisée | text-transform: uppercase; | n/a |
Nom de l'entreprise (client) | Nom du compte | Compte | text-transform: uppercase; | n/a |
Nom du contact | Sofacto_Adresse2 | Etiquette personnalisée | n/a |
|
Rue de facturation | Rue de facturation | Compte | n/a | n/a |
Code postal de facturation | Code postal de facturation | Compte | n/a | n/a |
Ville de facturation | Ville de facturation | Compte | n/a | n/a |
Pays de facturation | Pays de facturation | Compte | n/a | n/a |
<!--Objet de la facture - Commentaire supplémentaire / Invoice Subject - Additional Comments-->
Information affichées | Champ Frisbii | Objet | Style | Condition |
Objet de la facture | Objet | Facture | font-size:15px |
|
Commentaires supplémentaires | Commentaires | Facture | n/a |
|
<!--Tableau de facturation/ Invoice Table -->
Il y a un saut de page intégré dans ce tableau si une certaine limite de lignes est dépassée.
Il y a deux conditions différentes qui sont mises en place à plusieurs endroits :
a) Condition sur le nombre de lignes rapportées sur la deuxième page
Tableau de facturation deuxième page
b) Condition sur le saut de page et l'affichage du bas de la facture
Important : Afin de calculer le nombre de lignes dans le code de la page Visualforce, il est impératif de renseigner le champ Ordre sur les lignes de facture.
Remarque : Veuillez tester, avant la mise en production de ce modèle, à partir de combien de lignes vous voulez insérer le saut de page. Selon la longueur de la description, le nombre de lignes qui rentrent sur une page peut varier. Nous vous conseillons de tester vos "cas extrêmes" pour identifier le nombre de lignes qui correspond à votre besoin.
<!-- Ligne entête produits/ Table header -->
Information affichées | Champ Frisbii | Objet | Style | Condition |
Désignation | Désignation | Ligne de facture | border-left: hidden; | n/a |
Prix unitaire | Sofacto_PrixUnitaire | Etiquette personnalisé | border-left: hidden; | n/a |
Quantité | Sofacto_Quantite | Etiquette personnalisée | border-left: hidden; | n/a |
Taux de remise | Taux Remise | Ligne de facture | border-left: hidden; | n/a |
Montant de remise | Sofacto_Remise | Etiquette personnalisée | border-left: hidden; | n/a |
Jalon | Sofacto_Jalon | Etiquette personnalisée | border-left: hidden; | n/a |
Montant HT | Sofacto_HTLigne | Etiquette personnalisée | border-left: hidden; | n/a |
Taux de TVA | Sofacto_TauxTVA | Etiquette personnalisée | border-left: hidden; | n/a |
<!-- Pour chaque poste de facture/ For each Invoice Line Item -->
Rappel : Même si le champ n'est pas affiché sur le PDF de la facture, veuillez renseigner le champ Ordre sur chaque ligne de facture. Si vous ne renseignez pas ce champ, vous allez recevoir un message d'erreur lors de la création du PDF.
Si vous voulez modifier le nombre de lignes avant le saut de page, veillez à bien modifier le chiffre dans ce bout de code :
Attention : Notez le chiffre que vous avez mis dans cette condition, car il faut adapter ce chiffre à plusieurs endroits.
Il y a un autre mécanisme qui permet d'afficher la deuxième page et le bas de la facture en fonction du nombre de lignes de facture :
<apex:variable var="rowNum" value="{!rowNum + 1}" />
Grâce à la répétition de l'application du code Visualforce sur les lignes de facture (expliqué dans cet article : Modèle de facture - Explication de la Page Visualforce proposée par Frisbii sur GitHub, la variable rowNum qui est définie à la fin de cette partie est incrémentée. Elle permet d'utiliser le nombre de lignes pour l'affichage des autres parties de la facture.
Information affichées | Champ Frisbii | Objet | Style | Condition |
Désignation | Désignation | Ligne de facture | italique |
|
Description détaillée | Description détaillée | Ligne de facture | italique |
|
Prix unitaire | Prix unitaire HT | Ligne de facture | n/a | n/a |
Quantité | Quantité | Ligne de facture | n/a | n/a |
Taux de remise | Taux Remise | Ligne de facture | {0, number, ###.00}% |
|
Montant de remise | Montant Remise | Ligne de facture | n/a |
|
Jalon | Pourcentage | Ligne de facture | {0, number, ###.00}% |
|
HT | Montant HT | Ligne de facture | n/a | n/a |
Taux de TVA | TVA (%) | Ligne de facture | n/a | n/a |
<!-- Voir page suivante/ See next page -->
Cette partie est affichée à partir de six lignes de facture. Vous pouvez modifier ce chiffre en fonction de votre besoin dans ce bout de code :
Rappelez vous que notre tableau de facturation est reporté sur la deuxième page par défaut, s'il y a plus que 10 lignes de facture.
Actuellement le code considère que :
A partir de 6 lignes de facture, une deuxième page est nécessaire pour afficher les coordonnées bancaires et le tableau de remise ainsi que le tableau de répartition de TVA, et
A partir de 10 lignes de facture, il est nécessaire de répartir le tableau de facturation également sur la deuxième page.
Information affichées | Champ Frisbii | Objet | Style | Condition |
Voir prochaine page | Sofacto_ProchainPage | Etiquette personnalisée | n/a |
|
<!--Bas de facture/ Invoice Bottom-->
Cette partie est affichée sur la deuxième page de la facture à partir de 6 lignes de facture. Si vous voulez modifier ce fonctionnement, veuillez modifier le chiffre dans ce bout de code :
Veillez à rester cohérent dans les chiffres que vous indiquez pour cette variable aux différents endroits de la page Visualforce. Elle doit être la même que celle du saut de page et de la ligne qui indique la page suivante.
<!--Tableau Répartition TVA/ VAT Distribution Table -->
Information affichées | Champ Frisbii | Objet | Style | Condition |
Répartition TVA | Sofacto_TVA2 | Etiquette personnalisée | border-left: hidden; | n/a |
Taux TVA | Sofacto_TauxTVA | Etiquette personnalisé | border-left: hidden; | n/a |
Montant TVA | Sofacto_TVA | Etiquette personnalisée | border-left: hidden; | n/a |
<!--TVA 20%/ VAT 20%-->
Information affichées | Champ Frisbii | Objet | Style | Condition |
20% | En dur | n/a | n/a | TotalTVA20__c > 0 |
Taux de TVA | Total TVA 20% | Facture | n/a | TotalTVA20__c > 0 |
<!--TVA 10%/ VAT 10%-->
Information affichées | Champ Frisbii | Objet | Style | Condition |
10% | En dur | n/a | n/a | TotalTVA10__c > 0 |
Taux de TVA | Total TVA 10% | Facture | n/a | TotalTVA10__c > 0 |
<!--TVA 5,5%/ VAT 5,5%-->
Information affichées | Champ Frisbii | Objet | Style | Condition |
5,5% | En dur | n/a | n/a | TotalTVA55__c > 0 |
Taux de TVA | Total TVA 5,5% | Facture | n/a | TotalTVA55__c > 0 |
Remarque : Si vous voulez afficher dans le tableau Répartition TVA d'autres taux de TVA, créez les champs formule en fonction de votre besoin selon le modèle Total TVA 20% expliqué en haut de cet article.
Ensuite, il faut ajouter une autre ligne dans le tableau dans la page Visualforce.
Vous pouvez copier ce bout de code, modifier en mettant le nom du champ dans les parties marquées en jaune et le coller en-dessous du dernier </tr> de cette partie <!--TVA 5,5%/ VAT 5,5%--> :
<!--Tableau de Remise / Table of Discounts-->
Ce tableau permet d'afficher la remise de bas de page, si le Montant remise est plus élevé que 0,00€ sur la facture.
En-tête de tableau
Information affichées | Champ Frisbii | Objet | Style | Condition |
Remise bas de page | Sofacto_RemiseBasPage | Etiquette personnalisée | font-size:10px; |
|
Raison de la remise | Raison de la remise | Facture | font-size:10px; |
|
Taux de remise | Taux Remise | Facture | font-size:10px; | n/a |
Montant de remise | Sofacto_Remise | Étiquette personnalisée | font-size:10px; | n/a |
Corps de tableau
Information affichées | Champ Frisbii | Objet | Style | Condition |
Raison de la remise | Raison de la remise | Facture | n/a |
|
Taux de remise | Taux Remise | Facture | {0, number, ###.00}% | n/a |
Montant de remise | Montant remise | Facture | n/a | n/a |
<!--Net à payer/ Balance due-->
Information affichées | Champ Frisbii | Objet | Style | Condition |
Net à payer | Sofacto_TTC | Facture | font-size:10px | n/a |
Montant TTC | Total TTC | Facture | color:#696969; | n/a |
<!--Conditions particulières/ Special Conditions-->
Information affichées | Champ Frisbii | Objet | Style | Condition |
Conditions Particulières | Conditions Particulières | Facture | font-size:10px; |
|
<!--Pénalités en cas de retard/ Penalties in case of delay-->
Information affichées | Champ Frisbii | Objet | Style | Condition |
Pénalités en cas de retard | Pénalités en cas de retard | Raison Sociale | font-size:10px; |
|
<!--Indices/ Indexes-->
Information affichées | Champ Frisbii | Objet | Style | Condition |
Prix révisé selon la formule P1 = P0 x (S1 / S0) | Sofacto_Indices | Etiquette personnalisée | n/a |
|
S0 = indice (Nom d'indice) | Nom d'indice | Indice | n/a | n/a |
Date pour indice de référence | Date pour indice de référence | Abonnement | n/a | n/a |
Coefficient indice de référence | Coefficient indice de référence | Abonnement | n/a | n/a |
S1 = indice (Nom d'indice) | Nom d'indice | Indice | n/a | n/a |
Date pour indice | Date pour indice | Facture | n/a | n/a |
Coefficient indice à date | Coefficient indice à date | Facture | n/a | n/a |
<!--Coordonnées bancaires/ Bank Information-->
Ce tableau est affiché si vous avez coché la case Afficher les coordonnées bancaires sur la facture et si des coordonnées bancaires sont renseignées dans le champ Autres coordonnées bancaires sur la facture ou, à défaut, dans le champ Coordonnées bancaires par défaut sur la Raison Sociale.
Information affichées | Champ Frisbii | Objet | Style | Condition |
Date d'échéance | Echéance | Facture | font-size:9px; | n/a |
Mode de paiement | Mode de paiement | Facture | font-size:9px; | n/a |
Délai de paiement | Délai de paiement | Facture | font-size:9px; | n/a |
Nom de la banque | Banque | Coordonnées bancaires | font-size:9px; | n/a |
IBAN | IBAN | Coordonnées bancaires | font-size:9px; | n/a |
BIC | BIC | Coordonnées bancaires | font-size:9px; | n/a |
<!--Saut de page 2-->
La condition du saut de page est liée au nombre de lignes du tableau de facturation.
C'est pourquoi il faut également modifier cette condition si vous voulez adapter le nombre de lignes maximal à votre besoin.
Mettez à jour la condition du saut de page qui se trouve ici :
Attention : Le chiffre est le même que vous avez mis sur la condition d'affichage du bas de tableau et la condition de la ligne qui indique la page suivante, et non pas ce que vous avez indiqué dans le tableau de facturation.
Les parties qui sont reprises comme en-tête sur la deuxième page :
Information affichées | Champ Frisbii | Objet | Style | Condition |
Type de la facture | Type | Facture | text-transform: uppercase; | n/a |
Mention Proforma | Sofacto_Proforma | Etiquette personnalisée | text-transform: uppercase; |
|
Référence de la facture | Référence | Facture | color:#696969; |
|
Nom de la facture | Name | Facture | color:#696969; |
|
Sous-type Avoir | Sous-type | Facture | font-size:13px |
|
Date d'émission | Sofacto_DateEmission | Etiquette personnalisée | {0,date,dd'/'MM'/'yyyy} |
|
Numéro compte client | Numéro du compte | Compte | n/a |
|
Numéro de commande | Sofacto_NumeroCommande | Etiquette personnalisée | n/a | n/a |
Numéro de la facture initiale | Facture initiale | Facture | n/a |
|
Logo d'entreprise | Logo | Raison sociale | float:right; |
> en haut à droite sur l'onglet Raisons sociales. |
<!--Tableau de facturation page 2/ Invoice Table 2nd page-->
Il y a deux conditions à prendre en compte pour ce tableau. Une condition doit être mise sur l'en-tête du tableau, puisqu'il y a la possibilité que la deuxième page s'affiche juste avec les bas de page de la facture et non pas pour afficher la deuxième du tableau (s'il n'y a pas assez de lignes).
Cette condition se trouve dans le <tr> de la ligne pour l'en-tête du tableau :
Il faut mettre le même chiffre que dans le tableau de facturation de la première page.
Ensuite, il faut répéter cette modification pour le corps du tableau de la facture.
Enfin, tout le bas de la facture est repris de la première page :
<!--////////////////////////////////// Page 3//////////////////////////////////-->
D'abord, l'en-tête de la deuxième page est repris sur la troisième page également.
Elle s'affichera seulement si la case Afficher Echéancier de règlement sur la facture est cochée.
<!-- Echéancier/ Payment Plan -->
L'échéancier de règlement s'affiche seulement dans le cas où vous avez configuré les prérequis en suivant ces articles :
Ensuite, ces colonnes sont affichées dans le tableau de la troisième page :
Date de règlement
Montant HT
Montant TVA
Montant TTC
Ajoutez des champs à l'Echéancier de règlement.
Si vous voulez afficher plus de champs qui se trouvent sur l'objet Règlement, vous pouvez copier par exemple ce <td> pour l'en-tête :
{!$ObjectType.sofactoapp__R_glement__c.Fields.sofactoapp__Montant__c.Label}
et le copier juste en-dessus (Attention au </tr> !).
Ensuite, il faut changer le nom API du champ pour le nom API du nouveau champ.
La même modification reste à faire pour le corps du tableau :
D'abord, il faut copier ce code :
et le coller juste en-dessus (Attention au </tr> !).
Ensuite, il faut changer le nom API du champ pour le nom API du nouveau champ.