# 9.2 Factures clients

## Types de factures

Lors de la création d’une facture (menu Factures clients &gt; Nouvelle facture, ou depuis l’onglet Client d’une fiche tiers via le bouton Créer facture ou avoir), vous avez le choix entre :

*Figure 9.3 – Sélection du type de facture*

Facture standard — facture traditionnelle (facture de doit). Aucun prérequis. Facture d’acompte — fait suite à la réception d’un acompte, quand il n’est pas encore possible de saisir le paiement sur une facture définitive. Facture de situation — facturation progressive par pourcentage d’avancement (fonctionnalité activée dans l’onglet Facture de situation d’UltimatePDF, ou via la constante INVOICE\_USE\_SITUATION). Doit être créée depuis la fiche du tiers ou depuis une proposition/commande, pas depuis Factures &gt; Nouvelle facture. Facture modèle — pour créer un modèle, créez d’abord une facture standard brouillon et convertissez-la en modèle.

*Figure 9.4 – Création d’une facture modèle*

Vous pouvez associer une tâche planifiée à un modèle pour les factures récurrentes.

**Avertissement**

Pour les factures récurrentes, le module Travaux planifiés doit être activé, sinon une alerte s’aﬀiche lors de l’association.

*Figure 9.5 – Alerte module Travaux planifiés non activé*

*Figure 9.6 – Configuration de la clé de sécurité pour les travaux planifiés*

Dans la configuration du module, activez la Clé de sécurité pour l’URL de lancement des travaux programmés. Pour les factures récurrentes, allez dans Accueil &gt; Outils d’administration &gt; Travaux planifiés pour configurer la tâche.

*Figure 9.7 – Page de configuration des travaux planifiés*

*Figure 9.8 – Lancement manuel d’un travail planifié*

Pour automatiser sur un serveur Unix (exécution toutes les 5 minutes) :

```
*/5 * * * * /path/scripts/cron/cron_run_jobs.php <cle_securite> webmaster > /documents/cron_run_jobs.php
```

Facture de remplacement — permet de refaire une facture sur laquelle il y a des erreurs et sur laquelle aucun paiement n’a été saisi. Une seule facture de remplacement (R) par facture de doit (F). Quand R est validée, F passe automatiquement au statut abandonné et le cycle de vie continue sur R.

## Créer une facture client

Dans Facturation | Paiement &gt; Factures clients &gt; Nouvelle facture. Choisissez le client, la date, les conditions de règlement. Tant que la facture n’est pas validée, vous pouvez corriger :

- Les lignes (supprimer, modifier TVA/prix HT/TTC/quantité via l’icône Modifier)
- Les champs société (via la constante FACTURE\_CHANGE\_THIRDPARTY = 1)
- Date, date limite règlement, conditions règlement, mode de règlement, projet (bouton Modifier)

## Supprimer une facture client

Un numéro de référence est attribué de façon irréversible. Supprimer une facture crée un trou dans le suivi.

**Important**

Préférez une facture de remplacement (si aucun paiement) ou une facture d’avoir (si déjà validée ou payée) plutôt que la suppression directe.

## Facture d’acompte

La facture d’acompte fait suite à la réception d’un acompte. Vous pouvez en créer autant que désiré. Elle sera ensuite convertie en réduction sur la facture définitive. Processus :

1. Créez une facture d’acompte (Type = Facture d’acompte)
2. Validez-la
3. Cliquez sur Émettre règlement et renseignez le montant de l’acompte versé
4. Cliquez sur Payer

**Note**

Le bouton Convertir en réduction future n’apparaît que si le montant restant à payer est ramené à 0.

1. Cliquez sur Convertir en réduction future — le montant apparaît en ligne de déduction sur la facture définitive

*Figure 9.9 – Fiche facture d’acompte*

L’acompte se présente classiquement dans la facture définitive sous la forme d’une ligne avec un montant négatif :

