Programmierbare Voreinstellungen

In Capitally ermöglichen Funktionen wie Import und Steuern die Definition komplexer Logiken mit einem einfachen No-Code-Editor. Tatsächlich wurden alle integrierten Voreinstellungen mit diesem Editor erstellt – du kannst also den vollen Funktionsumfang der Anwendung nutzen und ihn an deine Bedürfnisse anpassen.

Dieser Artikel führt dich durch die allgemeinen Funktionen. Weitere Details findest du in den jeweiligen Artikeln zu Import und Steuern .

Bausteine

Voreinstellungen werden mithilfe von Kontoauszügenerstellt. Bei der Auswertung wird jeder Kontoauszug nacheinander ausgeführt, bis entweder ein Exit -Kontoauszug erreicht wird oder die Liste der Kontoauszüge endet.

Wenn ein Kontoauszug einen Wert auswerten muss, wird ein Ausdruck verwendet. Diese reichen von einem festen Wert, wie einem Asset oder einer bestimmten Zahl, über einen Eigenschaftswert, wie eine Datenspalte oder einen Transaktionstyp, bis hin zu Formeln , die komplexe Berechnungen ermöglichen.

Du kannst es wie eine einfache Skriptsprache oder eine komplexe Excel-Formel behandeln. Es bietet grundlegende Konzepte wie Kontoauszüge, Ausdrücke, Variablen, Funktionen und Schleifen. Alles wird jedoch auf visuelle Weise erstellt – ganz ohne Programmierung.

Entscheidungen mit If-Kontoauszügen treffen

Der grundlegendste Kontoauszug ist der If -Kontoauszug. Er ermöglicht es, Entscheidungen auf Basis beliebiger Eigenschaften zu treffen. Wenn die Bedingungen zutreffen, werden die verschachtelten Kontoauszüge ausgeführt. Wenn nicht, wird der nächste else - oder else if -Block geprüft.

Kontoauszüge und If-Blöcke einfügen

Um einen neuen Kontoauszug einzufügen, fahre mit der Maus über den Bereich vor, nach oder zwischen vorhandenen Kontoauszügen und klicke auf den blauen Trennlinie, die erscheint, und wähle eine Anweisung oder Voreinstellung aus dem Menü.

Screenshot einer Steuerregelkonfiguration, die die Auswahl von „Sales Tax" unter „Steuergruppe auswählen" mit Regeloptionen darunter zeigt.

Um einen neuen „If"-Block einzufügen, fahre mit der Maus über den Bereich vor, nach oder zwischen vorhandenen If/Else-Blöcken und klicke auf die graue Trennlinie, die erscheint.

Eine Finanz-App-Oberfläche mit Regeln für Vermögenswerttypen, Steueranwendung und einer Option zum Hinzufügen eines neuen Blocks für Transaktionsbedingungen.

Bearbeiten

Jede Anweisung und jeder If-Block hat ein Menü, über das du sie kopieren, ausschneiden, duplizieren und löschen kannst.

Nachdem du eine Anweisung kopiert oder ausgeschnitten hast, kannst du sie genauso einfügen, wie du neue Anweisungen hinzufügst – dort erscheint dann eine Einfügen-Option.

Und / Oder

Wenn komplexe Bedingungen benötigt werden, kannst du die erste Bedingung in einen Und/Oder-Block einschließen und so mehrere Bedingungen kombinieren.

Screenshot einer Filter-Oberfläche mit Dropdowns für Vermögenswerttyp, Bedingungsauswahl und Optionen wie „In und/oder einbetten" und „Und".

Eigenschaften mit der Set-Anweisung setzen

Du kannst die Eigenschaft oder Variable eines Objekts mit einer Set -Anweisung ändern. Wähle dazu einfach die zu ändernde Eigenschaft aus und gib einen Wert an.

Dropdown-Oberfläche zum Setzen der „Gebührenwährung" auf „Wertwährung" mit Optionen, in einem lila hervorgehobenen Einstellungsbereich.Die Gebührenwährung entspricht der Wertwährung

Vorhandenen Wert ändern statt ersetzen

Über das Dropdown-Menü to kannst du verschiedene Zuweisungsmodi auswählen, wie Addition, Multiplikation, Anhängen oder Voranstellen von Text und vieles mehr.

