Logica di calcolo del preventivo

Documentazione •
In questo articolo

Banana Contabilità elabora i dati della contabilità e del Preventivo per generare automaticamente valori per conto e periodo, saldi, schede conto, report e confronti tra Preventivo e Consuntivo.

Questa pagina descrive la logica con cui i dati previsionali vengono elaborati e trasformati nei valori utilizzati nei report.

Il giornale di calcolo

Per effettuare i calcoli, Banana Contabilità crea internamente un giornale di calcolo.

Il giornale di calcolo riunisce le informazioni necessarie per determinare i valori contabili e previsionali e comprende, secondo il tipo di elaborazione:

  • saldi iniziali
  • registrazioni contabili
  • movimenti di Preventivo.

Da questi dati vengono determinati i saldi dei conti e generati le schede conto, il Bilancio, il Conto economico, i valori di Preventivo e i relativi confronti.

Anche i movimenti di Preventivo vengono elaborati secondo la logica della partita doppia. Gli effetti economici, patrimoniali e finanziari delle operazioni future rimangono così collegati tra loro.

Per utilizzi avanzati e sviluppi personalizzati, i dati del giornale di calcolo sono accessibili anche tramite le API di Banana Contabilità.

Creazione del giornale di calcolo

Quando i dati vengono ricalcolati, Banana Contabilità ricostruisce il giornale di calcolo sulla base delle informazioni presenti nel file.

Ogni operazione genera le righe necessarie per attribuire i valori ai rispettivi conti.

Una singola operazione può quindi generare più righe nel giornale di calcolo. In funzione delle informazioni presenti possono essere generate, per esempio, righe relative ai conti Dare e Avere, all'IVA, ai centri di costo e profitto o ai segmenti.

Le righe di calcolo contengono informazioni come:

  • origine del movimento, contabile o di Preventivo
  • tipo di operazione
  • data
  • descrizione
  • conto
  • tipo di conto
  • importo in moneta base
  • eventuale importo in moneta del conto
  • altre informazioni necessarie al calcolo.

Gli importi vengono attribuiti ai conti secondo la logica Dare e Avere. Nel giornale di calcolo gli importi positivi rappresentano i movimenti in Dare e quelli negativi i movimenti in Avere.

Il giornale di calcolo costituisce quindi la base comune dalla quale Banana Contabilità ricava sia i valori complessivi sia il dettaglio delle operazioni.

Generazione dei valori contabili

I valori contabili, o di Consuntivo, vengono determinati a partire dai saldi iniziali e dalle operazioni inserite nella tabella Registrazioni.

I saldi iniziali vengono trasformati nelle corrispondenti righe del giornale di calcolo, attribuite ai rispettivi conti e alla data di apertura.

Durante il calcolo, le registrazioni vengono elaborate e attribuite ai rispettivi conti.

A seconda del tipo di contabilità e delle informazioni presenti, una registrazione può determinare anche valori relativi a IVA, centri di costo e profitto, segmenti e altri elementi contabili.

Il risultato dell'elaborazione costituisce la situazione effettiva utilizzata per saldi, schede conto e report.

Generazione dei valori di Preventivo

I valori di Preventivo vengono determinati a partire dai dati previsionali presenti nel file.

Il calcolo dipende dalla modalità con cui è stato impostato il Preventivo:

  • se è presente la tabella Preventivo, vengono elaborati i movimenti previsionali
  • se la tabella Preventivo non è presente, vengono utilizzati i valori inseriti nella colonna Preventivo della tabella Conti o Categorie.

I saldi iniziali costituiscono il punto di partenza anche per il calcolo dei valori previsionali.

Quando la tabella Preventivo non è presente, gli importi annuali inseriti nella colonna Preventivo vengono utilizzati per generare i valori previsionali dei diversi periodi. Il programma determina i mesi compresi nel periodo contabile e ripartisce il valore sui relativi periodi. Eventuali differenze dovute agli arrotondamenti vengono compensate nell'ultimo periodo.

Elaborazione dei movimenti della tabella Preventivo

Quando viene utilizzata la tabella Preventivo, Banana Contabilità elabora ogni riga in base alle informazioni inserite.

Il calcolo può tenere conto di:

  • data
  • conti Dare e Avere
  • importo
  • ripetizione
  • data finale
  • quantità
  • prezzo
  • formula
  • IVA
  • centri di costo e profitto
  • segmenti.

Una riga della tabella Preventivo può quindi rappresentare un singolo movimento futuro oppure essere utilizzata per generare e calcolare più valori previsionali.

Da queste informazioni Banana Contabilità crea i movimenti necessari per determinare la situazione futura dei conti.

Nelle contabilità multi-moneta, l'elaborazione può comprendere sia l'importo nella moneta del conto sia il relativo valore in moneta base. Quando il movimento contiene informazioni IVA, vengono inoltre generati gli effetti previsti dal relativo codice IVA.

Calcolo dell'importo

L'importo di un movimento di Preventivo può essere inserito direttamente oppure determinato automaticamente.

