Skip to main content
Skip table of contents

[ARCHIVE] Calcul de Facturation


Remplacé par Facturation Client à partir de la V5.01.00

Le calcul de facturation vise à automatiser la création de factures à partir des informations commerciales (commandes commerciales, retours clients) et logistiques (expéditions validées).

Il peut ĂȘtre lancĂ© :

  • automatiquement lors de la validation des expĂ©ditions si la mĂ©thode de facturation dĂ©finie sur le client rattachĂ© Ă  l’évĂ©nement logistique est « 1 Â» (Facturation / BL expĂ©diĂ© automatiquement)

  • manuellement depuis la liste des factures Ă  valider

  • manuellement depuis la liste des sociĂ©tĂ©s comptables

  • manuellement Ă  partir de la liste des traitements non paramĂ©trĂ©s (traitement FAC-CAL) de l’explorateur applicatif « Exploitation Â» 

  • rĂ©pĂ©titivement en utilisant un traitement paramĂ©trĂ© sur le traitement FAC-CAL

Remarque : Il est possible d’ajouter une ligne de facture manuelle sur une facture calculĂ©e, lorsque celle-ci n’est pas validĂ©e.

Mécanisme de Calcul

Celui-ci est basĂ© sur une requĂȘte de type REB de sous-type FAC ; c’est-Ă -dire qui utilise au moins une des listes liĂ©es aux factures (WfCDFaEn, WfCDFaLi, WfCDFaDe).

Le calcul de facturation doit aller rechercher les informations commerciales (lignes de commandes, quantités, prix
) afin de mettre à jour les listes standards qui décriront le contenu des factures et leur mode de gestion.

Listes standards

Une facture est modĂ©lisĂ©e par :

  • une entĂȘte qui prĂ©sente les informations gĂ©nĂ©rales de la facture ;

  • des lignes qui prĂ©sentent le contenu particulier de la facture ;

  • un dĂ©tail pour chaque ligne calculĂ©e qui dĂ©crit les entitĂ©s commerciales et logistiques rattachĂ©es Ă  la ligne.

WfCDFaEn : EntĂȘte de Facture

Variable

Type Var.

Désignation

CdeFacRef

C

Référence Facture

CdeFacTyp

C

Type Facture (FM ou autre)

CdeFacRegMod

C

Mode RĂšglement

GesUtilRef

C

Gestionnaire (défaut / 1Úre cde rattachée)

CdeFacDes

C

Désignation Facture

CliResRef

C

Réseau Client

CliGenRef

C

Client associé à BL

CdeNumCom

C

NumĂ©ro de Commande (Cas oĂč une seule Cde. par BL)

CdeFacRegMod

C

Mode RĂšglement

CdeFacCom

C

Commentaire Facture

CdeFacDev

C

Devise Associée

CdeFacTvaRef

C

Code TVA de la Facture

CprCR1Ref

C

Référence du CritÚre Comptable 1

CprCR2Ref

C

Référence du CritÚre Comptable 2

CprCR3Ref

C

Référence du CritÚre Comptable 3

CdeFacPriLigHT

DE

Prix Total Ligne HT

CdeFacPriLigTax

DE

Montant Taxes Lignes

CdeFacPriLigTTC

DE

Montant TTC Lignes

CdeFacPriEnt1

DE

Montant Supplémentaire HT 1

CdeFacPriEnt2

DE

Montant Supplémentaire HT 2

CdeFacPriEnt3

DE

Montant Supplémentaire HT 3

CdeFacPriEnt4

DE

Montant Supplémentaire HT 4

CdeFacPriEnt5

DE

Montant Supplémentaire HT 5

CdeFacPriETT1

DE

Montant Supplémentaire TTC 1

CdeFacPriETT2

DE

Montant Supplémentaire TTC 2

CdeFacPriETT3

DE

Montant Supplémentaire TTC 3

CdeFacPriETT4

DE

Montant Supplémentaire TTC 4

