Développer un modèle de devis, commande ou de facture

Les modèles des devis, commandes et factures sont utilisés lorsque le rendu papier est demandé par les utilisateurs de l'application.

Un modèle générique est proposé à tous les utilisateurs. Un modèle personnalisé peut aussi être développé si vous souhaitez changer la disposition des éléments ou ajouter votre logo.

Ce document liste les règles à suivre pour développer son propre modèle. Des compétences sont cependant nécessaires pour comprendre les règles et réaliser un modèle.

Affichage des informations

Le choix d'afficher, ou de ne pas afficher certains éléments n'est pas toujours libre. L'Administration impose que certaines mentions soient obligatoirement affichées. Plus d'informations sur service-public.fr.

Aussi, si vous souhaitez afficher les montants de TVA des articles, il est conseiller de lire l'article expliquant les règles de calcul de la TVA.

Règles techniques du modèle

Le modèle doit être décrit dans le langage HTML.

Les ressources extérieures - feuilles de style, images, polices de caractères - doivent être inclues dans le document et ne doivent pas être localisées sur un serveur extérieur pour permettre au modèle d'être consulté correctement en l'absence d'une connexion Internet.

Le modèle doit inclure les feuilles de style destinées à l'affichage dans le navigateur et à l'impression sur papier.

Plus léger le document sera, plus l'affichage sera optimisé.

Balises à intégrer dans le modèle

Les balises permettent d'inclure des données dynamiques. Ces données sont remplacées par les valeurs réelles lorsque le document est préparé.

Chaque balise peut être présente au maximum une fois par modèle.

Balises communes à tous les modèles

  • {company-description}: Nom de la société.

  • {company-address}: Adresse de la société.

  • {company-postal_code}: Code postal de la société.

  • {company-city}: Ville de la société.

  • {company-country-description}: Pays de la société.

  • {company-terms}: Conditions générales.

  • {company-footer}: Texte de bas de page.

  • {client-description}: Nom du client.

  • {client-firstname}: Prénom du client, si personne physique.

  • {client-address}: Adresse du client.

  • {client-postal_code}: Code postal du client.

  • {client-city}: Ville du client.

  • {client-country-description}: Pays du client.

  • {payment-description}: Intitulé du délai de paiement.

  • {payment-early}: Intitulé de l'escompte.

Balises spécifiques aux devis

  • {quotation-number}: Numéro.
  • {quotation-date}: Date de création.
  • {quotation-valid_until}: Date de validité.
  • {quotation-shipping_date}: Date de livraison.
  • {quotation-comment}: Commentaire.
  • {quotation-line}: Éléments du devis
  • {quotation-vat-line}: Taux et totaux de TVA
  • {quotation-total_excl_tax}: Total hors taxes
  • {quotation-total_tax}: Total des taxes
  • {quotation-total_incl_tax}: Total toutes taxes comprises

Balises spécifiques aux commandes

  • {order-number}: Numéro.
  • {order-date}: Date de création.
  • {order-shipping_date}: Date de livraison.
  • {order-comment}: Commentaire.
  • {order-line}: Éléments de la commande.
  • {order-vat-line}: Taux et totaux de TVA
  • {order-total_excl_tax}: Total hors taxes
  • {order-total_tax}: Total des taxes
  • {order-total_incl_tax}: Total toutes taxes comprises

Balises spécifiques aux factures

  • {invoice-number}: Numéro.
  • {invoice-date}: Date de création.
  • {invoice-shipping_date}: Date de livraison.
  • {invoice-comment}: Commentaire.
  • {invoice-line}: Éléments de la commande.
  • {invoice-vat-line}: Taux et totaux de TVA
  • {invoice-total_excl_tax}: Total hors taxes
  • {invoice-total_tax}: Total des taxes
  • {invoice-total_incl_tax}: Total toutes taxes comprises

Options du modèle

Des options peuvent être ajoutées pour personnaliser l'affichage des balises. Elles sont écrites en JSON et stockées dans un document séparé. Les valeurs acceptées sont:

  • locales: Code BCP47 des paramètres régionaux. Texte. FR-fr par défaut.

  • currency: Code ISO4217 de la monnaie. Texte. EUR par défaut.

  • telDelimiter: Caractère utilisé pour séparer les numéros de téléphone. Texte. Espace par défaut.

  • total: Options d'affichage du total. Objet. Voir section Options des nombres.

  • line: Options des articles. Objet.

    • lineElement: Balise HTML utilisé pour représenter une ligne. Texte. tr par défaut.
    • columnElement: Balise HTML utilisé pour représenter une colonne. Texte. td par défaut.
    • columns: Liste des colonnes à afficher. Voir section Liste des articles
  • line: Options du récapitulatif des taux de TVA utilisés. Objet.

    • lineElement: Balise HTML utilisé pour représenter une ligne. Texte. tr par défaut.
    • columnElement: Balise HTML utilisé pour représenter une colonne. Texte. td par défaut.
    • columns: Liste des colonnes à afficher. Liste. Voir section Liste des taux de TVA

Options des nombres

L'affichage des nombres peut être personnalisé. Les options acceptées sont:

  • format: Format du nombre. Valeurs acceptées: currency, decimal, percentage.

  • minimumFractionDigits: Nombre de digits minimum. Nombre. 2 par défaut.

  • maximumFractionDigits: Nombre de digits minimum. Nombre. 2 par défaut.

  • showZero: Indicateur d'affichage quand le nombre est égal à zéro. Booléen. Vrai par défaut.

Liste des articles

L'affichage des articles est une liste de colonnes. Chaque colonne doit posséder une propriété nommée name dont la valeur peut être:

  • description: Désignation de l'élément.

  • unit_price: Prix unitaire hors taxes.

  • quantity: Quantité.

  • discount: Remise.

  • tax_rate: Taux de TVA.

  • price_excl_tax: Prix hors taxes.

  • price_incl_tax: Prix toutes taxes comprises.

A l'exception de la colonne description, des propriétés relatives aux nombres (voir section Options des nombres) peuvent être ajoutées à toutes les colonnes.

Liste des taux de TVA

L'affichage des taux de TVA est aussi une liste de colonnes. Chaque colonne doit posséder une propriété nommée name dont la valeur peut être:

  • rate: Taux de TVA

  • amoont: Montant de TVA

Tous deux peuvent avoir les propriétés relatives aux nombres (voir section Options des nombres).

Dernière modification le par Morgan Schmiedt