Interroga un registro Beancount con SQL su Mac
Apri un file .beancount e interroga transazioni, registrazioni, saldi e metadati come tabelle SQL, oppure invia BQL a rledger. Il registro rimane un file di testo che modifichi nel tuo editor.
Funziona su MacIl driver viene scaricato la prima volta che scegli Beancount


A colpo d’occhio
- Linguaggio di query
- SQL
- Driver
- Scaricato al primo utilizzo
- Connetti tramite
- Un file
- iPhone e iPad
- Non si apre
Apri un registro
TablePro esegue rledger o Python Beancount per leggere il registro. Se devi scegliere, installa rledger: ha la precedenza quando sono presenti entrambi, è l’unico a eseguire BQL ed è l’unico a riempire la tabella diagnostics con i risultati della validazione.
Scegli il file con Browse… nel modulo di connessione. Il percorso del registro definisce l’intera connessione, senza host, porta, password o database. Un file .beancount si apre anche dal Finder ed è possibile importare URL beancount:///path/to/main.beancount.
Un’app aperta dal Finder non eredita il PATH della shell. Se il backend funziona in Terminal ma non qui, indicane il percorso con launchctl setenv TABLEPRO_RUSTLEDGER_BINARY o TABLEPRO_BEANCOUNT_PYTHON e riavvia.
Il backend Python esegue i plugin inclusi in Beancount e ignora tutte le altre direttive plugin, che contengono codice di terze parti, finché non attivi Run Ledger Plugins per quella connessione. I plugin ignorati sono elencati in diagnostics.
Interroga il registro
Le tabelle coprono transazioni e registrazioni, conti, saldi e asserzioni sui saldi, prezzi e commodity, tutte le altre direttive, metadati, tag e link e i file sorgente. Le registrazioni si uniscono alle transazioni su transaction_id e i conti per nome.
Gli importi arrivano contabilizzati, con operazioni aritmetiche, costi e prezzi risolti e con i costi delle registrazioni e i prezzi inline in colonne dedicate. Transazioni, registrazioni e varie tabelle delle direttive contengono una source_location come main.beancount:42, così una riga rimanda alla sua riga nel file.
Aggiungi il prefisso BQL: a una query per inviarla a rledger anziché alle tabelle. Navigazione, conteggio delle righe e paginazione funzionano sui risultati BQL; i parametri SQL no.
Le direttive include vengono seguite, sia con percorsi letterali sia con glob, e tutti i file del registro e i documenti citati vengono monitorati. Salva una modifica nell’editor e la query successiva la legge senza riconnettersi. La connessione è sempre al livello Read-Only di Safe Mode, quindi INSERT, UPDATE, DELETE e le modifiche allo schema vengono rifiutati.
Sposta i dati
Esporta una tabella o il risultato di una query in CSV, JSON, SQL, XLSX, Markdown, HTML e XML. Gli altri file che TablePro apre come database includono SQLite, DuckDB e Parquet.
iPhone e iPad
L’app per iPhone e iPad non ha un driver Beancount. Le connessioni Beancount sincronizzate da un Mac compaiono nell’elenco, ma non si aprono.
Limiti
- All’apertura, TablePro legge il registro in 23 tabelle SQL in sola lettura. Non viene scritto nulla nel registro.
- Richiede rledger o Python beancount installato su questo Mac.
Domande su Beancount
Un registro con errori si apre comunque?
Tramite rledger, sì. Il registro viene proiettato in tabelle anche se la validazione fallisce e ogni problema è una riga in diagnostics con file, riga, gravità e messaggio.
Una connessione può aprire più registri?
Una connessione corrisponde a un file di registro, senza possibilità di passare a un altro. Un file principale che include gli altri li carica tutti, anche tramite glob.
Scarica TablePro
Richiede macOS 13 Ventura o successivo