Blog navigation

Derniers articles

Simulation de la TVA avant la Génération de Facture dans Sage X3

 

Simulation de la TVA avant la Génération de Facture dans Sage X3

Dans les systèmes Sage X3, la TVA est calculée et activée au moment de la génération de la facture, ce qui peut poser problème dans certaines situations où des prévisions financières sont nécessaires avant l'émission de cette facture. Un de mes clients a rencontré cette problématique, ayant besoin de connaître la valeur exacte de la TVA pour intégrer ces données dans des calculs financiers avant de finaliser la génération de la facture. La complexité du calcul de la TVA et l’intégration des commissions à la facture demandait une solution adaptée.

Dans cet article, je présente une solution qui permet de simuler la TVA en respectant le standard de Sage X3, avant même la création de la facture. L'approche utilisée repose sur l’émulation du comportement d’une facture standard, tout en copiant les informations de TVA déterminées à un moment précis et en annulant ensuite la génération de la facture en positionnant des variables spécifiques.

L’avantage de cette technique est qu’elle garantit le respect total des standards de Sage X3, tout en prenant en compte les spécificités verticales ou propres aux modules installés sur le système du client. En effet, l’importation simule une saisie standard, ce qui permet de s'assurer que le calcul est fait selon les règles standardisées.

Scénario classique

Prenons un exemple typique : un client souhaite réaliser des prévisions financières avant la création d’une facture. Cependant, dans Sage X3, la TVA n’est calculée qu’au moment de la génération de la facture finale. Le code suivant présente une solution qui permet de contourner cette limitation, tout en respectant l’intégrité du système.

Exemple de code pour la simulation de TVA dans Sage X3


$ACTION

  Case ACTION
    When "IMP_OUVRE"            : Gosub IMP_OUVRE
    When "IMP_VERIF_CRE"        : Gosub IMP_VERIF_CRE
    When "IMP_FERME"            : Gosub IMP_FERME
    When "IMP_SETBOUT"          : Gosub IMP_SETBOUT
  Endcase
Return

$IMP_SETBOUT
  [L]YBILIMP=val(timestamp$)
  [L]YINVNB+=1
Return

$IMP_FERME
  [L]YBILIMP=val(timestamp$)-[L]YBILIMP
  Call ECR_TRACE(mess(406,107,1)-num$(([L]YBILIMP/1000)/[L]YINVNB)-mess(25,154,1)-"/"-mess(87,121,1),0) From GESECRAN
Return

$IMP_OUVRE

  If !clalev([F:ZTXSV])      : Local File ZTRANSACTMP   [F:ZTXSV]       : Endif
  Local Integer YI
  Local Integer YINVNB
  Local Decimal YBILIMP
Return

$IMP_VERIF_CRE 
  # À ce stade, la classe [F:SID] est remplie et les commissions sont créées
  # Nous sommes également sûrs que tous les standards ont été activés préalablement
  # Cette action est la dernière opportunité pour bloquer la création en mettant OK=0
  
  Trbegin [F:ZTXSV]
  For YI=0 To nolign-1
    Read [F:ZTXSV]ZTRX0=[M:SIH4]ZTRXCHR(YI)
    If !fstat
      [F:ZTXSV]VAT(0)=[M:SIH4]VAT1(YI)
      [F:ZTXSV]VAT(1)=[M:SIH4]VAT2(YI)
      [F:ZTXSV]VAT(2)=[M:SIH4]VAT3(YI)
      [F:ZTXSV]AMTTAXLIN(0)=[M:SIH4]AMTTAXLIN1(YI)
      [F:ZTXSV]AMTTAXLIN(1)=[M:SIH4]AMTTAXLIN2(YI)
      [F:ZTXSV]AMTTAXLIN(2)=[M:SIH4]AMTTAXLIN3(YI)
      [F:ZTXSV]YSIHVAT=3
      Rewrite [F:ZTXSV]
    Endif

  Next YI
  If !fstat
    Commit
  Else
    Rollback
  Endif
  OK=0
Return

Explication de la solution

Le code ci-dessus montre comment réaliser une simulation de TVA en utilisant un traitement spécifique connecté à un modèle d’import. Ce modèle permet de déterminer les informations de TVA avant la création définitive de la facture, et d'annuler cette création une fois la simulation réalisée. Chaque commission est également calculée et associée à la facture simulée.

Conclusion

Cette méthode de simulation de TVA avant la génération de facture permet aux utilisateurs d'obtenir des informations précises sur les montants à facturer, en incluant les commissions et les taxes applicables, avant la création officielle de la facture. En plus de respecter les standards de Sage X3, cette approche s’intègre parfaitement aux environnements personnalisés et répond aux besoins spécifiques des clients en termes de prévisions financières.

 
Publié dans: Sage X3, 4GL