Quando vengono utilizzati quantità, prezzi o formule, Banana Contabilità calcola l'importo sulla base delle informazioni presenti nella riga.

Quando nella stessa riga sono presenti più elementi per determinare l'importo, viene applicato questo ordine di priorità:

  1. Formula
  2. Quantità × Prezzo
  3. Importo inserito direttamente.

Se è presente una formula, viene quindi utilizzato il risultato della formula. Se non è presente una formula ma sono indicati quantità e prezzo, l'importo viene calcolato in base a questi valori. Negli altri casi viene utilizzato l'importo inserito direttamente.

Questo permette di costruire il Preventivo utilizzando sia valori fissi sia valori che dipendono da altre ipotesi della pianificazione.

Una modifica ai dati utilizzati nel calcolo può quindi aggiornare automaticamente l'importo del movimento e, di conseguenza, i valori previsionali collegati.

Movimenti ripetitivi

Un movimento di Preventivo può rappresentare un'operazione che si ripete nel tempo.

Nella colonna Ripeti della tabella Preventivo puoi indicare la frequenza con cui il movimento deve essere ripetuto. Banana Contabilità utilizza questa informazione, insieme alla data iniziale e all'eventuale data finale, per generare automaticamente le diverse occorrenze previste.

Una sola riga può quindi rappresentare, per esempio, una serie di affitti, stipendi, rate, incassi o altri movimenti ricorrenti.

Quando una data di ripetizione non esiste nel mese interessato, la data viene adattata all'ultimo giorno disponibile del mese. Questo permette di gestire anche movimenti previsti alla fine del mese.

Ogni occorrenza viene attribuita alla relativa data e contribuisce ai valori previsionali del periodo e dei conti interessati.

In questo modo non è necessario inserire manualmente ogni singolo movimento futuro.

Quantità e prezzi

Quando vengono utilizzate quantità e prezzi, l'importo del movimento viene calcolato sulla base dei valori inseriti.

Questa modalità è utile, per esempio, per pianificare:

  • quantità vendute e prezzo di vendita
  • quantità acquistate e prezzo di acquisto
  • ore previste e tariffa
  • numero di clienti o prestazioni e relativo valore.

Modificando la quantità o il prezzo, l'importo viene ricalcolato e i valori previsionali collegati vengono aggiornati.

Formule e JavaScript

Le formule permettono di calcolare automaticamente l'importo dei movimenti di Preventivo e di creare relazioni tra diversi elementi della pianificazione.

Per l'elaborazione delle formule Banana Contabilità utilizza JavaScript.

Quando viene creato il giornale di calcolo, viene inizializzato l'ambiente JavaScript utilizzato per l'elaborazione delle formule. Vengono caricati gli script previsti dal programma e, se presente, il file _budget.js utilizzato dalla pianificazione.

Il file _budget.js permette di definire variabili, funzioni e altri automatismi personalizzati che possono essere richiamati dalle formule del Preventivo.

Questo permette di utilizzare sia formule semplici sia calcoli più avanzati, con variabili, funzioni e valori previsionali già calcolati.

Una formula può essere utilizzata, per esempio, per determinare:

  • un costo come percentuale delle vendite
  • un importo in funzione di un saldo previsionale
  • interessi o altri valori calcolati
  • importi che dipendono da risultati ottenuti in precedenza.

In questo modo le ipotesi della pianificazione possono essere collegate tra loro e una modifica a un valore può propagarsi ai calcoli che ne dipendono.

La sintassi JavaScript, le funzioni disponibili e gli esempi di utilizzo sono approfonditi nella documentazione dedicata alle formule del Preventivo.

Calcolo progressivo nel tempo

I movimenti di Preventivo vengono elaborati seguendo la loro sequenza temporale.

Durante il calcolo, una formula può utilizzare valori previsionali che risultano dai movimenti già elaborati fino a quel momento.

Lo stato dell'interprete JavaScript viene mantenuto durante l'elaborazione, permettendo alle formule successive di utilizzare variabili e valori determinati in precedenza.

Se più movimenti hanno la stessa data, viene mantenuto il loro ordine relativo di elaborazione. Anche le formule dei movimenti ripetitivi vengono elaborate secondo la sequenza cronologica delle occorrenze generate.

Questo permette di costruire una pianificazione che evolve nel tempo.

Per esempio, un movimento previsto in un determinato periodo può essere calcolato sulla base delle vendite, dei costi o dei saldi previsionali risultanti fino a quel periodo.

La sequenza temporale dei movimenti diventa quindi parte della logica di calcolo del Preventivo.

Calcolo della colonna Totale

La colonna Totale della tabella Preventivo indica il valore complessivo che una riga di Preventivo determina nel periodo contabile.

Il Totale dipende dall'importo del singolo movimento e dall'eventuale frequenza indicata nella colonna Ripeti.

L'importo del singolo movimento può essere:

  • inserito direttamente nella colonna Importo
  • calcolato in base a Quantità × Prezzo
  • determinato tramite una formula.

Se la colonna Ripeti è vuota, il Totale corrisponde all'importo del singolo movimento.

