Aller au contenu
📢 Kafinea est une solution compatible pour la facturation électronique ! En savoir plus ➔
kafinea logo svg

Kafinea

  • Fonctionnalités
        • Finances
          • Achats
          • Audits & KPI
          • Comptabilité
          • Facturation
        • Gestion
          • Documents
          • Gestion de projet
          • Gestion des stocks
          • Maintenance
        • RH
          • Employés
          • Feuilles de temps
          • Gestion des absences
          • Recrutement
        • Service client
          • Contrats de service
          • Interventions
          • Suivi de garanties
          • Tickets
        • Ventes
          • Abonnements
          • Automatisation des ventes
          • CRM
          • Points de vente
        • Fonctionnalités transversales
          • API
          • Extranet
          • Signature électronique
          • Workflows
  • Cas d’usage
  • Tarifs
  • Se connecter
  • Découvrir la démo
📢 Kafinea est compatible facturation électronique ! ➔
kafinea logo svg
Kafinea

Marketing

6
  • Les prospects
  • Les affaires
  • L’envoi d’emails et de SMS
  • Campagnes
    • Les campagnes marketing
    • Le paramétrage de campagnes email et SMS
    • Le calcul de marge prévisionnelle d’une campagne

Ventes

21
  • Les comptes client
  • Les contacts
  • Les devis client
  • Les marges dans les devis
  • Les bons de commande client
  • Les avoirs client
  • Les notes de débit client
  • Recherche d’Entreprises (Sirene)
  • Facturation
    • La facturation classique
    • Les factures d’acompte
    • La facturation d’avancement
    • La facturation de consommations d’articles
    • Émettre une facture électronique
    • La facturation récurrente
    • La facture proforma
    • La facturation sur relevé de ventes
  • Paiements
    • Les paiements client
    • L’association d’un paiement à une ou plusieurs factures
  • Grille tarifaire
    • L’utilisation d’une grille tarifaire
    • Les stratégies de tarification
    • Guide administrateur grille tarifaire

Achats

6
  • Les fournisseurs
  • Les bons de commande fournisseur
  • Les factures fournisseur
  • Recevoir une facture électronique
  • Les avoirs fournisseur
  • Les paiements fournisseur

Catalogue

9
  • Les produits
  • Les services
  • Les familles d’articles
  • Les unités de mesure
  • La gestion du sourcing
  • Les produits génériques
  • Les kits de produits
  • L’assistant de commandes fournisseurs
  • L’analyse des marges du catalogue

Finances

37
  • Les comptes bancaires
  • Les comptes bancaires tiers
  • Les transactions bancaires
  • Importer un relevé bancaire (OFX)
  • Les mandats SEPA
  • Les prélèvements bancaires
  • Les saisies manuelles
  • La facturation électronique
  • Comptabilité
    • La comptabilité
    • Les écritures comptables
    • Les stratégies comptables
    • Les états financiers
    • Les états comptables et le tableau de bord financier
    • Les rapprochements bancaires
    • Les relevés bancaires
    • Les outils pour vérifier sa comptabilité
    • Les écarts d’arrondi de TVA entre logiciels
    • La TVA sur les frais de port
    • Le paramétrage de la déclaration de TVA
    • La déclaration de TVA
    • L’export de comptabilité au format FEC
    • Importer un fichier FEC
    • Les comptes auxiliaires
    • Le lettrage des comptes clients et fournisseurs
    • Paramétrer les comptes auxiliaires
    • Basculer vers les comptes auxiliaires
    • Les exercices comptables
    • La comptabilité de trésorerie
  • Comptabilité analytique
    • Comprendre la comptabilité analytique
    • Lire les états analytiques
    • Paramétrer la comptabilité analytique
    • Affecter les lignes d’une facture fournisseur ou d’un avoir fournisseur
    • Affecter une saisie manuelle en comptabilité analytique
    • Corriger une affectation analytique après clôture
    • Affecter les lignes d’un document de vente
    • Répartir les montants communs à la clôture
    • Saisir les indicateurs de répartition

Ressources Humaines

16
  • Les personnes
  • Les services
  • Les activités
  • Les affectations de service
  • Les feuilles de temps
  • Les demandes de congés
  • Les natures des absences
  • Les notes de frais
  • Les formations
  • Les lieux de travail
  • Les matrices de polyvalence
  • Les modèles de contrats de travail
  • Les bulletins de paie
  • Extranet collaborateur
    • Le portail collaborateur
    • La carte espace collaborateur
    • La gestion des congés

Gestion de projet

