Easy_Fact : Gestion facturation Partie #06 Numérotation des factures avancée

Introduction à la numérotation dynamique des factures sous WinDev

Une numérotation de factures correcte et dynamique est cruciale pour tout système de gestion de la facturation. Une numérotation cohérente assure un suivi approprié, une conformité légale et aide à maintenir des registres financiers organisés. Dans cette sixième partie de la série Easy_Fact, nous allons explorer comment implémenter un système de numérotation de factures flexible et personnalisable sous WinDev, qui répond à diverses exigences telles que des préfixes spécifiques, des numéros séquentiels et l’intégration de l’année.

Nous avons reçu de nombreuses demandes de notre communauté concernant ce problème, en particulier sur la manière de générer des numéros de facture incluant des chiffres, des lettres et plusieurs préfixes. Ce guide vise à simplifier ce processus et à fournir une solution pratique et efficace.

Ce que vous apprendrez dans ce tutoriel :

  • Comprendre l’importance d’une numérotation correcte des factures.
  • Créer des requêtes HFSQL pour récupérer le numéro de facture le plus élevé existant.
  • Générer automatiquement des numéros de facture séquentiels.
  • Intégrer des préfixes personnalisés (tels que FACT, PROFORMA, DEVIS) et l’année en cours dans le numéro de facture.
  • Appliquer cette logique dans une fenêtre de facture WinDev.

Ces étapes sont une partie essentielle de notre série de tutoriels sur la construction d’une application complète de gestion de la facturation avec WinDev. Pour une compréhension complète de tous les concepts, nous vous recommandons fortement de suivre les parties précédentes de la série.

Regardez le tutoriel complet dans la vidéo ci-dessous :

WinDev Easy_Fact: Numérotation des Factures Avancée

Structure proposée du numéro de facture

Notre système de numérotation vise à générer des numéros de facture au format : FACT/003/2023 ou PROFORMA/015/2023. Pour y parvenir, deux étapes principales sont nécessaires :

  1. Récupération du numéro de facture le plus élevé : Nous devons interroger la base de données pour identifier le plus grand numéro séquentiel actuellement utilisé pour un type de facture donné.
  2. Assemblage du nouveau numéro : Construire le nouveau numéro en incrémentant le numéro récupéré, en ajoutant un préfixe spécifique (tel que FACT, PROFORMA, DEVIS, BON DE LIVRAISON, BON DE RÉCEPTION, BON DE COMMANDE) et en intégrant l’année en cours.

Code pour la génération du numéro de facture

1. Requête HFSQL pour récupérer le numéro de facture le plus élevé

Cette requête récupère le numéro de facture le plus élevé de la table Facture. Elle peut être adaptée pour récupérer les numéros de types de factures spécifiques si vous avez un champ TypeFacture.

SELECT
MAX(Facture.Num_fact) AS le_maximum_Num_fact
FROM
Facture

2. Logique WinDev pour la numérotation des factures

Ce code est implémenté dans votre fenêtre de facture, généralement lors de l’initialisation de la fenêtre ou lors de la création d’une nouvelle facture.

// Exécution de la requête pour récupérer le numéro de facture le plus élevé
HExécuteRequête(REQ_max_n_facture, hRequêteDéfaut)

// Détermination du nouveau numéro séquentiel
SI REQ_max_n_facture.le_maximum_Num_fact = 0 ALORS
    // S'il n'y a pas de factures précédentes, commencer à 1
    Facture.Num_fact = 1
SINON
    // Incrémenter le numéro le plus élevé existant
    Facture.Num_fact = REQ_max_n_facture.le_maximum_Num_fact + 1
FIN

// Construction de la référence de facture finale (ex: FACT/001/2023)
// Le préfixe (ex: "FACT/") est déterminé en fonction du type de document actuel
// Complète(ChaîneInverse(Facture.Num_fact), 3, 0) assure le formatage du numéro avec trois zéros de tête (ex: 001, 002)
Facture.Référence = "FACT/" + ChaîneInverse(Complète(ChaîneInverse(Facture.Num_fact), 3, 0)) + "/" + AnnéeEnCours()

// Mise à jour des éléments de l'interface utilisateur avec les nouvelles données
FichierVersEcran()

// Définition de la valeur de retour de la fenêtre (selon les besoins de votre application)
MaFenêtre..ValeurRenvoyée = Faux

Personnalisation des préfixes

Pour générer différents types de documents (factures, factures proforma, devis, etc.), vous devrez modifier dynamiquement la partie "FACT/" du code ci-dessus en fonction du type de document que vous créez. Vous pouvez utiliser une variable, un champ de sélection ou un paramètre pour passer le préfixe approprié.

  • Facture : "FACT/"
  • Facture proforma : "PROFORMA/"
  • Devis : "DEVIS/"
  • Bon de livraison : "BL/"
  • Bon de réception : "BR/"
  • Bon de commande : "BC/"

Conclusion

En implémentant cette logique, vous pouvez créer un système de numérotation de factures robuste et flexible dans votre application WinDev. Cela garantit non seulement l’unicité de chaque document, mais améliore également le professionnalisme et aide à gérer efficacement les registres financiers. N’hésitez pas à adapter ces solutions pour répondre aux exigences spécifiques de votre projet.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *