Zum Hauptinhalt springen

Automatische Preise in Beancount einrichten

Verbinde verwaltete Preis-Feeds mit deinem gehosteten Beancount-Hauptbuch, wähle eine Bewertungswährung und verstehe Aktualisierungen, manuelle Überschreibungen und lokale Kompatibilität.

Verwende Live Prices, um automatisch aktualisierte Bewertungspreise zu einem gehosteten Beancount.io-Hauptbuch hinzuzufügen. Verwaltete Feeds liefern datierte price-Direktiven für unterstützte Kryptowährungen, Aktien, Fonds und Fremdwährungen. Du erfasst Käufe, Verkäufe und Übertragungen weiterhin wie gewohnt.

Wähle deine Preisquellen

  1. Öffne die Preisquellen-Auswahl.
  2. Wähle die Währung, in der du deine Vermögenswerte bewerten möchtest.
  3. Wähle deine Vermögenswerte über die Shortcuts aus oder suche nach Symbol, etwa BTC oder AAPL. Du kannst auch einen Auszug aus dem Hauptbuch einfügen, um dessen Vermögenswerte zu finden; der Auszug verbleibt in deinem Browser.
  4. Prüfe, ob jedes Vermögenswert-Symbol mit dem Commodity in deinem Hauptbuch übereinstimmt. Die Auswahl generiert Includes für gelistete Paare. Ein nicht gelistetes Paar kann eine On-Demand-Ableitung unterstützen, aber die Auswahl lässt es weg, bis die Unterstützung bestätigt ist.
  5. Kopiere die generierten Includes. Melde dich bei Beancount.io an, um dein gehostetes Hauptbuch zu verwenden und Feeds zu prüfen, die eine Authentifizierung erfordern.

Wähle die Bewertungswährung für deine Bücher, nicht für die Sprache dieser Seite. Die Auswahl einer Quotierungswährung benennt Commodities nicht um und ändert deine Transaktionen nicht.

Binde die Feeds in dein gehostetes Hauptbuch ein

Füge die generierten Zeilen in main.bean ein, oder in eine andere Datei, die dein Hauptbuch bereits einbindet. Jede Zeile identifiziert eine Preisquelle. Zum Beispiel ist das gehostete Include für Bitcoin in US-Dollar unten auskommentiert dargestellt, damit dieses Beispiel weiterhin sicher mit Upstream-Beancount geladen werden kann:

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

Entferne das führende ;, wenn du die Zeile zu deinem gehosteten Hauptbuch hinzufügst. URL-Includes sind eine Beancount.io-Erweiterung. Gewöhnliche lokale Includes nehmen weiterhin Dateinamen entgegen, wie in Multi-File-Unterstützung beschrieben.

Öffne dein Hauptbuch wie gewohnt. Sein Loader löst verwaltete Feeds in schreibgeschützte Preiseinträge auf. Er prüft auf neue Daten, wenn das Hauptbuch nach dem Fünf-Minuten-Aktualisierungsfenster geladen wird. Das Aktualisieren von Preisen schreibt deine Quelldateien nicht neu und erstellt keine Hauptbuch-Commits. Verwaltete Preiseinträge zählen nicht zum Eintragslimit deines Hauptbuchs.

Preise und Bewertungen lesen

Ein Feed enthält datierte Preise und kann price-source-, price-kind-, observed-at- und provisional-Metadaten enthalten. Prüfe den Beobachtungszeitpunkt und die Preisart, wenn du eine Quotierung beurteilst. Die Aktualisierungszeit des Loaders ist nicht die Beobachtungszeit des Anbieters.

Dies sind automatisch aktualisierte Bewertungspreise, keine Streaming-Handelsquotierungen. Ein Report benötigt einen Preis für das relevante Commodity-Paar an oder vor seinem Bewertungsdatum. Der heutige Preis kann keine Lücke in einem früheren Report füllen.

Preise ermöglichen Marktbewertung in Tools und Reports, die Preis-Direktiven verwenden. Eine Kontenansicht, die Kosten zeigt, zeigt weiterhin Kosten; das Verbinden eines Feeds schaltet diese Ansicht nicht auf Marktwert um. Siehe den Query-Leitfaden für den Unterschied zwischen Kosten- und Marktbewertung.

Eine Preisaktualisierung ändert keine Mengen, Anschaffungskosten, Cashflows, Gebühren oder realisierten Gewinne, die in deinem Hauptbuch erfasst sind. Sie füllt auch nicht den @-Preis oder {cost} einer Transaktion aus. Erfasse diese aus der Transaktion selbst. Immobilienbewertungen, fiktive Beispiel-Commodities und Vermögenswerte ohne unterstützten Feed benötigen weiterhin deine eigenen datierten Preise.

Einen verwalteten Preis überschreiben