7
  • Les projets
  • Les tâches de projet
  • Les jalons de projet
  • Les participations aux projets
  • Cockpit chef de projet
  • L’espace intervenant : voir et accepter mes interventions
  • Sécuriser les interventions par liste de personnes

Support client

7
  • Les tickets
  • Les contrats de service
  • Les équipements client
  • Les instances client
  • Le suivi de garanties
  • Les FAQ
  • Le portail client

Maintenance

4
  • Les établissements
  • Les sites de maintenance
  • Les équipements
  • Les opérations de maintenance

Gestion des stocks

12
  • Les sites de stockage
  • Les emplacements de stockage
  • Les mouvements de stock
  • Les demandes de transfert de stock
  • Réaliser un inventaire de stocks
  • Les bons de livraison
  • Générer automatiquement un bon de livraison depuis une facture
  • Les bons de réception
  • Les modes de livraison
  • Valorisation des Stocks
  • Le stock à date
  • La couverture des commandes clients

Points de vente

5
  • Les points de vente physiques
  • Les boutiques e-commerce
  • Les mouvements de caisse
  • Caisse enregistreuse
    • Les caisses enregistreuses
    • Le paramétrage de votre caisse enregistreuse

Gestion documentaire

7
  • La gestion électronique des documents
  • La signature électronique
  • L’envoi de documents par email
  • Modèles
    • Les modèles de documents
    • Les modèles d’emails
    • Les shortcodes
    • Personnalisation avancée des modèles de documents

Automatisation

5
  • Les formulaires
  • Les flux de travail (workflows)
  • Les liens d’action dans les e-mails
  • Le planificateur
  • Les approbations

Intelligence artificielle

5
  • L’assistant de texte IA
  • Le chat IA
  • Connecter ChatGPT, Claude ou Gemini à Kafinea (MCP)
  • Les workflows IA
  • L’OCR de factures assisté par IA

Intégrations

18
  • API
    • API REST – Introduction
    • API REST – Authentification
    • API REST – Opérations CRUD
    • API REST – Relations entre entités
    • API REST – Requêtes et interrogation
    • API REST – Gestion des fichiers
    • API REST – Listes déroulantes (Picklist)
    • API REST – Récupérer le PDF d’un document
    • API REST – Import en masse (upsert)
    • API REST – Champs d’un module
    • API REST – Suppression en masse (corbeille)
    • API REST – Rafraîchir une commande de boutique en ligne
    • API REST – Kits de produits
    • API REST – Produits génériques et spécifiques
    • API REST – Comptabilité analytique
    • API REST – Taxes, régions fiscales et règles territoriales
    • API REST – Approbations
    • API REST – Liens d’action

Interface Kafinea

13
  • La navigation
  • Rechercher dans Kafinea
  • La déconnexion automatique
  • Les listes
  • Les enregistrements
  • L’enregistrement automatique
  • Les étiquettes (tags)
  • Les rapports
  • Les tableaux de bord
  • Le gestionnaire d’agencement
  • L’import / export de données
  • Les lignes de documents
  • Liens entre éléments

Paramétrage

26
  • Les sociétés
  • Les utilisateurs
  • Les droits d’accès
  • Les préférences utilisateur
  • Les langues et traductions
  • Les formats de numérotation
  • Les compteurs de numérotation
  • Le paramétrage SMTP
  • La recherche globale
  • Recherche et suggestions
  • Le filtrage des popups catalogue
  • Le verrouillage permanent
  • Le journal d’événements
  • La configuration des taxes
  • Les agents IA
  • La région fiscale des documents
  • TVA des ventes de biens : repères réglementaires
  • Les prix HT ou TTC
  • Administrer le serveur MCP
  • Les taux de change
  • Les conditions de paiement
  • Les espaces Kafinea
    • Les espaces Kafinea
    • Nommer un espace
    • Les espaces d’essai (sandbox)
  • Mappage de données
    • Le mappage de conversion de prospect
    • Le mappage d’affaire en projet

Guides métier

2
  • Permettre aux collaborateurs de compléter leur dossier RH en autonomie
  • Mobiliser des milliers d’intervenants terrain à grande échelle
  • Kafinea
  • Documentation
  • Gestion documentaire
  • Modèles
  • Personnalisation avancée des modèles de documents
View Categories

Personnalisation avancée des modèles de documents

6 minutes

0:00 / 7:52
  • View as Markdown Open this page as plain Markdown (opens in a new tab)
  • Open in ChatGPT Ask questions about this page (opens in a new tab)
  • Open in Claude Ask questions about this page (opens in a new tab)
  • Open in Google AI Studio Ask questions about this page (Google account required) (opens in a new tab)