CdeFacPriETT5

DE

Montant Supplémentaire TTC 5

CdeFacPriEntHT

DE

Prix Total Facture HT

CdeFacPriEntTax

DE

Montant Taxes Facture

CdeFacPriEntTTC

DE

Montant TTC Facture

CdeFacPriEntEsc

DE

Montant Escompte

CdeFacPriEntAco

DE

Montant Acompte

CdeFacPriRefAco

C

Liste des Factures d’Acompte RattachĂ©es

CdeFacCalDat

DA

Date de Calcul Facture

CdeFacEdtDat

DA

Date d'Edition Facture

CdeFacRegDat

DA

Date de RĂšglement Facture

CdeFacValSta

L

Indique si Facture Validée ou Non

CdeFacAutVal

L

Facture Validée Autom. AprÚs Calcul ?

CdeFacAutEdt

L

Facture Editée Autom. AprÚs Calcul ?

WfCDFaLi : Ligne de Facture

Variable

Type Var.

Désignation

CdeFacRef

C

Référence Facture

CdeFacLig

C

Numéro de Ligne de Facture

CdeFacLigRef

C

Article Rattaché à Ligne Facture

CdeFacLigDes

C

Désignation Rattachée à Ligne Facture

CdeFacLigUnMeQte

C

Unité de Mesure

CdeFacLigTvaRef

C

Code TVA Associé à Ligne Facture

CdeFacLigTyp

C

Type de Ligne

Cette information peut contenir les valeurs LC (Ligne issue du calcul de facturation) ou LM (Ligne Manuelle). Lors de la crĂ©ation, elle peut ĂȘtre initialisĂ©e avec LM pour indiquer que cette ligne prend le comportement d’une ligne créée par la GFD (c’est-Ă -dire qu’aucune ligne d’expĂ©dition ne lui est rattachĂ©e). Si cette information n’est pas renseignĂ©e dans la requĂȘte REB de calcul de facturation, elle prend la valeur LC.

CptFamRef

C

Famille Comptable

CptSFaRef

C

Sous-Famille Comptable

CptCr1Ref

C

CritĂšre 1 Comptable

CptCr2Ref

C

CritĂšre 2 Comptable

CptCr3Ref

C

CritĂšre 3 Comptable

CdeFacLigNbrBL

DE

Nombre de Lignes de BL Rattachées

CdeFacLigQte

DE

Quantité Associée à Ligne Facture

CdeFacPriLigTar

DE

Prix Unitaire Tarif Ligne HT

CdeFacPriLigUn

DE

Prix Unitaire Ligne HT

CdeFacPriLigHT

DE

Prix Total Ligne HT

CdeFacPriLigTax

DE

Montant Taxes Ligne

CdeFacPriLig1

DE

Montant Supplémentaire HT 1

CdeFacPriLig2

DE

Montant Supplémentaire HT 2

CdeFacPriLig3

DE

Montant Supplémentaire HT 3

CdeFacPriLig4

DE

Montant Supplémentaire HT 4

CdeFacPriLig5

DE

Montant Supplémentaire HT 5

CdeFacPriETT1

DE

Montant Supplémentaire TTC 1

CdeFacPriETT2

DE

Montant Supplémentaire TTC 2

CdeFacPriETT3

DE

Montant Supplémentaire TTC 3

CdeFacPriETT4

DE

Montant Supplémentaire TTC 4

CdeFacPriETT5

DE

Montant Supplémentaire TTC 5

CdeFacPriLigTTC

DE

Prix Total Ligne TTC

WfCDFaDe : DĂ©tail Ligne de Facture

Variable

Type Var.

Désignation

CdeFacRef

C

Référence Facture

CdeFacLig

C

Numéro de Ligne de Facture

CdeExpBLRef

C

Référence BL

CdeExpRef

C

RĂ©fĂ©rence ExpĂ©dition pour une expĂ©dition ou « C Â» pour une ligne de commande non intĂ©grable ou « R Â» pour une ligne de retour client.

