Dans cet article

    Planification financière avec formules

    Universel
    Comptabilité en partie double
    Éducation

    La possibilité de saisir des formules n'est disponible dans Banana Comptabilité Plus qu'avec le plan Advanced.

    Ouvrir dans Banana WebApp

    Ouvrez Banana Comptabilité Plus sur votre navigateur sans aucune installation. Personnalisez le modèle, saisissez les transactions et enregistrez le fichier sur votre ordinateur.

    Ouvrir le modèle dans Banana WebApp

    Documentation Modèle

    La possibilité de saisir des formules n'est disponible dans Banana Comptabilité Plus qu'avec le plan Advanced. Mettez à jour maintenant!

    Ce fichier contient des exemples d'écritures dans le tableau Budget, qui font usage de la colonne Formule et aussi des colonnes Quantité et Prix unitaire.

    Pour les explications relatives au tableau Budget et aux colonnes veuillez consulter la page tableau Budget.

    Rappellez-vous particulierèment, que les calculs sont effectués par ordre de date et non selon la séquence dans laquelle les mouvements budget ont été insérés.

    Colonne quantité et prix unitaire

    Dans la vue Formule vous verrez les colonnes Qt. (quantité) et Prix/Unité

    • Pièce 10. Dans la colonne Qt. se trouve le nombre de cafés vendus en un mois et dans la colonne Prix/Unité le profit pour chaque café.
      Le programme calcule le Montant.
    • Les valeurs de la colonne Qt et Prix peuvent être insérées avec des chiffres négatifs, mais le Montant est converti en positif.

    Formule dans le langage Javascript

    La colonne Formule permet d'insérer des expressions de calculs dans le langage Javascript.

    • Si le résultat de la formule est un numéro, il sera repris comme Montant.
    • Pièce 11. On peut indiquer des numéros ou des expressions mathématiques.
    • Pièce 40 et 41. Le "//" indique que le texte est un commentaire.
    • Pièce 42. Le texte compris entre /* et */ est traîté comme un commentaire non pas comme faisant partie de la formule.

    Erreurs dans les formules

    Si il y a des erreurs:

    • La ligne avec l'erreur est indiquée en rouge.
    • Le texte de l'erreur parraît dans la fenêtre "messages".

    Pour éviter des signalisations d'erreur en continue, les erreurs sont commentées dans le fichier d'exemple (commencent avec "//").

    Séparateur point virgule ";"

    En javascript, chaque ligne de commande se termine par un ";". On peut ainsi enchaîner les expressions sur une ligne. La valeur de retour est le résultat de la dernière expression.

    Séparateur virgule ","

    En javascript, la virgule est utilsée pour séparer les différentes expressions comprises dans une fonction. Le séparateur de virgules, dans ce cas, sépare les différentes expressions et le résultat est celui de la dernière expression.

    N'utilisez pas la virgule comme séparateur de décimales, parce que dans la formule, la virgule est considérée comme un séparateur d'expressions seulement, et donc la valeur numérique sera tronquée.

    Séparateur de décimales - le point "."

    Javascript utilise le point "." comme séparateur de décimales. Indépendament de la configuration des décimales dans le système d'exploitation de votre ordinateur, javascript utilisera toujours le point pour séparer les décimales.

    Simples calculs mathématiques

    Dans la colonne formule vous pouvez insérer des calculs mathématiques composés avec de simples chiffres.

    Textes et variables

    • Les textes sont des valeurs comprises entre des guillemets et des apostrophes.
    • Les variables sont des éléments qui rappellent la valeur qui leur ont été attribuées.
      • Le nom de la variable doit commencer par une lettre ou le signe souligné "_" 
      • Les variables doivent d'abord être définies à travers l'affectation "nomevariabile = 100"
    • Exemples: 
    • Pièce 70. "Banana" entre les guillemets est un texte.
    • Pièce 101
      Une valeur de 100 est affectée à la variable Montant.
    • Pièce 102. 
      Le contenu de la variable Montant est repris.
    • Pièce 103
      Le contenu de la variable Montant est repris, incrémenté de 10

    • Pièce 104.
      Le contenu de la variable montant est affecté à la variable montant incrémenté de 10.
      La variable montant sera égale à 110.

    • Pièce 105
      Cette formule sera appliquée mensuellement "Répéter = M".
      • La première fois 110+10=120
      • La seconde fois 120+10=130 et ainsi de suite.
    • Pièce 106
      Si on enlève le commentaire cela indiquera que la variable montant1 n'a pas été définie.
    • Pièce 110
      Affectons à la variable le nom/texte "Banana".

    Controle du flux if ... then ... else

    Vous pouvez utiliser toutes les expressions conditionnelles de javascript. Le sujet est très vaste et nous vous conseillons fortement de consulter la documentation sur le langage Javascript.

    Nous signalerons uniquement, à ce propos, que dans Javascript:

    • Le signe égal "=" est utilisé pour affecter une valeur à une variable "a=10"
    • Pour la comparaison, on utilise, par contre, deux foix le signe égal l'un après l'autre "==". If (10==10) {1};

    • Pièce 200-203
      Si la condition indiquée entre des parenthèses rondes après le mot "if" est vraie "(10==10), alors le résultat de l'expression suivante, contenue dans les accolades "{1}", sera indiqué dans le montant.
      Si elle n'est pas vraie "(10==9)", la valeur du montant sera zéro.

    Propritétés et Fonctions

    Les fonctions prédéfinies de javascript, comme, par exemple, celle du Module Math peuvent être utilisées.

    Pour appeler une fonction, indiquez le nom suivi de la parenthèse à l'intérieur des quelles se trouvent les paramètres de la fonction.
    Le nombre des paramètres dépend de la fonction.

    • Pièce 220.
      Math.min(10, 30, 2) retourne la valeur minimum des valeurs spécifiées et séparées par la virgule.

    Object "row" ligne courante

    L'objet row du type Banana.Document.Row se réfère à la ligne courante.

    Spécifier le nom de la colonne xml via la fonction value fait retourner le contenu de cette colonne-là.

    Fonction prédéfine débit et crédit

    La formule n'accèpte, comme résultats, que des valeurs positives.

    • La fonction débit retourne la valeur entrée comme paramètre si elle est positive.
    • La fonction crédit retourne la valeur entrée comme paramètre avec le signe inverti si la valeur entrée est négative.

    Fonctions comptables pour toute la période

    Si l'on utilise des fonctions spécifiques du budget sans période, la valeur relative retournera à la situation actuelle.

    Rappelez-vous que les lignes sont élaborées par dates consécutives et donc, il ne peut y avoir de valeurs suivant la date de la ligne en élaboration.

    Fonctions comptables limitée à une période

    Ici, les fonctions sont utilisées avec la période.

    La fonction BudgetBalance pour la période courante sera toujours égale à la fonction sans période, parce que la fonction BudgetBalance retourne le solde à la fin de la période et, de toutes façons, la ligne en élaboration est la dernière de cette période.
    Par contre, en ce qui concerne les fonctions BudgetOpening et BudgetTotal, on considère aussi les dates de début, c'est pourquoi la période est importante.

    Fonctions pour le calcul d'intérêts.

    La fonction BudgetInterest calcule l'intérêt sur le compte indiqué en considérant les jours effectifs (365/365)  à la date indiquée pour les écritures.
    En calculant l'intérêt du mois courant, vous devez indiquer la date de fin du mois comme date.

    • Pièce 500.
      Le second paramètre représente le taux d'intérêt. Le 5 signifie 5%. Quand il est positif, il calcule l'intérêt pour les jours pour lesquels le solde se trouvait en débit.
    • Pièce 520.
      Ici le taux d'intérêt est négatif, donc, il calcule les intérêts pour les jours où le solde se trouvait en crédit.

    Fonctions de calcul de l'impôt sur le revenu

    • Pièce 600.
      L'impôt sur le bénéfice est calculée sur le mouvement dans la période "budgetTotal" du groupe final du Compte de résultat (dans ce cas, le 02).
      credit(budgetTotal ("GR = 02", "YC")) * 0.10
      • Tu obtiens le mouvement du groupe dans l'année en cours
        budgetTotal ("GR = 02", "YC")
      • La fonction credit () renvoie la valeur uniquement si elle est négative et la convertit en positif.
        credit(budgetTotal ("GR = 02", "YC"))
      • Le résultat est multiplié par 0.10 (pourcentage 10%)
      • Dans le compte Débit, il faut indiquer le compte Impôts du Compte de Résultat.
      • Dans le compte Crédit, il faut indiquer le compte bancaire ou le compte de crédit du Trésor.

    Fonctions définies par l'utilisateur

    Dans le table Documents, vous avez ajouté un fichier "_budget.js" où vous pouvez définir des fonctions dans JavaScript qui peuvent être appelées dans la colonne formule.

    Calcul de l'impôt sur le bénéfice avec taux progressif

    • Pièce 610
      Le bénéfice est d'abord calculé et attribué à la variable
    • Pièce 611
      Le bénéfice est passé à la fonction calculeImpot() qui applique le pourcentage d'impôt en fonction du montant et renvoie l'impôt à payer.

    Autres fonctions définies par l'utilisateur

     
    • Pièce 620
      La fonction test () est appelée, qui est également définiee dans le document _budget .js, qui retourne simplement une valeur.

    Utilisation des variables pour les calculs suivants

    Les variables sont très utiles pour mémoriser des valeurs qui servent pour les calculs suivants.

    • Doc 700-704
      Le ventes sont indexées.
      • Pièce 700.
        Nous fixons l'index à 1 (100%)-
        Nous n'utilisons ni le compte débit (CtDébit) ni le compte crédit (CtCrédit) parce que la ligne sert seulement à mémoriser l'index.
      • Pièce 702.
        Les ventes sont 1000 multiplié par la valeur de l'index.
        Nous utilisons aussi la variable ventes pour calculer les coûts d'achat en la multipliant par 0.2 (20%)
      • Pièce 704
        A partir du 1er mars, l'index s'incrémente de 0.1 chaque mois.
        A partir de cette date, la valeur des ventes augmentera progressivement.
    • Pièces 720-722
      Nous affectons à la variable vmois (ventes mois) la valeur des ventes du mois.
      Nous calculons ensuite la commission.

    Colonne JRepeatNumber

    Dans l'objet "row" ligne courante " dans le champ JRepeatNumber le numéro de la répétition est sauvé lorsque des lignes ont la fonction "répéter".

    • La première répétition est 0.
    • La seconde répétition est 1 et ainsi de suite.

    La valeur de JRepeatNumber est utilsée s'il n'est pas possible d'utilser une variable normale parce que la répétition a déjà souscrit une valeur.
    En utilisant, par contre, JRepeatNumber comme propriété pour votre objet, vous pouvez sauver toutes les séquences et les reprendre par la suite.

     

     

     

     

    Aperçu du modèle

    Luc's Bar

    Tableau: Comptes
    Groupe Libellé Add. dans Gr1
        BILAN    
        ACTIFS    
      CAISSE Caisse 1  
      BANQUE Compte courant bancaire 1  
      CLIENTS Compte clients 1  
      MOBILIER Mobilier 1  
      INVENT Inventaire Marchandise 1  
    1   TOTAL ACTIFS 00 1
             
        PASSIFS    
      FOURNISS Fournisseurs 2  
      PRET Prêt 2  
      CAPITAL Capital Propre 2  
    UP   Bénéfice(-) o perte(+) de l'exercice 2 1
    2   TOTAL PASSIFS 00 1
             
        COMPTE DE RESULTAT    
        PRODUITS    
      VENTES Ventes 4  
      INTACT Intérêts actifs bancaires 4  
    4   TOTAL PRODUITS 02  
             
        CHARGES    
      PERSON Dépenses personnelles 3  
      ACHATS Achats marchandises 3  
      LOYER Loyers et autres dépenses 3  
      DEPAM Dépenses administratives 3  
      INTPRET Intérêts sur prêts 3  
      AMMORT Amortissements 3  
    3   TOTAL CHARGES 02 1
             
    02   Perte(+) Bénéfice(-) Compte de résultat UP 1
             
    00   Différence doit être = 0    
             
    Dites-nous comment nous pouvons mieux vous aider
    Si les informations contenues dans cette page ne correspondent pas à ce que vous recherchez, ne sont pas suffisamment claires ou ne sont pas à jour, faites-nous savoir.

    Partager cet article: Twitter | Facebook | LinkedIn | Email