Les modèles de documents dans Kafinea permettent une personnalisation poussée grâce à l’utilisation de balises HTML et de styles CSS spécifiques.


1. Mise en page multi-colonnes #

Il est possible de diviser le contenu d’un bloc en plusieurs colonnes, ce qui est particulièrement utile pour les listes d’informations ou les sections de bas de page.

Utilisation de la balise <columns> #

Kafinea supporte la balise spécifique <columns> pour créer des mises en page multi-colonnes simples.

Attributs disponibles :

  • column-count : Nombre de colonnes souhaité.
  • column-gap : Espace entre les colonnes (en mm).

Exemple :

<columns column-count="3" column-gap="10">
    <div>Contenu de la première colonne...</div>
    <div>Contenu de la deuxième colonne...</div>
    <div>Contenu de la troisième colonne...</div>
</columns>

Utilisation des styles CSS #

Vous pouvez également utiliser les propriétés CSS standards sur des éléments <div> :

  • column-count
  • column-gap
  • column-span

Exemple :

<div style="column-count: 2; column-gap: 5mm;">
    <p>Texte qui sera automatiquement réparti sur deux colonnes...</p>
</div>

2. Polices de caractères disponibles #

En plus des polices standards, de nouvelles polices modernes sont disponibles pour vos modèles.

Liste des nouvelles polices #

  • Montserrat : Une police sans-serif géométrique, moderne et très lisible.
  • Pathway Extreme : Une police sans-serif à chasse étroite, idéale pour les mises en page denses.

Comment appliquer une police #

Pour utiliser ces polices, vous devez les déclarer dans le style CSS de votre modèle (généralement dans une balise <style> au début du document ou via l’attribut style d’un élément).

Exemple :

<style>
    body {
        font-family: 'montserrat', sans-serif;
    }
    .titre-important {
        font-family: 'pathwayextreme', sans-serif;
        font-weight: bold;
    }
</style>

Note technique : Les noms de polices à utiliser dans le CSS sont montserrat (minuscules) et pathwayextreme (minuscules, sans espace).


3. Conditions et calculs #

Un modèle peut contenir des instructions évaluées au moment de la génération du PDF : afficher un texte ou une colonne selon une valeur du document, calculer un montant, mettre un nombre en forme. Ces instructions sont délimitées par {* et *}. Les accolades simples de vos règles CSS (body { … }) ne sont pas concernées.

Écrire une condition #

<p>{*if '$doc-pricesIncludeTax$' == 'YES'*}Prix TTC{*else*}Prix HT{*/if*}</p>
  • Structure : {*if …*}, puis éventuellement {*elseif …*} et {*else*}, et toujours {*/if*} pour fermer.
  • Opérateurs : == (égal), != (différent), >, <, >=, <=, && (et), || (ou), et les parenthèses pour grouper.
  • Balises dans une instruction : écrivez-les toujours entre apostrophes, par exemple '$item-quantity$'. Kafinea remplace la balise par sa valeur avant d’évaluer l’instruction ; les apostrophes garantissent qu’une valeur contenant des espaces, des apostrophes ou du texte est lue correctement.
  • Texte accentué : pour comparer une valeur qui peut contenir des accents, utilisez equalsWithAccents, par exemple {*if '$item-category$'|equalsWithAccents:'Matériel'*}…{*/if*}.

Où placer une condition #

À l’enregistrement, Kafinea nettoie le HTML du modèle pour ne conserver qu’un document valide. Une condition écrite comme du texte n’est conservée que là où du texte est permis :

Emplacement de la condition Forme à utiliser
Dans le texte d’un paragraphe ou d’une cellule (<p>, <td>, <th>) forme directe {*if …*}…{*/if*}
Entre deux cellules (<th>, <td>) ou entre deux lignes (<tr>) d’un tableau forme commentée <!-- {*if …*} -->…<!-- {*/if*} -->
Dans l’attribut colspan d’une cellule forme directe
Dans l’attribut style (largeur, couleur…) ou un autre attribut conditionnez l’élément entier avec la forme commentée

Une condition en forme directe placée entre deux cellules est retirée à l’enregistrement, et un style qui en contient une est retiré entier. La forme commentée est conservée telle quelle : Kafinea la convertit en condition au moment de la génération.

Exemple : une colonne présente uniquement sur les documents TTC

<tr>
    <th>Désignation</th>
    <th>Prix unitaire HT</th>
    <!-- {*if '$doc-pricesIncludeTax$' == 'YES'*} -->
    <th>Prix unitaire TTC</th>
    <!-- {*/if*} -->
    <th>TVA</th>
</tr>

Les cellules de la ligne d’article suivent le même principe, et une ligne de total qui s’étend sur toutes les colonnes adapte son colspan :