*Figure 9.10 – Acompte en ligne négative (haut de la facture définitive)*

*Figure 9.11 – Acompte en bas de la facture définitive*

Le module UltimatePDF permet une présentation alternative via la constante FACTURE\_DEPOSITS\_ARE\_JUST\_PAYMENTS (l’acompte est traité comme un paiement, pas comme une ligne négative) :

*Figure 9.12 – Présentation alternative de l’acompte avec UltimatePDF*

## Factures d’avoir

On crée un avoir sur une facture de doit. Plusieurs avoirs sont possibles sur une même facture. L’avoir est transformé en réduction pour réduire le paiement d’une autre facture en attente.

*Figure 9.13 – Création d’un avoir sur une facture*

Cliquez sur Convertir en réduction future pour utiliser ce montant.

*Figure 9.14 – Utiliser la réduction sur une nouvelle facture*

**Avertissement**

La facture à corriger doit être validée pour pouvoir utiliser la remise.

Cliquez sur Appliquer dans la section Remises de la facture à corriger :

*Figure 9.15 – Application de la réduction (section Remises)*

Puis passez la facture à Passer payée :

*Figure 9.16 – Facture passée à payée après remise*

## Réduire le montant total / solde à payer

Réduction — réduction relative (pourcentage) du prix de vente d’une ou plusieurs lignes, définie ligne par ligne (0% à 100%, le 100% aﬀichant la mention offert). Remise — réduction du prix total de la facture. Deux types :

1. Remise associée à un versement déjà perçu — les avoirs et acomptes convertis en réduction future s’aﬀichent dans la section Remises de la facture et sont mentionnés en bas du document comme versements anticipés déduits du total.
2. Remise non associée à un versement — définie sur la fiche client (onglet Client, montant fixe ou pourcentage). Ces remises apparaissent comme des lignes négatives dans le détail de la facture et réduisent le montant total.

## Options cachées

Constantes à définir à 1 dans Accueil &gt; Configuration &gt; Divers :

```
Constante                                                          Effet
MAIN_DEPOSIT_MULTI_TVA                                             Dans la facture d’acompte, crée une
                                                                   ligne par taux de TVA depuis le
                                                                   document d’origine (v6.0)
FACTURE_SHOW_SEND_REMINDER                                         Aﬀiche le lien « Envoyer rappel par mail
                                                                   » (ancienne fonction)
INVOICE_CAN_ALWAYS_BE_EDITED                                       Permet de modifier les factures même si
                                                                   un paiement a été lancé
INVOICE_CAN_ALWAYS_BE_REMOVED                                      Permet de toujours supprimer les
                                                                   factures (même si ce n’est pas la
                                                                   dernière)
INVOICE_CAN_NEVER_BE_REMOVED                                       Interdit la suppression des factures (sauf
                                                                   brouillons)
INVOICE_POSITIVE_CREDIT_NOTE                                       Les montants sur les avoirs sont aﬀichés
                                                                   en positif
FACTURE_CHANGE_THIRDPARTY                                          Permet de changer le tiers dans les
                                                                   factures brouillon
FACTURE_USE_PROFORMAT                                              Active le type de factures
                                                                   PROFORMAT
FACTURE_DEPOSITS_ARE_JUST_PAYMENTS                                 Traite les acomptes comme des
                                                                   paiements (pas comme réduction du
                                                                   montant)
FACTURE_SENDBYEMAIL_FOR_ALL_STATUS                                 Permet d’envoyer une facture par email
                                                                   même au statut brouillon
MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT                                Désactive la TVA sur les documents
                                                                   (pour les associations, fonctionne avec le
                                                                   modèle crabe)
INVOICE_CREDIT_NOTE_STANDALONE                                     On peut créer une note de crédit sans
                                                                   facture (v3.9)
INVOICE_DISABLE_REPLACEMENT                                        Désactive les factures de remplacement
INVOICE_DISABLE_CREDIT_NOTE                                        Désactive les notes de crédit
WORKFLOW_BILL_ON_SHIPMENT                                          Adapte l’étiquette du bouton pour la
                                                                   facturation sur expéditions
MAIN_DEFAULT_PAYMENT_TERM_ID                                       Définit le délai de paiement par défaut
                                                                   au niveau entreprise
DOC_SHOW_FIRST_SALES_REP                                           Aﬀiche le nom du commercial sur les
                                                                   PDF
INVOICE_DISABLE_DEPOSIT                                            Désactive les factures de dépôt
```