Screenshot einer Workflow-Automatisierungsschnittstelle mit Aktionen zum Erhöhen eines Werts um einen Betrag und Anhängen einer Notiz anhand einer Beschreibung-Spalte.Der Wert wird um die Spalte „Betrag" erhöht, während die Notiz mit der Beschreibung ergänzt wird

Werte transformieren

Einfache Skalarwerte wie Text oder Zahlen können vor ihrer Zuweisung transformiert werden. Durch Klicken auf fx kannst du eine der Transformationen auswählen. Du kannst mehrere Transformationen nacheinander anwenden und sie per Drag & Drop neu anordnen. Derselbe fx-Button erscheint überall dort, wo eine Zuordnung über eine Spalte oder eine Formel nach einem Asset, einem Markt oder einer Preisquelle sucht, sodass der Wert bereinigt werden kann, bevor die Suche startet.

Screenshot einer Datentransformations-Tool-Oberfläche mit Optionen zum Erhöhen einer Spalte namens „Amount" um einen Wert, mit zusätzlichen aufgeführten Funktionen.Der Wert wird zum gerundeten Absolutwert der Spalte „Betrag"Text ersetzen

Die Transformation Ersetzen ermöglicht es, Vorkommen eines übereinstimmenden Texts durch etwas anderes zu ersetzen. Du kannst zum Beispiel ein Wort ersetzen (z. B. .GR durch .EU) oder etwas entfernen, indem du es durch nichts ersetzt.

Screenshot einer Datentransformations-Oberfläche zur Zuordnung von Asset-Ticker-Suffixen, die das Suffix .GR in .EU umwandelt, zur Standardisierung von Finanzdaten.

Ersetzen unterstützt auch Reguläre Ausdrücke , einschließlich sogenannter Capture-Gruppen und Rückverweise. Aktiviere dazu einfach die Schaltfläche (.*) .

Angenommen, du hast die Zeichenkette „apple orange banana" und möchtest die Positionen der ersten beiden Wörter tauschen. Verwende das Muster ([a-z]+) [a-z]+ ([a-z]+) und ersetze es durch $2 $1 , um „orange apple banana" zu erhalten.

Text extrahieren

Anstatt zu extrahieren, kannst du einfach den Teil der Zeichenkette abgleichen, der verwendet werden soll. Am besten eignet sich dies in Kombination mit Regulären Ausdrücken, da die erste Capture-Gruppe extrahiert wird.

Aufbauend auf dem obigen Beispiel mit „apple orange banana" liefert [a-z]+ ([a-z]+) [a-z]+ nur das mittlere Wort – „orange".

Werte zuordnen

Für bestimmte Eigenschaften wie Asset oder Transaktionstyp kannst du den Wert auch von einem in einen anderen umwandeln. Klicke auf das umgekehrte S Symbol neben fx an, um eine Zuordnung hinzuzufügen.

Die Zuordnung prüft, ob der eingehende Wert einen Vergleich besteht. Wenn ja, wird der ausgewählte Wert verwendet. Zuordnungen werden der Reihe nach geprüft, und die erste zutreffende gewinnt.

Screenshot einer Benutzeroberfläche für bedingte Logik, die Transaktionstypen wie Kauf, Verkauf und Aktienplanaktivitäten bestimmten Aktionen zuordnet.

Werte zwischen Typen umwandeln

Eigenschaften können nicht übereinstimmende Typen haben. Ein Text wird beispielsweise automatisch in eine Zahl oder ein Datum umgewandelt, sofern er einen sinnvollen Wert enthält (z. B. 2024-11-01 oder 1st Nov 2024).

Das funktioniert auch für Konten, Währungen, Märkte oder Transaktionstypen, wobei jeder Textwert zur Suche in den Projekt- oder Marktdaten verwendet wird.

Für Assets kannst du zusätzlich festlegen, welche Asset-Typen und Märkte einbezogen werden sollen und in welcher Reihenfolge — search in asset types und search in markets — sowie search remote assets, womit entschieden wird, ob die Suche über dein Projekt hinaus in den Marktkatalog hineinreicht.