<td colspan="{*if '$doc-pricesIncludeTax$' == 'YES'*}4{*else*}3{*/if*}">Total HT</td>

Exemple : une largeur de colonne différente selon le cas

La condition ne peut pas se trouver dans le style ; écrivez la cellule deux fois :

<!-- {*if '$doc-pricesIncludeTax$' == 'YES'*} -->
<th style="width: 20mm;">Prix unitaire HT</th>
<!-- {*else*} -->
<th style="width: 30mm;">Prix unitaire HT</th>
<!-- {*/if*} -->

Bon à savoir : la forme commentée accepte uniquement if, elseif, else et /if. Les autres instructions se placent dans le texte d’un élément.

Vérifiez après l’enregistrement : rouvrez le modèle et contrôlez que chaque condition est toujours présente, puis générez un aperçu sur un document de chaque cas (par exemple un document TTC et un document HT).

Calculer et mettre en forme un montant #

Les balises de montant existent en deux variantes :

Variante Exemple de balise Valeur produite Usage
Mise en forme $item-listPrice$ 1 234,50 affichage
Brute (suffixe Unformatted) $item-listPriceUnformatted$ 1234.5 calculs et comparaisons

Un calcul utilise toujours la variante brute : la valeur mise en forme contient des séparateurs de milliers et une virgule décimale, qui ne sont pas lus comme un nombre. La quantité ($item-quantity$) est fournie brute.

<td>{*('$item-listPriceUnformatted$' * '$item-quantity$')|number_format:2:",":" "*} €</td>

Avec un prix de 1234.5 et une quantité de 3, la cellule affiche 3 703,50 €.

Les modificateurs s’ajoutent après une barre verticale | :

Modificateur Effet Exemple
number_format:2:",":" " 2 décimales, virgule décimale, espace pour les milliers 3 703,50
string_format:"%.2f" 2 décimales avec un point 3703.50
replace:".":"," remplace un texte par un autre 3703,50
floatval convertit une valeur en nombre
abs valeur absolue
trim, strtoupper, ucfirst supprime les espaces autour, met en majuscules, met une majuscule initiale
{*('$item-totalAfterDiscountUnformatted$'|floatval * 1.2)|string_format:"%.2f"|replace:".":","*}

Les balises brutes disponibles pour les lignes sont notamment $item-listPriceUnformatted$, $item-listPriceAfterDiscountUnformatted$, $item-totalUnformatted$, $item-discountAmountUnformatted$, $item-totalAfterDiscountUnformatted$, $item-taxTotalAmountUnformatted$ et $item-totalWithTaxUnformatted$ ; pour les totaux du document, $doc-grandTotalWithoutTaxesUnformatted$, $doc-taxTotalAmountUnformatted$ et $doc-grandTotalUnformatted$.


4. Documents dont les prix sont saisis TTC #

Lorsque la saisie des prix TTC est activée, un même modèle peut s’adapter aux documents saisis HT et aux documents saisis TTC grâce aux balises suivantes :

Balise Contenu
$doc-pricesIncludeTax$ YES si les prix du document sont saisis TTC, NO sinon
$item-unitPriceInclTax$ prix unitaire TTC de la ligne : celui saisi sur un document TTC, sinon le prix HT augmenté des taxes de la ligne
$item-listPriceAfterDiscountInclTax$ prix unitaire net TTC, remise déduite : montant TTC de la ligne divisé par la quantité
$item-unitPriceInclTaxUnformatted$, $item-listPriceAfterDiscountInclTaxUnformatted$ les mêmes valeurs en variante brute, pour les calculs

Elles complètent les balises de ligne habituelles : $item-listPrice$ (prix unitaire HT), $item-listPriceAfterDiscount$ (prix unitaire net HT), $item-taxTotalPercent$ (taux de taxe de la ligne), $item-totalAfterDiscount$ (montant HT de la ligne) et $item-totalWithTax$ (montant TTC de la ligne).

Factures et avoirs en France : chaque ligne doit indiquer le prix unitaire hors taxes et le taux de TVA applicable (article 242 nonies A de l’annexe II du Code général des impôts). Une colonne de prix unitaire TTC peut s’ajouter à ces informations ; elle ne remplace pas le prix unitaire HT.

Exemple : cellules d’une ligne d’article conformes pour les deux cas

<td>$item-name$</td>
<td>$item-quantity$</td>
<td>$item-listPriceAfterDiscount$</td>
<!-- {*if '$doc-pricesIncludeTax$' == 'YES'*} -->
<td>$item-listPriceAfterDiscountInclTax$</td>
<!-- {*/if*} -->
<td>$item-taxTotalPercent$ %</td>
<td>$item-totalAfterDiscount$</td>

