Generieren Sie Code für die Sprache der doppelten Buchhaltung basierend auf Rechnungen. Aktuelle Rechnungsunterstützung:
Aktuelle Unterstützung für Buchhaltungssprachen:
Die Architektur unterstützt die Erweiterung. Wenn Sie neue Rechnungen (z. B. Bankrechnungen usw.) unterstützen müssen, können Sie einen Anbieter hinzufügen. Wenn Sie neue Buchhaltungssprachen unterstützen müssen, können Sie einen Compiler hinzufügen.
┌───────────┐ ┌──────────┐ ┌────┐ ┌──────────┐ ┌──────────┐
│ translate │->│ provider │->│ IR │->│ compiler │->│ analyser │
└───────────┘ └──────────┘ └────┘ └──────────┘ └──────────┘
alipay beancount alipay
wechat ledger wechat
huobi huobi
htsec htsec
icbc icbc
td td
bmo bmo
Installation mit Homebrew:
brew install deb-sig/tap/double-entry-generator
Software mit Homebrew aktualisieren:
brew upgrade deb-sig/tap/double-entry-generator
Laden Sie einfach die Binärdatei der entsprechenden Architektur von der GitHub-Release-Seite auf Ihren lokalen Computer herunter.
go get -u github.com/deb-sig/double-entry-generator
Bitte beachten Sie die Nutzungsdokumentation
double-entry-generator translate
--config ./example/alipay/config.yaml
--output ./example/alipay/example-alipay-output.beancount
./example/alipay/example-alipay-records.csv
Unter diesen ist --config
die Konfigurationsdatei. Standardmäßig wird Alipay als Anbieter verwendet, und --provider
kann auch manuell angegeben werden. Einzelheiten entnehmen Sie bitte der Nutzungsdokumentation. Die standardmäßig generierte Datei ist default_output.beancount
. Wenn --output
oder -o
eine Ausgabedatei angibt, wird diese in die angegebene Datei ausgegeben. Im obigen Beispiel werden die Konvertierungsergebnisse in die Datei ./example/alipay/example-alipay-output.beancount
ausgegeben.
double-entry-generator translate
--config ./example/wechat/config.yaml
--provider wechat
--output ./example/wechat/example-wechat-output.beancount
./example/wechat/example-wechat-records.csv
double-entry-generator translate
--config ./example/huobi/config.yaml
--provider huobi
--output ./example/huobi/example-huobi-output.beancount
./example/huobi/example-huobi-records.csv
double-entry-generator translate
--config ./example/htsec/config.yaml
--provider htsec
--output ./example/htsec/example-htsec-output.beancount
./example/htsec/example-htsec-records.xlsx
double-entry-generator translate
--config ./example/icbc/credit/config.yaml
--provider icbc
--output ./example/icbc/credit/example-icbc-credit-output.beancount
./example/icbc/credit/example-icbc-credit-records.csv
double-entry-generator translate
--config ./example/td/config.yaml
--provider td
--output ./example/td/example-td-output.beancount
./example/td/example-td-records.csv
double-entry-generator translate
--config ./example/bmo/credit/config.yaml
--provider bmo
--output ./example/bmo/credit/example-bmo-output.beancount
./example/bmo/credit/example-bmo-records.csv
double-entry-generator translate
--config ./example/alipay/config.yaml
--target ledger
--output ./example/alipay/example-alipay-output.ledger
./example/alipay/example-alipay-records.csv
double-entry-generator translate
--config ./example/wechat/config.yaml
--provider wechat
--target ledger
--output ./example/wechat/example-wechat-output.ledger
./example/wechat/example-wechat-records.csv
double-entry-generator translate
--config ./example/huobi/config.yaml
--provider huobi
--target ledger
--output ./example/huobi/example-huobi-output.ledger
./example/huobi/example-huobi-records.csv
double-entry-generator translate
--config ./example/htsec/config.yaml
--provider htsec
--target ledger
--output ./example/htsec/example-htsec-output.ledger
./example/htsec/example-htsec-records.xlsx
double-entry-generator translate
--config ./example/icbc/credit/config.yaml
--provider icbc
--target ledger
--output ./example/icbc/credit/example-icbc-credit-output.ledger
./example/icbc/credit/example-icbc-credit-records.csv
double-entry-generator translate
--config ./example/td/config.yaml
--provider td
--target ledger
--output ./example/td/example-td-output.ledger
./example/td/example-td-records.csv
double-entry-generator translate
--config ./example/bmo/debit/config.yaml
--provider bmo
--target ledger
--output ./example/bmo/debit/example-bmo-output.ledger
./example/bmo/debit/example-bmo-records.csv
Für Versionen v1.0.0
und höher lesen Sie bitte diesen Artikel, um die Alipay-Rechnung zu erhalten.
Für Versionen v0.2.0
und niedriger verwenden Sie bitte diese Methode, um die Rechnung zu erhalten: Nachdem Sie sich bei PC Alipay angemeldet haben, besuchen Sie hier, wählen Sie den Zeitraum aus, gehen Sie zum Ende der Seite und klicken Sie, um die Abfrageergebnisse herunterzuladen. Hinweis: Bitte laden Sie die Abfrageergebnisse herunter, nicht die Einnahmen- und Ausgabendetails.
example-alipay-records.csv
Dieses Beispiel ist das Rechnungsformat, das von der „Alipay“-APP erhalten wurde.
Beispiel für ein konvertiertes Ergebnis: exmaple-alipay-output.beancount.
Hier erfahren Sie, wie Sie WeChat Pay herunterladen können.
example-wechat-records.csv
Beispiel für ein konvertiertes Ergebnis: exmaple-wechat-output.beancount.
Derzeit garantiert das Projekt nur die Umwandlung von Währungs- in Krypto-Handelsaufträgen und hat noch keine Vertrags-, Leverage- und anderen Handelsaufträge getestet.
PR willkommen :)
Melden Sie sich auf der Huobi Global-Website an, rufen Sie die Seite mit den Transaktionsdetails der Münzbestellung auf, wählen Sie den entsprechenden Zeitraum aus und klicken Sie auf die Schaltfläche „Exportieren“ in der oberen rechten Ecke der Transaktionsdetails.
exmaple-huobi-records.csv
Beispiel für ein konvertiertes Ergebnis: exmaple-huobi-output.beancount.
Melden Sie sich beim PC-Client der unabhängigen PC-Handelsversion von eHaitongcai an, wählen Sie in der linken Navigationsleiste „Abfrage – Lieferauftrag“ und klicken Sie rechts auf die Schaltfläche „Abfrage“, um die Excel-Datei des Lieferauftrags zu exportieren.
example-htsec-records.csv
Beispiel für ein konvertiertes Ergebnis: exmaple-htsec-output.beancount.
Wie Sie die ICBC-Erklärung herunterladen können, finden Sie hier.
double-entry-generator
kann den Rechnungstyp (Debitkarte/Kreditkarte) der Industrial and Commercial Bank of China automatisch identifizieren.
Beispiel für eine Debitkartenrechnung: example-icbc-debit-records.csv
Beispiel für das Ergebnis der Konvertierung einer Debitkartenrechnung: example-icbc-debit-output.beancount.
Beispiel für eine Kreditkartenrechnung: example-icbc-credit-records.csv
Beispiel für das konvertierte Ergebnis einer Kreditkartenrechnung: example-icbc-credit-output.beancount.
example-td-records.csv
example-bmo-record.csv
example-jd-records.csv
defaultMinusAccount : Assets:FIXME
defaultPlusAccount : Expenses:FIXME
defaultCurrency : CNY
title : 测试
alipay :
rules :
- category : 日用百货
targetAccount : Expenses:Groceries
- category : 餐饮美食
time : 11:00-14:00
targetAccount : Expenses:Food:Lunch
- category : 餐饮美食
time : 16:00-22:00
targetAccount : Expenses:Food:Dinner
- peer : 滴露
targetAccount : Expenses:Groceries
- peer : 苏宁
targetAccount : Expenses:Electronics
- item : 相互宝
targetAccount : Expenses:Insurance
- method : 余额
fullMatch : true
methodAccount : Assets:Alipay
- method : 余额宝
fullMatch : true
methodAccount : Assets:Alipay
- method : 招商银行(9876)
fullMatch : true
methodAccount : Assets:Bank:CN:CMB-9876:Savings
- type : 收入 # 其他转账收款
targetAccount : Income:FIXME
methodAccount : Assets:Alipay
- type : 收入 # 收款码收款
item : 商品
targetAccount : Income:Alipay:ShouKuanMa
methodAccount : Assets:Alipay
# 交易类型为其他
- type : 其他
item : 收益发放
methodAccount : Income:Alipay:YuEBao:PnL
targetAccount : Assets:Alipay
- type : 其他
item : 余额宝-单次转入
targetAccount : Assets:Alipay
methodAccount : Assets:Alipay
- peer : 基金
type : 其他
item : 黄金-买入
methodAccount : Assets:Alipay
targetAccount : Assets:Alipay:Invest:Gold
- peer : 基金
type : 其他
item : 黄金-卖出
methodAccount : Assets:Alipay:Invest:Gold
targetAccount : Assets:Alipay
pnlAccount : Income:Alipay:Invest:PnL
- peer : 基金
type : 其他
item : 买入
methodAccount : Assets:Alipay
targetAccount : Assets:Alipay:Invest:Fund
- peer : 基金
type : 其他
item : 卖出
methodAccount : Assets:Alipay:Invest:Fund
targetAccount : Assets:Alipay
pnlAccount : Income:Alipay:Invest:PnL
defaultMinusAccount
, defaultPlusAccount
und defaultCurrency
sind global erforderliche Standardwerte. Unter diesen ist defaultMinusAccount
das Konto mit reduziertem Standardbetrag defaultPlusAccount
das Konto mit erhöhtem Standardbetrag. defaultCurrency
ist die Standardwährung.
alipay
ist die anbieterspezifische Konfiguration. Der Alipay-Anbieter verfügt über einen Regelabgleichsmechanismus.
Konfiguration im Zusammenhang mit alipay
-Ant-Rechnung. Es bietet einen regelbasierten Abgleich. Sie können Folgendes angeben:
peer
(Gegenpartei).item
(Artikelbeschreibung).type
(Einnahme/Ausgabe).method
(Quittungs-/Zahlungsmethode).category
(Transaktionskategorie).time
(Handelszeit).Handelszeit kann in den folgenden zwei Formen geschrieben werden:
11:00-13:00
11:00:00-13:00:00
24-Stunden-Uhrzeit, Startzeit und Endzeit werden durch-
getrennt.
minPrice
(Mindestbetrag) und maxPrice
(Höchstbetrag).Sie können das Trennzeichen (sep) verwenden, um mehrere Schlüsselwörter in einer einzigen Regel einzugeben. Im selben Objekt besteht eine ODER-Beziehung zwischen den einzelnen Schlüsselwörtern.
Sie können fullMatch
verwenden, um Zeichenvergleichsregeln in einer einzelnen Regel festzulegen. true
bedeutet die Verwendung einer vollständigen Übereinstimmung, false
bedeutet die Verwendung einer teilweisen Übereinstimmung. Wenn dieses Element nicht festgelegt ist, wird standardmäßig die inklusive Übereinstimmung verwendet.
In einer einzelnen Regel können Sie tag
verwenden, um das Tag der Pipeline festzulegen, und sep
als Trennzeichen verwenden.
Sie können ignore
in einer einzelnen Regel verwenden, um festzulegen, ob Transaktionen, die der Regel entsprechen, ignoriert werden sollen. „ true
“ bedeutet, dass Transaktionen ignoriert werden, die der Regel entsprechen, fasle
bedeutet, dass Transaktionen nicht ignoriert werden, und der Standardwert ist false
.
Wenn der Abgleich erfolgreich ist, werden targetAccount
, methodAccount
und andere in der Regel definierte Konten verwendet, um das standardmäßig definierte Konto zu überschreiben.
Die Reihenfolge des Regelabgleichs ist: Beginnen Sie mit dem Abgleich beim ersten Element in der rules
und fahren Sie mit dem Abgleich fort, wenn der Abgleich erfolgreich ist. Das heißt, die Priorität nachfolgender Regeln ist höher als die der vorherigen Regeln.
Alipay stellt ein Feld „Transaktionsmethode“ zur Verfügung, um die auf das Konto ein- und ausgehenden Gelder zu identifizieren. Auf diese Weise können Sie direkt über die „Transaktionsmethode“ und das Feld „Einnahmen/Ausgaben“ bestätigen, ob es sich bei dem Konto um eine Erhöhung oder Verringerung handelt. Die doppelte Buchführung erfordert mindestens zwei Konten für jede Transaktion. Das andere Konto kann über „Peer“, „Ware“ (Artikel), „Einnahme/Ausgabe“ (Art) und „Transaktionsmethode“ (Methode) eingegeben werden. ) wird durch mehrere Einschlussübereinstimmungen erhalten. Wenn der Abgleich erfolgreich ist, werden targetAccount
und methodAccount
verwendet. Durch die Bestätigung, ob es sich bei der Transaktion um Einnahmen oder Ausgaben handelt, wird die positive und negative Beziehung zwischen targetAccount
und methodAccount
ermittelt, um das standardmäßig definierte Erhöhungs- oder Verringerungskonto zu überschreiben .
Die Kontobeziehung zwischen targetAccount
und methodAccount
ist wie folgt:
Einnahmen/Ausgaben | Transaktionsklassifizierung | minusKonto | plusKonto |
---|---|---|---|
Einkommen | * | Zielkonto | methodAccount |
Einkommen | Erstattung | Zielkonto | methodAccount |
Ausgaben | * | methodAccount | Zielkonto |
andere | * | methodAccount | Zielkonto |
andere | Erstattung | Zielkonto | methodAccount |
Wenn die Transaktionsart „Sonstige“ lautet, müssen Sie das Kreditkonto manuell selbst definieren. Zu diesem Zeitpunkt geht die Software davon aus
methodAccount
ein Kreditkonto undtargetAccount
ein Debitkonto ist.
defaultMinusAccount : Assets:FIXME
defaultPlusAccount : Expenses:FIXME
defaultCommissionAccount : Expenses:Commission:FIXME
defaultCurrency : CNY
title : 测试
wechat :
rules :
# type (additional condition)
- type : 收入 # 微信红包
method : /
item : /
targetAccount : Income:Wechat:RedPacket
- type : / # 转入零钱通
txType : 转入零钱
peer : /
item : /
targetAccount : Assets:Digital:Wechat:Cash
- type : / # 零钱提现
txType : 零钱提现
targetAccount : Assets:Digital:Wechat:Cash
commissionAccount : Expenses:Wechat:Commission
- type : / # 零钱充值
txType : 零钱充值
targetAccount : Assets:Digital:Wechat:Cash
- type : / # 零钱通转出-到工商银行(9876)
txType : 零钱通转出-到工商银行(9876)
targetAccount : Assets:Bank:CN:ICBC:Savings
- peer : 云膳过桥米线,餐厅
sep : ' , '
time : 11:00-15:00
targetAccount : Expenses:Food:Meal:Lunch
- peer : 云膳过桥米线,餐厅
sep : ' , '
time : 16:30-21:30
targetAccount : Expenses:Food:Meal:Dinner
- peer : 餐厅
time : 23:55-00:10 # test T+1
targetAccount : Expenses:Food:Meal:MidNight
- peer : 餐厅
time : 23:50-00:05 # test T-1
targetAccount : Expenses:Food:Meal:MidNight
- peer : 房东
type : 支出
targetAccount : Expenses:Housing:Rent
- peer : 用户
type : 收入
targetAccount : Income:Service
- peer : 理财通
type : /
targetAccount : Assets:Trade:Tencent:LiCaiTong
- peer : 建设银行
txType : 信用卡还款
targetAccount : Liabilities:Bank:CN:CCB
- method : / # 一般为收入,存入零钱
methodAccount : Assets:Digital:Wechat:Cash
- method : 零钱
fullMatch : true
methodAccount : Assets:Digital:Wechat:Cash
- method : 零钱通
fullMatch : true
methodAccount : Assets:Digital:Wechat:Cash
- method : 工商银行
methodAccount : Assets:Bank:CN:ICBC:Savings
- method : 中国银行
methodAccount : Assets:Bank:CN:BOC:Savings
defaultMinusAccount
, defaultPlusAccount
und defaultCurrency
sind global erforderliche Standardwerte. Unter diesen ist defaultMinusAccount
das Konto mit reduziertem Standardbetrag defaultPlusAccount
das Konto mit erhöhtem Standardbetrag. defaultCurrency
ist die Standardwährung.
defaultCommissionAccount
ist das Standard-Servicegebührenkonto. Wenn keine servicegebührenbezogenen Transaktionen vorliegen, müssen Sie es nicht ausfüllen. Der Autor empfiehlt jedoch weiterhin, ein Platzhalter-FIXME-Konto auszufüllen, da der Konverter sonst mit einem Fehler beendet wird, wenn eine Transaktion mit einer Servicegebühr auftritt.
wechat
ist die anbieterspezifische Konfiguration des WeChat-Anbieters, der über einen Regelabgleichsmechanismus verfügt.
wechat
ist eine WeChat-bezogene Konfiguration. Es bietet einen regelbasierten Abgleich. Sie können Folgendes angeben:
peer
(Gegenpartei).item
(Artikelname).type
(Einnahme/Ausgabe).txType
(Transaktionstyp).method
(Zahlungsmethode).time
(Handelszeit).Handelszeit kann in den folgenden zwei Formen geschrieben werden:
11:00-13:00
11:00:00-13:00:00
24-Stunden-Uhrzeit, Startzeit und Endzeit werden durch-
getrennt.
minPrice
(Mindestbetrag) und maxPrice
(Höchstbetrag).Sie können das Trennzeichen (sep) verwenden, um mehrere Schlüsselwörter in einer einzigen Regel einzugeben. Im selben Objekt besteht eine ODER-Beziehung zwischen den einzelnen Schlüsselwörtern.
Sie können fullMatch
verwenden, um Zeichenvergleichsregeln in einer einzelnen Regel festzulegen. true
bedeutet die Verwendung einer vollständigen Übereinstimmung, false
bedeutet die Verwendung einer teilweisen Übereinstimmung. Wenn dieses Element nicht festgelegt ist, wird standardmäßig die inklusive Übereinstimmung verwendet.
In einer einzelnen Regel können Sie tag
verwenden, um das Tag der Pipeline festzulegen, und sep
als Trennzeichen verwenden.
Sie können ignore
in einer einzelnen Regel verwenden, um festzulegen, ob Transaktionen, die der Regel entsprechen, ignoriert werden sollen. „ true
“ bedeutet, dass Transaktionen ignoriert werden, die der Regel entsprechen, fasle
bedeutet, dass Transaktionen nicht ignoriert werden, und der Standardwert ist false
.
Wenn der Abgleich erfolgreich ist, werden targetAccount
, methodAccount
und andere in der Regel definierte Konten verwendet, um das standardmäßig definierte Konto zu überschreiben.
Die Reihenfolge des Regelabgleichs ist: Beginnen Sie mit dem Abgleich beim ersten Element in der rules
und fahren Sie mit dem Abgleich fort, wenn der Abgleich erfolgreich ist. Das heißt, die Priorität nachfolgender Regeln ist höher als die der vorherigen Regeln.
Die WeChat-Rechnung bietet ein Feld „Transaktionsmethode“, um die auf dem Konto ein- und ausgehenden Gelder zu identifizieren. Auf diese Weise können Sie direkt über die „Transaktionsmethode“ und das Feld „Einnahmen/Ausgaben“ bestätigen, ob es sich bei dem Konto um eine Erhöhung oder Verringerung handelt. Die doppelte Buchführung erfordert mindestens zwei Konten für jede Transaktion. Das andere Konto kann über „Peer“, „Ware“ (Artikel), „Einnahme/Ausgabe“ (Art) und „Transaktionsmethode“ (Methode) eingegeben werden. ) wird durch mehrere Einschlussübereinstimmungen erhalten. Wenn die Alipay-Konfiguration ähnlich ist und der Abgleich erfolgreich ist, werden targetAccount
und methodAccount
verwendet. Durch die Bestätigung, ob es sich bei der Transaktion um Einnahmen oder Ausgaben handelt, wird festgestellt, dass die positive und negative Beziehung zwischen targetAccount
und methodAccount
überschrieben werden soll das standardmäßig definierte Erhöhungs- oder Verringerungskonto.
Die Kontobeziehung zwischen targetAccount
und methodAccount
ist wie folgt:
Einnahmen/Ausgaben | minusKonto | plusKonto |
---|---|---|
Einkommen | Zielkonto | methodAccount |
Ausgaben | methodAccount | Zielkonto |
defaultCashAccount : Assets:Huobi:Cash
defaultPositionAccount : Assets:Huobi:Positions
defaultCommissionAccount : Expenses:Huobi:Commission
defaultPnlAccount : Income:Huobi:PnL
defaultCurrency : USDT
title : 测试
huobi :
rules :
- item : BTC/USDT,BTC1S/USDT # multiple keywords with separator
type : 买入
txType : 币币交易
fullMatch : true
sep : ' , ' # define separator as a comma
cashAccount : Assets:Rule1:Cash
positionAccount : Assets:Rule1:Positions
CommissionAccount : Expenses:Rule1:Commission
pnlAccount : Income:Rule1:PnL
defaultCashAccount
, defaultPositionAccount
, defaultCommissionAccount
, defaultPnlAccount
und defaultCurrency
sind global erforderliche Standardwerte.
huobi
ist die anbieterspezifische Konfiguration. Der Huobi-Anbieter verfügt über einen Regelabgleichsmechanismus.
huobi
ist die Konfiguration, die sich auf Huobi bezieht. Es bietet einen regelbasierten Abgleich. Sie können Folgendes angeben:
item
(Handelspaar).type
(Handelsrichtung).txType
(Transaktionstyp).time
(Handelszeit).Handelszeit kann in den folgenden zwei Formen geschrieben werden:
11:00-13:00
11:00:00-13:00:00
24-Stunden-Uhrzeit, Startzeit und Endzeit werden durch-
getrennt.
Sie können das Trennzeichen (sep) verwenden, um mehrere Schlüsselwörter in einer einzigen Regel einzugeben. Im selben Objekt besteht eine ODER-Beziehung zwischen den einzelnen Schlüsselwörtern.
Sie können fullMatch
verwenden, um Zeichenvergleichsregeln in einer einzelnen Regel festzulegen. true
bedeutet die Verwendung einer vollständigen Übereinstimmung, false
bedeutet die Verwendung einer teilweisen Übereinstimmung. Wenn dieses Element nicht festgelegt ist, wird standardmäßig die inklusive Übereinstimmung verwendet.
Sie können ignore
in einer einzelnen Regel verwenden, um festzulegen, ob Transaktionen, die der Regel entsprechen, ignoriert werden sollen. „ true
“ bedeutet, dass Transaktionen ignoriert werden, die der Regel entsprechen, fasle
bedeutet, dass Transaktionen nicht ignoriert werden, und der Standardwert ist false
.
Wenn der Abgleich erfolgreich ist, werden cashAccount
, positionAccount
, commissionAccount
und pnlAccount
Werte verwendet, um die Standarddefinition zu überschreiben.
Die Reihenfolge des Regelabgleichs ist: Beginnen Sie mit dem Abgleich beim ersten Element in der rules
und fahren Sie mit dem Abgleich fort, wenn der Abgleich erfolgreich ist. Das heißt, die Priorität nachfolgender Regeln ist höher als die der vorherigen Regeln.
In:
defaultCashAccount
ist das Standardkapitalkonto, das im Allgemeinen zur Speicherung von USDT verwendet wird.defaultPositionAccount
ist das Standardpositionskonto.defaultCommissionAccount
ist das Standardprovisionskonto.defaultPnlAccount
ist das Standard-Gewinn- und Verlustkonto.defaultCurrency
ist die Standardwährung. defaultCashAccount : Assets:Htsec:Cash
defaultPositionAccount : Assets:Htsec:Positions
defaultCommissionAccount : Expenses:Htsec:Commission
defaultPnlAccount : Income:Htsec:PnL
defaultCurrency : CNY
title : 测试
htsec :
rules :
- item : 兴业转债
type : 卖
sep : ' , '
cashAccount : Assets:Rule1:Cash
positionAccount : Assets:Rule1:Positions
CommissionAccount : Expenses:Rule1:Commission
pnlAccount : Income:Rule1:PnL
defaultCashAccount
, defaultPositionAccount
, defaultCommissionAccount
, defaultPnlAccount
und defaultCurrency
sind global erforderliche Standardwerte.
htsec
ist die anbieterspezifische Konfiguration. Der Htsec-Anbieter verfügt über einen Regelabgleichsmechanismus.
htsec
ist eine Konfiguration im Zusammenhang mit Haitong Securities. Es bietet einen regelbasierten Abgleich. Sie können Folgendes angeben:
item
(Handelsrichtung, Wertpapiercode, Wertpapiermarktkapitalisierung).type
(Handelsrichtung).time
(Handelszeit).Handelszeit kann in den folgenden zwei Formen geschrieben werden:
11:00-13:00
11:00:00-13:00:00
> 24-Stunden-Uhrzeit, verwenden Sie-
, um Startzeit und Endzeit zu trennen.
Sie können das Trennzeichen (sep) verwenden, um mehrere Schlüsselwörter in einer einzigen Regel einzugeben. Im selben Objekt besteht eine ODER-Beziehung zwischen den einzelnen Schlüsselwörtern.
Sie können fullMatch
verwenden, um Zeichenvergleichsregeln in einer einzelnen Regel festzulegen. true
bedeutet die Verwendung einer vollständigen Übereinstimmung, false
bedeutet die Verwendung einer teilweisen Übereinstimmung. Wenn dieses Element nicht festgelegt ist, wird standardmäßig die inklusive Übereinstimmung verwendet.
Sie können ignore
in einer einzelnen Regel verwenden, um festzulegen, ob Transaktionen, die der Regel entsprechen, ignoriert werden sollen. „ true
“ bedeutet, dass Transaktionen ignoriert werden, die der Regel entsprechen, fasle
bedeutet, dass Transaktionen nicht ignoriert werden, und der Standardwert ist false
.
Wenn der Abgleich erfolgreich ist, werden cashAccount
, positionAccount
, commissionAccount
und pnlAccount
Werte verwendet, um die Standarddefinition zu überschreiben.
Die Reihenfolge des Regelabgleichs ist: Beginnen Sie mit dem Abgleich beim ersten Element in der rules
und fahren Sie mit dem Abgleich fort, wenn der Abgleich erfolgreich ist. Das heißt, die Priorität nachfolgender Regeln ist höher als die der vorherigen Regeln.
In:
defaultCashAccount
ist das Standardkapitalkonto, das im Allgemeinen zur Speicherung verfügbarer Gelder auf Wertpapierkonten verwendet wird.defaultPositionAccount
ist das Standardpositionskonto.defaultCommissionAccount
ist das Standardprovisionskonto.defaultPnlAccount
ist das Standard-Gewinn- und Verlustkonto.defaultCurrency
ist die Standardwährung. defaultMinusAccount : Assets:FIXME
defaultPlusAccount : Expenses:FIXME
defaultCashAccount : Liabilities:Bank:CN:ICBC
defaultCurrency : CNY
title : 测试
icbc :
rules :
- peer : 财付通,支付宝
ignore : true
- peer : 广东联合电子收费股份
targetAccount : Expenses:Transport:Highway
- txType : 人民币自动转帐还款
targetAccount : Assets:Bank:CN:ICBC:Savings
- peer : XX旗舰店
targetAccount : Expenses:Joy
defaultMinusAccount
, defaultPlusAccount
, defaultCashAccount
und defaultCurrency
sind global erforderliche Standardwerte. Unter diesen ist defaultMinusAccount
das Konto mit reduziertem Standardbetrag, defaultPlusAccount
ist das Konto mit erhöhtem Standardbetrag defaultCashAccount
ist das Bankkartenkonto, das in dieser Konfiguration standardmäßig verwendet wird (entspricht methodAccount
in Alipay/WeChat). defaultCurrency
ist die Standardwährung.
icbc
ist die Konfiguration der Industrial and Commercial Bank of China. Es bietet einen regelbasierten Abgleich. Sie können Folgendes angeben:
peer
(Gegenpartei).type
(Einnahme/Ausgabe).txType
(Transaktionstyp). In einer einzelnen Regel können Sie das Trennzeichen sep
verwenden, um mehrere Schlüsselwörter einzugeben. Im selben Objekt besteht eine ODER-Beziehung zwischen jedem Schlüsselwort.
Sie können fullMatch
verwenden, um Zeichenvergleichsregeln in einer einzelnen Regel festzulegen. true
bedeutet die Verwendung einer vollständigen Übereinstimmung, false
bedeutet die Verwendung einer teilweisen Übereinstimmung. Wenn dieses Element nicht festgelegt ist, wird standardmäßig die inklusive Übereinstimmung verwendet.
In einer einzelnen Regel können Sie tag
verwenden, um das Tag der Pipeline festzulegen, und sep
als Trennzeichen verwenden.
Sie können ignore
in einer einzelnen Regel verwenden, um festzulegen, ob Transaktionen, die der Regel entsprechen, ignoriert werden sollen. „ true
“ bedeutet, dass Transaktionen ignoriert werden, die der Regel entsprechen, fasle
bedeutet, dass Transaktionen nicht ignoriert werden, und der Standardwert ist false
.
Wenn der Abgleich erfolgreich ist, wird das in der Regel definierte targetAccount
-Konto verwendet, um das standardmäßig definierte Konto zu überschreiben.
Die Reihenfolge des Regelabgleichs ist: Beginnen Sie mit dem Abgleich beim ersten Element in der rules
und fahren Sie mit dem Abgleich fort, wenn der Abgleich erfolgreich ist. Das heißt, die Priorität nachfolgender Regeln ist höher als die der vorherigen Regeln.
Der in der ICBC-Abrechnung erfasste Betrag wird in Einnahmen/Ausgaben unterteilt. Durch diesen Mechanismus kann die positive und negative Beziehung zwischen dem Bankkartenkonto in der Transaktion beurteilt werden. Wenn die Alipay-Konfiguration ähnlich ist und die Übereinstimmung erfolgreich ist, werden targetAccount
und der globale Wert defaultCashAccount
verwendet. Durch die Bestätigung, ob es sich bei der Transaktion um Einnahmen oder Ausgaben handelt, wird die positive und negative Beziehung zwischen targetAccount
und defaultCashAccount
bestimmt um das standardmäßig definierte Erhöhungs- oder Verringerungskonto zu überschreiben.
Die Kontobeziehung zwischen targetAccount
und defaultCashAccount
ist wie folgt:
Einnahmen/Ausgaben | minusKonto | plusKonto |
---|---|---|
Einkommen | Zielkonto | defaultCashAccount |
Ausgaben | defaultCashAccount | Zielkonto |
defaultMinusAccount : Assets:FIXME
defaultPlusAccount : Expenses:FIXME
defaultCashAccount : Assets:DebitCard:TDChequing
defaultCurrency : CAD
title : 测试
td :
rules :
- item : " T T "
targetAccount : Expenses:Grocery
tag : tt_tag
- item : " DOLLARAMA "
targetAccount : Expenses:Grocery
tag : grocery_tag1,cheap_tag2
- item : " DEVELOPM MSP "
targetAccount : Income:Salary
- type : 收入
item : " SEND E-TFR "
targetAccount : Income:FIXME
defaultMinusAccount
, defaultPlusAccount
, defaultCashAccount
und defaultCurrency
sind global erforderliche Standardwerte. Unter diesen ist defaultMinusAccount
das Konto mit reduziertem Standardbetrag, defaultPlusAccount
ist das Konto mit erhöhtem Standardbetrag defaultCashAccount
ist das Bankkartenkonto, das in dieser Konfiguration standardmäßig verwendet wird (entspricht methodAccount
in Alipay/WeChat). defaultCurrency
ist die Standardwährung.
td
ist eine Konfiguration im Zusammenhang mit der Toronto-Dominion Bank. Es bietet einen regelbasierten Abgleich. Da der Gesetzentwurf von TD relativ einfach ist, können nicht viele Regeln angegeben werden:
item
: (Handelsartikel).type
: Genaue/inklusive Übereinstimmung von (Einnahme/Ausgabe). In einer einzelnen Regel können Sie das Trennzeichen sep
verwenden, um mehrere Schlüsselwörter einzugeben. Im selben Objekt besteht eine ODER-Beziehung zwischen jedem Schlüsselwort.
Sie können fullMatch
verwenden, um Zeichenvergleichsregeln in einer einzelnen Regel festzulegen. true
bedeutet die Verwendung einer vollständigen Übereinstimmung, false
bedeutet die Verwendung einer teilweisen Übereinstimmung. Wenn dieses Element nicht festgelegt ist, wird standardmäßig die inklusive Übereinstimmung verwendet.
In einer einzelnen Regel können Sie tag
verwenden, um das Beancount-Tag oder Ledger-Meta-Tag der Pipeline festzulegen, und sep
als Trennzeichen verwenden.
Sie können ignore
in einer einzelnen Regel verwenden, um festzulegen, ob Transaktionen, die der Regel entsprechen, ignoriert werden sollen. „ true
“ bedeutet, dass Transaktionen ignoriert werden, die der Regel entsprechen, fasle
bedeutet, dass Transaktionen nicht ignoriert werden, und der Standardwert ist false
.
Wenn der Abgleich erfolgreich ist, wird das in der Regel definierte targetAccount
-Konto verwendet, um das standardmäßig definierte Konto zu überschreiben.
Die Reihenfolge des Regelabgleichs ist: Beginnen Sie mit dem Abgleich beim ersten Element in der rules
und fahren Sie mit dem Abgleich fort, wenn der Abgleich erfolgreich ist. Das heißt, die Priorität nachfolgender Regeln ist höher als die der vorherigen Regeln.
Der in der TD-Rechnung erfasste Betrag wird in Einnahmen/Ausgaben aufgeteilt. Durch diesen Mechanismus kann das positive und negative Verhältnis zwischen dem Bankkartenkonto in der Transaktion beurteilt werden. Wenn die Alipay-Konfiguration ähnlich ist und die Übereinstimmung erfolgreich ist, werden targetAccount
und der globale Wert defaultCashAccount
verwendet. Durch die Bestätigung, ob es sich bei der Transaktion um Einnahmen oder Ausgaben handelt, wird die positive und negative Beziehung zwischen targetAccount
und defaultCashAccount
bestimmt um das standardmäßig definierte Erhöhungs- oder Verringerungskonto zu überschreiben.
Die Kontobeziehung zwischen targetAccount
und defaultCashAccount
ist wie folgt:
Einnahmen/Ausgaben | minusKonto | plusKonto |
---|---|---|
Einkommen | Zielkonto | defaultCashAccount |
Ausgaben | defaultCashAccount | Zielkonto |
defaultMinusAccount : Assets:FIXME
defaultPlusAccount : Expenses:FIXME
defaultCashAccount : Assets:DebitCard:BMOChequing
defaultCurrency : CAD
title : 测试
bmo :
rules :
- item : " T T "
targetAccount : Expenses:Grocery
tag : tt_tag
- item : " DOLLARAMA "
targetAccount : Expenses:Grocery
tag : grocery_tag1,cheap_tag2
- item : " DEVELOPM MSP "
targetAccount : Income:Salary
- type : 收入
item : " SEND E-TFR "
targetAccount : Income:FIXME
defaultMinusAccount
, defaultPlusAccount
, defaultCashAccount
und defaultCurrency
sind global erforderliche Standardwerte. Unter diesen ist defaultMinusAccount
das Konto mit dem reduzierten Standardbetrag, defaultPlusAccount
ist das Konto mit dem erhöhten Standardbetrag defaultCashAccount
ist das Bankkartenkonto, das standardmäßig in dieser Konfiguration verwendet wird (entspricht methodAccount
in Alipay/WeChat). defaultCurrency
ist die Standardwährung.
bmo
ist eine Konfiguration im Zusammenhang mit der Toronto-Dominion Bank. Es bietet einen regelbasierten Abgleich. Da die eigene Abrechnung durch BMO relativ einfach ist, können nicht viele Regeln festgelegt werden:
item
: (Handelsartikel).type
: Genaue/inklusive Übereinstimmung von (Einnahme/Ausgabe). In einer einzelnen Regel können Sie das Trennzeichen sep
verwenden, um mehrere Schlüsselwörter einzugeben. Im selben Objekt besteht eine ODER-Beziehung zwischen jedem Schlüsselwort.
Sie können fullMatch
verwenden, um Zeichenvergleichsregeln in einer einzelnen Regel festzulegen. true
bedeutet die Verwendung einer vollständigen Übereinstimmung, false
bedeutet die Verwendung einer teilweisen Übereinstimmung. Wenn dieses Element nicht festgelegt ist, wird standardmäßig die inklusive Übereinstimmung verwendet.
In einer einzelnen Regel können Sie tag
verwenden, um das Beancount-Tag oder Ledger-Meta-Tag der Pipeline festzulegen, und sep
als Trennzeichen verwenden.
Sie können ignore
in einer einzelnen Regel verwenden, um festzulegen, ob Transaktionen, die der Regel entsprechen, ignoriert werden sollen. „ true
“ bedeutet, dass Transaktionen ignoriert werden, die der Regel entsprechen, fasle
bedeutet, dass Transaktionen nicht ignoriert werden, und der Standardwert ist false
.
Wenn der Abgleich erfolgreich ist, wird das in der Regel definierte targetAccount
-Konto verwendet, um das standardmäßig definierte Konto zu überschreiben.
Die Reihenfolge des Regelabgleichs ist: Beginnen Sie mit dem Abgleich beim ersten Element in der rules
und fahren Sie mit dem Abgleich fort, wenn der Abgleich erfolgreich ist. Das heißt, die Priorität nachfolgender Regeln ist höher als die der vorherigen Regeln.
Der in der BMO-Rechnung erfasste Betrag wird in Einnahmen/Ausgaben aufgeteilt. Durch diesen Mechanismus kann das positive und negative Verhältnis zwischen dem Bankkartenkonto in der Transaktion beurteilt werden. Wenn die Alipay-Konfiguration ähnlich ist und die Übereinstimmung erfolgreich ist, werden targetAccount
und der globale Wert defaultCashAccount
verwendet. Durch die Bestätigung, ob es sich bei der Transaktion um Einnahmen oder Ausgaben handelt, wird die positive und negative Beziehung zwischen targetAccount
und defaultCashAccount
bestimmt um das standardmäßig definierte Erhöhungs- oder Verringerungskonto zu überschreiben.
Die Kontobeziehung zwischen targetAccount
und defaultCashAccount
ist wie folgt:
Einnahmen/Ausgaben | minusKonto | plusKonto |
---|---|---|
Einkommen | Zielkonto | defaultCashAccount |
Ausgaben | defaultCashAccount | Zielkonto |
defaultMinusAccount : Assets:FIXME
defaultPlusAccount : Expenses:FIXME
defaultCurrency : CNY
title : 测试
jd :
rules :
- method : 京东白条
methodAccount : Liabilities:Baitiao
- method : 小金库零用钱
methodAccount : Assets:EPay:JD
- item : 椰子
targetAccount : Expenses:Food
- item : 京东小金库-转入
peer : 京东金融
targetAccount : Assets:EPay:JD
- category : 美妆个护
targetAccount : Expenses:MakeUp
- item : "食品酒饮"
targetAccount : Assets:Food
- peer : 亲密卡
targetAccount : Expenses:Prpaid
- item : 白条,还款
targetAccount : Liabilities:Baitiao
- item : 京东小金库收益
fullMatch : true
targetAccount : Income:PnL:JD
methodAccount : Assets:EPay:JD
Das Format der JD.com-Rechnungen ähnelt im Allgemeinen dem von Alipay.
Wenn die Transaktionskategorie der JD.com-Rechnung不计收支
, ist die Kontoverarbeitung in zwei Situationen unterteilt:
Allgemeine Situation:收/付款方式
(d. h. das mit method
übereinstimmende Feld) ist im Allgemeinen das Ausgabenkonto, und交易分类
(d. h. das mit der category
übereinstimmende Feld) ist im Allgemeinen das Einnahmenkonto. Wenn beispielsweise Bankkartengelder in den kleinen Tresor von Jingdong überwiesen werden,交易分类
收/付款方式
eine Bankkarte, und bei der Rückzahlung des Geldes von I Tiao ist收/付款方式
eine Bankkarte oder ein kleiner Tresor Tresortaschengeld, und交易分类
.
Sonderfall: Wenn das Präfix交易说明
(d. h. das mit item
übereinstimmende Feld)冻结-
bzw.解冻-
handelt es sich um einen Sonderfall, in dem不计收支
. Im Falle einer冻结-
ist收/付款方式
das Ausgabenkonto; im Falle解冻-
ist收/付款方式
das Einnahmenkonto, aber der Betrag ist 0. Derzeit werden alle Transaktionen im Zusammenhang mit冻结
und解冻
ignoriert.
Die Kontobeziehung zwischen targetAccount
und methodAccount
ist wie folgt:
Einnahmen/Ausgaben | minusKonto | plusKonto |
---|---|---|
Einkommen | Zielkonto | methodAccount |
Ausgaben | methodAccount | Zielkonto |
Unabhängig von Einnahmen und Ausgaben | methodAccount | Zielkonto |