Schreibe deine eigene datierte price-Direktive in eine editierbare Hauptbuchdatei, wenn du eine bestimmte Bewertung benötigst. Für dasselbe Datum und dasselbe Commodity-Paar hat dein Preis Vorrang vor dem verwalteten Feed. Dies gilt auch für das reziproke Paar und hängt nicht von der Include-Reihenfolge ab.

Ein manueller Preis ist keine dauerhafte Sperre: Eine verwaltete Quotierung zu einem späteren Datum kann weiterhin für eine spätere Bewertung verwendet werden. Verwaltete Einträge selbst sind schreibgeschützt. Bearbeite deine eigene Preis-Direktive oder entferne das Include, um diesen Feed nicht mehr zu verwenden.

Preise mit lokalen Tools verwenden

Wo du das Hauptbuch lädstWie du Preise bereitstellst
Gehostetes Beancount.ioVerwende die verwalteten URL-Includes aus der Auswahl.
Eine kompatible bea-CLI-VersionFolge den Managed-Price-Anweisungen der CLI zur URL-Auflösung und zum Exportieren lokaler Preisdateien.
Upstream-Beancount oder FavaLade lokale Preisdateien; diese Tools rufen URL-Includes nicht selbst ab.

Für versionsspezifisches CLI-Verhalten verwende den bea Managed-Price-Leitfaden. Kompatible Versionen bieten bea price status, bea price refresh und bea price export --output audit. Verwende bea --offline balance für reine Cache-Lesevorgänge oder bea --strict-prices check, um veraltete oder nicht verfügbare Quellen abzulehnen. Siehe die CLI-Referenz für Details und den alternativen lokalen Beanprice-Workflow.

Die CLI ruft ohne Anmeldedaten ab und lehnt Weiterleitungen ab. Ein Feed, der auf die gehostete Anmeldung weiterleitet, ist für einen frischen CLI-Abruf nicht verfügbar, selbst wenn du über deinen Browser angemeldet bist. Verwende stattdessen einen erreichbaren unterstützten Feed oder lokale datierte Preise. Ältere CLI-Versionen behandeln möglicherweise jedes URL-Include als nicht übereinstimmenden Datei-Glob.

Behalte lokale datierte Preisdateien, wenn du einen reproduzierbaren Offline-Report benötigst. Ein Hauptbuch-Commit allein erfasst nicht die verwaltete Feed-Revision, die von einer vergangenen Bewertung verwendet wurde. Bewahre die verwendeten Preise zusammen mit dem Hauptbuch und dem Report auf.

Für Integrationen mit dem Preisdienst konsultiere die Prices-API-Referenz. Ihre Endpunkte sind getrennt vom Hinzufügen eines Includes zu einem gehosteten Hauptbuch.

Eine fehlende oder unerwartete Bewertung beheben

SymptomWas zu prüfen ist
Der Katalog lädt nichtVersuche die Auswahl erneut. Rate keine Include-URL aus einem nicht unterstützten Symbol.
Ein ausgewählter Vermögenswert wird in den kopierten Includes weggelassenPrüfe die Unterstützung für diesen Vermögenswert in deiner gewählten Quotierungswährung und stimme das Symbol mit dem Hauptbuch ab.
Das Öffnen eines Feeds leitet zur Anmeldung weiterMelde dich an, um ihn im gehosteten Workflow zu prüfen. Die CLI sendet diese Sitzung nicht und lehnt Weiterleitungen ab.
Preise sehen alt ausVergleiche den Beobachtungszeitpunkt mit dem Report-Datum. Eine fehlgeschlagene Aktualisierung kann einen zuvor validierten zwischengespeicherten Feed beibehalten; zwischengespeicherte Daten können veraltet sein.
Kein Preis verfügbarOhne einen validierten zwischengespeicherten Preis können die Bücher weiterhin geladen werden, aber der Bestand kann eine Marktbewertung vermissen lassen. Gib bei Bedarf einen geeigneten manuellen Preis an.
Dein manueller Preis scheint ignoriert zu werdenPrüfe das genaue Datum und Paar. Eine spätere verwaltete Quotierung kann für einen späteren Report gelten.
Ein lokaler Loader meldet ein nicht übereinstimmendes IncludeVerwende eine kompatible bea-Version oder ersetze das URL-Include durch eine lokale Preisdatei.
Der Kontowert hat sich nicht geändertPrüfe, ob die Ansicht Kosten zeigt und ob der Report Preise enthält, die sein Bewertungsdatum abdecken.

Siehe die Preissyntax-Referenz für manuelle Direktiven und die funktionierenden Hauptbuch-Beispiele für statische, reproduzierbare Anlageaufzeichnungen.

Quelle: https://beancount.io/de/docs/live-prices