Movimenti di pianificazione
Per allestire le previsioni finanziarie, basate sul metodo della partita doppia, si inseriscono dei movimenti nella tabella Preventivo. Per ognuno si indica il conto di provenienza e di destinazione. Il programma ha le informazioni necessarie per allestire il bilancio e il conto economico che riguardano il futuro e non il passato.
Quando si fanno pianificazioni con Excel, si parte impostando il conto economico, quindi elencando i ricavi e i costi. Generalmente, solo in un secondo tempo e su fogli separati si allestiscono il piano della liquidità e degli investimenti.
Quando si fanno previsioni con il metodo della partita doppia, si procede invece come se si tenesse una contabilità del futuro. Si elencano tutti i movimenti che si prevedono accadranno. Sarà poi il programma in automatico a preparare il bilancio e il conto economico, per il periodo indicato.
Strutturazione movimenti di preventivo
Per l'allestimento di un piano finanziario, si procede generalmente elencando i diversi elementi nel seguente ordine:
- Gli apporti di capitale proprio.
- Gli apporti di capitale di terzi.
- Le spese di costituzione.
- Gli investimenti
In mobilio, apparecchiature. - I costi fissi ricorrenti
Affitto, personale, oneri sociali, energia, abbonamenti. - I ricavi ricorrenti.
- I ricavi variabili.
La cifra d'affari, generalmente stagionale. - I costi variabili.
Commissioni, costi della merce venduta e altro, in relazione al volume dei ricavi previsti. - Le operazioni di fine anno
Ammortamenti, imposte, interessi su prestiti, dividendi.
Al momento che si inseriscono le vendite e i costi variabili, si ha già la struttura dei costi e di capitale. Si conosce immediatamente se la cifra d'affari prevista permetterà alla ditta di generare utili e liquidità sufficiente per garantirne la sostenibilità nel tempo.
Tabella preventivo con l'uso delle formule
Di regola per allestire un preventivo è sufficiente usare la colonna Importo.
Per dei preventivi più elaborati vi è la possibilità d'indicare anche quantità, prezzi unitari, oppure una formula. Il programma calcolerà in automatico il valore nella colonna Importo.
Aggiornamento delle previsioni
Con il metodo della partita doppia, grazie alla possibilità d'indicare ogni operazione in dettaglio, diventa più facile aggiornare e migliorare la previsione. Inizialmente, si inseriscono le stime di diversi costi o investimenti. Mano a mano che ci si avvicina alla fase operativa e ci sono dati più precisi, basterà sostituire quelli esistenti. Anche quando l'attività è iniziata e si conoscono elementi esatti, la previsione potrà essere facilmente aggiornata. Si avranno indicazioni relativi alla redditività e alla liquidità precisi e attendibili.
Date e ripetizioni nei movimenti di previsione finanziaria
La colonna Data
Il valore contenuto nella colonna Data è quello che fa stato per la previsione.
- Se manca la data, il movimento sarà conteggiato all'inizio della pianificazione.
Se richiedi una previsione indicando un periodo, gli importi vengono conteggiati nel valore saldo, all'inizio del periodo.
Per il fatto che non rientra nel periodo, non viene visualizzato alcun importo nella colonna Totale. - Date nel periodo contabile, impostate nella proprietà file.
Sono quelle comunemente usate.
Nella colonna Totale viene indicato l'importo complessivo, tenuto conto dei movimenti ripetitivi, nel periodo contabile. - Date precedenti al periodo.
Inserire movimenti che precedono il periodo di previsione. Bisogna però fare attenzione che questi non vadano in conflitto con i saldi iniziali inseriti nella tabella conti.
Per il fatto che non rientra nel periodo, non viene visualizzato alcun importo nella colonna Totale. - Date successive al periodo.
Le previsioni su più anni permettono d'indicare operazioni per gli anni a venire.
Per il fatto che non rientra nel periodo, non viene visualizzato alcun importo nella colonna Totale.
La data fine
Viene usata in combinazione con la ripetizione, per indicare l'ultima data oltre la quale non ci deve essere la ripetizione.
- Generalmente deve essere vuota.
Se si inserisce una data quando non è necessario (per esempio la fine del periodo contabile) le previsioni per gli anni successivi non includeranno questa operazione. - Per operazioni di leasing.
Indicare come data fine, la data in cui verrà effettuato il pagamento dell'ultima rata. - Per rimborso prestiti.
Indicare la data dell'ultimo versamento previsto. - Per cambiamenti di importo a scadenze prefissate.
Nel caso, per esempio, che l'importo di un'operazione ricorrente sia adeguato a determinate scadenze (aumento stipendio):- Creare una riga di registrazione con ripetizione "M" e come data Fine, la data dell'ultimo versamento prima dell'aumento.
Creare delle righe di registrazione con Data inizio, da quando inizia l'aumento. - Se l'aumento segue un automatismo preciso e regolare, può essere programmato anche con delle formule.
- Creare una riga di registrazione con ripetizione "M" e come data Fine, la data dell'ultimo versamento prima dell'aumento.
La ripetizione
Per spese o entrate ricorrenti si indica il codice di ripetizione (si veda la Documentazione sulle colonne).
- Il programma quando calcola la previsione crea delle copie del movimento, incrementando progressivamente la data e tenendo conto della frequenza indicata.
- Se non vi è una data fine, il programma al momento del calcolo della previsione genera delle copie interne delle registrazioni per tutto il Periodo della previsione indicato al momento del report.
- Se la data iniziale è gennaio, la frequenza è mensile:
- Se il periodo di previsione è l'anno, genera righe a partire da febbraio. La prima riga è quella originale inserita manualmente, le 11 righe sono automatiche, per un totale di 12 ripetizioni.
- Se il periodo di previsione è 10 anni, genera righe a partire da febbraio. La prima riga è quella originale, le 119 righe sono automatiche (11 il primo anno + 12 * 9 per i successivi), per un totale di 120 righe.
- Se la data iniziale è gennaio, la frequenza è mensile:
- Se si vuole che il programma calcoli in automatico le previsioni per gli anni successivi:
- Per le operazioni ricorrenti, indicare il relativo codice di ripetizione.
- Per le operazioni che accadono solo una volta all'anno (per esempio ammortamenti a fine anno), indicare il codice di ripetizione "Y", in modo che l'ammortamento venga calcolato anche negli anni successivi.
- Non inserire la ripetizione unicamente se l'operazione non ci sarà nell'anno successivo.
Colonna Totale della tabella Preventivo
La colonna Totale viene calcolata in automatico e rappresenta la somma degli importi della riga corrente con quelle di ripetizione che rientrano nel periodo della contabilità. La colonna Totale è vuota se le operazioni hanno una data precedente o che va oltre il periodo della contabilità.
Pianificazione con data precisa e logica mensile
Nella tabella Budget si inseriscono i movimenti di previsione, indicando la data in cui si prevede che questi accadano.
Non è sempre possibile prevedere tutte le entrate e le uscite con precisione giornaliera. Quando si fa una previsione è utile in certi casi approssimare, ragionando generalmente su base mensile. È comunque utile seguire sempre una determinata logica in modo che si possano avere previsioni della liquidità attendibili anche a corto termine:
- Operazioni puntuali (versamento di capitale, investimenti) sono indicati con la data in cui si prevede che accadano.
Se non vi è una data precisa, è utile indicarli il giorno 15 del mese in cui si prevede che accadano. - Spese ricorrenti che hanno una data di pagamento precisa sono da impostare con la data prevista di pagamento e il relativo codice di ripetizione:
- Spese bancarie, interessi, ammortamenti sono da indicare alla fine del mese, trimestre o anno che avvengono.
- Affitti, il giorno di scadenza o la data in cui si prevede il pagamento.
- Stipendi e oneri sociali:
- Per il calcolo e il versamento mensile, il giorno che gli stipendi sono pagati.
- Per le tredicesime, bonus o altro, il momento in cui sono pagati.
- Versamenti per anticipi e conguagli di oneri sociali, la data prevista per il versamento.
- Versamenti e conguagli IVA, il giorno tipico di scadenza del pagamento.
- Previsioni dei ricavi.
L'allestimento delle previsioni dipende dal tipo di attività.
Se non si sa il giorno preciso, ma si conoscono gli accadimenti in un certo mese, è utile indicare il 15 del mese.- Entrate puntuali.
Sono da indicare nella data in cui si prevede l'entrata o metà mese. - Entrate ricorrenti.
Da indicare nella data in cui si prevede l'entrata o metà mese. - In molti casi si presta bene una previsione mensile. Si può indicare il ricavo al 15 del mese.
- Se le entrate sono ricorrenti si può inserire il ricavo con la ripetizione mensile.
Usando formule si possono prevedere delle crescite. - Se si conoscono delle differenze stagionali, è utile avere una riga di previsione delle vendite per ogni mese,
- Se le entrate sono ricorrenti si può inserire il ricavo con la ripetizione mensile.
- Previsioni di progetti o grandi lavori.
Se vi è un calendario in cui ci sono indicati gli incassi, si indica una riga di registrazione per ogni entrata prevista. Si può approssimare eventualmente indicando il 15 del mese. - Previsioni per i clienti:
Per un consulente o un commercialista, che lavora sia con anticipi che con progetti, può essere molto utile allestire una previsione di entrate dettagliate per ogni cliente, con le date di previsione dei versamenti. Questa previsione è molto utile anche per verificare se il cliente ha effettivamente versato.
- Entrate puntuali.
- Costi variabili.
- Consumo costante legato alla cifra d'affari (per esempio ristorante), i costi sono indicati con la stessa data della cifra d'affari. Con una formula si può calcolare il valore in percentuale della cifra d'affari.
- I costi possono anche essere legati ad altri elementi, come il numero di dipendenti, locali affittati o altro.
Previsioni con il principio di cassa
Per le pianificazioni di piccole imprese e attività legate agli incassi (come negozi, ristoranti), è utile ragionare con il principio di cassa, quindi indicando i ricavi con la data di quando avverranno gli incassi e per i costi, la data di quando saranno pagati.
Per operazioni importanti, come per esempio l'acquisto di un macchinario, il cui pagamento è dilazionato nel tempo, bisogna inserire dei movimenti di previsione con dettagli precisi:
- Acquisto del macchinario (registrazione sul conto attivo e sul conto passivo fornitori) con data dell'acquisto.
- Pagamento del macchinario, con la o le date (rate) in cui si prevede il pagamento.
Previsioni con il metodo di competenza
In questo caso, per l'inserimento delle operazioni, si tiene conto della data di quando il pagamento verrà effettuato.
- Operazioni a contanti.
Sono registrate normalmente. - Operazioni con previsione di pagamento a breve termine.
Per semplicità, per le operazioni con previsione di pagamento nell'arco di un mese può essere utile usare il principio di cassa. - Pagamenti dilazionati.
Se le date non si conoscono con precisione si può usare il 15 del mese.- Operazioni con termini di pagamento precisi:
- Con un movimento si indica la data di acquisto (con la contropartita il conto fornitori).
- Con gli altri movimenti si indica il pagamento alle date previste.
- Operazioni con termini di pagamento precisi:
- Incassi dilazionati.
- Con termini di pagamento precisi, come è il caso di un progetto:
- Con un movimento si indica la data di fatturazione e con la contropartita il conto clienti.
- Con gli altri movimenti si indica il pagamento alle data previste.
- Incassi in ritardo.
È il caso di quando una parte dei ricavi è incassata a breve, mentre una percentuale viene incassata successivamente. Si può procedere in questo modo:- Inserire il ricavo come incasso a contante.
- Con la stessa data si crea un movimento che sposta una parte dell'incasso sul conto clienti.
- In data successiva si indica quando avverrà l'incasso con contropartita il conto cliente.
- Con termini di pagamento precisi, come è il caso di un progetto:
- Utilizzo di variabili per incassi e pagamenti dilazionati ( si veda Esempio uso di variabili)
Quando lo stesso valore deve essere riutilizzato al momento del pagamento, diventa molto utile fare uso delle colonne formula e variabili:- Nel movimento di fatturazione, l'importo viene assegnato a una variabile.
- Nel movimento di pagamento, si inserisce la variabile in modo che l'importo sia ripreso in automatico.
- Si possono usare variabili anche per definire, per esempio, la percentuale d'importo da dilazionare.
Esempi di movimenti di previsione finanziaria
I movimenti di pianificazione si inseriscono come delle normali registrazioni, con la data, la descrizione, importo, conto Dare e Avere.
Inoltre, si usa la colonna Ripeti, che consente d'inserire le operazioni ricorrenti su una sola riga.
Qui di seguito sono elencati diversi esempi, ripresi dal modello che segue e, a cui si rimanda per ulteriori spiegazioni.
Registrazioni di previsione inizio attività
Si tratta di registrazioni di previsione, registrate come quelle nella tabella Registrazioni.
L'esempio qui indicato è riferito all'inizio dell'attività, quindi riguarda operazioni che non si ripetono.
Registrazioni ripetitive mensili
Qui di seguito presentiamo degli esempi di registrazione con ripetizione mensile, codice "M". La colonna Totale indica l'importo complessivo per l'anno.
Le prime due registrazioni si riferiscono all'affitto, che da febbraio a giugno è di 1'000 mensile, mentre da luglio è di 1'200.
È indicata anche la data del 2024, quando si dovrà versare l'importo per il riscatto del leasing. In questa riga, nella colonna Totale, non vi è alcun importo, perché il movimento non rientra nelle date del periodo contabile definito nelle proprietà file.
Per le spese amministrative conteggiate dalla banca si è usato il codice ripetizione "ME" Fine mese (Month End). Per le registrazioni successive non viene usato il giorno 28, ma l'ultimo giorno del mese, quindi marzo 31, aprile 30.
Fine trimestre
Qui indichiamo alcune registrazioni tipiche che si ripetono a fine trimestre. Inseriamo la ripetizione 3ME, che significa ripeti ogni 3 mesi, con data fine del mese.
Fine Anno
A fine anno ci sono delle operazioni. Qui usiamo il Ripeti "Y" in modo che queste operazioni vengono eseguite anche per gli anni successivi.
Previsione ricavi e acquisti merce
La previsione dei ricavi è specifica a ogni attività. In questo caso, la previsione dei ricavi e degli acquisti viene indicata mese per mese, con un importo specifico.
A partire da marzo è indicata la ripetizione "Y" annuale, così che queste operazioni vengano ripetute negli anni successivi.
Acquisti e vendite anno successivo
I mesi di gennaio e febbraio, nel primo anno di attività, non erano considerati significativi per gli anni successivi, quindi non avevano una ripetizione.
Per i primi due mesi del secondo anno dobbiamo impostare le vendite. Mettiamo anche la ripetizione "Y" annuale, per poter ripetere i ricavi nell'anno successivo.
Previsioni con quantità e prezzo
Le colonne Quantità, Unità e Prezzo unitario della tabella Preventivo permettono di preparare più velocemente delle previsioni.
Il valore della colonna Importo viene calcolato dal programma moltiplicando la Quantità per il Prezzo unitario (ammesso che la colonna Formula sia vuota).
Le colonne Quantità e Prezzo unitario sono impostate come visibili nella Vista Formula.
Vantaggi dell'uso delle colonna Quantità e Prezzi
Le colonne Quantità e Prezzo sono utili per fare previsioni in base ai quantitativi. Per esempio:
- Nella colonna Unità, si può indicare a cosa si riferisce il prezzo.
- Nella colonna Quantità, si indica il numero di coperti serviti giornalmente.
- Nella colonna Prezzo, si indica il ricavo stimato per ogni coperto.
- La colonna Importo verrà calcolata automaticamente in base ai valori indicati.
Con questo approccio si hanno diversi vantaggi:
- Si possono dettagliare in modo preciso tutti gli elementi della pianificazione.
- Si conoscono i quantitativi e i prezzi usati per fare la stima.
- La modifica della pianificazione è molto semplice, occorre modificare solo l'elemento che si desidera.
- Si può verificare come varia l'utile con una variazione delle quantità vendute o del prezzo.
Analisi del break-even.
Formule nella tabella Preventivo
L'inserimento di formule in Javascript nel Budget (tabella Preventivo) di Banana Contabilità Plus, apre numerose possibilità.
L'inserimento di formule nel Budget è possibile in Banana Contabilità Plus solo con il piano Advanced.
Guarda tutti i vantaggi del piano Advanced.
Colonna Formula
La colonna Formula della tabella Preventivo permette d'inserire delle formule di calcolo. Gli importi di preventivo possono così essere calcolati in base a degli altri valori della stessa pianificazione (vedi Esempi di formule).
- Indicare il costo della merce in base a una percentuale delle vendite.
- Aumentare il budget delle vendite in base a una percentuale di crescita.
- A fine anno, calcolare gli ammortamenti in base al valore degli investimenti effettuati.
- Trimestralmente, calcolare gli interessi sul conto bancario in base all'utilizzo effettivo (giorni/365).
- Mensilmente, calcolare le imposte sull'utile in base all'utile effettivamente realizzato.
Se si inserisce un valore nella colonna Formula, la colonna Importo viene calcolata dal programma in base alla formula.
Come spiegato nella descrizione delle colonne della tabella Preventivo, puoi usare delle formule Javascript anche:
- Nella colonna Formula Begin
- Nella colonna Descrizione, per le righe ripetitive.
File con esempi
Per informazioni su esempi in merito alle formule si rimanda alle seguenti spiegazioni:
- Modello con registrazioni - uso delle colonne Quantità e Formula.
- Modello con registrazioni - Contabilità multi-moneta con uso della colonna Formula per la moneta base.
- Esempi uso delle formule nelle previsioni finanziarie.
Formule di calcolo in Javascript
- La formula deve essere espressa nel linguaggio Javascript (da non confondere con il linguaggio Java).
- Se vi è una formula (o un qualsiasi testo), il valore della colonna Importo viene impostato in base al risultato della formula.
- Si possono usare tutte le funzioni del linguaggio Javascript, più le API messe a disposizioni da Banana.
Separatore di decimali
Come separatore di decimali, javascript usa unicamente il punto ".".
Se si usa un separatore diverso, quello usato per i numeri nel formato locale, è probabile che il numero venga troncato.
Importo = risultato dell'ultima istruzione
In Javascript il punto e virgola ";" è usato per separare le espressioni.
Se la formula Javascript contiene più espressioni separate da ";", il valore della colonna Importo sarà il risultato dell'ultima espressione eseguita.
- 10*3 //viene ritornato 30
- Se vi sono più espressioni viene ripreso il risultato dell'ultima.
10*3;7; //Viene ripreso il 7. - Se vi è il return viene ripreso il valore dopo il return.
return 10; // viene ripreso il 10.
Variabili
Le variabili di Javascript sono gli elementi più potenti della programmazione, in quanto permettono di accedere alla memoria del computer con un nome, salvare e riprendere dei valori.
Le variabili non esistono nelle formule di Excel, ma sono simili al nome delle celle, con la differenza che il nome può essere attribuito liberamente.
La variabile viene creata indicando un nome e l'uguale (=).
È possibile definire e usare delle variabili direttamente all'interno delle righe. Scrivendo il nome della variabile nella formula, il valore salvato viene ripreso.
Qui viene creata la variabile price e gli viene attribuito il valore 10.
var price = 10;
oppure anche semplicemente
price = 10;
qui seguito creiamo una variabile total a cui viene attribuito il valore price moltiplicato per 5.
total = price * 5;
Il valore della variabile può essere riassegnato.
price = 20;
Oggetti
Gli oggetti di Javascipt sono delle variabili che permettono di salvare più valori, ognuno indicato con una proprietà.
Qui di seguito viene creato l'oggetto prices, indicando le parentesi graffe {}. Per accedere e salvare i valori si usano invece le parentesi quadre, oppure, si indica il nome della proprietà dopo il nome dell'oggetto.
prices = {} prices['car'] = 10; prices.car = 10; prices['computer'] = 20; prices.computer = 20;
Array
Gli array di Javascript sono delle variabili che contengono più valori, accessibili in sequenza.
Gli array si creano usando le parentesi quadre e anche per accedervi. Il primo elemento dell'array ha indice 0.
costs = [1,2,3]; costs[0]=3; result = prices['car'] - costs[0];
Ripetizione e variabili
Per maggiori informazioni sulla sequenza di calcolo vedi Logica della Pianificazione.
- Tutte le righe (comprese quelle create per le ripetizioni) sono ordinate per data. Se ci sono righe con la medesima data, l'ordine è quello d'inserimento nella tabella.
- Dopo l'ordinamento, le righe (comprese le formule) sono ricalcolate.
- Nelle formule si ha quindi accesso ai dati di budget solo fino a quella data.
- Una variabile deve essere definita in una riga che ha la data che precede la riga dove viene usata.
- Se la registrazione di budget ha una ripetizione la variabile sarà riassegnata ogni volta.
sum = 10; - Se si vuole invece calcolare il totale complessivo.
- In una riga iniziale creare la variabile con valore zero.
sum = 0; - Nella riga che si ripete nella somma includere anche il valore precedente.
sum = sum + 10;
oppure usare il "+="
sum += 10
- In una riga iniziale creare la variabile con valore zero.
Variabili automatiche
- budgetCurrent
È un oggetto che contiene la tabella con le righe di budget, successivamente alla creazione delle ripetizioni.
Servono per riprendere i valori, in congiunzione con il JReapeatNumber. - DEBUG è una variabile che può essere "vera" o "falsa".
Se è "true", nei messaggi sono visualizzati tutti i risultati delle formule. - row
È un oggetto di javascript che fa riferimento alla riga corrente.- I valori delle celle possono essere ripresi con la funzione value ("columnNameXml").
row.value ("date") ritorna la data della registrazione. - row.value ("JRepeatNumber") ritorna il progressivo della ripetizione.
La prima ripetizione è 0.
- I valori delle celle possono essere ripresi con la funzione value ("columnNameXml").
- _totalPrice
È il valore della colonna Quantità moltiplicato per il Prezzo unitario.
Equivale alla formula "row.value('Quantity')*row.value('UnitPrice')"
Funzioni Budget
oltre alle API budget, definite nell'API della classe contabilità, ci sono delle funzioni specifiche.
budgetGetPeriod(tDate, period)
Quando s'indicano delle ripetizioni è opportuno riferirsi ad un periodo di calcolo e non ad una data precisa.
- Parametro tDate.
La data a cui si riferisce il calcolo del periodo. Di regola si usa la data della riga di registrazione. - Parametro Period.
Una sigla- Per il periodo corrente:
- "MC" mese corrente
- "QC" trimestre corrente
- "YC" anno corrente.
- Per il periodo precedente:
- "MP" mese precedente
- "QP" trimestre precedente
- "YP" anno precedente .
- A partire dalla versione 9.1 si possono usare anche:
- "DC" giorno corrente
- "DP" giorno precedente
- "WC" settimana corrente
- "WP" settimana precedente
- "BC" bimensile corrente (2 mesi)
- "BP" bimensile precedente
- "SC" semestre corrente
- "SP" semestre precedente
- Per il periodo corrente:
- Valore di ritorno.
Un oggetto composto da due date- startDate
- endDate
// example t = BudgetGetPeriod ('2015-01-01', 'MP') ritorna t.startDate // 2014-12-01 t.endDate // 2014-12-31
Funzioni budget specifiche
Le funzioni che seguono sono simili a quelle disponibili con Banana.document, però possono essere usate senza indicare l'oggetto Banana.document.
Da tenere conto:
- Invece del parametro startDate può essere usata una delle sigle periodo come "MC", "MP", spiegate nel budgetGetPeriod.
- Se si usa una sigla, la funzioni calcola la data iniziale e finale del periodo, in base alla data della registrazione corrente.
- Ha senso usare la data Fine solo se questa è precedente a quella della riga.
Se la data è uguale o superiore, comunque non ha effetto perché i valori successivi alla riga attuale non sono ancora disponibili, perché non sono stati elaborati. - Se la data della riga di registrazione è il 15 aprile:
- budgetBalance("1000","MP") ritorna il saldo del conto 1000 alla fine di marzo.
- budgetBalance("1000","MC") ritorna il saldo al momento attuale, è lo stesso del budgetBalance("1000").
- budgetTotal("1000","QP") ritorna il totale del movimento per il trimestre precedente.
- budgetTotal("1000","QC") ritorna il totale del movimento per il trimestre precedente, fino alla data attuale.
budgetBalance(account, startDate, endDate, extraParam)
Il saldo fino alla riga attuale.
budgetBalance('1000', 'MP'); //ritorna il saldo del 1000 alla fine del mese precedente
budgetOpening(account, startDate, endDate, extraParam)
Il saldo all'inizio del periodo.
budgetTotal(account, startDate, endDate, extraParam)
La differenza fra movimento dare e avere del periodo.
budgetTotal('1000', 'MC'); //ritorna il movimento totale del conto 1000 per il mese corrente
budgetInterest( account, interest, startDate, endDate, extraParam)
Calcola l'interesse su un conto, per il periodo indicato (al massimo la data corrente)
Si usa per calcolare l'interesse su un conto a fine periodo. La riga dove è indicata la formula deve essere sempre l'ultima per questa data.
- Parametro account.
È il numero di conto sui cui movimenti verranno calcolati gli interessi. - Parametro interest.
Indica il tasso di interesse in percentuale:- positivo (2.5, 4, 10) calcola l'interesse sul movimento dare del conto.
- negativo (-2.5, -4, -10) calcola l'interesse sul movimento avere del conto.
credit(importo)
- Se il parametro importo è negativo, ritorna l'importo come valore positivo.
credit(-100) // ritorna 100. - Se il parametro importo è positivo, ritorna 0 (zero)
credit(100) // ritorna 0.
Questa funzione è utile in abbinamento alle altre funzione del budgetBalance per lavorare solo sui saldi che servono.
Se si vuole calcolare la percentuale sulle vendite, usando questa funzione è più semplice.
credit(budgetTotal('1000')) // inserisce il valore solo se è negativo.
debit(importo)
- Se il parametro importo è positivo, ritorna l'importo.
debit(100) // ritorna 100 - Se il parametro è negativo, ritorna 0 (zero)
debit(-100) // ritorna 0
Utile se si devono fare calcoli usando solo l'importo dare ed evitare di usare quello avere.
Include
- Include "file:test.js"
Esegue il contenuto del file indicato. Il nome è relativo al file su cui si sta lavorando. - Include "documents:test.js"
Esegue il contenuto del documento testo contenuto nella tabella documents.
Deve essere un file di tipo "text/javascript.
Funzioni per Contabilità multi-moneta
Si possono usare anche per contabilità senza multi-moneta, in questo caso il conto è sempre in moneta base.
budgetBalanceCurrency(account, startDate, endDate, extraParam)
Il saldo nella moneta del conto fino alla riga attuale.
budgetExchangeDifference (account, [date, exchangeRate])
budgetOpeningCurrency(account, startDate, endDate, extraParam)
Il saldo nella moneta del conto all'inizio del periodo.
budgetTotalCurrency(account, startDate, endDate, extraParam)
A partire dalla versione 9.01 sono incluse anche le funzioni budgetCreditCurrency, budgetDebitCurrency.
Funzioni definite dall'utente
L'utente può definire delle funzioni con il linguaggio Javascript e richiamarle nelle formule.
È possibile definire delle funzioni:
- Direttamente in una formula.
- All'interno di un allegato del tipo codice javascript, indicato in un documento che ha come Id linea, il nome "_budget.js"
- All'interno di un testo nella tabella documenti, e incluso con il comando includi
Nota:
Nelle funzioni utente al momento non è possibile usare funzioni che accedono ai dati contabili correnti (currentBalance, ...).
function calcTax(profit) { var percentage = 10; if (profit> 50000) aliqpercentage = 10; else if (profit> 100000) percentage =20; return profit* percentage / 100; }
Esempi sull'uso delle formule nelle previsioni finanziarie
La possibilità di inserire formule è disponibile in Banana Contabilità Plus solo con il piano Advanced. Aggiorna ora!
Qui di seguito si accede agli esempi delle formule per automatizzare le previsioni finanziarie.
Si rimanda alla documentazione specifica:
- Formule in Javascript nella tabella Preventivo
- Modello con registrazioni con uso della colonna Quantità e della colonna Formula.
Parametri
Quando si procede a una pianificazione può essere utile definire delle variabili che si utilizzeranno successivamente.
Bisogna creare una sezione parametri con una data registrazione al 1 gennaio, o altra data che corrisponde al primo giorno della pianificazione. Le variabili parametri saranno poi usate nelle righe successive.
// 30% costOfGoodsSold = 0.3 // 5% interestRateDebit = 0.05 // 2% interestRateCredit = 0.02 // 10 % latePaymentPercentage = 0.1
In questo modo si vedono subito tutti i parametri che si possono impostare. Quando viene modificato un parametro, la previsione viene ricalcolata.
Ripetizioni o valori per mese
Utilizzando la colonna Ripeti, con una sola riga di registrazione si può pianificare tutto l'anno.
Se l'attività ha delle variazioni stagionali, è meglio inserire delle previsioni per mese. Per ogni mese si crea una riga con l'importo delle vendite del mese.
Se si desidera fare delle previsioni in automatico su più anni, è utile inserire sulla riga la ripetizione "Y", così che la riga dell'anno serve anche per quello successivo.
Prezzi e quantità di vendita
Quando si crea un piano delle vendite, è più facile inserire dei valori usando la colonna quantità e prezzo. Per esempio, un ristorante può inserire il numero di coperti serviti al giorno, alla settimana o al mese e il programma calcola in automatico l'importo. Variando il numero di coperti o il prezzo si vede immediatamente l'impatto sulla liquidità e sul risultato d'esercizio.
Uso di formule con variabili per la crescita
Quando si usano le formule, ricordarsi che sono espresse nel linguaggio Javascript:
- La variabile deve essere definita prima di essere usata, quindi la riga in cui viene definita deve avere la data inferiore alla riga dove viene usata.
- Nei numeri non si possono usare separatori di migliaia.
- Il separatore decimale è sempre il punto ".".
- I nomi sono diversi per maiuscolo/minuscolo.
Si può attribuire un valore a una variabile (il nome si sceglie liberamente) e inserire il nome della variabile nelle righe successive per riprendere il valore.
Cambiando il valore assegnato alla variabile si modificano in automatico tutte le righe dove viene usata la variabile.
All'inizio si può impostare, per esempio, il valore delle vendite previsto e nei mesi successivi, usare una formula per incrementare l'importo.
- Crea una variabile dal nome "S" (sales), inserendo il seguente testo nella colonna Formula.
Sales=1000
Nell'Importo sarà inserito il valore 1000.00. - Nelle righe successive usare la variabile, inserendo semplicemente nella formula il nome della variabile:
Sales
Nell'Importo sarà inserito il valore 1000.00. - Potete aggiungere 10% all'importo (moltiplicando per 1.1)
Sales*1.1
Nell'Importo sarà inserito il valore 1100.00. - Puoi aumentare il valore di s
Sales=Sales+200
Nell'Importo sarà inserito il valore 1200.00. - Se nella riga successiva usi la variabile, ci sarà il nuovo valore
Sales
Nell'Importo sarà inserito il valore 1200.00.
Si può anche definire una variabile per definire la percentuale di crescita.
- Percentage=1.1
- Amount=200
- Nelle formule si può usare il nome della variabile invece del numero:
- Sales*Percentage
- Sales=Sales+Amount.
Variabili e ripetizioni
Ammettiamo di prevedere che la cifra d'affari aumenti del 5% ogni mese.
- Inserire due righe dove assegnare il valore alla variabile, senza mettere nessun conto con la data di inizio anno
Sales=1000
Increment=5. - Creare poi una riga con la ripetizione dove inserire i conti e la formula
Sales=Sales*(1+Increment/100).
Ogni volta che la riga viene ripetuta, il valore della variabile S risulterà aumentato del 5% e di conseguenza anche l'importo della registrazione.
Cambiando semplicemente la percentuale di crescita, la previsione sarà ricalcolata.
In una riga si possono inserire anche più istruzioni Javascript, separandoli con il punto e virgola ";"
Sales=1000; P=5.
Uso delle formule budget
Ci sono funzioni che permettono di accedere ai saldi e ai movimenti dei conti per la pianificazione fino alla riga che viene calcolata.
Si può inserire una formula che, tramite la funzione budgetTotal, recupera il valore del conto vendite SALES del mese precedente.
credit( budgetTotal("SALES", "MP") )
La funzione budgetTotal prende come argomenti il numero di conto e il periodo. Al posto del periodo si può usare una sigla.
- MP sta per mese precedente.
- QP sta per trimestre precedente.
I ricavi sono in Avere, quindi il valore ritornato dalla funzione è negativo e non viene accettato come importo nella contabilità in partita doppia.
Si usa quindi la funzione credit(), che prende il valore negativo e lo mette in positivo.
Variabili per vendite mensili
Le vendite possono essere diverse per ogni mese. In questo caso è necessario usare delle registrazioni separate per ogni mese con il nome della variabile.
sales_01 = 1000 cost_01 = sales_01 * costOfGoodsSold sales_01 = 1100
Pagamenti dilazionati
Se si vuole un piano della liquidità molto preciso occorre separare le vendite che sono pagate subito da quelle dilazionate.
Un approccio può essere quello di registrare tutte le vendite come se fossero pagate in contanti, assegnando all'importo il valore della variabile mensile.
sales_01 = 1000
Viene poi inserita una registrazione che storna le vendite dilazionate, calcolando l'importo con la formula.
sales_01 * latePaymentPercentage
Nel mese successivo verrà quindi inserita una registrazione di pagamento con la stessa formula.
Costi di vendita
Ci sono costi che possono essere in relazione alle vendite (costo merce), oppure, a degli altri costi (oneri sociali, in relazione agli stipendi).
Calcolo costi con variabili
Se le vendite sono definite con delle variabili, anche i costi di vendita possono essere indicati in percentuale delle vendite.
- Puoi definire la variabile S per le Vendite e la variabile C per la percentuale del costo.
Sales=1000
Cost=60 - La formula per il calcolo:
Sales*Cost/100.
Lo stesso approccio si può usare anche per calcolare gli oneri sociali.
Questa formula può essere eventualmente inserita in una riga ripetitiva.
Calcolo costi di vendita con funzioni budget
Quando i costi sono in relazioni alle vendite si può usare anche la formula budget.
credit( budgetTotal("SALES", "MC") )*60/100
La sigla periodo "MC" sta per mese corrente.
Questa formula ritorna il valore delle vendite del mese corrente, li trasforma in positivo e le moltiplica per 60 e divide per 100.
La data deve ovviamente essere oltre le date di registrazione delle vendite.
Si può usare in una riga di ripetizione, inserendo la data fine mese. In automatico quindi i costi della vendita vengono calcolati in base alle vendite inserite con delle registrazione.
La formula può essere combinata con delle variabili.
- All'inizio dell'anno definire la percentuale dei costi.
Cost=60 - Nella formula si usa quindi la variabile C
credit( budgetTotal("SALES", "MC") )*Cost/100.
Quando si cambia la percentuale di contribuzione o una qualsiasi vendita, la pianificazione risulta aggiornata automaticamente.
Calcolo commissioni di vendita alla fine dell'anno
Alla fine anno con questa formula è possibile calcolare le commissioni del 5 % sul totale delle vendite nette:
credit( budgetTotal("SALES", "YC") )*5/100
La funzione bugetTotal ritorna il movimento del conto vendite per il periodo "YC", anno corrente.
Con la funzione credit(), l'importo viene messo in positivo e poi moltiplicato per 5 e diviso per 100.
Se devono essere fatte delle previsioni su più anni, ricordarsi d'inserire nella riga la ripetizione "Y", così che la stessa formula verrà ripresa anche per l'anno successivo.
Come indicato prima, invece d'inserire il 5 direttamente nella formula, si può assegnarlo con una variabile.
- Commission=5
- credit( budgetTotal("SALES", "YC") )*Commission/100
Se la percentuale cambia da un anno all'altro, è sufficiente inserire, con data anno successivo, una registrazione che reimposta la variabile della commissione.
Inflazione con le variabili
Se si vogliono delle previsioni su più anni si può tenere conto anche dell'inflazione.
- All'inizio della pianificazione assegnare una variabile alla base per i prezzi e all'inflazione (2%).
Base=1;Inflation=2. - Quando usi la variabile Sales la moltiplichi per l'inflazione
Sales=Sales*Base. - All'inizio dell'anno successivo, con ripetizione annuale, aumenti la base dei prezzi
Base=Base+Base*Inflation/100.
Calcolo ammortamenti
Grazie alle formule si può automatizzare il calcolo degli ammortamenti.
Se nella pianificazione, cambi il valore degli investimenti, gli ammortamenti saranno ricalcolati in automatico. Fare attenzione che la data della riga del calcolo degli ammortamenti abbia una data superiore a quella degli investimenti. Di regole è il 31 dicembre.
Calcolo ammortamenti sul valore contabile
Per calcolare gli ammortamenti del conto EQUIPMENT, inserire a fine anno una riga con i conti Dare e Avere, impostati per registrare l'ammortamento e la seguente formula:
budgetBalance("EQUIPMENT")*20/100
La funzione budgetBalance ritorna il saldo a quel momento e su questo viene poi calcolato l'ammortamento del 20%.
Usare la funzione debit, nel caso che il conto degli attivi possa andare in avere.
debit(budgetBalance("EQUIPMENT"))*20/100.
Calcolo ammortamenti sul valore iniziale
Per il calcolo sul valore iniziale degli investimenti, è necessario usare delle variabili, per ricordare il valore degli investimenti iniziali.
Equipment=10000
Se l'ammortamento viene dilazionato su 5 anni, si inserisce la formula nella riga dell'ammortamento di fine anno.
Equipment=10000/5
Nella riga inserire la ripetizione annuale "Y" e anche la data Fine, che corrisponde alla data dell'ultima rata dell'ammortamento, per evitare che l'ammortamento continui in modo indefinito.
Per ogni investimento si crea una variabile e una riga apposita di ammortamento. Nei nomi delle variabili si possono anche inserire i numeri.
Equipment1=10000
Equipment2=5000.
Calcolo interessi
La funzione budgetInterest( account, interest, startDate, endDate) consente di calcolare in automatico l'interesse sulla base dell'utilizzo effettivo di un conto.
I parametri sono i seguenti:
- Conto
I cui movimenti sono usati per calcolare gli interessi, nel caso di un conto corrente bancario o di un prestito. - Interesse
Il tasso di interesse in percentuale.
Se il valore è positivo si calcolano gli interessi sui saldi dare.
Se il valore è negativo si calcolano gli interessi sui saldi avere. - Data iniziale, può essere anche una sigla.
- Data finale, può essere anche una sigla.
- Il valore ritornato è l'interesse calcolato per i giorni 365/365.
Interessi passivi sul conto bancario
Per calcolare gli interessi passivi del 5%, inserire una riga con la data di fine trimestre e la ripetizione "3ME", che contiene la formula
budgetInterest( "Bank", -5, "QC").
Il tasso d'interesse è negativo, perché il periodo "QC" significa trimestre corrente. I conti Dare e Avere devono essere quelli usuali per la registrazione degli interessi passivi. Se l'interesse diminuisce il saldo del conto bancario, si userà anche nella registrazione. Si può usare un altro conto se viene pagato con un altro conto.
È importante usare la ripetizione "3ME" affinché la data usata sia sempre l'ultima del trimestre.
Per calcolare gli interessi del mese usare la sigla "MC"
budgetInterest( "Bank", -5, "MC").
Interessi attivi sul conto bancario
Per gli interessi attivi del 2% usare invece l'interesse in positivo.
budgetInterest( "Bank", 2, "QC")
Interessi su conto prestiti a scadenza fissa
Peri prestiti a scadenza fissa, il calcolo e la registrazione dell'interesse avviene alla data specificata.
- Creare un conto diverso per ogni prestito.
Si usa la funzione budgetInterest, indicando esattamente la date d'inizio e di fine.
Se la data è indicata come testo, si deve usare la notazione "yyyy-mm-dd", quindi "2022-12-31". - Usare le variabili.
Come indicato per gli ammortamenti, si può assegnare il montante del prestito a una variabile. Il calcolo degli interessi viene fatto con una formula di calcolo Javascript,- Definire la variabile prestito
Loan=1000. - Calcolo interessi del 5%, per 120 giorni.
Loan*5/100*120/365.
- Definire la variabile prestito
Calcolo imposte sull'utile
L'utile è il totale del movimento del gruppo utile per il periodo.
Per calcolare un'imposta del 10% sull'utile, usare la formula.
credit(budgetTotal("Gr=Result","MC"))*10/100
- La funzione budgetTotal nel parametro gruppo "Gr=Result", indica che invece di calcolare il movimento di un conto, calcola quello del gruppo.
- Come periodo è indicato MC, mese corrente.
- La funzione budgetTotal ritornerà un valore positivo se vi è una perdita e negativo (avere) se vi è un utile.
- La funziona credit tiene conto solo dei valori negativi, quindi se vi è una perdita l'imposta risulterà zero.
Pagamenti differiti o con scadenze diverse
Per i pagamenti differiti o con scadenze diverse si può procedere in due modi:
- Usare delle variabili a cui assegnare l'importo del pagamento.
Usare la variabile in questione, quando si effettua la registrazione del pagamento. - Creare dei conti clienti o fornitori per le diverse scadenze dei crediti.
Altri casistiche
Preghiamo di segnalarci altre vostre esigenze, in modo da aggiungere altri esempi.