Générez du code pour le langage de comptabilité en partie double basé sur les factures. Prise en charge de la facture actuelle :
Prise en charge actuelle des langages comptables :
L'architecture prend en charge l'expansion. Si vous devez prendre en charge de nouvelles factures (telles que des factures bancaires, etc.), vous pouvez ajouter un fournisseur. Si vous devez prendre en charge de nouveaux langages comptables, vous pouvez ajouter un compilateur.
┌───────────┐ ┌──────────┐ ┌────┐ ┌──────────┐ ┌──────────┐
│ translate │->│ provider │->│ IR │->│ compiler │->│ analyser │
└───────────┘ └──────────┘ └────┘ └──────────┘ └──────────┘
alipay beancount alipay
wechat ledger wechat
huobi huobi
htsec htsec
icbc icbc
td td
bmo bmo
Installer en utilisant Homebrew :
brew install deb-sig/tap/double-entry-generator
Mettre à jour le logiciel à l'aide de Homebrew :
brew upgrade deb-sig/tap/double-entry-generator
Téléchargez simplement le fichier binaire de l'architecture correspondante sur votre ordinateur local à partir de la page GitHub Release.
go get -u github.com/deb-sig/double-entry-generator
Veuillez consulter la documentation d'utilisation
double-entry-generator translate
--config ./example/alipay/config.yaml
--output ./example/alipay/example-alipay-output.beancount
./example/alipay/example-alipay-records.csv
Parmi eux, --config
est le fichier de configuration par défaut, Alipay est utilisé comme fournisseur, et --provider
peut également être spécifié manuellement. Veuillez vous référer à la documentation d'utilisation pour plus de détails. Le fichier généré par défaut est default_output.beancount
. Si --output
ou -o
spécifie un fichier de sortie, il sera sorti dans le fichier spécifié. Dans l'exemple ci-dessus, les résultats de la conversion seront affichés dans le fichier ./example/alipay/example-alipay-output.beancount
.
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
Pour les versions v1.0.0
et supérieures, veuillez vous référer à cet article pour obtenir la facture Alipay.
Pour les versions v0.2.0
et inférieures, veuillez utiliser cette méthode pour obtenir la facture : Après vous être connecté à PC Alipay, visitez ici, sélectionnez la plage horaire, descendez vers le bas de la page et cliquez pour télécharger les résultats de la requête. Remarque : Veuillez télécharger les résultats de la requête, et non les détails des revenus et des dépenses.
exemple-alipay-records.csv
Cet exemple est le format de facture obtenu à partir de l'application « Alipay ».
Exemple de résultat converti : exmaple-alipay-output.beancount.
Voir ici pour savoir comment télécharger WeChat Pay.
exemple-wechat-records.csv
Exemple de résultat converti : exmaple-wechat-output.beancount.
À l'heure actuelle, le projet garantit uniquement la conversion des ordres de trading de devises en cryptomonnaies et n'a pas encore testé les contrats, les effets de levier et autres ordres de trading.
RP bienvenue :)
Connectez-vous au site Web Huobi Global, accédez à la page des détails de la transaction de la commande de pièces, sélectionnez la plage horaire appropriée et cliquez sur le bouton d'exportation dans le coin supérieur droit des détails de la transaction.
exemple-huobi-records.csv
Exemple de résultat converti : exmaple-huobi-output.beancount.
Connectez-vous au client PC de la version commerciale indépendante d'eHaitongcai PC, sélectionnez Requête-Ordre de livraison dans la barre de navigation de gauche et cliquez sur le bouton de requête à droite pour exporter le fichier Excel du bon de livraison.
exemple-htsec-records.csv
Exemple de résultat converti : exmaple-htsec-output.beancount.
Comment télécharger la déclaration ICBC peut être trouvé ici.
double-entry-generator
peut identifier automatiquement le type de facture (carte de débit/carte de crédit) de la Banque industrielle et commerciale de Chine.
Exemple de facture de carte de débit : example-icbc-debit-records.csv
Exemple de résultat de conversion de facture de carte de débit : example-icbc-debit-output.beancount.
Exemple de facture de carte de crédit : example-icbc-credit-records.csv
Exemple du résultat converti d'une facture de carte de crédit : example-icbc-credit-output.beancount.
exemple-td-records.csv
exemple-bmo-record.csv
exemple-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
et defaultCurrency
sont des valeurs par défaut globales requises. Parmi eux, defaultMinusAccount
est le compte dont le montant par défaut a été réduit, defaultPlusAccount
est le compte dont le montant par défaut a été augmenté. defaultCurrency
est la devise par défaut.
alipay
est la configuration spécifique au fournisseur. Le fournisseur Alipay dispose d'un mécanisme de correspondance de règles.
Configuration liée à la facture fourmi alipay
. Il fournit une correspondance basée sur des règles. Vous pouvez préciser :
peer
(contrepartie).item
(description de l'article).type
(reçu/dépense).method
(mode de réception/paiement).category
(catégorie de transaction).time
(temps de négociation).Le temps de trading peut s’écrire sous les deux formes suivantes :
11:00-13:00
11:00:00-13:00:00
L'horloge sur 24 heures, l'heure de début et l'heure de fin sont séparées par-
.
minPrice
(montant minimum) et maxPrice
(montant maximum).Vous pouvez utiliser le séparateur (sep) pour renseigner plusieurs mots-clés dans une seule règle. Dans le même objet, il existe une relation OU entre chaque mot-clé.
Vous pouvez utiliser fullMatch
pour définir des règles de correspondance de caractères dans une seule règle. true
signifie utiliser une correspondance complète, false
signifie utiliser une correspondance partielle. Si cet élément n'est pas défini, la correspondance inclusive sera utilisée par défaut.
Dans une seule règle, vous pouvez utiliser tag
pour définir la balise du pipeline et utiliser sep
comme séparateur.
Vous pouvez utiliser ignore
dans une seule règle pour définir s'il faut ignorer les transactions correspondant à la règle. true
signifie ignorer les transactions correspondant à la règle, fasle
signifie ne pas ignorer et la valeur par défaut est false
.
Si la correspondance réussit, targetAccount
, methodAccount
et les autres comptes définis dans la règle seront utilisés pour remplacer le compte défini par défaut.
L'ordre de correspondance des règles est le suivant : commencez la correspondance à partir du premier élément de la configuration rules
et continuez la correspondance si la correspondance réussit. Autrement dit, la priorité des règles suivantes est supérieure à celle des règles précédentes.
Alipay fournit un champ « méthode de transaction » pour identifier les fonds entrant et sortant du compte. De cette façon, vous pouvez directement utiliser le champ « Méthode de transaction » et le champ « Revenus/Dépenses » pour confirmer si le compte est une augmentation ou une diminution. La méthode comptable en partie double nécessite au moins deux comptes pour chaque transaction. L'autre compte peut être saisi via « peer », « marchandise » (article), « réception/dépense » (type) et « méthode de transaction » (méthode). ) est obtenu par plusieurs correspondances d'inclusion. Si la correspondance réussit, targetAccount
et methodAccount
définis dans la règle seront utilisés, et en confirmant si la transaction est un revenu ou une dépense, la relation positive et négative entre targetAccount
et methodAccount
sera déterminée pour remplacer le compte d'augmentation ou de diminution défini par défaut. .
La relation de compte entre targetAccount
et methodAccount
est la suivante :
Revenus/Dépenses | Classification des transactions | moinsCompte | plusCompte |
---|---|---|---|
revenu | * | comptecible | méthodeCompte |
revenu | Remboursement | comptecible | méthodeCompte |
dépense | * | méthodeCompte | comptecible |
autre | * | méthodeCompte | comptecible |
autre | Remboursement | comptecible | méthodeCompte |
Lorsque le type de transaction est « Autre », vous devez définir vous-même manuellement le compte de prêt. À ce stade, le logiciel pensera
methodAccount
est un compte de crédit ettargetAccount
est un compte de débit.
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
et defaultCurrency
sont des valeurs par défaut globales requises. Parmi eux, defaultMinusAccount
est le compte dont le montant par défaut a été réduit, defaultPlusAccount
est le compte dont le montant par défaut a été augmenté. defaultCurrency
est la devise par défaut.
defaultCommissionAccount
est le compte de frais de service par défaut. S'il n'y a aucune transaction liée aux frais de service, vous n'avez pas besoin de le renseigner. Cependant, l'auteur recommande toujours de remplir un compte FIXME fictif, sinon le convertisseur se terminera avec une erreur lorsqu'il rencontrera une transaction avec des frais de service.
wechat
est la configuration spécifique au fournisseur. Le fournisseur WeChat dispose d'un mécanisme de correspondance de règles.
wechat
est une configuration liée à WeChat. Il fournit une correspondance basée sur des règles. Vous pouvez préciser :
peer
(contrepartie).item
(nom de l'élément).type
(reçu/dépense).txType
(type de transaction).method
(mode de paiement).time
(temps de négociation).Le temps de trading peut s’écrire sous les deux formes suivantes :
11:00-13:00
11:00:00-13:00:00
L'horloge sur 24 heures, l'heure de début et l'heure de fin sont séparées par-
.
minPrice
(montant minimum) et maxPrice
(montant maximum).Vous pouvez utiliser le séparateur (sep) pour renseigner plusieurs mots-clés dans une seule règle. Dans le même objet, il existe une relation OU entre chaque mot-clé.
Vous pouvez utiliser fullMatch
pour définir des règles de correspondance de caractères dans une seule règle. true
signifie utiliser une correspondance complète, false
signifie utiliser une correspondance partielle. Si cet élément n'est pas défini, la correspondance inclusive sera utilisée par défaut.
Dans une seule règle, vous pouvez utiliser tag
pour définir la balise du pipeline et utiliser sep
comme séparateur.
Vous pouvez utiliser ignore
dans une seule règle pour définir s'il faut ignorer les transactions correspondant à la règle. true
signifie ignorer les transactions correspondant à la règle, fasle
signifie ne pas ignorer et la valeur par défaut est false
.
Si la correspondance réussit, targetAccount
, methodAccount
et les autres comptes définis dans la règle seront utilisés pour remplacer le compte défini par défaut.
L'ordre de correspondance des règles est le suivant : commencez la correspondance à partir du premier élément de la configuration rules
et continuez la correspondance si la correspondance réussit. Autrement dit, la priorité des règles suivantes est supérieure à celle des règles précédentes.
La facture WeChat fournit un champ « méthode de transaction » pour identifier les fonds entrant et sortant du compte. De cette façon, vous pouvez directement utiliser le champ « Méthode de transaction » et le champ « Revenus/Dépenses » pour confirmer si le compte est une augmentation ou une diminution. La méthode comptable en partie double nécessite au moins deux comptes pour chaque transaction. L'autre compte peut être saisi via « peer », « marchandise » (article), « réception/dépense » (type) et « méthode de transaction » (méthode). ) est obtenu par plusieurs correspondances d'inclusion. Si la configuration d'Alipay est similaire, si la correspondance réussit, targetAccount
et methodAccount
définis dans les règles seront utilisés, et en confirmant si la transaction est un revenu ou une dépense, la relation positive et négative entre targetAccount
et methodAccount
sera déterminée pour remplacer le compte d'augmentation ou de diminution défini par défaut.
La relation de compte entre targetAccount
et methodAccount
est la suivante :
Revenus/Dépenses | moinsCompte | plusCompte |
---|---|---|
revenu | comptecible | méthodeCompte |
dépense | méthodeCompte | comptecible |
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
et defaultCurrency
sont des valeurs par défaut globales requises.
huobi
est la configuration spécifique au fournisseur. Le fournisseur Huobi dispose d'un mécanisme de correspondance de règles.
huobi
est la configuration liée à Huobi. Il fournit une correspondance basée sur des règles. Vous pouvez préciser :
item
(paire d'échange).type
(direction commerciale).txType
(type de transaction).time
(temps de négociation).Le temps de trading peut s’écrire sous les deux formes suivantes :
11:00-13:00
11:00:00-13:00:00
L'horloge sur 24 heures, l'heure de début et l'heure de fin sont séparées par-
.
Vous pouvez utiliser le séparateur (sep) pour renseigner plusieurs mots-clés dans une seule règle. Dans le même objet, il existe une relation OU entre chaque mot-clé.
Vous pouvez utiliser fullMatch
pour définir des règles de correspondance de caractères dans une seule règle. true
signifie utiliser une correspondance complète, false
signifie utiliser une correspondance partielle. Si cet élément n'est pas défini, la correspondance inclusive sera utilisée par défaut.
Vous pouvez utiliser ignore
dans une seule règle pour définir s'il faut ignorer les transactions correspondant à la règle. true
signifie ignorer les transactions correspondant à la règle, fasle
signifie ne pas ignorer et la valeur par défaut est false
.
Si la correspondance réussit, cashAccount
, positionAccount
, commissionAccount
et pnlAccount
définis dans la règle seront utilisés pour remplacer la définition par défaut.
L'ordre de correspondance des règles est le suivant : commencez la correspondance à partir du premier élément de la configuration rules
et continuez la correspondance si la correspondance réussit. Autrement dit, la priorité des règles suivantes est supérieure à celle des règles précédentes.
dans:
defaultCashAccount
est le compte de capital par défaut, généralement utilisé pour stocker l'USDT.defaultPositionAccount
est le compte de position par défaut.defaultCommissionAccount
est le compte de commission par défaut.defaultPnlAccount
est le compte de profits et pertes par défaut.defaultCurrency
est la devise par défaut. 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
et defaultCurrency
sont des valeurs par défaut globales requises.
htsec
est la configuration spécifique au fournisseur. Le fournisseur Htsec dispose d'un mécanisme de correspondance de règles.
htsec
est une configuration liée à Haitong Securities. Il fournit une correspondance basée sur des règles. Vous pouvez préciser :
item
(direction commerciale-code de sécurité-capitalisation boursière du titre).type
(direction commerciale).time
(temps de négociation).Le temps de trading peut s’écrire sous les deux formes suivantes :
11:00-13:00
11:00:00-13:00:00
> Horloge 24 heures, utilisez-
pour séparer l'heure de début et l'heure de fin.
Vous pouvez utiliser le séparateur (sep) pour renseigner plusieurs mots-clés dans une seule règle. Dans le même objet, il existe une relation OU entre chaque mot-clé.
Vous pouvez utiliser fullMatch
pour définir des règles de correspondance de caractères dans une seule règle. true
signifie utiliser une correspondance complète, false
signifie utiliser une correspondance partielle. Si cet élément n'est pas défini, la correspondance inclusive sera utilisée par défaut.
Vous pouvez utiliser ignore
dans une seule règle pour définir s'il faut ignorer les transactions correspondant à la règle. true
signifie ignorer les transactions correspondant à la règle, fasle
signifie ne pas ignorer et la valeur par défaut est false
.
Si la correspondance réussit, cashAccount
, positionAccount
, commissionAccount
et pnlAccount
définis dans la règle seront utilisés pour remplacer la définition par défaut.
L'ordre de correspondance des règles est le suivant : commencez la correspondance à partir du premier élément de la configuration rules
et continuez la correspondance si la correspondance réussit. Autrement dit, la priorité des règles suivantes est supérieure à celle des règles précédentes.
dans:
defaultCashAccount
est le compte de capital par défaut, généralement utilisé pour stocker les fonds disponibles dans des comptes de titres.defaultPositionAccount
est le compte de position par défaut.defaultCommissionAccount
est le compte de commission par défaut.defaultPnlAccount
est le compte de profits et pertes par défaut.defaultCurrency
est la devise par défaut. 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
et defaultCurrency
sont des valeurs par défaut globales requises. Parmi eux, defaultMinusAccount
est le compte avec le montant par défaut réduit, defaultPlusAccount
est le compte avec le montant par défaut augmenté, defaultCashAccount
est le compte de carte bancaire utilisé par défaut dans cette configuration (équivalent à methodAccount
dans Alipay/WeChat). defaultCurrency
est la devise par défaut.
icbc
est la configuration liée à la Banque industrielle et commerciale de Chine. Il fournit une correspondance basée sur des règles. Vous pouvez préciser :
peer
(contrepartie).type
(reçu/dépense).txType
(type de transaction). Dans une seule règle, vous pouvez utiliser le séparateur sep
pour renseigner plusieurs mots-clés. Dans le même objet, il existe une relation OU entre chaque mot-clé.
Vous pouvez utiliser fullMatch
pour définir des règles de correspondance de caractères dans une seule règle. true
signifie utiliser une correspondance complète, false
signifie utiliser une correspondance partielle. Si cet élément n'est pas défini, la correspondance inclusive sera utilisée par défaut.
Dans une seule règle, vous pouvez utiliser tag
pour définir la balise du pipeline et utiliser sep
comme séparateur.
Vous pouvez utiliser ignore
dans une seule règle pour définir s'il faut ignorer les transactions correspondant à la règle. true
signifie ignorer les transactions correspondant à la règle, fasle
signifie ne pas ignorer et la valeur par défaut est false
.
Si la correspondance réussit, le compte targetAccount
défini dans la règle sera utilisé pour remplacer le compte défini par défaut.
L'ordre de correspondance des règles est le suivant : commencez la correspondance à partir du premier élément de la configuration rules
et continuez la correspondance si la correspondance réussit. Autrement dit, la priorité des règles suivantes est supérieure à celle des règles précédentes.
Le montant enregistré dans le relevé ICBC est divisé en revenus/dépenses. Grâce à ce mécanisme, la relation positive et négative entre le compte de carte bancaire dans la transaction peut être jugée. Si la configuration d'Alipay est similaire, si la correspondance réussit, targetAccount
et la valeur globale defaultCashAccount
définis dans la règle seront utilisés, et en confirmant si la transaction est un revenu ou une dépense, la relation positive et négative entre targetAccount
et defaultCashAccount
sera déterminée pour remplacer le compte d'augmentation ou de diminution défini par défaut.
La relation de compte entre targetAccount
et defaultCashAccount
est la suivante :
Revenus/Dépenses | moinsCompte | plusCompte |
---|---|---|
revenu | comptecible | CompteCash par défaut |
dépense | CompteCash par défaut | comptecible |
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
et defaultCurrency
sont des valeurs par défaut globales requises. Parmi eux, defaultMinusAccount
est le compte avec le montant par défaut réduit, defaultPlusAccount
est le compte avec le montant par défaut augmenté, defaultCashAccount
est le compte de carte bancaire utilisé par défaut dans cette configuration (équivalent à methodAccount
dans Alipay/WeChat). defaultCurrency
est la devise par défaut.
td
est une configuration liée à la Banque Toronto-Dominion. Il fournit une correspondance basée sur des règles. Étant donné que la facture de la TD est relativement simple, peu de règles peuvent être précisées :
item
: (article d'échange).type
: Correspondance exacte/incluse de (reçu/dépense). Dans une seule règle, vous pouvez utiliser le séparateur sep
pour renseigner plusieurs mots-clés. Dans le même objet, il existe une relation OU entre chaque mot-clé.
Vous pouvez utiliser fullMatch
pour définir des règles de correspondance de caractères dans une seule règle. true
signifie utiliser une correspondance complète, false
signifie utiliser une correspondance partielle. Si cet élément n'est pas défini, la correspondance inclusive sera utilisée par défaut.
Dans une seule règle, vous pouvez utiliser tag
pour définir la balise Beancount ou la balise Meta Ledger du pipeline et utiliser sep
comme séparateur.
Vous pouvez utiliser ignore
dans une seule règle pour définir s'il faut ignorer les transactions correspondant à la règle. true
signifie ignorer les transactions correspondant à la règle, fasle
signifie ne pas ignorer et la valeur par défaut est false
.
Si la correspondance réussit, le compte targetAccount
défini dans la règle sera utilisé pour remplacer le compte défini par défaut.
L'ordre de correspondance des règles est le suivant : commencez la correspondance à partir du premier élément de la configuration rules
et continuez la correspondance si la correspondance réussit. Autrement dit, la priorité des règles suivantes est supérieure à celle des règles précédentes.
Le montant enregistré sur la facture TD est divisé en revenus/dépenses. Grâce à ce mécanisme, la relation positive et négative entre le compte de carte bancaire dans la transaction peut être jugée. Si la configuration d'Alipay est similaire, si la correspondance réussit, targetAccount
et la valeur globale defaultCashAccount
définis dans la règle seront utilisés, et en confirmant si la transaction est un revenu ou une dépense, la relation positive et négative entre targetAccount
et defaultCashAccount
sera déterminée pour remplacer le compte d'augmentation ou de diminution défini par défaut.
La relation de compte entre targetAccount
et defaultCashAccount
est la suivante :
Revenus/Dépenses | moinsCompte | plusCompte |
---|---|---|
revenu | comptecible | CompteCash par défaut |
dépense | CompteCash par défaut | comptecible |
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
et defaultCurrency
sont des valeurs par défaut globales requises. Parmi eux, defaultMinusAccount
est le compte avec le montant par défaut réduit, defaultPlusAccount
est le compte avec le montant par défaut augmenté, defaultCashAccount
est le compte de carte bancaire utilisé par défaut dans cette configuration (équivalent à methodAccount
dans Alipay/WeChat). defaultCurrency
est la devise par défaut.
bmo
est une configuration liée à la Banque Toronto-Dominion. Il fournit une correspondance basée sur des règles. Étant donné que la facturation de BMO est relativement simple, peu de règles peuvent être spécifiées :
item
: (article d'échange).type
: Correspondance exacte/incluse de (reçu/dépense). Dans une seule règle, vous pouvez utiliser le séparateur sep
pour renseigner plusieurs mots-clés. Dans le même objet, il existe une relation OU entre chaque mot-clé.
Vous pouvez utiliser fullMatch
pour définir des règles de correspondance de caractères dans une seule règle. true
signifie utiliser une correspondance complète, false
signifie utiliser une correspondance partielle. Si cet élément n'est pas défini, la correspondance inclusive sera utilisée par défaut.
Dans une seule règle, vous pouvez utiliser tag
pour définir la balise Beancount ou la balise Meta Ledger du pipeline et utiliser sep
comme séparateur.
Vous pouvez utiliser ignore
dans une seule règle pour définir s'il faut ignorer les transactions correspondant à la règle. true
signifie ignorer les transactions correspondant à la règle, fasle
signifie ne pas ignorer et la valeur par défaut est false
.
Si la correspondance réussit, le compte targetAccount
défini dans la règle sera utilisé pour remplacer le compte défini par défaut.
L'ordre de correspondance des règles est le suivant : commencez la correspondance à partir du premier élément de la configuration rules
et continuez la correspondance si la correspondance réussit. Autrement dit, la priorité des règles suivantes est supérieure à celle des règles précédentes.
Le montant enregistré sur la facture BMO est divisé en revenus/dépenses. Grâce à ce mécanisme, la relation positive et négative entre le compte de carte bancaire dans la transaction peut être jugée. Si la configuration d'Alipay est similaire, si la correspondance réussit, targetAccount
et la valeur globale defaultCashAccount
définis dans la règle seront utilisés, et en confirmant si la transaction est un revenu ou une dépense, la relation positive et négative entre targetAccount
et defaultCashAccount
sera déterminée pour remplacer le compte d'augmentation ou de diminution défini par défaut.
La relation de compte entre targetAccount
et defaultCashAccount
est la suivante :
Revenus/dépenses | moinsCompte | plusCompte |
---|---|---|
revenu | comptecible | compteCash par défaut |
dépense | compteCash par défaut | comptecible |
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
Le format des factures JD.com est généralement similaire à celui d'Alipay.
Lorsque la catégorie de transaction de la facture de JD.com不计收支
, le traitement du compte se divise en deux situations :
Situation générale :收/付款方式
(c'est-à-dire le champ correspondant à method
) est généralement le compte de dépenses, et交易分类
(c'est-à-dire le champ correspondant à category
) est généralement le compte des revenus. Par exemple, lorsque les fonds d'une carte bancaire sont transférés vers le petit coffre-fort de Jingdong,收/付款方式
est par carte bancaire, et la transaction est交易分类
comme petit coffre-fort lors du remboursement de l'argent depuis I Tiao,收/付款方式
est par carte bancaire ou petit ; argent de poche du coffre-fort, et交易分类
comme Bai Tiao.
Cas particulier : lorsque le préfixe de交易说明
(c'est-à-dire le champ correspondant au item
) est冻结-
ou解冻-
il s'agit d'un cas particulier dans lequel不计收支
. En cas de冻结-
,收/付款方式
est le compte de dépenses ; en cas de解冻-
收/付款方式
est le compte de revenus mais le montant est nul. Actuellement, toutes les transactions liées au冻结
et解冻
seront ignorées.
La relation de compte entre targetAccount
et methodAccount
est la suivante :
Revenus/Dépenses | moinsCompte | compte plus |
---|---|---|
revenu | comptecible | méthodeCompte |
dépense | méthodeCompte | comptecible |
Quels que soient les revenus et les dépenses | méthodeCompte | comptecible |