Aller au contenu principal

Configurer les prix automatiques dans Beancount

Connectez des flux de prix gérés à votre registre Beancount hébergé, choisissez une devise d'évaluation et comprenez les rafraîchissements, les remplacements manuels et la compatibilité locale.

Utilisez Live Prices pour ajouter des prix d'évaluation rafraîchis automatiquement à un registre Beancount.io hébergé. Les flux gérés fournissent des directives price datées pour les cryptomonnaies, actions, fonds et devises étrangères pris en charge. Vous continuez à enregistrer vos achats, ventes et transferts comme d'habitude.

Choisir vos sources de prix

  1. Ouvrez le sélecteur de sources de prix.
  2. Choisissez la devise dans laquelle vous souhaitez évaluer vos actifs.
  3. Sélectionnez vos actifs à partir des raccourcis ou recherchez par symbole, comme BTC ou AAPL. Vous pouvez également coller un extrait de registre pour trouver ses actifs ; l'extrait reste dans votre navigateur.
  4. Vérifiez que chaque symbole d'actif correspond au commodity de votre registre. Le sélecteur génère des includes pour les paires répertoriées. Une paire non répertoriée peut prendre en charge une dérivation à la demande, mais le sélecteur l'omet tant que la prise en charge n'est pas confirmée.
  5. Copiez les includes générés. Connectez-vous à Beancount.io pour utiliser votre registre hébergé et inspecter les flux qui nécessitent une authentification.

Choisissez la devise d'évaluation pour vos livres, et non pour la langue de cette page. La sélection d'une devise de cotation ne renomme pas les commodities et ne modifie pas vos transactions.

Inclure les flux dans votre registre hébergé

Collez les lignes générées dans main.bean, ou dans un autre fichier déjà inclus par votre registre. Chaque ligne identifie une source de prix. Par exemple, l'include hébergé pour Bitcoin en dollars américains est affiché en commentaire ci-dessous afin que cet exemple reste sûr à charger avec Beancount en amont :

; Hosted Beancount.io ledger: remove the leading semicolon to enable this feed.
; include "https://beancount.io/prices/BTC-USD"

Supprimez le ; initial lorsque vous ajoutez la ligne à votre registre hébergé. Les includes d'URL sont une extension de Beancount.io. Les includes locaux ordinaires prennent toujours des noms de fichiers, comme décrit dans prise en charge multi-fichiers.

Ouvrez votre registre comme d'habitude. Son chargeur résout les flux gérés en entrées de prix en lecture seule. Il vérifie la présence de nouvelles données lorsque le registre est chargé après la fenêtre de rafraîchissement de cinq minutes. Le rafraîchissement des prix ne réécrit pas vos fichiers sources et ne crée pas de commits du registre. Les entrées de prix gérées ne comptent pas dans la limite d'entrées de votre registre.

Lire les prix et les évaluations

Un flux contient des prix datés et peut inclure les métadonnées price-source, price-kind, observed-at et provisional. Inspectez l'heure d'observation et le type de prix pour juger une cotation. L'heure de rafraîchissement du chargeur n'est pas l'heure d'observation du fournisseur.

Il s'agit de prix d'évaluation rafraîchis automatiquement, et non de cotations de trading en continu. Un rapport a besoin d'un prix pour la paire de commodities concernée à sa date d'évaluation ou avant. Le prix d'aujourd'hui ne peut pas combler une lacune dans un rapport antérieur.

Les prix rendent possible l'évaluation au prix du marché dans les outils et rapports qui utilisent des directives de prix. Une vue de compte affichant le coût continuera d'afficher le coût ; connecter un flux ne bascule pas cette vue vers la valeur de marché. Consultez le guide des requêtes pour la distinction entre coût et évaluation au prix du marché.

Un rafraîchissement des prix ne modifie pas les quantités, les coûts d'achat, les flux de trésorerie, les frais ou les gains réalisés enregistrés dans votre registre. Il ne remplit pas non plus le prix @ ou le {cost} d'une transaction. Enregistrez-les à partir de la transaction elle-même. Les évaluations immobilières, les commodities d'exemple fictives et les actifs sans flux pris en charge nécessitent toujours vos propres prix datés.

