Die Umsätze eines Kontos oder einer Kontengruppe können exportiert werden. Das Dateiformat und der Exportzeitraum sind konfigurierbar. Wenn kein Konto angegeben wird, werden alle Umsätze exportiert. Nach erfolgreichen Umsatzexport wird der Dateiname einer temporären Datei zurückgegeben, die zur Weiterverarbeitung geöffnet werden kann.
Beispiel:
tell application "MoneyMoney"
set result to export transactions from account "DE67900900424711951500" from date "2017-01-01" to date "2017-12-31" as "csv"
end tell
tell application "Finder"
open result as POSIX file
end tell
Mit dem zusätzlichen Parameter from category kann zusätzlich oder alternativ zum Konto eine Kategorie angeben werden.
Anwendungsprogramme, die MoneyMoney zum Abgleich von Buchungen verwenden, können als Dateiformat auch den Wert »plist« angeben. Dann wird als Rückgabewert anstelle eines Dateinamens eine XML-Property-List ausgegeben.
Mit dem bei macOS mitgelieferten Kommandozeilentool osascript
kann AppleScript auch aus anderen Programmiersprachen heraus ausgeführt werden. Am Ende dieser Seite befindet sich dazu ein Beispiel für die Programmiersprache Python
.
Anwendungsprogramme, die MoneyMoney zum Abgleich von Buchungen verwenden, können sich eine Liste der verfügbaren Konten als XML-Property-List ausgeben lassen.
Beispiel:
tell application "MoneyMoney"
export accounts
end tell
Anwendungsprogramme, die MoneyMoney zum Abgleich von Buchungen verwenden, können sich eine Liste der verfügbaren Kategorien als XML-Property-List ausgeben lassen.
Beispiel:
tell application "MoneyMoney"
export categories
end tell
Der Wertpapierbestand eines Kontos oder einer Kontengruppe lässt sich als XML-Property-List exportieren. Wenn kein Konto angegeben wird, wird der gesamte Wertpapierbestand exportiert.
Beispiel:
tell application "MoneyMoney"
export portfolio from account "4711951502" as "plist"
end tell
Ein vorausgefülltes Überweisungsfenster kann geöffnet werden. Alle Parameter sind optional.
Beispiel:
tell application "MoneyMoney"
create bank transfer from account "DE67900900424711951500" to "Empfänger" iban "DE40900900424711951501" amount 100.00 purpose "Verwendungszweck"
end tell
Mit dem zusätzlichen Parameter into "outbox" kann die Überweisung im Ausgangskorb gespeichert werden, ohne dass sich ein Überweisungsfenster öffnet.
Eine Sammelüberweisung kann aus einer SEPA-XML-Datei erstellt werden.
Beispiel:
tell application "MoneyMoney"
create batch transfer from POSIX file "Sammelüberweisung.xml"
end tell
Ein vorausgefülltes Lastschriftfenster kann geöffnet werden. Alle Parameter sind optional.
Beispiel:
tell application "MoneyMoney"
create direct debit from account "DE67900900424711951500" for "Zahlungspflichtiger" iban "DE40900900424711951501" amount 100.00 purpose "Verwendungszweck" mandate reference "Mandatsreferenz" mandate date "2017-02-01" scheduled date "2017-03-01"
end tell
Mit dem zusätzlichen Parameter into "outbox" kann die Lastschrift im Ausgangskorb gespeichert werden, ohne dass sich ein Lastschriftfenster öffnet.
Eine Sammellastschrift kann aus einer SEPA-XML-Datei erstellt werden.
Beispiel:
tell application "MoneyMoney"
create batch direct debit from POSIX file "Sammellastschrift.xml"
end tell
Umsätze können zu einem offline verwalteten Konto hinzugefügt werden.
Beispiel:
tell application "MoneyMoney"
add transaction to account "Portemonnaie" on date "2017-03-01" to "Empfänger" amount -100.00 purpose "Verwendungszweck" category "Privatkonten\\Persönliche Ausgaben"
end tell
Zu einem Umsatz können Notizen hinzufügt werden. Die Transaktions-ID muss vorab aus einem in eine XML-Property-List durchgeführten Umsatzexport (export transactions ... as "plist") ausgelesen werden.
Beispiel:
tell application "MoneyMoney"
set transaction id 8534 comment to "Dies ist eine Notiz."
end tell
Umsätze können als erledigt oder unerledigt markiert werden. Die Transaktions-ID muss vorab aus einem in eine XML-Property-List durchgeführten Umsatzexport (export transactions ... as "plist") ausgelesen werden.
Beispiel:
tell application "MoneyMoney"
set transaction id 8534 checkmark to "on"
end tell
Die vollständige Schnittstellen-Beschreibung ist in der bei macOS mitgelieferten »Script Editor.app« verfügbar:
Hierfür muss im AppleScript-Editor zuerst das Bibliotheks-Fenster aufgerufen und dort mit dem Plus-Knopf die MoneyMoney.app hinzugefügt werden.
AppleScript und XML Property Lists können relativ leicht in andere Programmiersprachen integriert werden, z.B. Python:
import datetime import plistlib import subprocess # Export transactions from MoneyMoney. from_date = datetime.date.today() + datetime.timedelta(days=-30) script = 'tell application "MoneyMoney" to export transactions from date "%s" as "plist"' % from_date.strftime('%Y-%m-%d') command = ['osascript', '-e', script] with subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE) as pipe: result = pipe.communicate() if result[1] or pipe.returncode != 0: print('Could not export transactions from MoneyMoney. %s' % result[1].decode().strip()) exit(1) # Parse XML property list. try: plist = plistlib.loads(result[0]) except plistlib.InvalidFileException as exception: print('Could not parse XML property list. %s' % repr(exception)) exit(1) # Do something with transactions. for transaction in plist['transactions']: if transaction['booked']: bookingDate = transaction['bookingDate'] name = transaction['name'] amount = transaction['amount'] currency = transaction['currency'] print('%s, %s, %.02f %s' % (bookingDate.strftime('%Y-%m-%d'), name, amount, currency))