Interrogez un livre Beancount en SQL sur Mac
Ouvrez un fichier .beancount et interrogez ses transactions, écritures, soldes et métadonnées comme des tables SQL, ou envoyez du BQL à rledger. Le livre reste un fichier texte que vous modifiez dans votre propre éditeur.
Fonctionne sur MacLe pilote se télécharge la première fois que vous choisissez Beancount


En bref
- Langage de requête
- SQL
- Pilote
- Téléchargé à la première utilisation
- Connexion via
- Un fichier
- iPhone et iPad
- Ne s’ouvre pas
Ouvrez un livre
TablePro exécute rledger ou Python Beancount pour lire le livre. Si vous devez choisir, installez rledger : il est prioritaire lorsque les deux sont présents, BQL ne fonctionne que par son intermédiaire et lui seul remplit la table diagnostics avec les résultats de validation.
Choisissez le fichier avec Parcourir… dans le formulaire de connexion. Le chemin du livre définit toute la connexion, sans hôte, port, mot de passe ni base de données. Un fichier .beancount s’ouvre aussi depuis le Finder et les URL beancount:///path/to/main.beancount peuvent être importées.
Une app ouverte depuis le Finder n’hérite pas du PATH de votre shell. Si le moteur fonctionne dans Terminal mais pas ici, indiquez-le avec launchctl setenv TABLEPRO_RUSTLEDGER_BINARY ou TABLEPRO_BEANCOUNT_PYTHON, puis relancez l’app.
Le moteur Python exécute les plugins fournis avec Beancount et ignore toute autre directive plugin, qui représente du code tiers, jusqu’à ce que vous activiez Exécuter les plugins du livre pour cette connexion. Les plugins ignorés figurent dans diagnostics.
Interrogez le livre
Les tables couvrent les transactions et écritures, les comptes, soldes et assertions de solde, prix et unités de valeur, toutes les autres directives, métadonnées, étiquettes et liens, ainsi que les fichiers sources. Les écritures se joignent aux transactions sur transaction_id et les comptes par leur nom.
Les montants arrivent comptabilisés, avec calculs, coûts et prix résolus ; les coûts des écritures et les prix en ligne occupent leurs propres colonnes. Les transactions, écritures et plusieurs tables de directives comportent une source_location telle que main.beancount:42, pour retrouver la ligne source d’un enregistrement.
Préfixez une requête par BQL: pour l’envoyer à rledger plutôt qu’aux tables. La navigation, le comptage des lignes et la pagination fonctionnent sur un résultat BQL ; les paramètres SQL, non.
Les directives include sont suivies, pour les chemins explicites comme les motifs glob, et tous les fichiers du livre et documents référencés sont surveillés. Enregistrez une modification dans votre éditeur : la requête suivante la lit sans reconnexion. La connexion reste toujours en Mode sécurisé Lecture seule ; INSERT, UPDATE, DELETE et les modifications de schéma sont donc refusés.
Transférez des données
Exportez une table ou un résultat de requête en CSV, JSON, SQL, XLSX, Markdown, HTML et XML. Les autres fichiers que TablePro ouvre comme bases de données incluent SQLite, DuckDB et Parquet.
iPhone et iPad
L’app iPhone et iPad n’a pas de pilote Beancount. Les connexions Beancount synchronisées depuis un Mac apparaissent dans sa liste, mais ne s’ouvrent pas.
Limites
- TablePro lit le registre à l’ouverture dans 23 tables SQL en lecture seule. Rien n’est réécrit dans le registre.
- Nécessite rledger ou Python beancount installé sur ce Mac.
Questions sur Beancount
Un livre contenant des erreurs s’ouvre-t-il ?
Avec rledger, oui. Le livre est projeté même si la validation échoue, et chaque problème devient une ligne de diagnostics avec fichier, ligne, gravité et message.
Une connexion peut-elle ouvrir plusieurs livres ?
Une connexion correspond à un seul fichier de livre, sans bascule possible. Un fichier principal qui inclut les autres les rassemble tous, y compris via des motifs glob.
Obtenir TablePro
Nécessite macOS 13 Ventura ou version ultérieure