Remplacer un prix géré

Écrivez votre propre directive price datée dans un fichier de registre modifiable lorsque vous avez besoin d'une évaluation particulière. Pour la même date et la même paire de commodities, votre prix prévaut sur le flux géré. Cela s'applique également à la paire réciproque et ne dépend pas de l'ordre des includes.

Un prix manuel n'est pas un verrou permanent : une cotation gérée à une date ultérieure peut toujours être utilisée pour une évaluation ultérieure. Les entrées gérées elles-mêmes sont en lecture seule. Modifiez votre propre directive de prix, ou supprimez l'include pour cesser d'utiliser ce flux.

Utiliser les prix avec les outils locaux

Où vous chargez le registreComment fournir les prix
Beancount.io hébergéUtilisez les includes d'URL gérés du sélecteur.
Une version compatible de la CLI beaSuivez les instructions de prix gérés de la CLI pour la résolution des URL et l'exportation des fichiers de prix locaux.
Beancount en amont ou FavaChargez des fichiers de prix locaux ; ces outils ne récupèrent pas eux-mêmes les includes d'URL.

Pour un comportement de la CLI propre à une version, utilisez le guide des prix gérés de bea. Les versions compatibles offrent bea price status, bea price refresh et bea price export --output audit. Utilisez bea --offline balance pour des lectures uniquement depuis le cache ou bea --strict-prices check pour rejeter les sources obsolètes ou indisponibles. Consultez la référence de la CLI pour les détails et le flux de travail alternatif avec Beanprice local.

La CLI récupère sans identifiants et refuse les redirections. Un flux qui redirige vers la page de connexion hébergée n'est pas disponible pour une nouvelle récupération par la CLI, même si vous êtes connecté via votre navigateur. Utilisez plutôt un flux pris en charge accessible ou des prix datés locaux. Les versions plus anciennes de la CLI peuvent traiter tout include d'URL comme un glob de fichier sans correspondance.

Conservez les fichiers de prix datés locaux lorsque vous avez besoin d'un rapport hors ligne reproductible. Un commit du registre seul ne capture pas la révision du flux géré utilisée par une évaluation passée. Préservez les prix utilisés avec le registre et le rapport.

Pour les intégrations avec le service de prix, consultez la référence de l'API Prices. Ses endpoints sont distincts de l'ajout d'un include à un registre hébergé.

Résoudre une évaluation manquante ou inattendue

SymptômeCe qu'il faut vérifier
Le catalogue ne se charge pasRéessayez le sélecteur. Ne devinez pas une URL d'include à partir d'un symbole non pris en charge.
Un actif sélectionné est absent des includes copiésVérifiez la prise en charge de cet actif dans la devise de cotation choisie et faites correspondre le symbole du registre.
L'ouverture d'un flux redirige vers la connexionConnectez-vous pour l'inspecter dans le flux de travail hébergé. La CLI n'envoie pas cette session et refuse les redirections.
Les prix semblent anciensComparez l'heure d'observation avec la date du rapport. Un rafraîchissement échoué peut conserver un flux en cache précédemment validé ; les données en cache peuvent être obsolètes.
Aucun prix n'est disponibleSans prix en cache validé, les livres peuvent toujours se charger, mais le solde peut manquer d'une évaluation au prix du marché. Fournissez un prix manuel approprié si nécessaire.
Votre prix manuel semble ignoréVérifiez la date et la paire exactes. Une cotation gérée ultérieure peut s'appliquer à un rapport ultérieur.
Un chargeur local signale un include sans correspondanceUtilisez une version compatible de bea ou remplacez l'include d'URL par un fichier de prix local.
La valeur du compte n'a pas changéVérifiez si la vue affiche le coût et si le rapport dispose de prix couvrant sa date d'évaluation.

Consultez la référence de la syntaxe des prix pour les directives manuelles et les exemples de registres fonctionnels pour des enregistrements d'investissement statiques et reproductibles.

Source : https://beancount.io/fr/docs/live-prices