Сгенерировать код для языка двойной записи на основе счетов. Поддержка текущего счета:
Текущая поддержка языков бухгалтерского учета:
Архитектура поддерживает расширение. Если вам необходимо поддерживать новые счета (например, банковские счета и т. д.), вы можете добавить провайдера. Если вам нужна поддержка новых языков бухгалтерского учета, вы можете добавить компилятор.
┌───────────┐ ┌──────────┐ ┌────┐ ┌──────────┐ ┌──────────┐
│ translate │->│ provider │->│ IR │->│ compiler │->│ analyser │
└───────────┘ └──────────┘ └────┘ └──────────┘ └──────────┘
alipay beancount alipay
wechat ledger wechat
huobi huobi
htsec htsec
icbc icbc
td td
bmo bmo
Установите с помощью Homebrew:
brew install deb-sig/tap/double-entry-generator
Обновите программное обеспечение с помощью Homebrew:
brew upgrade deb-sig/tap/double-entry-generator
Просто загрузите двоичный файл соответствующей архитектуры на свой локальный компьютер со страницы выпуска GitHub.
go get -u github.com/deb-sig/double-entry-generator
Пожалуйста, ознакомьтесь с документацией по использованию.
double-entry-generator translate
--config ./example/alipay/config.yaml
--output ./example/alipay/example-alipay-output.beancount
./example/alipay/example-alipay-records.csv
Среди них --config
— файл конфигурации. По умолчанию в качестве поставщика используется Alipay, а --provider
также можно указать вручную. Подробную информацию см. в документации по использованию. По умолчанию создается файл default_output.beancount
. Если --output
или -o
указывает выходной файл, он будет выведен в указанный файл. В приведенном выше примере результаты преобразования будут выведены в файл ./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
Для версий v1.0.0
и выше обратитесь к этой статье, чтобы получить счет Alipay.
Для версий v0.2.0
и ниже используйте этот метод для получения счета: после входа в Alipay для ПК перейдите сюда, выберите временной диапазон, перейдите вниз к нижней части страницы и нажмите, чтобы загрузить результаты запроса. Примечание. Загрузите результаты запроса, а не сведения о доходах и расходах.
пример-alipay-records.csv
В этом примере показан формат счета, полученный из приложения Alipay.
Пример преобразованного результата: exmaple-alipay-output.beancount.
О том, как загрузить WeChat Pay, можно узнать здесь.
пример-wechat-records.csv
Пример преобразованного результата: exmaple-wechat-output.beancount.
В настоящее время проект гарантирует только конвертацию торговых ордеров из валюты в криптовалюту и еще не тестировал контракты, кредитное плечо и другие торговые ордера.
Пиар приветствуется :)
Войдите на веб-сайт Huobi Global, войдите на страницу сведений о транзакции заказа монет, выберите соответствующий временной диапазон и нажмите кнопку экспорта в правом верхнем углу сведений о транзакции.
пример-huobi-records.csv
Пример преобразованного результата: exmaple-huobi-output.beancount.
Войдите в компьютерную версию клиента eHaitongcai для независимой торговли для ПК, выберите «Запрос-заказ на доставку» на левой панели навигации и нажмите кнопку запроса справа, чтобы экспортировать файл Excel заказа на доставку.
пример-htsec-records.csv
Пример преобразованного результата: exmaple-htsec-output.beancount.
Как скачать заявление ICBC можно найти здесь.
double-entry-generator
может автоматически идентифицировать тип счета (дебетовая карта/кредитная карта) Промышленно-коммерческого банка Китая.
Пример счета дебетовой карты: example-icbc-debit-records.csv
Пример результата конвертации счета дебетовой карты: example-icbc-debit-output.beancount.
Пример счета по кредитной карте: example-icbc-credit-records.csv
Пример преобразованного результата счета по кредитной карте: example-icbc-credit-output.beancount.
пример-td-records.csv
пример-bmo-record.csv
пример-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
и defaultCurrency
— глобальные обязательные значения по умолчанию. Среди них defaultMinusAccount
— это учетная запись с уменьшенной суммой по умолчанию, defaultPlusAccount
— это учетная запись с увеличенной суммой по умолчанию. defaultCurrency
— валюта по умолчанию.
alipay
— это конфигурация, зависящая от поставщика. Поставщик Alipay имеет механизм сопоставления правил.
Конфигурация, связанная с счетом alipay
ant. Он обеспечивает сопоставление на основе правил. Вы можете указать:
peer
(контрагента).item
(описания предмета).type
(приход/расход).method
(способ получения/оплаты).category
(категории транзакции).time
(время торговли).Торговое время можно записать в следующих двух формах:
11:00-13:00
11:00:00-13:00:00
в 24-часовом формате, время начала и время окончания разделяются знаком-
.
minPrice
(минимальная сумма) и maxPrice
(максимальная сумма).Вы можете использовать разделитель (sep) для заполнения нескольких ключевых слов в одном правиле. В одном и том же объекте между каждым ключевым словом существует связь ИЛИ.
Вы можете использовать fullMatch
для установки правил сопоставления символов в одном правиле. true
означает использование полного соответствия, false
означает использование частичного соответствия. Если этот элемент не установлен, по умолчанию будет использоваться инклюзивное соответствие.
В одном правиле вы можете использовать tag
для установки тега конвейера и использовать sep
в качестве разделителя.
Вы можете использовать ignore
в одном правиле, чтобы указать, следует ли игнорировать транзакции, соответствующие правилу. true
означает игнорирование транзакций, соответствующих правилу, fasle
означает не игнорировать, а значение по умолчанию — false
.
Если сопоставление прошло успешно, targetAccount
, methodAccount
и другие учетные записи, определенные в правиле, будут использоваться для перезаписи учетной записи, определенной по умолчанию.
Порядок сопоставления правил следующий: начните сопоставление с первого элемента в конфигурации rules
и продолжайте сопоставление, если сопоставление прошло успешно. То есть приоритет последующих правил выше, чем у предыдущих правил.
Alipay предоставляет поле «Метод транзакции» для идентификации средств, поступающих на счет и выходящих из него. Таким образом, вы можете напрямую использовать поле «Метод транзакции» и поле «Доходы/расходы», чтобы подтвердить, является ли счет увеличением или уменьшением. Для метода двойной записи требуется как минимум два счета для каждой транзакции. Другой счет может быть введен через «партнер», «товар» (позиция), «поступление/расход» (тип) и «метод транзакции» (метод). ) получается путем множественных совпадений включения. Если сопоставление прошло успешно, будут использоваться targetAccount
и methodAccount
определенные в правиле, и после подтверждения того, является ли транзакция доходом или расходом, будет определена положительная и отрицательная связь между targetAccount
и methodAccount
чтобы переопределить определенный по умолчанию счет увеличения или уменьшения. .
Отношения учетных записей между targetAccount
и methodAccount
следующие:
Доходы/расходы | Классификация транзакций | минусаккаунт | плюсАккаунт |
---|---|---|---|
доход | * | целевой аккаунт | МетодАккаунт |
доход | Возвращать деньги | целевой аккаунт | МетодАккаунт |
расходы | * | МетодАккаунт | целевой аккаунт |
другой | * | МетодАккаунт | целевой аккаунт |
другой | Возвращать деньги | целевой аккаунт | МетодАккаунт |
Если тип транзакции «Другое», вам необходимо вручную определить кредитный счет. В это время программа будет считать
methodAccount
— это кредитный счет, аtargetAccount
— дебетовый счет.
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
и defaultCurrency
— глобальные обязательные значения по умолчанию. Среди них defaultMinusAccount
— это учетная запись с уменьшенной суммой по умолчанию, defaultPlusAccount
— это учетная запись с увеличенной суммой по умолчанию. defaultCurrency
— валюта по умолчанию.
defaultCommissionAccount
— это счет комиссии по умолчанию. Если нет транзакций, связанных с комиссией за услугу, вам не нужно его заполнять. Однако автор все же рекомендует заполнять заполнитель учетной записи FIXME, иначе конвертер выйдет с ошибкой при обнаружении транзакции с комиссией за обслуживание.
wechat
— это конфигурация, зависящая от поставщика. Поставщик WeChat имеет механизм сопоставления правил.
wechat
— это конфигурация, связанная с WeChat. Он обеспечивает сопоставление на основе правил. Вы можете указать:
peer
(контрагента).item
(названия предмета).type
(приход/расход).txType
(типа транзакции).method
(способа оплаты).time
(время торговли).Торговое время можно записать в следующих двух формах:
11:00-13:00
11:00:00-13:00:00
в 24-часовом формате, время начала и время окончания разделяются знаком-
.
minPrice
(минимальная сумма) и maxPrice
(максимальная сумма).Вы можете использовать разделитель (sep) для заполнения нескольких ключевых слов в одном правиле. В одном и том же объекте между каждым ключевым словом существует связь ИЛИ.
Вы можете использовать fullMatch
для установки правил сопоставления символов в одном правиле. true
означает использование полного соответствия, false
означает использование частичного соответствия. Если этот элемент не установлен, по умолчанию будет использоваться инклюзивное соответствие.
В одном правиле вы можете использовать tag
для установки тега конвейера и использовать sep
в качестве разделителя.
Вы можете использовать ignore
в одном правиле, чтобы указать, следует ли игнорировать транзакции, соответствующие правилу. true
означает игнорирование транзакций, соответствующих правилу, fasle
означает не игнорировать, а значение по умолчанию — false
.
Если сопоставление прошло успешно, targetAccount
, methodAccount
и другие учетные записи, определенные в правиле, будут использоваться для перезаписи учетной записи, определенной по умолчанию.
Порядок сопоставления правил следующий: начните сопоставление с первого элемента в конфигурации rules
и продолжайте сопоставление, если сопоставление прошло успешно. То есть приоритет последующих правил выше, чем у предыдущих правил.
В счете WeChat предусмотрено поле «метод транзакции» для идентификации средств, поступающих на счет и выходящих из него. Таким образом, вы можете напрямую использовать поле «Метод транзакции» и поле «Доходы/расходы», чтобы подтвердить, является ли счет увеличением или уменьшением. Для метода двойной записи требуется как минимум два счета для каждой транзакции. Другой счет может быть введен через «партнер», «товар» (позиция), «поступление/расход» (тип) и «метод транзакции» (метод). ) получается путем множественных совпадений включения. Если конфигурация Alipay аналогична, и если сопоставление прошло успешно, будут использоваться targetAccount
и methodAccount
определенные в правилах, и при подтверждении того, является ли транзакция доходом или расходом, положительная и отрицательная связь между targetAccount
и methodAccount
будет переопределена. определенный по умолчанию счет увеличения или уменьшения.
Отношения учетных записей между targetAccount
и methodAccount
следующие:
Доходы/расходы | минусаккаунт | плюсАккаунт |
---|---|---|
доход | целевой аккаунт | МетодАккаунт |
расходы | МетодАккаунт | целевой аккаунт |
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
и defaultCurrency
— глобальные обязательные значения по умолчанию.
huobi
— это конфигурация, специфичная для провайдера. У провайдера Huobi есть механизм сопоставления правил.
huobi
— это конфигурация, связанная с Huobi. Он обеспечивает сопоставление на основе правил. Вы можете указать:
item
(торговой пары).type
(направления торговли).txType
(типа транзакции).time
(время торговли).Торговое время можно записать в следующих двух формах:
11:00-13:00
11:00:00-13:00:00
в 24-часовом формате, время начала и время окончания разделяются знаком-
.
Вы можете использовать разделитель (sep) для заполнения нескольких ключевых слов в одном правиле. В одном и том же объекте между каждым ключевым словом существует связь ИЛИ.
Вы можете использовать fullMatch
для установки правил сопоставления символов в одном правиле. true
означает использование полного соответствия, false
означает использование частичного соответствия. Если этот элемент не установлен, по умолчанию будет использоваться инклюзивное соответствие.
Вы можете использовать ignore
в одном правиле, чтобы указать, следует ли игнорировать транзакции, соответствующие правилу. true
означает игнорирование транзакций, соответствующих правилу, fasle
означает не игнорировать, а значение по умолчанию — false
.
Если сопоставление прошло успешно, cashAccount
, positionAccount
, commissionAccount
и pnlAccount
определенные в правиле, будут использоваться для переопределения определения по умолчанию.
Порядок сопоставления правил следующий: начните сопоставление с первого элемента в конфигурации rules
и продолжайте сопоставление, если сопоставление прошло успешно. То есть приоритет последующих правил выше, чем у предыдущих правил.
в:
defaultCashAccount
— это счет движения капитала по умолчанию, обычно используемый для хранения USDT.defaultPositionAccount
— это счет позиции по умолчанию.defaultCommissionAccount
— это счет комиссии по умолчанию.defaultPnlAccount
— это счет прибылей и убытков по умолчанию.defaultCurrency
— валюта по умолчанию. 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
и defaultCurrency
— глобальные обязательные значения по умолчанию.
htsec
— это конфигурация, зависящая от поставщика. Поставщик Htsec имеет механизм сопоставления правил.
htsec
— это конфигурация, связанная с Haitong Securities. Он обеспечивает сопоставление на основе правил. Вы можете указать:
item
(направление торговли-код ценной бумаги-рыночная капитализация ценной бумаги).type
(направления торговли).time
(время торговли).Торговое время можно записать в следующих двух формах:
11:00-13:00
11:00:00-13:00:00
> 24-часовой формат времени, используйте-
для разделения времени начала и окончания.
Вы можете использовать разделитель (sep) для заполнения нескольких ключевых слов в одном правиле. В одном и том же объекте между каждым ключевым словом существует связь ИЛИ.
Вы можете использовать fullMatch
для установки правил сопоставления символов в одном правиле. true
означает использование полного соответствия, false
означает использование частичного соответствия. Если этот элемент не установлен, по умолчанию будет использоваться инклюзивное соответствие.
Вы можете использовать ignore
в одном правиле, чтобы указать, следует ли игнорировать транзакции, соответствующие правилу. true
означает игнорирование транзакций, соответствующих правилу, fasle
означает не игнорировать, а значение по умолчанию — false
.
Если сопоставление прошло успешно, cashAccount
, positionAccount
, commissionAccount
и pnlAccount
определенные в правиле, будут использоваться для переопределения определения по умолчанию.
Порядок сопоставления правил следующий: начните сопоставление с первого элемента в конфигурации rules
и продолжайте сопоставление, если сопоставление прошло успешно. То есть приоритет последующих правил выше, чем у предыдущих правил.
в:
defaultCashAccount
— это счет операций с капиталом по умолчанию, обычно используемый для хранения свободных средств на счетах ценных бумаг.defaultPositionAccount
— это счет позиции по умолчанию.defaultCommissionAccount
— это счет комиссии по умолчанию.defaultPnlAccount
— это счет прибылей и убытков по умолчанию.defaultCurrency
— валюта по умолчанию. 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
и defaultCurrency
— глобальные обязательные значения по умолчанию. Среди них defaultMinusAccount
— это учетная запись с уменьшенной суммой по умолчанию, defaultPlusAccount
— учетная запись с увеличенной суммой по умолчанию, defaultCashAccount
— это учетная запись банковской карты, используемая по умолчанию в этой конфигурации (эквивалент methodAccount
в Alipay/WeChat). defaultCurrency
— валюта по умолчанию.
icbc
— это конфигурация, связанная с Промышленным и коммерческим банком Китая. Он обеспечивает сопоставление на основе правил. Вы можете указать:
peer
(контрагента).type
(приход/расход).txType
(типа транзакции). В одном правиле вы можете использовать разделитель sep
для заполнения нескольких ключевых слов. В одном и том же объекте между каждым ключевым словом существует связь ИЛИ.
Вы можете использовать fullMatch
для установки правил сопоставления символов в одном правиле. true
означает использование полного соответствия, false
означает использование частичного соответствия. Если этот элемент не установлен, по умолчанию будет использоваться инклюзивное соответствие.
В одном правиле вы можете использовать tag
для установки тега конвейера и использовать sep
в качестве разделителя.
Вы можете использовать ignore
в одном правиле, чтобы указать, следует ли игнорировать транзакции, соответствующие правилу. true
означает игнорирование транзакций, соответствующих правилу, fasle
означает не игнорировать, а значение по умолчанию — false
.
Если сопоставление прошло успешно, учетная запись targetAccount
определенная в правиле, будет использоваться для перезаписи учетной записи, определенной по умолчанию.
Порядок сопоставления правил следующий: начните сопоставление с первого элемента в конфигурации rules
и продолжайте сопоставление, если сопоставление прошло успешно. То есть приоритет последующих правил выше, чем у предыдущих правил.
Зарегистрированная сумма в выписке ICBC делится на доходы/расходы. С помощью этого механизма можно судить о положительной и отрицательной взаимосвязи между счетом банковской карты в транзакции. Если конфигурация Alipay аналогична, в случае успешного сопоставления будут использоваться targetAccount
и глобальное значение defaultCashAccount
определенное в правиле, и путем подтверждения того, является ли транзакция доходом или расходом, будет определена положительная и отрицательная связь между targetAccount
и defaultCashAccount
чтобы переопределить заданный по умолчанию счет увеличения или уменьшения.
Отношения счетов между targetAccount
и defaultCashAccount
следующие:
Доходы/расходы | минусаккаунт | плюсАккаунт |
---|---|---|
доход | целевой аккаунт | по умолчаниюCashAccount |
расходы | по умолчаниюCashAccount | целевой аккаунт |
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
и defaultCurrency
— глобальные обязательные значения по умолчанию. Среди них defaultMinusAccount
— это учетная запись с уменьшенной суммой по умолчанию, defaultPlusAccount
— учетная запись с увеличенной суммой по умолчанию, defaultCashAccount
— это учетная запись банковской карты, используемая по умолчанию в этой конфигурации (эквивалент methodAccount
в Alipay/WeChat). defaultCurrency
— валюта по умолчанию.
td
— это конфигурация, связанная с банком Toronto-Dominion. Он обеспечивает сопоставление на основе правил. Поскольку собственный законопроект TD относительно прост, в нем можно указать не так много правил:
item
: (торговый предмет).type
: точное/полное совпадение (поступлений/расходов). В одном правиле вы можете использовать разделитель sep
для заполнения нескольких ключевых слов. В одном и том же объекте между каждым ключевым словом существует связь ИЛИ.
Вы можете использовать fullMatch
для установки правил сопоставления символов в одном правиле. true
означает использование полного соответствия, false
означает использование частичного соответствия. Если этот элемент не установлен, по умолчанию будет использоваться включающее соответствие.
В одном правиле вы можете использовать tag
для установки тега Beancount или метатега Ledger конвейера и использовать sep
в качестве разделителя.
Вы можете использовать ignore
в одном правиле, чтобы указать, следует ли игнорировать транзакции, соответствующие правилу. true
означает игнорирование транзакций, соответствующих правилу, fasle
означает не игнорировать, а значение по умолчанию — false
.
Если сопоставление прошло успешно, учетная запись targetAccount
определенная в правиле, будет использоваться для перезаписи учетной записи, определенной по умолчанию.
Порядок сопоставления правил следующий: начните сопоставление с первого элемента в конфигурации rules
и продолжайте сопоставление, если сопоставление прошло успешно. То есть приоритет последующих правил выше, чем у предыдущих правил.
Зарегистрированная сумма в счете TD делится на доходы/расходы. С помощью этого механизма можно оценить положительную и отрицательную связь между счетом банковской карты в транзакции. Если конфигурация Alipay аналогична, в случае успешного сопоставления будут использоваться targetAccount
и глобальное значение defaultCashAccount
определенное в правиле, и путем подтверждения того, является ли транзакция доходом или расходом, будет определена положительная и отрицательная связь между targetAccount
и defaultCashAccount
чтобы переопределить заданный по умолчанию счет увеличения или уменьшения.
Связь между счетами targetAccount
и defaultCashAccount
следующая:
Доходы/расходы | минусаккаунт | плюсАккаунт |
---|---|---|
доход | целевой аккаунт | по умолчаниюCashAccount |
расходы | по умолчаниюCashAccount | целевой аккаунт |
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
и defaultCurrency
— глобальные обязательные значения по умолчанию. Среди них defaultMinusAccount
— это учетная запись с уменьшенной суммой по умолчанию, defaultPlusAccount
— учетная запись с увеличенной суммой по умолчанию, defaultCashAccount
— это учетная запись банковской карты, используемая по умолчанию в этой конфигурации (эквивалент methodAccount
в Alipay/WeChat). defaultCurrency
— валюта по умолчанию.
bmo
— это конфигурация, связанная с банком Toronto-Dominion. Он обеспечивает сопоставление на основе правил. Поскольку собственные выставления счетов BMO относительно просты, существует не так много правил, которые можно указать:
item
: (торговый предмет).type
: точное/полное совпадение (поступления/расхода). В одном правиле вы можете использовать разделитель sep
для заполнения нескольких ключевых слов. В одном и том же объекте между каждым ключевым словом существует связь ИЛИ.
Вы можете использовать fullMatch
для установки правил сопоставления символов в одном правиле. true
означает использование полного соответствия, false
означает использование частичного соответствия. Если этот элемент не установлен, по умолчанию будет использоваться включающее соответствие.
В одном правиле вы можете использовать tag
для установки тега Beancount или метатега Ledger конвейера и использовать sep
в качестве разделителя.
Вы можете использовать ignore
в одном правиле, чтобы указать, следует ли игнорировать транзакции, соответствующие правилу. true
означает игнорирование транзакций, соответствующих правилу, fasle
означает не игнорировать, а значение по умолчанию — false
.
Если сопоставление прошло успешно, учетная запись targetAccount
определенная в правиле, будет использоваться для перезаписи учетной записи, определенной по умолчанию.
Порядок сопоставления правил следующий: начните сопоставление с первого элемента в конфигурации rules
и продолжайте сопоставление, если сопоставление прошло успешно. То есть приоритет последующих правил выше, чем у предыдущих правил.
Зарегистрированная сумма в счете BMO делится на доходы/расходы. С помощью этого механизма можно судить о положительной и отрицательной взаимосвязи между счетом банковской карты в транзакции. Если конфигурация Alipay аналогична, в случае успешного сопоставления будут использоваться targetAccount
и глобальное значение defaultCashAccount
определенное в правиле, и путем подтверждения того, является ли транзакция доходом или расходом, будет определена положительная и отрицательная связь между targetAccount
и defaultCashAccount
чтобы переопределить заданный по умолчанию счет увеличения или уменьшения.
Отношения счетов между targetAccount
и defaultCashAccount
следующие:
Доходы/расходы | минусаккаунт | плюсАккаунт |
---|---|---|
доход | целевой аккаунт | по умолчаниюCashAccount |
расходы | по умолчаниюCashAccount | целевой аккаунт |
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
Формат счетов JD.com в целом аналогичен формату Alipay.
Если категория транзакции в счете JD.com不计收支
, обработка счета делится на две ситуации:
Общая ситуация:收/付款方式
(т. е. поле, соответствующее method
) обычно является счетом расходов, а交易分类
(т. е. полем, соответствующим category
) обычно является счетом доходов. Например, когда средства банковской карты переводятся в небольшое хранилище Jingdong,收/付款方式
является банковская карта, а транзакция交易分类
как небольшое хранилище при возврате денег из I Tiao,收/付款方式
является банковская карта или малый; хранилище карманных денег, и交易分类
как Бай Тяо.
Особый случай: когда префикс交易说明
(то есть поле, соответствующее item
)冻结-
или解冻-
это особый случай, в котором不计收支
. В случае冻结-
收/付款方式
является счет расходов, в случае解冻-
收/付款方式
является счет доходов, но сумма равна 0. В настоящее время все транзакции, связанные с冻结
и解冻
будут игнорироваться.
Отношения учетных записей между targetAccount
и methodAccount
следующие:
Доходы/расходы | минусаккаунт | плюсАккаунт |
---|---|---|
доход | целевой аккаунт | МетодАккаунт |
расходы | МетодАккаунт | целевой аккаунт |
Независимо от доходов и расходов | МетодАккаунт | целевой аккаунт |