Jedes dieser Felder akzeptiert eine Spalte oder eine Formel, nicht nur einen festen Wert. Sobald dies der Fall ist, enthält es dieselben fx-Transformationen und invertierten S-Mappings wie eine Set-Anweisung. So kann beispielsweise das Suffix eines Broker-Tickers entfernt werden (AAPL.USAAPL) oder die dateieigenen Asset-Typ-Namen können vor der Suche denjenigen von Capitally zugeordnet werden. Wenn du wieder einen festen Wert in das Feld eingibst, gehen diese Transformationen verloren.

Screenshot eines Finanzwert-Suchfilters mit Optionen für Vermögenswerttyp, Marktauswahl und einem Schalter zur Aktivierung der Remote-Asset-Suche.

Details und benutzerdefinierte Asset-Einrichtung bei einer Asset-Zuordnung enthält drei weitere Ausdrücke — asset name, symbol und ISIN. Sie erweitern die Suche, sodass eine Zeile, deren Suchwert leer ist, das Asset immer noch über seinen Namen oder seine ISIN findet, und sie beschreiben das benutzerdefinierte Asset, das angeboten wird, wenn kein Treffer erzielt wird. Die darunter liegenden Anweisungen gestalten dieses Asset weiter aus, wobei nur die verfügbaren Optionen zur Auswahl stehen: If, Set, Variable, Block, Beenden, Kommentar, Asset-Taxonomien aktualisieren, Wertbasierte Preise, Zinsbasierte Preisberechnung verwenden, Zinsparameter festlegen und Zinsparameter hinzufügen. Sie lesen die Zeile, schreiben jedoch nur das im Entwurf befindliche Asset, daher darf Zinsparameter hinzufügen dort kein Asset benennen. Eine Konto-Zuordnung enthält die gleiche Art von Block unter Benutzerdefinierte Kontoeinrichtung.

Keiner der Blöcke schreibt von sich aus in das Projekt. Er bereitet einen Entwurf vor, und das Asset oder Konto wird erst erstellt, wenn während des Imports auf den Button Erstellen der nicht zugeordneten Zeile geklickt wird.

Eine Zuordnung zu einer Marktdatenquelle hat ein eigenes Steuerelement: einen optional-Schalter, der in der App als use manual prices instead of failing beschrieben wird. Wenn er ausgeschaltet ist, führt ein Symbol, das nicht im Katalog von Capitally enthalten ist, zu einem Fehler in der Zeile. Wenn er eingeschaltet ist, wird die Zeile importiert und das Asset bleibt ohne Preisquelle, sodass du den Preis manuell festlegst. Es wird nur ein bestätigter Fehlschlag abgedeckt — eine fehlerhafte oder noch ausstehende Suche stoppt die Zeile weiterhin.

Variablen definieren

Wie bei jeder Skriptsprache kannst du eine Variable definieren, die einen Wert speichert, der später wiederverwendet werden soll. Jede Variable hat einen bestimmten Typ und einen Anfangswert. Einmal definiert, kann sie wie jede andere Eigenschaft referenziert oder gesetzt werden.

Standardmäßig sind alle Variablen lokal – das bedeutet, sie sind nur innerhalb des Blocks verfügbar, in dem sie deklariert wurden (einschließlich verschachtelter Blöcke), und nur nach ihrer Deklaration.

Du kannst sie auf geteiltumschalten, was bedeutet, dass ihr Wert nur einmal initialisiert wird und nicht nur innerhalb des gesamten Programms verfügbar ist, sondern auch zwischen dessen Ausführungen – etwa für jede Zeile eines Imports oder jedes Steuerereignis.

Screenshot der Variableninitialisierung in einer Benutzeroberfläche, mit Optionen für feste Zahlen oder dynamische Werte sowie Umschalten zwischen lokalem und gemeinsamem Gültigkeitsbereich.

Kommentare

Berechnungen sind nur dann hilfreich, wenn du die Zahlen nachvollziehen kannst. Du kannst überall in der Voreinstellung reich formatierte Kommentare hinzufügen, um die Logik besser zu beschreiben.

Screenshot eines grünen Textfelds mit Markdown-Formatierungstipps, einschließlich Überschriften, Listen, Fettdruck und dem Erstellen von Hyperlinks.