CdeNumCom

C

Numéro de Commande (CDPrLi) ou *A (additif) pour une expédition ou numéro de commande commerciale pour une ligne de commande non intégrable ou numéro de retour client

CdeNumLig

C

Numéro de Ligne de Commande (CDPrLi) ou référence additif pour une expédition ou numéro de ligne de commande commerciale pour une ligne de commande non intégrable ou numéro de ligne de retour client

CdeFacQteExp

DE

QuantitĂ© RattachĂ©e Ă  Ligne de Facture ; soit la quantitĂ© expĂ©diĂ©e pour une expĂ©dition, soit la quantitĂ© commandĂ©e pour une ligne de commande non intĂ©grable, soit la quantitĂ© retournĂ©e pour un retour client.

RĂšgles Diverses

Contexte d’exĂ©cution de la requĂȘte

La variable « SCR.TypeDeCalcul Â» contient l’origine de lancement du calcul :

NOR ou vide ou non dĂ©fini : gĂ©nĂ©ration classique par traitement FAC-CAL (pas de contexte particulier)

LIS-BL : facturation automatique depuis la validation des Ă©vĂ©nements d’expĂ©ditions (les variables « SCR.CliResRef Â» et « SCR.CliGenRef Â» contiennent les informations relatives Ă  l’évĂ©nement d’expĂ©dition Ă  facturer et la variable « SCR.FacLisBL Â» contient la liste des BLs Ă  facturer pour ce client)

SEL-DIALOG : SĂ©lection des lignes d’expĂ©ditions via DIALOG en utilisant la fonction ENR-ACT-ENT (la liste standard WfCDFaDe est prĂ©-initialisĂ©e avec les BLs expĂ©diĂ©s sĂ©lectionnĂ©s par DIALOG)

