Mapping des champs - Mise en place

Prev Next

L'objectif de cet article est de permettre la mise en place du modèle PDF proposé sur Github.

Veuillez lire et suivre cet article avec attention, car le respect des noms API est essentiel pour la sauvegarde de la Page Visualforce. 

Afin de garder uniquement les informations les plus pertinentes dans ces prérequis, 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.

Aperçu du modèle

Voici les spécificités de ce modèle PDF de facture.

Ce modèle PDF vous permet d'afficher les options suivantes :

  • Adresse de facturation + Adresse d'expédition


 

  • Colonnes supplémentaires sous condition : 

    • Taux de remise : Remise sur la ligne de facture.

    • Montant de remise : Montant de remise sur la ligne de facture.

    • Jalon : Pourcentage de la ligne, par exemple dans le cas d'une facture détaillée.

 

  • Tableaux sous conditions :

    • Répartition TVA : Cumul du montant de TVA selon le taux de TVA


 

  • Remise bas de page

  • Echéancier de règlement

En cochant la case Afficher Echéancier de règlement sur la facture, l'échéancier de règlement s'affichera sur la troisième page du modèle.  

  • CGV

 En ajoutant vos CGV comme image dans les ressources statiques, vous pouvez facilement les mettre en place dans ce modèle PDF.   



Afin de pouvoir enregistrer la page Visualforce, il faut d'abord mettre en place ces étiquettes personnalisées et les champs créés qui n'existaient pas encore dans le package Frisbii. 
Il est possible que ces champs soient disponibles dans une version future de Frisbii.

Étiquettes personnalisées à créer

Veuillez mettre en place ces étiquettes personnalisés et si besoin leur traduction.

Listes des étiquettes  

Description courte
Orthographe à respecter

Catégories

Valeur

Langue

Texte de traduction

Sofacto_Adresse1

PDF

Adresse de facturation

Anglais

Billing address

Sofacto_Adresse2

PDF

A l'attention de :

Anglais

C/O :

Sofacto_Adresse3

PDF

Adresse d'expédition

Anglais

Shipping address

Sofacto_DateEmission

PDF

Emise le

Anglais

Issued on the

Sofacto_DateLivraison

PDF

Livraison prévu pour le

Anglais

Shipping scheduled for 

Sofacto_EcheancierReglement

PDF

Echéancier de règlement

Anglais

Payment plan

Sofacto_HTLigne

PDF

HT

Anglais

Before Tax

Sofacto_Indices

PDF

Prix révisé selon la formule P1 = P0 x (S1 / S0)

Anglais

Price recalculated according to this formula P1 = P0 x (S1/S0)

Sofacto_Jalon

PDF

Jalon

Anglais

Proportion

Sofacto_NumeroCommande

PDF

Numéro de commande :

Anglais

Order Number:

Sofacto_PrixUnitaire

PDF

P.U.H.T.

Anglais

UPPrice

Sofacto_ProchainPage

PDF

Voir la prochaine page...

Anglais

See next page...

Sofacto_Proforma

PDF

Proforma

Anglais

Proforma

Sofacto_Quantite

PDF

QTÉ

Anglais

QTY

Sofacto_RaisonRemise

PDF

Raison

Anglais

Discount Description

Sofacto_Remise

PDF

Remise

Anglais

Discount

Sofacto_RemiseBasPage

PDF

Remise bas de page

Anglais

Discount applied after all other adjustments

Sofacto_TauxTVA

PDF

TVA

Anglais

VAT Rate

Sofacto_TTC

PDF

NET A PAYER TTC

Anglais

BALANCE DUE

Sofacto_TVA

PDF

TVA

Anglais

VAT

Sofacto_TVA2

PDF

Répartition TVA

Anglais

VAT Distribution

Sofacto_TVA3

PDF

HT

Anglais

Amount before Tax

Sofacto_TVA4

PDF

Montant TVA

Anglais

VAT Amount

Voici des articles qui vous expliquent la procédure de mise en place d'étiquettes :


Attention :

  • L'écriture de la Description courte est importante car si les noms ne correspondent pas, vous ne pouvez pas enregistrer la page Visualforce.

  • Toutes les autres valeurs de ce tableau sont des suggestions que vous pouvez personnaliser et adapter à votre besoin.

Champs à créer

Afin de mettre en place les champs suivants, veuillez suivre cette procédure Salesforce : Création de champs personnalisés.

Listes des champs

Objet

Type de champ

Étiquette de champ

Nom du champ
Orthographe à respecter

Détails

Critère de filtrage

Décimales

Facture

Case à cocher

Afficher montant remise

Afficher_montant_remise

./.

./.

./.

Facture

Case à cocher

Afficher Echéancier de règlement

Afficher_Echeancier_de_reglement__c

./.

 

 

Facture

Récapitulatif de cumul

Total TVA 10%

TotalTVA10

Ligne de Facture : Montant TVA
Type de récapitulatif : SUM

Taux de TVA ÉGAL À 10

./.

Facture

Récapitulatif de cumul

Total TVA 20%

TotalTVA20

Ligne de Facture : Montant TVA
Type de récapitulatif : SUM

Taux de TVA ÉGAL À 20

./.

Facture

Récapitulatif de cumul

Total TVA 5,5%

TotalTVA55

Ligne de Facture : Montant TVA
Type de récapitulatif : SUM

TVA (%) CONTIENT 5

./.

Règlement

Formule (Devise)

Montant HT

Montant_HT

sofactoapp__Montant__c /( 1+ TVA__c)

./.

2

Règlement

Formule (Devise)

Montant TVA

Montant_TVA

sofactoapp__Facture__r.sofactoapp__TVA_pc__c

./.

2

Il y a également cette unité Trailhead à votre disposition : Création de champs personnalisés​​​​​​.

Attention : Veillez à bien renseigner ces informations attentivement. L'écriture des Noms du champ est très importante, car vous ne pouvez pas enregistrer la page Visualforce si Salesforce ne reconnait pas les noms API des champs.

Remarque : N'oubliez pas d'afficher les cases à cocher Afficher Echéancier de règlement et Afficher montant remise sur la présentation de page de la facture, idéalement dans la section Présentation de la facture.

Comment mettre en place les CGV

Attention : Si vous ne voulez pas mettre en place les CGV, vous avez deux options :

1) Ajouter quand même la ressource statique, mais sans fichier.
2) Supprimer le code de la page Visualforce.
Si vous ne suivez pas une des deux options, vous n'allez pas pouvoir sauvegarder la page Visualforce.

Le code qui permet d'afficher les CGVs se trouve tout en bas de la page Visualforce :

<!--CGV/ Terms and Conditions-->

<div style="page-break-before:always;">
<apex:image value="{!URLFOR($Resource.CGV)}" style="left:0;top:0;width:98%"/>
</div>

<!--Fin code CGV/ End of terms and conditions-->

Si vous ne voulez pas utiliser les CGVs dans la facture, vous pouvez supprimer cette partie du code.

Attention/ Important : Si vous supprimez plus de code que cette partie, vous ne pouvez plus sauvegarder la page.

Mise en place dans les ressources statiques 

Si vous voulez mettre en place les CGVs sur la facture, veuillez ajouter une image de vos CGVs dans les ressources statiques. Sauvegardez cette ressource sous le nom : 

Sofacto_CGV.

Attention : L'orthographe est à respecter.

Voici la procédure Salesforce : Affichage et modification des ressources statiques.

Conseil pour l'image des CGVs :

  • Laissez le moins de marge possible.

  • Veillez à ce que la taille de police soit toujours lisible.

  • Coupez vos CGVs en plusieurs pages.

Remarque : Une fois mis en place, il faut réaliser des tests pour savoir si la page Visualforce fait des sauts de pages en plus.
Dans ce cas-là, il faut afficher moins d'informations par image.

Si vous voulez ajouter plusieurs pages de CGVs, vous pouvez juste répéter la ligne :

