You are here

Business planning e pianificazione finanziaria avanzata, con formule

Impara a usare quantità e formule nella pianificazione finanziaria. Calcola ammortamenti e interessi in modo automatico. Crea funzioni per calcoli complessi, come quello dell'imposta sull'utile.

Nazione: Universale  | Tipologia: Contabilità doppia  |  Categoria: Formazione

Vedi anche Come usare un modello

Bar Luca's

Divisa Base: .

Contabilità in partita doppia

Conti
Gruppo Conto Descrizione Gr
    BILANCIO  
    ATTIVI  
  CASSA Cassa 1
  BANCA Conto corrente bancario 1
  CLIENTI Conto clienti 1
  MOBILIO Mobilio 1
  INVENT Inventario merci 1
1   TOTALI ATTIVI 00
       
    PASSIVI  
  FORNIT Fornitori / crediti 2
  PREST Prestito 2
  CAPITALE Capitale proprio 2
UP   Utile o Perdita d'esercizio 2
2   TOTALE PASSIVI 00
       
    CONTO PERDITE E PROFITTI  
    RICAVI  
  VENDITE Vendite 4
  INTATT Interessi attivi bancari 4
4   TOTALE RICAVI 02
       
    COSTI  
  PERSON Spese personale 3
  ACQUST Acquisto merce 3
  AFFITTO Affitto e altre spese 3
  SPESAM Spese amministrative 3
  INTPAS Interessi su prestiti 3
  AMMORT Ammortamenti 3
3   TOTALE COSTI 02
       
02   Utile (-) o Perdita (+) da Conto economico UP
       
00   Differenza deve essere zero  
       

Questo file contiene esempi di registrazione nella tabella Preventivo che fanno uso della colonna Formula e anche delle colonne Quantità e Prezzo unitario.

Per le spiegazioni relative alla tabella Preventivo e alle colonne si veda la pagina tabella Preventivo.

Ricordarsi in particolare che i calcoli sono effettuati in ordine di data e non nella sequenza in cui sono state inseriti i movimenti di preventivo.

Colonne Quantità e Prezzo unitario

Nella vista Formula si vede anche la colonna Quantità e Prezzo unitario.

  • Doc 10. Nella colonna Qt. vi è il numero di caffè venduti in un mese e nella colonna Prezzo/Unità il ricavo per singolo caffè.
    Il programma calcola l'importo (colonna Importo).
  • I valori della colonna Qt e Prezzo possono essere inseriti anche in negativo, ma l'importo è convertito in positivo.

Formula nel linguaggio JavaScript

La colonna Formula permette di inserire delle espressioni di calcolo nel linguaggio JavaScript.

  • Se il risultato della formula è un numero viene ripreso come Importo
  • Doc. 21, 22 e 23: Si possono indicare numeri o espressioni matematiche.
  • Doc 40 e 41. Il "//" indica che il testo è un commento
  • Doc 42. Il testo contenuto fra /* e */ è un commento è non viene considerato parte della formula.

Errori nelle formule

Se vi sono errori:

  • La riga con l'errore viene indicata in rosso.
  • Il testo dell'errore viene visualizzato nella finestra "messaggi"

Per evitare continue segnalazioni, nel file d'esempio gli errori sono commentati (iniziano con "//").

Separatore punto e virgola ";"

In JavaScript ogni comando si conclude con un ";". Si possono concatenare le espressioni su una riga. Il valore di ritorno è il risultato dell'ultima espressione.

Separatore virgola ","

In JavaScript la virgola viene usata per separare gli argomenti in una funzione. Il separatore di virgola in questo caso separa le diverse espressioni e il risultato è quello dell'ultima espressione.
Non usare la virgola come separatore di decimale, perché nella formula è considerato un separatore di argomenti e quindi il valore numerico è troncato.

Separatore punto decimale "."

JavaScript usa il punto "." come separatore decimale. Indipendentemente dalle impostazione dei decimali impostati nel sistema operativo, si usa sempre il punto.

Semplici calcoli matematici

Nella formula si possono inserire calcoli matematici composti da semplici numeri.

Testi e variabili

  • I testi sono valori compresi fra virgolette o apici.
  • Le variabili sono degli elementi che ricordano il valore che gli è stato assegnato.
    • Il nome della variabile deve iniziare con una lettera o un underscore.
    • Le variabili devono prima essere definite tramite un assegnamento "nomevariabile = 100"

Esempi

  • Doc 70.
    "Banana" fra virgolette è un testo.
  • Doc 101.
    Alla variabile importo viene assegnato il valore 100.
  • Doc 102.
    Il contenuto della variabile importo viene ripreso.
  • Doc 103
    Il contenuto della variabile importo viene ripreso e poi viene aggiunto 10.
  • Doc 104.
    Alla variabile importo viene assegnato il contenuto della variabile importo con l'aggiunta di 10.
    La variabile importo sarà uguale a 110.
  • Doc 105.
    Questa formula viene eseguita mensilmente "Ripeti = M".
    • La prima volta 110+10 = 120
    • La seconda volta  120 + 10 = 130 e così di seguito.
  • Doc 106.
    Se si toglie il commento ci sarà una segnalazione che alla variabile importo1 non è stata definita.
  • Doc 110.
    Assegniamo alla variabile nome il testo "Banana".
     

Controlli di flusso if .. then .. else

Si possono usare tutte le espressioni condizionali di JavaScript. L'argomento è ampio e si rimanda alle documentazioni sul linguaggio JavaScript.