Se nella colonna Ripeti è indicata una frequenza, Banana Contabilità genera le occorrenze previste nel periodo e il Totale corrisponde alla somma degli importi dei movimenti generati.

Se il movimento non rientra nel periodo contabile considerato, non contribuisce al valore della colonna Totale.

Di conseguenza, il Totale tiene conto sia del modo in cui viene determinato l'importo sia della sua eventuale ripetizione nel tempo.

Modificando l'importo, la quantità, il prezzo, la formula oppure la frequenza nella colonna Ripeti, viene aggiornato anche il Totale.

La colonna Totale permette quindi di vedere immediatamente l'effetto complessivo della riga di Preventivo nel periodo contabile.

Valori previsionali per conto e periodo

Dopo avere elaborato i movimenti, Banana Contabilità determina i valori previsionali dei singoli conti.

Per ogni conto possono essere determinati valori come:

  • saldo iniziale
  • movimenti Dare
  • movimenti Avere
  • movimento del periodo
  • saldo finale.

Il saldo finale viene determinato a partire dal saldo iniziale e dai movimenti Dare e Avere attribuiti al periodo.

Poiché ogni movimento ha una data, gli stessi dati previsionali possono essere elaborati per periodi differenti.

È quindi possibile ottenere valori, per esempio, per mese, trimestre, semestre o anno senza dover creare una pianificazione separata per ogni periodo.

La gestione delle date e dell'orizzonte temporale è approfondita nella pagina Periodo di previsione.

Generazione delle schede conto

Il giornale di calcolo permette di ricostruire non soltanto i valori complessivi, ma anche i movimenti che hanno determinato il saldo di ogni conto.

Per questo Banana Contabilità può generare una scheda conto del Preventivo con il dettaglio delle operazioni previsionali attribuite al conto.

È quindi possibile partire da un valore presente in un report previsionale e analizzare i movimenti che lo hanno determinato.

Generazione dei report previsionali

I valori calcolati per i diversi conti vengono utilizzati per generare i report previsionali.

In funzione della struttura contabile e del report utilizzato, è possibile ottenere informazioni relative a:

  • risultato economico
  • attività e passività
  • liquidità
  • crediti e debiti
  • altri valori patrimoniali e finanziari
  • valori suddivisi per periodo.

I diversi report derivano quindi dagli stessi dati previsionali e dalla stessa logica di calcolo.

Una modifica ai movimenti di Preventivo si riflette sui valori dei conti e sui report che li utilizzano.

Confronto tra Preventivo e Consuntivo

Preventivo e Consuntivo vengono elaborati sulla stessa struttura contabile.

Questo permette di confrontare, per gli stessi conti e periodi:

  • valori effettivi
  • valori di Preventivo
  • differenze o scostamenti.

In funzione del report utilizzato, gli scostamenti possono essere presentati come differenze di valore e in forma percentuale.

Il confronto può essere effettuato nei report e, quando si utilizza il Preventivo basato sui movimenti, anche analizzando il dettaglio delle operazioni nelle schede conto.

In questo modo è possibile passare dal confronto dei valori complessivi all'analisi dei movimenti che hanno determinato il risultato.

Per elaborazioni avanzate è inoltre possibile combinare dati effettivi e previsionali, utilizzando per esempio il Consuntivo fino a una determinata data e i valori di Preventivo per il periodo successivo.

Ricalcolo dei dati previsionali

Quando vengono modificati i dati che influenzano la pianificazione, Banana Contabilità ricalcola i valori previsionali.

Una modifica può quindi propagarsi ai calcoli successivi e aggiornare:

  • importi calcolati
  • movimenti ripetitivi
  • valori dipendenti da formule
  • saldi previsionali
  • valori dei conti
  • schede conto
  • report
  • confronti con il Consuntivo.

Questo meccanismo permette di aggiornare la pianificazione senza dover ricostruire manualmente tutti i valori collegati.

Il ricalcolo viene normalmente eseguito quando vengono modificati dati che influiscono sulla pianificazione o quando viene richiesta un'elaborazione che necessita di valori aggiornati.

Alcuni elementi utilizzati indirettamente dalle formule possono tuttavia richiedere un ricalcolo completo. Questo può avvenire, per esempio, quando vengono modificati il file _budget.js, altri script JavaScript utilizzati dalle formule o altri dati esterni da cui dipendono i calcoli.

In presenza di pianificazioni complesse o di dipendenze esterne utilizzate dalle formule può essere necessario eseguire un ricalcolo completo della contabilità.

Nelle pianificazioni molto estese il tempo di calcolo può dipendere dal numero di conti, dal numero di movimenti di Preventivo, dalle occorrenze generate dai movimenti ripetitivi, dalla complessità delle formule e dalla durata del periodo di pianificazione.

Quando necessario, il ricalcolo può essere eseguito manualmente in modo da aggiornare i risultati al momento opportuno.

Come possiamo aiutarti meglio?

Facci sapere quale tema approfondire o aggiungere per rendere questa pagina più utile.

Inviaci il tuo feedback

Condividi questo articolo: Twitter | Facebook | LinkedIn | Email