SEL-INTER : SĂ©lection interactive depuis la liste des lignes d’expĂ©ditions non facturĂ©es (la liste standard WfCDFaDe est prĂ©-initialisĂ©e avec les BLs expĂ©diĂ©s sĂ©lectionnĂ©s

Suppression de Facture

Il est possible d'indiquer, dans la requĂȘte, la rĂ©fĂ©rence des factures que l'on souhaite supprimer avant la gĂ©nĂ©ration des nouvelles factures.

Pour cela, pour chaque facture Ă  supprimer, crĂ©er WfCDFaEn tel que :

WfCDFaEn.CdeFacTyp = « FS Â»

WfCDFaEn.CdeFacRef = RĂ©fĂ©rence_Facture_A_Supprimer (doit ĂȘtre une facture non validĂ©e)

Lors du traitement des listes standards gĂ©nĂ©rĂ©es par la requĂȘte, pour chaque dĂ©tail de ligne de facture (WfCDFaDe), si une facture non validĂ©e existe dĂ©jĂ  pour celui-ci, cette facture est supprimĂ©e.

Escompte

Dans la requĂȘte de calcul de facturation, si l’escompte est gĂ©rĂ© sur le HT, il faut calculer le montant de TVA total de la facture en tenant compte de l’escompte :

TVA = Total TVA Lignes + ((Plus-ValuesHT – Escompte) * Taux de TVA)

Acompte

Dans la requĂȘte de calcul de facturation, il est possible de renseigner, pour les factures de produits, la liste des factures d’acompte (WfCDFaEn.CdeFacPriRefAco) et le montant d’acompte (WfCDFaEn.CdeFacPriEntAco). En sortie de la requĂȘte on vĂ©rifie que les factures d’acompte existent et sont de type correct (paramĂštre gĂ©nĂ©ral FAC-ACO-SEL) et si le montant d’acompte (WfCDFaEn.CdeFacPriEntAco) n’est pas renseignĂ©, il est initialisĂ© avec le cumul des montants TTC des factures d’acompte.

Type « Facture Manuelle Â»

Une facture manuelle gĂ©nĂ©rĂ©e par macro langage (WfCDFaEn.CdeFacTyp = « FM Â») ne peut avoir de dĂ©tail d’évĂ©nement d’expĂ©dition rattachĂ© (WfCDFaDe).

Lignes de Commandes non Intégrables

Il est possible de crĂ©er des dĂ©tails de lignes de facture pour des lignes de commande commerciales non intĂ©grables (portant sur un article ayant comme dĂ©finition commerciale « 5 : article NON gĂ©rĂ© »). Pour cela, WfCDFaDe.CdeExpRef doit contenir « C Â», WfCDFaDe.CdeNumCom doit contenir le numĂ©ro de la commande commerciale et WfCDFaDe.CdeNumLig doit contenir le numĂ©ro de la ligne de commande commerciale.

Simulation de Facturation

Diapason permet de forcer le fait qu’une ligne de gestion expĂ©diĂ©e n’est pas a prendre en compte dans le calcul de facturation, et qu’elle ne doit plus l’ĂȘtre. Exemple ne pas vouloir facturĂ©e une ligne de gestion dont le montant est a zĂ©ro ou de pas vouloir crĂ©er de facture pour des commandes de type SAV


Dans la requĂȘte de calcul de facturation, il faut, pour chaque ligne d’expĂ©dition non facturable, crĂ©er un enregistrement dans la liste standard WfCDFaDe tel que :

  • WfCDFaDe.CdeFacRef = « *NF Â»

  • Contenant les informations de la ligne d’expĂ©dition, Ă  savoir :

    • WfCDFaDe.CdeExpRef : Evt_ExpĂ©dition

    • WfCDFaDe.CdeNumCom : Besoin_de_Gestion

    • WfCDFaDe.CdeNumLig : Ligne_Besoin_de_Gestion

En sortie de requĂȘte de calcul de facturation, les enregistrements de WfCDFaDe tels que WfCDFaDe.CdeFacRef = « *NF Â» sont traitĂ©s avant la crĂ©ation des factures.

Pour chaque ligne non facturable trouvĂ©e :

  • le statut de facturation est forcĂ© Ă  « VRAI Â» ;

  • la quantitĂ© facturĂ©e est forcĂ©e avec la quantitĂ© expĂ©diĂ©e ;

  • les quantitĂ©s et montants facturĂ©s sont mis Ă  jour sur la commande commerciale ;

  • les montants facturĂ©s sont mis Ă  jour pour le client ;

  • un enregistrement est conservĂ© dans le dĂ©tail de facturation pour conservĂ© la trace de ce traitement.

Dans les listes prĂ©sentant le dĂ©tail de facturation pour une ligne d’expĂ©dition, la valeur ‘*NF’ dans le numĂ©ro de facture indique que la facturation a Ă©tĂ© forcĂ©e sur cette ligne et la colonne prĂ©sentant le numĂ©ro de BL donne la date Ă  laquelle a Ă©tĂ© fait ce traitement.

Retour Client

Dans la requĂȘte de calcul de facturation, il est possible de crĂ©er des dĂ©tails de lignes de factures pour des lignes de retours clients. Pour cela, WfCDFaDe.CdeExpRef doit contenir « R Â», WfCDFaDe.CdeNumCom doit contenir le numĂ©ro du retour client et WfCDFaDe.CdeNumLig doit contenir le numĂ©ro de la ligne du retour client.

Remarque : Toutes les lignes d’un retour client doivent ĂȘtre facturĂ©es dans une mĂȘme facture.

Exemple de requĂȘte REB/FAC

Calcul de facture pour toutes les expĂ©ditions validĂ©es et non facturĂ©es (la mĂ©thode de facturation des clients doit ĂȘtre « MĂ©thode de Facturation = 2 : Facturation / Calcul de Facturation Â»).

VLO.NombreFactureCalculees = CLO.0

VLO.CoeffTaxe = CLO.19,6

POUR CHAQUE/SOC DTD CDExLi AVEC DTD CDExLi.CdeExpValSta = Yes ET DTD CDExLi.CdeExpFacSta = NO :

RECH TBD/SOC DTD CDExBL AVEC DTD CDExBL.CdeExpBLRef = DTD CDExLi.CdeExpBLRef :

RECH TBD/SOC DTD CDClient AVEC DTD CDClient.CliResRef = DTD CDExBL.CliResRef

ET DTD CDClient.CliGenRef = DTD CDExBL.CliGenRef :

RECH TBD/SOC DTD CDPrLi AVEC DTD CDPrLi.CdeNumCom = DTD CDExLi.CdeNumCom

ET DTD CDPrLi.CdeNumLig = DTD CDExLi.CdeNumLig :

VLO.NumFac = CLO.""

RECH PREM LST WfCDFaEn AVEC WfCDFaEn.CliResRef = DTD CDExBL.CliResRef

ET WfCDFaEn.CliGenRef = DTD CDExBL.CliGenRef :

VLO.NumFac = WfCDFaEn.CdeFacRef

FIN_BLOC

SI VLO.NumFac = CLO.""

VLO.NombreFactureCalculees = VLO.NombreFactureCalculees + CLO.1

VLO.NumFac = CHAINE( VLO.NombreFactureCalculees , E0/10 )

VLO.DateReg = DATEJOUR( )

VLO.DateReg = CAL-DATE( VLO.DateReg , CLO.30 , + )

CREATION Liste WfCDFaEn :

PRENDRE CdeFacRef = VLO.NumFac

PRENDRE CdeFacDes = CLO."Facture Client"

PRENDRE CliResRef = DTD CDExBL.CliResRef

PRENDRE CliGenRef = DTD CDExBL.CliGenRef

PRENDRE CdeFacCalDat = DATEJOUR( )

PRENDRE CdeFacRegDat = VLO.DateReg

PRENDRE CdeFacDev = DTD CDClient.CliDevPrix

FIN_BLOC

FIN_BLOC

VLO.NumeroLigne = CLO.1

POUR CHAQUE LST WfCDFaLi AVEC WfCDFaLi.CdeFacRef = VLO.NumFac :

VLO.NumeroLigne = VLO.NumeroLigne + CLO.1

FIN_BLOC

CREATION Liste WfCDFaLi :

PRENDRE CdeFacRef = VLO.NumFac

PRENDRE CdeFacLig = CHAINE( VLO.NumeroLigne , E0/3 )

PRENDRE CdeFacLigRef = DTD CDPrLi.CdeLigRefArt

PRENDRE CdeFacLigDes = DTD CDPrLi.CdeLigDesArt

PRENDRE CdeFacLigUnMeQte = DTD CDExLi.CdeExpUnMeQteExp

PRENDRE CdeFacLigNbrBL = CLO.1

PRENDRE CdeFacLigQte = DTD CDExLi.CdeExpQteExp

PRENDRE CdeFacPriLigTar = DTD CDPrLi.CdeLigPrPublic

PRENDRE CdeFacPriLigUn = DTD CDPrLi.CdeLigPrix

PRENDRE CdeFacPriLigHT = DTD CDPrLi.CdeLigPrix * DTD CDExLi.CdeExpQteExp

PRENDRE CdeFacPriLigTax = WfCDFaLi.CdeFacPriLigHT * VLO.CoeffTaxe / CLO.100

PRENDRE WfCDFaLi CdeFacPriLigTTC = WfCDFaLi.CdeFacPriLigHT + WfCDFaLi.CdeFacPriLigTax

FIN_BLOC

CREATION Liste WfCDFaDe :

PRENDRE CdeFacRef = VLO.NumFac

PRENDRE CdeFacLig = CHAINE( VLO.NumeroLigne , E0/3 )

PRENDRE CdeExpRef = DTD CDExLi.CdeExpRef

PRENDRE CdeNumCom = DTD CDExLi.CdeNumCom

PRENDRE CdeNumLig = DTD CDExLi.CdeNumLig

PRENDRE CdeExpBLRef = DTD CDExLi.CdeExpBLRef

PRENDRE CdeFacQteExp = DTD CDExLi.CdeExpQteExp

FIN_BLOC

FIN_BLOC

FIN_BLOC

FIN_BLOC

FIN_BLOC

POUR CHAQUE LST WfCDFaEn :

VLO.MontantTTC = CLO.0

POUR CHAQUE LST WfCDFaLi AVEC WfCDFaLi.CdeFacRef = WfCDFaEn.CdeFacRef :

VLO.MontantTTC = VLO.MontantTTC + WfCDFaLi.CdeFacPriLigTTC

FIN_BLOC

PRENDRE WfCDFaEn CdeFacPriEntTTC = VLO.MontantTTC

FIN_BLOC

Lancement

Par Calcul de Facturation

Cette fonction peut-ĂȘtre lancĂ©e par l’action dĂ©diĂ©e « Calcul Facturation Â» disponible Ă  partir :

de la branche applicative « Factures Ă  Valider Â»

du menu local lancĂ© sur une « SociĂ©tĂ© Comptable Â»

du « traitement non paramĂ©trĂ© Â» de type FAC-CAL, dans le module « Exploitation Â».

d’un job basĂ© sur un « traitement paramĂ©trĂ© Â» de type FAC-CAL, dans le module « Exploitation Â». Ce job pourrait ĂȘtre lancĂ© pĂ©riodiquement.

Sur des EvĂ©nements d’ExpĂ©ditions ValidĂ©s

Depuis la liste des lignes d’expĂ©dition validĂ©es non facturĂ©es sur les explorateurs applicatifs « Logistique Â» et « Facturation Client Â»

Deux actions permettent de gĂ©nĂ©rer des factures :

  • Calcul Facturation 

Lancement, aprĂšs un message de confirmation, du calcul de facture pour la sĂ©lection rĂ©alisĂ©e (ou pour la ligne courante si aucune sĂ©lection n’a Ă©tĂ© faite).

  • Calcul Facturation (QtĂ© Partielle) 

Lancement, aprĂšs saisie des quantitĂ©s Ă  facturer dans un tableur, du calcul de facture pour la sĂ©lection rĂ©alisĂ©e (ou pour la ligne courante si aucune sĂ©lection n’a Ă©tĂ© faite)

(Voir documentation Logistique : DĂ©tail EvĂ©nements)

Validation d’EvĂ©nements d’ExpĂ©dition

Le calcul de facturation par requĂȘte REB/FAC peut ĂȘtre lancĂ© automatiquement lors de la validation d’un Ă©vĂ©nement d’expĂ©dition.

Cette fonction est activĂ©e si la « MĂ©thode de facturation Â» (SCL.CliFacMet) renseignĂ©e sur le client est « 1 Â» (Facturation / BL ExpĂ©diĂ© Automatiquement).

Calcul de Facturation par ENR-ACT-ENT

Calcul

Il est possible d’utiliser la fonction DIALOG « ENR-ACT-ENT Â» pour lancer un calcul de facture pour une liste de lignes d’expĂ©dition, pour une liste de lignes de retours clients ou pour une liste de lignes de commandes commerciales non intĂ©grĂ©es.

Lancement

Si le calcul de facturation est basĂ© sur une requĂȘte utilisant la fonction ENR-ACT-ENT pour gĂ©nĂ©rer les factures, le lancement du calcul peut-ĂȘtre effectuĂ© Ă  partir de diffĂ©rents outils DIAPASON susceptibles d’utiliser ces requĂȘtes :

  • en sortie de tableur dynamique (via RCT) ;

  • au lancement d’un document (via REB)


(Voir documentation DIALOG : Calcul Facturation Client par ENR-ACT-ENT)


JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.