```
Constante                                                         Effet
INVOICE_ALLOW_EXTERNAL_DOWNLOAD                                   Génère automatiquement une clé de
                                                                  partage pour téléchargement externe
                                                                  (v7.0+)
INVOICE_POINTOFTAX_DATE                                           Ajoute la date d’imposition sur les
                                                                  factures (v4.0+)
FACTURE_ENABLE_NEGATIVE_LINES                                     Permet d’ajouter des lignes négatives à
                                                                  une facture (v8.0.2+)
INVOICE_USE_DEFAULT_DOCUMENT                                      Sélection dynamique du modèle de
                                                                  facture selon le type (v9.0+)
FACTURE_REUSE_NOTES_ON_CREATE_FROM                                Réutilise les notes publiques/privées de
                                                                  l’objet précédent (propale, commande…)
                                                                  lors de la création
INVOICE_USE_SITUATION                                             Active la fonctionnalité « facture de
                                                                  situation »
MAIN_ROUNDOFTOTAL_NOT_TOTALOFROUND                                Active la méthode 2 d’arrondi TVA
                                                                  (arrondi du total, non recommandé)
```

Clés de substitution disponibles pour les notes des factures récurrentes : \_\_INVOICE\_MONTH\_\_, \_\_INVOICE\_PREVIOUS\_MONTH\_\_, etc.

## Facture de situation

La facture de situation permet une facturation progressive par tranches de pourcentage.

**Avertissement**

Créez la facture de situation depuis la fiche du tiers (onglet Client) ou depuis une proposition/commande, et non depuis le menu Factures &gt; Nouvelle facture.

Activez la constante INVOICE\_USE\_SITUATION = 1. Renseignez le pourcentage de progression ligne par ligne (ou via le bouton Modifier toutes les lignes). Par exemple, pour la première facture à 40% :

*Figure 9.17 – Facture de situation à 40% du montant initial*

Une fois cette facture de situation réglée, le bouton Créer prochaine situation apparaît.

*Figure 9.18 – Créer la prochaine facture de situation*

Le brouillon créé propose le type facture suivant situation avec le numéro de la facture précédente.

**Note**

Pour ajouter 40% supplémentaires par rapport à la facture précédente, renseignez 80% (40% + 40%) dans le champ progression — la valeur est cumulative, pas incrémentale.

Pour la troisième et dernière facture de situation, ajoutez 20% pour atteindre 100%.

## Scripts

Script 1 — Fusion de factures PDF Génère un PDF unique à partir de l’ensemble des factures PDF d’une période. Le script rebuild\_merge\_pdf.php se trouve dans /scripts/invoices/.

```
chmod +x rebuild_merge_pdf.php
./rebuild_merge_pdf.php filter=payments 20211001 20220930 lang=fr_FR
```

Pour choisir un modèle de facture en sortie (ex. ultimate\_invoice), éditez le script pour y intégrer le nom du modèle.

*Figure 9.19 – Commande du script de fusion PDF*

Le PDF généré est disponible dans /documents/facture/temp/ sous le nom mergedpdf\_payments\_20211001\_20220930.pdf.

*Figure 9.20 – Résultat du script de fusion PDF*