5. Conseils pour le rendu PDF #

Le moteur de rendu PDF (mPDF) interprète le HTML et le CSS. Pour un résultat optimal :

  • Utilisez des unités physiques comme mm ou cm pour les marges et les largeurs.
  • Privilégiez les tableaux (<table>) pour les données structurées et les grilles complexes.
  • Testez toujours votre modèle avec l’aperçu avant de le valider pour la production.
Index
  • 1. Mise en page multi-colonnes
    • Utilisation de la balise
    • Utilisation des styles CSS
  • 2. Polices de caractères disponibles
    • Liste des nouvelles polices
    • Comment appliquer une police
  • 3. Conditions et calculs
    • Écrire une condition
    • Où placer une condition
    • Calculer et mettre en forme un montant
  • 4. Documents dont les prix sont saisis TTC
  • 5. Conseils pour le rendu PDF

Un logiciel tout-en-un conçu pour les PME. Profitez des capacités d’automatisation et de la flexibilité de notre plateforme de gestion d’entreprise pour faciliter le travail de tous vos collaborateurs.

RESSOURCES

Blog
Charte graphique
Distributeurs
Documentation
Sécurité

Portail clients
À PROPOS

CGU
Foire Aux Questions
Mentions légales
Nous contacter
Politique de confidentialité
Politique de cookies
Qui sommes-nous ?

FINANCES

Achats
Audits & KPI
Comptabilité
Facturation

GESTION

Documents
Gestion de projet
Gestion des stocks
Maintenance

RH

Employés
Feuilles de temps
Gestion des absences
Recrutement

SERVICE CLIENT

Contrats de service
Interventions
Suivi de garanties
Tickets

VENTES

Abonnements
Automatisation des ventes
CRM
Points de vente

© 2026 Madiasoft - Kafinea

24 rue Louis Blanc, 75010 PARIS

01 70 06 05 41

Facebook Linkedin
kafinea logo svg
Gérer le consentement aux cookies
Pour offrir les meilleures expériences, nous utilisons des cookies pour stocker et/ou accéder aux informations des appareils. Le fait de consentir à ces cookies nous permettra de traiter des données telles que le comportement de navigation ou les ID uniques sur ce site. Le fait de ne pas consentir ou de retirer son consentement peut avoir un effet négatif sur certaines caractéristiques et fonctions.
Fonctionnel Toujours activé
Le stockage ou l’accès technique est strictement nécessaire dans la finalité d’intérêt légitime de permettre l’utilisation d’un service spécifique explicitement demandé par l’abonné ou l’internaute, ou dans le seul but d’effectuer la transmission d’une communication sur un réseau de communications électroniques.
Préférences
Le stockage ou l’accès technique est nécessaire dans la finalité d’intérêt légitime de stocker des préférences qui ne sont pas demandées par l’abonné ou la personne utilisant le service.
Statistiques
Le stockage ou l’accès technique qui est utilisé exclusivement à des fins statistiques. Le stockage ou l’accès technique qui est utilisé exclusivement dans des finalités statistiques anonymes. En l’absence d’une assignation à comparaître, d’une conformité volontaire de la part de votre fournisseur d’accès à internet ou d’enregistrements supplémentaires provenant d’une tierce partie, les informations stockées ou extraites à cette seule fin ne peuvent généralement pas être utilisées pour vous identifier.
Marketing
Le stockage ou l’accès technique est nécessaire pour créer des profils d’internautes afin d’envoyer des publicités, ou pour suivre l’internaute sur un site web ou sur plusieurs sites web ayant des finalités marketing similaires.
  • Gérer les options
  • Gérer les services
  • Gérer {vendor_count} fournisseurs
  • En savoir plus sur ces finalités
Voir les préférences
  • {title}
  • {title}
  • {title}
  • Fonctionnalités
    • Finances
      • Achats
      • Audits & KPI
      • Comptabilité
      • Facturation
    • Gestion
      • Documents
      • Interventions
      • Gestion de projet
      • Gestion des stocks
    • RH
      • Employés
      • Feuilles de temps
      • Gestion des absences
      • Recrutement
    • Service client
      • Contrats de service
      • Suivi de garanties
      • Maintenance
      • Tickets
    • Ventes
      • Abonnements
      • Automatisation des ventes
      • CRM
      • Points de vente
    • Fonctionnalités transversales
      • API
      • Extranet
      • Signature électronique
      • Workflows
  • Cas d’usage
  • Tarifs
  • Se connecter
  • Découvrir la démo