Movimenti di pianificazione
Nell'allestimento delle 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 dei bilanci e conto economici, che riguardano però il futuro e non il passato.
Quando si fanno pianificazioni con Excel, si parte con impostare 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 o i periodi indicati.
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 che è generalmente stagionale. - I costi variabili.
Commissioni, costi della merce venduta e altro, che sono in relazione al volume di 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 avrà già la struttura dei costi e di capitale. Si potrà sapere immediatamente se la cifra d'affari prevista permetterà alla ditta di generare utili e liquidità sufficiente per garantirne la sostenibilità nel tempo.
Colonna Importo e Formula
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 inseriranno delle stime di diversi costi o investimenti. Mano a mano che ci si avvicina alla fase operativa e ci saranno dati più precisi, basterà sostituire quelli esistenti. Anche quando l'attività è iniziata e si sapranno elementi esatti, la previsione potrà essere facilmente aggiornata. Si avranno indicazioni relativi alla redditività e alla liquidità precisi e attendibili.
Le 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 non c'é data, il movimento sarà conteggiato all'inizio della pianificazione.
Se richiedi una previsione indicando un periodo, gli importi saranno conteggiati nel valore saldo all'inizio del periodo.
Per il fatto che non rientra nel periodo, non verrà visualizzato alcun importo nella colonna Totale. - Date nel periodo contabile impostate nella proprietà file.
Sono quelle comunemente usate.
Nella colonna Totale sarà indicato l'importo complessivo, tenuto conto dei movimenti ripetitivi, nel periodo contabile. - Date precedenti al periodo.
Puoi inserire movimenti che precedono il periodo di previsione. Devi però fare attenzione che non vadano in conflitto con i saldi iniziali inseriti nella tabella conti.
Per il fatto che non rientra nel periodo, non verrà visualizzato alcun importo nella colonna Totale. - Date successive al periodo.
Se fai previsioni su più anni ti permettono di indicare operazioni per gli anni a venire.
Per il fatto che non rientra nel periodo, non verrà 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 più ripetere.
- 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à fatto effettuato il pagamento dell'ultima rata. - Per rimborso prestiti.
Indicare la data 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 Fine la data dell'ultimo versamento prima dell'aumento.
Creare delle righe di registrazione con Data 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 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 copia dell'operazione e incrementando progressivamente la data, tenendo conto del frequenza indicata.
- Se non vi è una data fine, il programma al momento del calcolo della previsione genererà delle copie interne delle registrazioni per tutto il periodo della previsione indicato al momento del report.
- Se la data iniziale è gennaio, la frequenza e mensile
- Se il periodo di previsione è l'anno, genererà righe a partire da febbraio, 1 riga originale e 11 righe automatiche, per un totale di 12.
- Se il periodo di previsione è 10 anni, genererà righe a partire da febbraio, 1 riga originale e 119 righe automatiche (11 il primo anno + 12 * 9 per i successivi), per un totale di 120 righe.
- Se la data iniziale è gennaio, la frequenza e mensile
- Se si vuole che il programma possa calcolare 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 sia calcolato anche negli anni successivi.
- Non mettere 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 e di 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 accadranno.
Non è però sempre possibile prevedere tutte le entrate e uscite con precisione giornaliera. Quando si fa una previsione è quindi 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 prevedono accadano.
Se non vi è una data precisa è utile indicarli il giorno 15 del mese in cui si prevede accadranno. . - 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 avverranno.
- Affitti il giorno di scadenza che si prevede saranno pagati.
- 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 che si prevede siano versati
- 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 saprà che accadrà in un certo mese è utile indicare il 15 del mese.- Entrate puntuali.
Sono da indicare nella data in cui si prevede avverrà 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 può prevedere delle crescite. - Se si cono 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 saranno gli incassi, si indicherà una riga di registrazione per ogni entrata prevista. Si può approssimare eventualmente indicando il 15 del mese. - Previsioni per clienti.
Per un consulente o un commercialista, che lavora sia con anticipi e con progetti, può essere molto utile allestire una previsione di entrate dettagliata per ogni cliente, con le date di previsione dei versamenti. Questa previsione sarà 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), 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 delle pianificazioni di piccole imprese e attività legate agli incassi (come negozi, ristoranti) è utile ragionare con il principio di cassa, quindi indicare i ricavi con la data quando verranno incassati e i costi quando pagati.
Per operazioni importanti, come per esempio l'acquisto di un macchinario il cui pagamento è dilazionato nel tempo, è però utile inserire dei movimenti di previsioni con precisione i dettagli:
- Acquisto del macchinario (registrazione attivo a 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 l'inserimento delle operazioni si tiene conto di quanto il pagamento verrà effettuato.
- Operazioni a contanti.
Sono ovviamente registrate normalmente. - Operazioni che si prevede il pagamento sia regolato a breve.
Per semplicità, le operazioni che si prevede siano nell'arco del mese di previsione o quello immediatamente successivo, 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 un degli altri movimento si indica il pagamento alle date previste.
- Operazioni con termini di pagamento precisi.
- Incassi dilazionati.
- Con termini di pagamento precise, come è il caso di un progetto:
- Con un movimento si indica la data di fatturazione e con la contropartita il conto clienti.
- Con un degli altri movimento si indica il pagamento alle data previste.
- Incassi in ritardo.
È il caso quando una parte dei ricavi sono incassati a breve una percentuale invece 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 precise, 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, può diventare molto utile fare uso della colonna formula e delle 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 viene ripreso in automatico.
- Si possono usare variabili anche per definire per esempio la percentuale di importo che verrà dilazionato.
Esempi di movimenti di previsione finanziaria
I movimenti di pianificazione si inseriscono come delle normali registrazioni, con la data descrizione, importo, conto dare e avere.
In più si usa però il campo ripetizione, che consente di inserire le operazioni ricorrenti con una riga sola.
Qui di seguito sono elencati diversi esempi ripresi dal modello seguente a cui si rimanda per ulteriori spiegazioni.
Normali registrazioni di previsioni
Si tratta di registrazioni di previsione che sono come delle normali registrazioni.
L'esempio qui indicato è riferita all'inizio dell'attività, quindi operazioni che non si ripetono.

Registrazioni ripetitive mensili
Qui di seguito 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.
C'é anche una data 2025, che è l'importo che si dovrà versare per il riscatto del leasing. In questa riga non vi è nulla nella colonna Totale, 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 sarà 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 saranno 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 saranno ripetute negli anni successivi.

Ricavi 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 così verranno ripetute l'anno successivo.

Previsioni con quantità e prezzo
Le colonne Quantità, Unità e Prezzo unitario della tabella Preventivi, 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à, Prezzo untario, sono impostate come visibili nella Vista Formula.
Vantaggi dell'uso delle colonna Quantità e Prezzi
Le colonne quantità e prezzo sono utile 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 elmenti della pianificazione.
- Si ha memoria dei quantitativi e prezzi usati per fare la stima.
- La modifica della pianificazione è molto semplice, si varia solo l'elemento che si desidera.
- Si può verficare come varia l'utile con una variazione delle quantità vendute o del prezzo.
Analisi del break-even.
Formule in Javascript nella tabella Preventivo
La colonna Formula permette di 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 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.
File con esempi
Per degli esempi in merito alle formule si rimanda alle seguenti spiegazioni:
- Modello con registrazioni con uso della colonna Quantità e della colonna Formula.
- Modello con registrazioni per la contabilità multi-moneta che fanno uso della colonna Formula per la moneta base.
- Vedi anche Esempi dell'uso delle formule nelle previsioni finanziaria.
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 numeri nel formato locale, è probabile che il numero venga troncato.
Sequenza di calcolo e mancanza di valori futuri
Per maggiori informazioni sulla sequenza di calcolo vedi Logica della Pianificazione.
- Le righe sono ordinate per data e risolte partendo dalla più bassa.
- Se ci sono righe con la medesima data, l'ordine è quello di inserimento.
- Quando una riga viene risolta, non essendo ancora state elaborate le righe successive, con le formule si avrà accesso solo ai dati fino a quel momento.
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 //verrà ritornato 30
- Se vi sono più espressioni verrà ripresa il risultato dell'ultima.
10*3;7; //Verrà 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 indicando con 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 usa invece le parentesi quadre oppure si indica in 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 che sono 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];
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 "true" 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").
Funzioni Budget
Altre alle API budget definite nell'API della classe contabilità, ci sono delle funzioni specifiche.
budgetGetPeriod(tDate, period)
Quando si 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 .
- Nella versione Experimental (a partire dalla versione 9.1) si possono usare anche i
- "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 seguenti sono simili a quelle disponibili con Banana.document, però possono essere usate senza fare 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 è precedente a quella della riga.
Se è 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 di 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 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 monete
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)
Nell'Experimental vi sono 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 dell'uso delle formule nelle previsioni finanziaria
Qui di seguito sono esposti degli esempi per come usare le 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 poi successivamente.
È utile creare una sezione parametri con una data registrazione dell'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 paramentro la previsione viene ricalcolata.
Ripetizioni o valori per mese
Utilizzando la colonna ripetizione, con una riga di registrazione sola si può pianificare tutto l'anno.
Se però l'attività ha delle variazioni stagionali, è meglio delle previsioni per mese. Per ogni mese si crea una riga con l'importo delle vendite del mese.
Se si desiderano fare previsioni in automatico per più anni, è utile in questa riga inserire la ripetizione "Y", così che la riga dell'anno serve anche per quello successivo.
Prezzi e quantità di vendita
Quando si fa 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 usi le formule ricordati, 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 puoi usare separatori di migliaia
- Il l separatore decimale è sempre il punto ".".
- I nomi sono diversi per maiuscolo/minuscolo.
Puoi attribuire un valore a una variabile (il nome lo scegli liberamente tu) 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 nella quale è usata la variabile.
All'inizio puoi 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 usate la variabile inserendo semplicemente nella formula il nome della variable:
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 successivi usi la variabile ci sarà il nuovo lavore
Sales
Nell'Importo sarà inserito il valore 1200.00
Puoi anche definire una variabile per definire la percentuale di crescita.
- Percentage=1.1
- Amount=200
- Nelle formule puoi usare il nome della variabile invece del numero
- Sales*Percentage
- Sales=Sales+Amount
Variabili e ripetizioni
Ammettiamo che prevedi che la cifra d'affari aumenti del 5% ogni mese.
- Inserisci due righe dove assegni il valore alla variabile, senza mettere nessun conto con la data di inizio anno..
Sales=1000
Increment=5 - Crea poi una riga con la ripetizione dove inserisci i conti e la formula
Sales=Sales*(1+Increment/100)
Ogni volta che la riga sarà 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 puoi mettere 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 movimenti dei conti per la pianificazione fino alla riga che viene calcolata.
Puoi 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 sarà 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 è utile usare delle registrazioni separate per ogni mese con il nombe della variabile.
sales_01 = 1000 cost_01 = sales_01 * costOfGoodsSold sales_01 = 1100
Pagamenti dilazionati
Se si vuole un piano della liquidità molto preciso è utile separare le vendite, che sono pagate subito e quelle dilezionate.
Un approccio può essere quello di registrare tutte le vendite come se fossero pagate cash, assegnando all'importo il valore della variabile mensile.
sales_01 = 1000
Viene poi inserita una registrazione, che storna le vendite che sono 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 relazioni 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 sarà:
Sales*Cost/100
Lo stesso approccio lo puoi 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 ritornerà il valore delle vendite del mese corrente, li trasforma in positivo e le moltiplica per il 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 saranno calcolati in base alle vendite inserite con delle registrazione.
La formula può essere combinata con delle variabili.
- All'inizio dell'anno definisci la percentuale di 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 risulterà aggiornata automaticamente.
Calcolo commissioni di vendita alla fine dell'anno
Alla fine dell'anno con questa formula calcoli 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 fai delle previsioni su più anni, ricordati di inserire nella riga la ripetizione "Y", così che la stessa formula sarà calcolata anche per l'anno precedente.
Come indicato prima invece di inserire il 5 direttamente nella formula, puoi assegnarlo con una variabile.
- Commission=5
- credit( budgetTotal("SALES", "YC") )*Commission/100
Se la percentuale cambia, da un anno all'altro, è sufficiente che inserisci con data anno successivo una registrazione che reimposta la variabile commissione.
Inflazione con le variabili
Se vuoi fare previsioni su più anni puoi tenere conto anche dell'inflazione.
- All'inizio della pianificazione assegna 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 possono automatizzare il calcolo degli ammortamenti.
Se nella pianificazione, cambi il valore degli investimenti, gli ammortamenti saranno ricalcolati in automatico. Fai 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" inserisci a fine dell'anno una riga con la seguente formula e i conti dare e avere opportunamente impostati per registrare l'ammortamento.
budgetBalance("EQUIPMENT")*20/100
La funzione budgetBalance, ritorna il saldo a quel momento. Su questo viene poi calcolato l'ammortamento del 20%.
Usa la funzione debit, nel caso pensi 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 investimento iniziale.
Equipment=10000
Se l'ammortamento viene dilazionato su 5 anni, nella riga dell'ammortamento di fine anno si inserirà la formula
Equipment=10000/5
Nella riga si inserirà 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 dovrà creare 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 una conto.
I parametri sono:
- Conto
I cui movimenti sono usati per calcolare gli interessi, nel caso sarà il conto corrente bancario o il prestito. - Interesse
Il tasso di interesse in percento.
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 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ò però usare un altro conto se viene pagato con un altro conto.
È importante che si usi la ripetizione "3ME" così che la data usata sarà 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% usa invece l'interesse in positivo.
budgetInterest( "Bank", 2, "QC")
Interessi su conti prestiti a scadenza fissa
Per prestiti a scadenza fissa, il calcolo e la registrazione dell'interesse avverrà alla data specificata.
- Creare un conto diverso per ogni prestito.
Si usa la funzione budgetInterest indicando esattamente le date d'inizio e 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 sarà 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, usiamo la formula.
credit(budgetTotal("Gr=Result","MC"))*10/100
- La funzione budgetTotal passiamo nel parametro il gruppo "Gr=Result", che indica che invece di un conto deve calcolare il movimento 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 con differiti o con scadenze diverse
Per pagamenti differito 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
Ti preghiamo di segnalarci altre tue esigenze, in modo da aggiungere altri esempi.