Script 2 — Email aux commerciaux pour factures impayées Envoie un email à tous les commerciaux associés à un tiers client ayant au moins une facture impayée. Le script email\_unpaid\_invoices\_to\_representatives.php se trouve dans /scripts/invoices/.

```
chmod +x email_unpaid_invoices_to_representatives.php
./email_unpaid_invoices_to_representatives.php confirm
```

*Figure 9.21 – Commande du script email commerciaux*

*Figure 9.22 – Exemple d’email reçu par un commercial*

*Figure 9.23 – Résultat de l’exécution du script*

*Figure 9.24 – Sortie du script*

![Figure](https://wiki.infras.fr/uploads/images/gallery/2026-07/Un54invu38az7666-pic-211-006.png)

![Figure](https://wiki.infras.fr/uploads/images/gallery/2026-07/5rFS7MkLPc69UTRR-pic-212-008.png)

![Figure](https://wiki.infras.fr/uploads/images/gallery/2026-07/9h26cl4gxNe7qVLo-pic-213-010.png)

![Figure](https://wiki.infras.fr/uploads/images/gallery/2026-07/VoQ2HmUUtN3NFQcH-pic-214-012.png)

![Figure](https://wiki.infras.fr/uploads/images/gallery/2026-07/pqTQ2XBChy9h8NNa-pic-214-013.png)

![Figure](https://wiki.infras.fr/uploads/images/gallery/2026-07/EpqVvqbNHRLSPpFQ-pic-215-015.png)

![Figure](https://wiki.infras.fr/uploads/images/gallery/2026-07/Q3WqYudMDuarL93D-pic-216-017.png)

![Figure](https://wiki.infras.fr/uploads/images/gallery/2026-07/6eOQiYEMM4NXRQ0n-pic-218-020.png)

![Figure](https://wiki.infras.fr/uploads/images/gallery/2026-07/VVeAYhugrJVgC2Is-pic-218-021.png)

![Figure](https://wiki.infras.fr/uploads/images/gallery/2026-07/H24z9WysTlE4WAVu-pic-219-023.png)

![Figure](https://wiki.infras.fr/uploads/images/gallery/2026-07/NVgqIb6Ba6MQU0wk-pic-219-024.png)

![Figure](https://wiki.infras.fr/uploads/images/gallery/2026-07/NpsazQsMhL23NMpu-pic-220-026.png)

![Figure](https://wiki.infras.fr/uploads/images/gallery/2026-07/BJzKm0NKrK2ZUtbM-pic-221-028.png)

![Figure](https://wiki.infras.fr/uploads/images/gallery/2026-07/awNLj7V6xpmi3U29-pic-222-030.png)

![Figure](https://wiki.infras.fr/uploads/images/gallery/2026-07/OZdWLQF0dEChg2mD-pic-222-031.png)

![Figure](https://wiki.infras.fr/uploads/images/gallery/2026-07/UcJZEQDHdhl5Gvcc-pic-225-035.png)

![Figure](https://wiki.infras.fr/uploads/images/gallery/2026-07/S6NOCR6NgRnDVTVv-pic-226-037.png)

![Figure](https://wiki.infras.fr/uploads/images/gallery/2026-07/8S4Y9VKFywESBC3L-pic-227-039.png)

![Figure](https://wiki.infras.fr/uploads/images/gallery/2026-07/FkrzwRSCQWWOmvf7-pic-228-041.png)

![Figure](https://wiki.infras.fr/uploads/images/gallery/2026-07/DAOnNQYOx9Geak8c-pic-229-043.png)

![Figure](https://wiki.infras.fr/uploads/images/gallery/2026-07/uMypY07ZBc645eTN-pic-229-044.png)

![Figure](https://wiki.infras.fr/uploads/images/gallery/2026-07/FOYQSTOdMClEZBnA-pic-230-046.png)

![Figure](https://wiki.infras.fr/uploads/images/gallery/2026-07/wng1OTDGclDxbE2C-pic-230-047.png)