<apex:image value="{!URLFOR($Resource.Sofacto_CGV)}" style="left:0;top:0;width:98%"/>

et modifier les noms des ressources statiques :

<!--CGV/ Terms and Conditions-->
<div style="page-break-before:always;">

<apex:image value="{!URLFOR($Resource.Sofacto_CGV1)}" style="left:0;top:0;width:98%"/>
<apex:image value="{!URLFOR($Resource.Sofacto_CGV2)}" style="left:0;top:0;width:98%"/>

</div>
<!--Fin code CGV/ End of terms and conditions-->

CGV en anglais

Si vous voulez ajouter vos Terms & Conditions (la version anglaise de vos CGVs), vous pouvez les mettre également sur les ressources statiques, comme la version en français.

Attention : Ce code inclus deux pages de CGV par langue, qui sont nommées : 

Version FR: 

  • Sofacto_CGV1

  • Sofacto_CGV2

Version EN:

  • Sofacto_CGV_EN1

  • Sofacto_CGV_EN2

Si vous voulez les nommer autrement, ou que vous avez juste une page par langue, veuillez modifier le code en fonction.

Ensuite, il faut ajouter ce code :

<!--CGV/ Terms and Conditions-->

<div style="page-break-before:always;">

<!--Version FR/ French Version-->
<apex:outputPanel rendered="{!IF(sofactoapp__Factures_Client__c.sofactoapp__Langue__c = 'fr_FR', '', 'none')}">
<apex:image value="{!URLFOR($Resource.Sofacto_CGV1)}" style="left:0;top:0;width:98%"/>
<apex:image value="{!URLFOR($Resource.Sofacto_CGV2)}" style="left:0;top:0;width:98%"/>
</apex:outputPanel>

<!--Version EN/ English Version-->
<apex:outputPanel rendered="{!IF(sofactoapp__Factures_Client__c.sofactoapp__Langue__c = 'fr_FR', 'none', '')}">
<apex:image value="{!URLFOR($Resource.Sofacto_CGV_EN1)}" style="left:0;top:0;width:98%"/>
<apex:image value="{!URLFOR($Resource.Sofacto_CGV_EN2)}" style="left:0;top:0;width:98%"/>
</apex:outputPanel>

</div>
<!--Fin code CGV/ End of terms and conditions-->

Attention : Le nom donné dans la page Visualforce doit correspondre impérativement au nom de la ressource statique. Sinon, la sauvegarde de la page n'est pas possible.

Remarque : Vous pouvez ajouter autant de pages que vous voulez. Testez bien le résultat, notamment à l'impression, pour assurer la bonne qualité et la lisibilité du résultat.

Traduction en anglais

Grâce aux étiquettes que vous avez mises en place et la traduction de l'application Frisbii dans Salesforce translation workbench, la facture PDF est disponible en anglais.
Si vous changez la langue sur l'enregistrement de la facture et que vous créez ensuite le PDF, vous allez voir ce résultat :

Si vous voulez modifier les traductions actuelles, veuillez lire l'article : Comment traduire les étiquettes Frisbii et les étiquettes personnalisées.

Mise en place du modèle à partir de Github

Suite à la mise en place des prérequis, vous pouvez récupérer le code Visualforce de notre Github afin de le copier dans une page Visualforce. 
Vous trouverez la procédure en détail dans cet article : 
Modèle de facture - Créer son propre modèle PDF (puis cliquez sur Récupérer le code Visualforce sur GitHub).

Au lieu de prendre le modèle INVOICE_TEMPLATE, choisissez le modèle :

INVOICE_TEMPLATE_ALL.

Je ne peux pas sauvegarder ma page Visualforce !

Ceci est lié à un nom API qui est mal écrit.

Vérifiez bien ces points :

Mon saut de page se ne fait pas correctement !

Si votre PDF de facture ressemble à celui-ci :

Cela vous indique qu'il faut modifier les conditions sur les sauts de page. 
Veuillez lire l'article suivant qui vous expliquera comment modifier cette condition.