Architettura del programma

Banana Contabilità è un software che usa diverse tecnologie e che ha un'architettura molto particolare, non immediatamente visibile: La spieghiamo qui di seguito a grandi linee.

Software che contiene diversi applicativi

Banana Contabilità appare come un normale software. In realtà, da un punto di vista strutturale, è una collezione di applicativi diversi per la tenuta della contabilità doppia, la contabilità entrate uscite, il Timesheet, la gestione della biblioteca e altro.

Banana Contabilità è sviluppato con il linguaggio di programmazione a oggetti C++. Ogni applicativo è una classe di C++ che deriva da una classe base, il file/documento Banana. La classe eredita le funzionalità dalle classi superiori e poi implementa le proprie funzionalità.  L'architettura è la seguente. 

Come si vede c'è una classe base e ci sono delle classi intermedie.

  • Classe base: Documento Banana
    È la classe che implementa o si connette con altre classi che mettono a disposi le funzioni comuni inerenti alla gestione dati, salvataggio e apertura file, visualizzazione, inserimento e stampa dati tabella, importazione, esportazione, web server, javascript engine.
    • Classe Contabilità
      Implementa tutte le funzionalità comuni ai programmi di contabilità, come il motore di calcolo, le previsioni finanziarie, la gestione IVA, centri di costo e profitto, segmenti, blockchain, reportistica.
      • Classe Contabilità Doppia
        Implementa le funzioni per la contabilità doppia con o senza multi-monete.
      • Classe Contabilità Entrate e uscite
        Implementa le funzioni per la contabilità entrate e uscite e il libro cassa.
    • Classe Utilità
      Implementa le funzioni comuni a tutti gli applicativi non contabili, come collegamento campi, autocompletamento.

Ispirato a Excel

Banana Contabilità prende ispirazione dai programmi dei fogli di calcolo, e precisamente:

  • La visualizzazione e inserimento dei dati in tabelle.
  • Tutti i dati salvati in un file.

Blockchain

Banana Contabilità, per proteggere i dati e soddisfare i requisiti legali in materia di contabilità, utilizza la tecnologia blockchain.
Le registrazioni vengono marcate con dei sigilli digitali concatenati. Il sigillo dell'ultima operazione identifica in modo univoco tutti i dati fin dall'inizio. Qualsiasi modifica ai dati esistenti porta a dei sigilli diversi. È possibile provare che i dati non siano stati modificati, ma anche aggiungere nuove registrazioni senza compromettere i sigilli esistenti. Banana  Contabilità utilizza questa tecnologia sin dal 2002 depositando e ottenendo relativo brevetto.
Nel 2008 il sistema Bitcoin, per assicurare l'integrità dei movimenti contenuti nel giornale, ha usato lo stesso principio di certificazione dei dati tramite concatenazione criptografica. A questa tecnologia  è stato poi attribuito il nome di blockchain ed è ora conosciuto come uno dei sistemi più sicuri per garantire l'integrità dei dati.

Il metodo della contabilità in partita doppia

Gli applicativi contabili di Banana Contabilità utilizzano un motore di calcolo e reportistica basato sul metodo della contabilità in partita doppia. Il metodo della contabilità in partita doppia è notoriamente il metodo contabile standard, utilizzato in tutto il mondo per contabilità di aziende, organizzazioni, enti pubblici e in genere tutte le contabilità di livello professionale.

Banana Contabilità offre tutte le funzionalità tipiche di una contabilità professionale, con i tutti i report tipici della contabilità, come giornale, bilancio, conto economico, schede conto. Supporta l’uso di più monete, è predisposto per il calcolo e la rendicontazione dell’IVA, e permette di categorizzare i movimenti per centri di costo e settori.

Quando l’utente scegliere l'applicativo delle entrate e uscite, l'inserimento dei movimenti avviene indicando l'entrata e uscita sul conto. Internamente il programma per i calcoli, controllo, reportistica e altro usa il medesimo motore basato sulla contabilità in partita doppia.

Budget e Pianificazione finanziaria

I vantaggi del matrimonio fra tecnologia della contabilità e quella dei fogli di calcolo sono ancora più evidenti nell’ambito della pianificazione finanziaria. Banana Contabilità offre infatti un sistema facile da usare, che crea in automatico i piani finanziari con una visione chiara di come evolverà la situazione finanziaria nel tempo.
La pianificazione si inserisce con registrazioni di preventivo, simili a normali registrazioni, con la possibilità di indicare gli eventi ripetitivi e di automatizzare i calcoli con l’inserimento di quantità e formule.
Si hanno così in automatico, per il futuro, tutti i report della contabilità, piano della liquidità, bilancio e il conto economico previsionale e i singoli dettagli per ogni voce di entrata e di spesa.

Add-in in Javascript

Ulteriori personalizzazioni possono essere programmate con il linguaggio Javascript. Si possono sviluppare estensioni (BananaApps) per adattare il programma alle esigenze specifiche di una nazione, di un settore o della ditta.
La stampa e l’esportazione dei dati dell’IVA nei formati richiesti dall’autorità di fiscali delle diverse nazioni, la stampa degli attestati di donazione alle associazioni, il layout di stampa delle fatture e l’importazione di file bancari e tante altre funzionalità sono sviluppati con il Javascript.
Il linguaggio Javascript viene anche utilizzato per dare la possibilità all’utente per automatizzare la pianificazione finanziaria. Si possono inserire formule di calcolo, accedere all’API di Banana Contabilità o anche programmare delle proprie funzioni.

Webserver per riprendere i dati in altri programmi

Banana Contabilità rende i dati della contabilità completamente accessibili grazie a un webserver integrato.  Altri software, come Excel, Access o qualsiasi applicazione propria può riprendere e riutilizzare le informazioni presenti nella contabilità per analizzare, fare stampe o altro con gli strumenti più appropriati al caso.

Utilizzabili su diversi sistemi operativi

Banana Contabilità per tutto quanto riguarda l’interazione con il sistema operativo le librerie di programmazione QT. Grazie a questa solida piattaforma il programma è disponibile in versione nativa per Windows, Mac, Linux, Android e IOS.
I file sono completamente portabili e possono essere passati da un computer all’altro senza problemi.
Il programma si adatta in automatico alle proprie impostazioni nazionali (lingua, caratteri, date e numeri) ed è accessibile anche da persone con handicap visivi.

Aiutaci a migliorare la documentazione

Sono benvenuti suggerimenti per come migliorare questa pagina.

Dicci quale tema necessita di una spiegazione migliore o come chiarire meglio un argomento.

Condividi questo articolo: Twitter | Facebook | Email