Ausgangslage: In der Android-App sind eine Reihe von Buchungen erfasst, in der eine Fremdwährung involviert ist. Folgende Konten sind betroffen:
- Aktiva:Barvermögen:Bargeld – Fremdwährung
- Aktiva:Barvermögen:Girokonto (in EUR)
- mehrere Konten unterhalb der “Aufwendungen:” – Hierarchie in EUR
So gibt es Transaktionen zwischen dem Girokonto und dem Bargeld-Fremdwährungskonto und dem Bargeld-Fremdwährungskonto und den Aufwandskonten.
Problem: Es gibt keine Möglichkeit die Daten auf regulärem Weg in die Desktop-Anwendung zu importieren. Schlimmer: Es gibt nicht mal eine Möglichkeit diese Buchungen zwischen zwei Desktop-Gnucash-Instanzen auszutauschen.
Genauer:
- Das QIF-Format kennt keine Währungen. Normalerweise enthält der QIF-Export der Android-App pro Währung eine QIF-Datei in der ZIP-Datei. Das geht aber nur bei Transaktionen zwischen Konten der gleichen Währung.
- Die Android-App kann Gnucash-XML exportieren. Die Desktop-App kann diese Dateien zwar öffnen aber nicht in eine andere Instanz importieren.
- Die Desktop-App kann Multi-Currency-Buchungen nach CSV exportieren, aber der CSV-Importer unterstützt dieses Format nicht.
Beispiel für eine einzelne Transaktion in XML:
<gnc:transaction version="2.0.0"> <trn:id type="guid">d8e7acf6bd70465aa40718ab966495e3</trn:id> <trn:currency> <cmdty:space>ISO4217</cmdty:space> <cmdty:id>EUR</cmdty:id> </trn:currency> <trn:date-posted> <ts:date>2017-08-16 09:05:07 +0200</ts:date> </trn:date-posted> <trn:date-entered> <ts:date>2017-08-16 09:06:17 +0200</ts:date> </trn:date-entered> <trn:description>Bezahlung in EUR, Rückgeld 8 EUR in Rupiah</trn:description> <trn:slots /> <trn:splits> <trn:split> <split:id type="guid">a2f01032eaca4025b8db15ab6be52d96</split:id> <split:reconciled-state>n</split:reconciled-state> <split:value>800/100</split:value> <split:quantity>12500000/100</split:quantity> <split:account type="guid">fa84a44e9205ea2f0b3900bd77c6c0a9</split:account> </trn:split> <trn:split> <split:id type="guid">b2e4aa2b016e4288b111917ee425fb8f</split:id> <split:reconciled-state>n</split:reconciled-state> <split:value>-800/100</split:value> <split:quantity>-800/100</split:quantity> <split:account type="guid">829aec415f8ce9bc10e8ecd274d04e30</split:account> </trn:split> </trn:splits> </gnc:transaction>