In questo articolo
Alcune funzioni Excel definite dall'utente permettono di recuperare facilmente dati da Banana Contabilità in tempo reale.
Tu aggiorni la tua contabilità e immediatamente viene aggiornato anche il tuo file Excel. Questa funzione non è possibile su Mac.
Si prega di consultare la pagina in inglese per informazioni tecniche più aggiornate.
Esempio costi divisi per cliente
Con ExcelSync si usano delle formule che riprendono i saldi aggiornati direttamente dal software Banana Contabilità.
Il foglio di Excel si aggiorna in base agli ultimi dati inseririti in contabilità.
Funzioni Excel definite dall'utente
Le funzioni definite dall'utente (UDF = User defined funtions) sono piccoli programmi in Visual Basic (o macro) che espandono Excel, permettendo l'inserimento di formule all'interno delle celle.
- Per poter usare le UDF devi avere un file Excel che abbia l'estensione *.xlsm.
- Le UDF Banana sono fornite secondo la Licenza Apache (open source software - vedi: /www.apache.org/licenses/LICENSE-2.0)
- Sviluppo e ultima versione della funzione sono disponibili su github.com/BananaAccounting/General/
- Le UDF usano il Banana web server.
Grazie alle UDF potrai scrivere formule in Excel che riprendano dati direttamente da Banana Contabilità.
- Non c'é più bisogno di riscrivere i dati in Excel (o importare, copiare e incollare)
- Quando la contabilità viene cambiata, il foglio Excel é aggiornato con i nuovi valori
- Le formule sono facili da usare e permettono di calcolare valori per periodo e creare tabelle efficaci per valutare, presentare i dati o creare grafici.
Come vedere l'esempio
- Scarica il foglio Excel con i files di esempio
- Decomprimi (Unzip) il contenuto
- Avviare Banana contabilità.
- La prima volta attiva il Webserver di Banana
Strumenti -> Opzioni programma -> Interfaccia -> Avvia web server - Apri il file contabile Banana "company_2014.ac2" e "company_2015.ac2"
- Apri il file "BananaSync.xlsm" in Excel e attiva le Macro.
Se le macro sono disabilitate automaticamente da Excel devi cambiare le impostazioni di sicurezza delle macro.
Eventualmente segui le istruzioni Mostra scheda Sviluppo sulla barra multifunzione - Ricalcola il foglio Excel con la Macro "Recalculate" (Ctrl+R)
Come creare il tuo foglio
- Salva il file "BananaSync.xlsm" con un altro nome
- Apri i tuoi files contabili in Banana
- Nel file Excel cambia il nome del file (celle evidenziate in giallo) con il nome del tuo file contabile.
- Cambia il foglio di calcolo secondo le tue necessità.
- Ricalcola con il bottone "Recalculate" o con i tasti di scelta rapida "Ctrl+R"
Uso delle funzioni
Parametro nome file
Se il programma Banana o il Banana web server non sono aperti, Excel impiega del tempo per rispondere alla query http.
Per risolvere questo problema:
- La maggior parte delle funzioni usano il parametro nome file
Se il nome del file é vuoto non c'é alcuna chiamata http. - Invece che inserire il nome del file usare un riferimento alla cella che contenga la formula =BFileName(“myfile.ac2”).
- Nel caso in cui Banana non sia avviato, il BFileName risulterà in una string vuota, e nessuna query successiva verrà avviata.
Parametro periodo
Molte funzioni usano il parametro facoltativo periodo. Questo può essere:
- Una string vuota. Vengono usate le date iniziali e finali della contabilità.
- Una data iniziale e una data finale nel formato yyyy-mm-dd/yyyy-mm-dd
esempio “2015-01-01/2015-01-31”
Per creare un periodo tra due date Excel usa la funzione BCreatePeriod. - Un'abbreviazione (M1, M2, Q1, Q2, Y1) che indica il mese, il trimestre o l'anno della contabilità.
Puoi usare la funzione BCreatePeriod per cerare una string di periodo basata sulla data di due celle.
Descrizione delle funzioni
- BAccountDescription(account[, column])
Riprende la descrizione del conto o del gruppo specificato.
Con la colonna parametro puoi indicare di riprendere un'altra colonna invece che la colonna Descrizione.
Esempi:
=BAccountDescription('1000')
=BAccountDescription('1000', 'Gr1')
=BAccountDescription('Gr=10')
=BAccountDescription('1000', 'FiscalNumber') - BAmount(fileName, account, [,period ])
Retrieve the normalized amount based on the BClass. - BBalance(fileName account [, period])
Riprende il Saldo del conto indicato alla fine del periodo.
Il risultato del BBalance é la somma di BOpening + BTotal
È usato per riprendere i dati contabili dai conti del bilancio (Attivi, Passivi)- Il conto può essere un numero di conto o una string contenente diversi conti, separati dal carattere “|”.
Puoi specificare conti normali, centri di costo o segmenti.
Puoi anche usare wild cards e anche “Gr=” seguito dal gruppo contabile.
Per maggiori informazioni guarda la descrizione della funzione Javascript per currentBalance (in inglese) - Esempio
“1000” “1000|1001” “10*|20*” “Gr=10” “Gr=10|Gr=20” “Gr=1*”
".P1" ";C01|,C02",":S1|:S2"
"1000:S1"
- Il conto può essere un numero di conto o una string contenente diversi conti, separati dal carattere “|”.
- BBalanceGet(fileName, account, cmd, valueName [,period ])
Questa funzione permette di accedere facilmente a tutti gli altri dati resi disponibili dal REST API come “saldo”, “budget”
Esempi:
=BAmount( FName, “1000”, “balance”, “currencyamount”)
=BAmount( FName, “1000”, “balance”, “count”)
=BAmount( FName, “1000”, “balance”, “debit”)
=BAmount( FName, “1000”, “budget”, “debit”) - BBudgetAmount(fileName account [, period])
Uguale al BAmount ma usa i dati saldo invece dei dati contabili. - BBudgetBalance(fileName account [, period])
Uguale al BBalance ma usa i dati budget invece dei dati contabili. - BBudgetInterest(filename, account, interestRate [, period])
Uguale al BInterest ma usa i dati budget invece dei dati contabili. - BBudgetOpening(fileName account [, period])
Uguale al BOpening ma usa i dati budget invece dei dati contabili. - BBudgetTotal(fileName account [, period])
Uguale al BTotal ma usa i dati budget invece dei dati contabili. - BCellValue(fileName, table, rowColumn, column)
Riprende il contenuto di una cella della tabella.
Esempi:
=BCellValue(FName, “Accounts”, 2, “Description”)
=BCellValue(FName, “Accounts”, “Account=1000”, “Description”)
=BCellValue(FName, “Accounts”, “Group=10”, “Description”) - BCreatePeriod( startDate, endDate)
Prende le date di due celle e crea una string di periodo
=BCreatePeriod(D4, D5) - BDate(isoDate)
Converte una Iso Date in una data Excel. - BFileName(fileName [, disable connection])
Riprende il FileName o una string vuota, se non c'é collegamento con il web server o se il file non é corretto.
Se il valore del disableConnection non é vistato, la funzione dà una string vuota.
Usa le celle che contengono il risultato di questa funzione come parametro file name, quando usi le altre funzioni. Se il programma Banana non é aperto viene fatta solo una query e Excel non aspetterà molto tempo. - BFunctionsVersion()
Riprende la versione della funzione nel formato data. - BInfo(fileName, sectionXml, idXml)
Recupera le informazioni riguardanti le proprietà del file.
Esempi:
=BInfo( FName, “Base”, “HeaderLeft”)
=BInfo( FName, “Base”, “DateLastSaved”)
=BInfo( FName, “AccountingDataBase”, “OpeningDate”)
=BInfo( FName, “AccountingDataBase”, “BasicCurrency”)
- BInterest(filename, account, interestRate [, period])
Calcola gli interessi per questo conto per il periodo specificato.- il conto può essere qualsiasi conto, come specificato nel BBalance
- il calcolo degli interestRate in percentuale
- > 0 calcola l'interesse degli importi in Dare
- < 0 calcula l'interesse degli importi in Avere
- BOpening(filename, account [period])
Retrieve the Balance for balance of period start for the indicated account. - BQuery(fileName, query)
Riprende il risultato di una query definita liberalmente.
Esempi:
=BQuery(FName;"startperiod?M1”)
=BQuery(FName;"startperiod?M1”) - BTotal(filename, account [,period])
Riprende il movimento del periodo.
Dovrebbe essere usato per riprendere i dati dei conti del Conto Economico (Costi e Ricavi). - BVatBalance(filename, vatCode, vatValue [, period])
Riprende un valore rispetto ad un VatCode (=importo IVA) definito (o diversi VatCodes).
“vatValue” can be “taxable”, “amount”, “notdeductible”, “posted”
Esempi:
=BVatBalance( FName, “V10”, “taxable”)
=BVatBalance( FName, “V10|V20”, “posted”)
Ricalcolo
Il ricalcolo automatico non aggiorna i dati del file contabile.
Per ottenere un aggiornamento dei dati occorre chiamare la macro RecalculateAll() che chiama il metodo Application.CalculateFullRebuild
I files di esempio contengono il bottone “Recalculate” che chiama la macro RecalculateAll.
Banana host name and port
I dati del web server sono ripresi da “localhost:8081”
Puoi specificiare un host diverso inserendo un valore nella cella chiamata “BananaHostName”
Modifica le funzioni o aggiungine di nuove
Le funzioni sono definite nel modulo "Banana" del Visual Basic.
Potremmo aggiornare questo module e aggiungere nuove funzioni.
Se aggiungi delle funzioni tue sarebbe meglio aggiungerle al tuo modulo.
Per accedere alle funzionalità Macro del Visual Basic dovresti attivare le macro.
Per vedere e modficare le funzioni devi Mostrare la scheda Sviluppo sulla barra multifunzione
Cronologia delle versioni
- 2014-07-24 prima versione
- 2015-02-28 aggiornamento per la nuova versione con nuove funzioni
- 2015-05-12 chiamata al web server ora richiede v1
- 2015-05-12 sviluppo spostato su github
- 2015-05-25 cambiato la funzione BAmoount per usare la BClass
- 2015-10-04 aggiunta la funzione BDate