Si segnala unicamente al riguardo che in JavaScript:

  • Il segno uguale "=" è usato per assegnare un valore a una variabile "a=10"
  • Per il confronto si usano invece due uguali successivi "==". If (10==10) {1};

  • Doc 200-203
    Se la condizione indicata fra le parentesi rotonde dopo la parola "if" è vera "(10==10)", allora nell'importo sarà indicato il risultato dell'espressione successiva contenuta nelle parentesi graffe "{1}".
    Se non è vera "(10==9)" il valore dell'importo sarà zero.

Proprietà e funzioni

Si possono usare le funzioni predefinite di JavaScript, come quelle per esempio della libreria Math.

Per chiamare una funziona si indica il nome, seguito dalle parentesi tonde, fra cui ci sono i parametri della funzione.
Il numero di parametri dipende dalla funzione.

  • Doc 220.
    Math.min(10, 30, 2) ritorna il valore minimo dei valori specificati e separati dalle virgole.

Oggetto riga corrente "row"

L'oggetto row del tipo Banana.Document.Row si riferisce alla riga corrente.

La funzione value specificando il nome colonna xml ritorna il contenuto della specifica colonna.

Funzione predefinita debit e credit

La formula accetta come dei risultati solo dei valori positivi.

  • La funzione debit ritorna il valore passato come parametro se questo è positivo.
  • La funzione credit ritorna il valore passato come parametro con il segno invertito se il valore passato è negativo.

Funzioni contabili per tutto il periodo

Se si usano le funzioni specifiche del budget senza periodo ritorna il valore relativo alla situazione attuale. 
Si ricorda che le righe sono elaborate in sequenza di data, quindi non vi sono valori successivi alla data della riga in elaborazione.

Funzioni contabili limitate a un periodo

Qui le funzioni sono usate con il periodo.

La funzione budgetBalance per il periodo corrente è sempre uguale alla funzione senza periodo, perché la funzione budgetBalance ritorna il saldo alla fine del periodo e comunque la riga in elaborazione è l'ultima del periodo corrente.
Per le funzioni budgetOpening e budgetTotal invece sono considerate anche la data di inizio e quindi il periodo è importante.

Funzioni per il calcolo dell'interesse

La funzione budgetInterest calcola l'interesse sul conto indicato considerando i giorni effettivi (365/365) alla data delle registrazione indicata.
Se si calcola l'interesse del mese corrente, si deve indicare come data la fine del mese. 

  • Doc 500.
    Il secondo parametro rappresenta il tasso di interesse. Il 5 significa il 5%. Quando è positivo calcola l'interesse per i giorni nei quali il saldo si trovava in dare.
  • Doc 520.
    Qui il tasso di interesse è negativo, quindi calcola l'interesse sui giorni in cui il saldo si trovava in avere.

Funzioni per il calcolo dell'imposta sull'utile

  • Doc 600.
    L'imposta sull'utile viene calcolata sul movimento nel periodo "budgetTotal" del gruppo finale del Conto Economico (in questo caso il 02). 
    credit(budgetTotal("Gr=02","YC"))*0.10
    • Ottieni il movimento del gruppo nell'anno corrente
      budgetTotal("Gr=02","YC")
    • La funzione credit() ritorna il valore solo se è negativo e lo converte in positivo.
      credit(budgetTotal("Gr=02","YC"))
    • Il risultato viene moltiplicato per 0.10 (percentuale 10%)
    • Nel conto dare si deve indicare il conto imposte del conto economico.
    • Nel conto avere si deve indicare il conto banca o il conto creditore erario.

Funzioni definite dall'utente

Nella tabella Documenti è stato aggiunto un file "_budget.js" dove si possono definire delle funzioni in Javascript che possono essere chiamate nella colonna formula.

Calcolo dell'imposta sull'utile con aliquota progressiva

  • Doc 610
    Viene dapprima calcolato l'utile  e assegnato alla variabile
  • Doc 611
    L'utile viene passato alla funzione calcolaimposte() che applica la percentuale d'imposta in base all'importo e ritorna l'imposta da pagare.

Altre funzioni definite dall'utente

  • Doc 620
    Viene chiamata la funzione test(), pure definita nel documento _budget.js,  che ritorna semplicemente un valore.

Uso di variabili per calcoli successivi

Le variabili sono molto utili per memorizzare valori, che servono poi per i calcoli successivi.

  • Doc 700-704.
    Le vendite sono indicizzate.
    • Doc 700.
      Fissiamo l'indice a 1 (100%).
      Non usiamo né conto dare né conto avere perché la riga ci serve solo per memorizzare l'indice.
    • Doc 702.
      Le vendite sono 1000 moltiplicato il valore dell'indice.
      Usiamo la variabile vendite anche per calcolare i costi di acquisto moltiplicandolo per 0.2 (20 %)..
    • Doc 704.
      A partire dal 1 marzo l'indice viene incrementato di 0.1 ogni mese.
      Da questa data in poi il valore delle vendite aumenterà progressivamente.
  • Doc 720-722
    Assegniamo alla variabile vmese (vendite mese) il valore delle vendite del mese.
    calcoliamo poi la commissione

Colonna JRepeatNumber

Nell'oggetto riga corrente "row" nel campo JRepeatNumber viena salvato il numero della ripetizione quando ci sono delle righe che hanno il ripeti.

  • La prima ripetizione è 0.
  • La seconda ripetizione è 1 e poi via di seguito.

Il valore di JRepeatNumber viene usato se non è possibile usare una variabile normale per via che la ripetizione ha già sovrascritto il valore.
Usando invece il JRepeatNumber come  proprietà di un oggetto si possono salvare tutte le sequenze e riprenderli successivamente,

 


Gratis e senza impegno

Per aprire questo file hai bisogno del programma Banana Contabilità. Se non hai ancora Banana Contabilità puoi scaricare la Free Version.
Banana Contabilità offre diverse applicazioni e più di 500 modelli tra cui scegliere.

 

Share this article: Twitter | Facebook | Email