Skip to content

Commit

Permalink
feat(icbc): support icbc debit new bill format (#133)
Browse files Browse the repository at this point in the history
* feat(icbc): support icbc debit new bill format

- fix(icbc): don't ignore the first transaction!

Signed-off-by: TripleZ <[email protected]>

* fix lint

Signed-off-by: TripleZ <[email protected]>

* test: add icbc debit v2

Signed-off-by: TripleZ <[email protected]>

---------

Signed-off-by: TripleZ <[email protected]>
  • Loading branch information
Triple-Z authored Sep 26, 2024
1 parent ef964f3 commit d28711b
Show file tree
Hide file tree
Showing 16 changed files with 355 additions and 45 deletions.
2 changes: 1 addition & 1 deletion example/icbc/credit/example-icbc-credit-records.csv
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,13 @@
子账户类别:

交易日期,记账日期,摘要,交易场所,交易国家或地区简称,交易金额(收入),交易金额(支出),交易币种,记账金额(收入),记账金额(支出),记账币种,余额,对方户名
2023-04-22 ,2023-04-22 ,"银联在线支付 ",XX旗舰店 ,"CHN "," ","0.01 ",人民币 ," ","0.01 ",人民币 ,"-6,086.11 "," ",
2023-05-05 ,2023-05-05 ,"消费 ","财付通-拼多多平台商户 ","CHN "," ","18.00 ",人民币 ," ","18.00 ",人民币 ,"-3,728.62 "," ",
2023-05-05 ,2023-05-05 ,"消费 ","支付宝-金拱门(中国)有限公司 ","CHN "," ","26.00 ",人民币 ," ","26.00 ",人民币 ,"-3,710.62 "," ",
2023-05-04 ,2023-05-04 ,"ETC ","广东联合电子收费股份 ","CHN "," ","12.35 ",人民币 ," ","12.35 ",人民币 ,"-3,684.62 "," ",
2023-05-02 ,2023-05-02 ,"消费 ","支付宝-北京百度网讯科技有限公司 ","CHN "," ","17.32 ",人民币 ," ","17.32 ",人民币 ,"-3,648.27 "," ",
2023-04-25 ,2023-04-25 ,"人民币自动转帐还款 ",XX分行银行卡中心 ,"CHN ","4,621.01 "," ",人民币 ,"4,621.01 "," ",人民币 ,"-1,971.63 "," ",
2023-04-22 ,2023-04-22 ,"消费 ","财付通-美团平台商户 ","CHN "," ","238.00 ",人民币 ," ","238.00 ",人民币 ,"-6,324.11 "," ",
2023-04-22 ,2023-04-22 ,"银联在线支付 ",XX旗舰店 ,"CHN "," ","0.01 ",人民币 ," ","0.01 ",人民币 ,"-6,086.11 "," ",
2023-03-20 ,2023-03-20 ,"消费 ",财付通-餐馆 ,"CHN "," ","22.00 ",人民币 ," ","22.00 ",人民币 ,"-16,064.73 "," ",
2023-03-20 ,2023-03-20 ,"******************** ","广东联合电子收费股份 ","CHN "," ","29.45 ",人民币 ," ","29.45 ",人民币 ,"-16,042.73 "," ",

Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -67,3 +67,13 @@ option "operating_currency" "CNY"
Assets:Bank:CN:ICBC 1234.56 CNY
Assets:Borrow -1234.56 CNY

2023-05-02 * "广东三元麦当劳食品有 深圳市财付通支付科技有限公司"
cardName: "这是卡别名"
currency: "人民币"
peerAccount: "深圳市财付通支付科技有限公司"
source: "中国工商银行"
txType: "消费"
type: "支出"
Expenses:FIXME 13.40 CNY
Assets:Bank:CN:ICBC -13.40 CNY

Original file line number Diff line number Diff line change
Expand Up @@ -65,3 +65,13 @@
Assets:Bank:CN:ICBC 1234.56 CNY
Assets:Borrow - 1234.56 CNY

2023/05/02 * 广东三元麦当劳食品有 深圳市财付通支付科技有限公司
; cardName: "这是卡别名"
; currency: "人民币"
; peerAccount: "深圳市财付通支付科技有限公司"
; source: "中国工商银行"
; txType: "消费"
; type: "支出"
Expenses:FIXME 13.40 CNY
Assets:Bank:CN:ICBC - 13.40 CNY

Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
子账户序号: 00000,子账户类别: 活期,"子账户别名: "

交易日期,摘要,交易场所,交易国家或地区简称,钞/汇,交易金额(收入),交易金额(支出),交易币种,记账金额(收入),记账金额(支出),记账币种,余额,对方户名
2023-05-02 ,"消费 ","财付通-广东三元麦当劳食品有 ","CHN ",钞 ,"- ","- ",- ," ","13.40 ",人民币 ,"xx,yyyy.zz ","深圳市财付通支付科技有限公司 ",
2023-05-02 ,"消费 ","广东三元麦当劳食品有 ","CHN ",钞 ,"- ","- ",- ," ","13.40 ",人民币 ,"xx,yyyy.zz ","深圳市财付通支付科技有限公司 ",
2023-04-25 ,"自动还款 ","广东XX分行银行卡中心 ","CHN ",钞 ,"- ","- ",- ," ","1,234.56 ",人民币 ,"xx,yyyy.zz ","张三 ",
2023-04-22 ,"他行汇入 "," ","CHN ",钞 ,"- ","- ",- ,"1,234.56 "," ",人民币 ,"xx,yyyy.zz ","李四 ",
2023-04-20 ,"银联消费 "," ","CHN ",钞 ,"- ","- ",- ," ","1,234.56 ",人民币 ,"xx,yyyy.zz ","银联无卡支付业务((特约)掌上生活还款) ",
Expand Down
22 changes: 22 additions & 0 deletions example/icbc/debit-v2/config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
defaultMinusAccount: Assets:FIXME
defaultPlusAccount: Expenses:FIXME
defaultCashAccount: Assets:Bank:CN:ICBC
defaultCurrency: CNY
title: 测试
icbc:
rules:
- peer: 财付通-,支付宝-
ignore: true
- peer: 支付宝
txType: 蚂蚁基金赎回到银行
ignore: true
- peer: 总行信用卡合伙人
targetAccount: Income:Bank:ICBC:CreditCard
- peer: 掌上生活还款
targetAccount: Liabilities:Bank:CMB:CreditCard
- txType: 自动还款
peer: 广东XX分行银行卡中心
ignore: true
- peer: 张三,李四,王五
txTpe: 汇款,网转,汇入
targetAccount: Assets:Borrow
86 changes: 86 additions & 0 deletions example/icbc/debit-v2/example-icbc-debit-v2-output.beancount
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
option "title" "测试"
option "operating_currency" "CNY"

1970-01-01 open Assets:Borrow
1970-01-01 open Assets:FIXME
1970-01-01 open Expenses:FIXME
1970-01-01 open Income:Bank:ICBC:CreditCard
1970-01-01 open Liabilities:Bank:CMB:CreditCard

2023-02-10 * "总行信用卡合伙人"
cardName: "这是卡别名"
currency: "人民币"
peerAccount: "总行信用卡合伙人"
peerAccountNum: "1234****9876"
source: "中国工商银行"
txType: "合伙人返现"
type: "收入"
Assets:Bank:CN:ICBC 30.00 CNY
Income:Bank:ICBC:CreditCard -30.00 CNY

2023-02-20 * "手机银行 张三"
cardName: "这是卡别名"
currency: "人民币"
peerAccount: "张三"
peerAccountNum: "1234****9876"
source: "中国工商银行"
txType: "跨行汇款"
type: "支出"
Assets:Borrow 1234.56 CNY
Assets:Bank:CN:ICBC -1234.56 CNY

2023-04-14 * "ABC公司"
cardName: "这是卡别名"
currency: "人民币"
peerAccount: "ABC公司"
peerAccountNum: "1234****9876"
source: "中国工商银行"
txType: "工资"
type: "收入"
Assets:Bank:CN:ICBC 1234.56 CNY
Assets:FIXME -1234.56 CNY

2023-04-14 * "手机银行 王五"
cardName: "这是卡别名"
currency: "人民币"
peerAccount: "王五"
peerAccountNum: "1234****9876"
source: "中国工商银行"
txType: "网转"
type: "支出"
Assets:Borrow 500.00 CNY
Assets:Bank:CN:ICBC -500.00 CNY

2023-04-20 * "银联无卡支付业务((特约)掌上生活还款)"
cardName: "这是卡别名"
currency: "人民币"
peerAccount: "银联无卡支付业务((特约)掌上生活还款)"
peerAccountNum: "1234****9876"
source: "中国工商银行"
txType: "银联消费"
type: "支出"
Liabilities:Bank:CMB:CreditCard 1234.56 CNY
Assets:Bank:CN:ICBC -1234.56 CNY

2023-04-22 * "李四"
cardName: "这是卡别名"
currency: "人民币"
peerAccount: "李四"
peerAccountNum: "1234****9876"
source: "中国工商银行"
txType: "他行汇入"
type: "收入"
Assets:Bank:CN:ICBC 1234.56 CNY
Assets:Borrow -1234.56 CNY

2023-05-02 * "广东三元麦当劳食品有 深圳市财付通支付科技有限公司"
cardName: "这是卡别名"
currency: "人民币"
peerAccount: "深圳市财付通支付科技有限公司"
peerAccountNum: "1234****9876"
source: "中国工商银行"
txType: "消费"
type: "支出"
Expenses:FIXME 13.40 CNY
Assets:Bank:CN:ICBC -13.40 CNY

84 changes: 84 additions & 0 deletions example/icbc/debit-v2/example-icbc-debit-v2-output.ledger
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
1970/01/01 * Open Balance
Assets:Borrow 0 CNY
Assets:FIXME 0 CNY
Expenses:FIXME 0 CNY
Income:Bank:ICBC:CreditCard 0 CNY
Liabilities:Bank:CMB:CreditCard 0 CNY
Equity:Opening Balances
2023/02/10 * 总行信用卡合伙人
; cardName: "这是卡别名"
; currency: "人民币"
; peerAccount: "总行信用卡合伙人"
; peerAccountNum: "1234****9876"
; source: "中国工商银行"
; txType: "合伙人返现"
; type: "收入"
Assets:Bank:CN:ICBC 30.00 CNY
Income:Bank:ICBC:CreditCard - 30.00 CNY

2023/02/20 * 手机银行 张三
; cardName: "这是卡别名"
; currency: "人民币"
; peerAccount: "张三"
; peerAccountNum: "1234****9876"
; source: "中国工商银行"
; txType: "跨行汇款"
; type: "支出"
Assets:Borrow 1234.56 CNY
Assets:Bank:CN:ICBC - 1234.56 CNY

2023/04/14 * ABC公司
; cardName: "这是卡别名"
; currency: "人民币"
; peerAccount: "ABC公司"
; peerAccountNum: "1234****9876"
; source: "中国工商银行"
; txType: "工资"
; type: "收入"
Assets:Bank:CN:ICBC 1234.56 CNY
Assets:FIXME - 1234.56 CNY

2023/04/14 * 手机银行 王五
; cardName: "这是卡别名"
; currency: "人民币"
; peerAccount: "王五"
; peerAccountNum: "1234****9876"
; source: "中国工商银行"
; txType: "网转"
; type: "支出"
Assets:Borrow 500.00 CNY
Assets:Bank:CN:ICBC - 500.00 CNY

2023/04/20 * 银联无卡支付业务((特约)掌上生活还款)
; cardName: "这是卡别名"
; currency: "人民币"
; peerAccount: "银联无卡支付业务((特约)掌上生活还款)"
; peerAccountNum: "1234****9876"
; source: "中国工商银行"
; txType: "银联消费"
; type: "支出"
Liabilities:Bank:CMB:CreditCard 1234.56 CNY
Assets:Bank:CN:ICBC - 1234.56 CNY

2023/04/22 * 李四
; cardName: "这是卡别名"
; currency: "人民币"
; peerAccount: "李四"
; peerAccountNum: "1234****9876"
; source: "中国工商银行"
; txType: "他行汇入"
; type: "收入"
Assets:Bank:CN:ICBC 1234.56 CNY
Assets:Borrow - 1234.56 CNY

2023/05/02 * 广东三元麦当劳食品有 深圳市财付通支付科技有限公司
; cardName: "这是卡别名"
; currency: "人民币"
; peerAccount: "深圳市财付通支付科技有限公司"
; peerAccountNum: "1234****9876"
; source: "中国工商银行"
; txType: "消费"
; type: "支出"
Expenses:FIXME 13.40 CNY
Assets:Bank:CN:ICBC - 13.40 CNY

20 changes: 20 additions & 0 deletions example/icbc/debit-v2/example-icbc-debit-v2-records.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
明细查询文件下载

卡号: 1234****9876,"卡别名: 这是卡别名"

子账户序号: 00000,子账户类别: 活期,"子账户别名: "

交易日期,摘要,交易详情,交易场所,交易国家或地区简称,钞/汇,交易金额(收入),交易金额(支出),交易币种,记账金额(收入),记账金额(支出),记账币种,余额,对方户名,对方账户
2023-05-02 ,"消费 "," ","广东三元麦当劳食品有 ","CHN ",钞 ,"- ","- ",- ," ","13.40 ",人民币 ,"xx,yyyy.zz ","深圳市财付通支付科技有限公司 ","1234****9876 ",
2023-04-25 ,"自动还款 "," ","广东XX分行银行卡中心 ","CHN ",钞 ,"- ","- ",- ," ","1,234.56 ",人民币 ,"xx,yyyy.zz ","张三 ","1234****9876 ",
2023-04-22 ,"他行汇入 "," "," ","CHN ",钞 ,"- ","- ",- ,"1,234.56 "," ",人民币 ,"xx,yyyy.zz ","李四 ","1234****9876 ",
2023-04-20 ,"银联消费 "," "," ","CHN ",钞 ,"- ","- ",- ," ","1,234.56 ",人民币 ,"xx,yyyy.zz ","银联无卡支付业务((特约)掌上生活还款) ","1234****9876 ",
2023-04-14 ,"工资 "," "," ","CHN ",钞 ,"- ","- ",- ,"1,234.56 "," ",人民币 ,"xx,yyyy.zz ","ABC公司 ","1234****9876 ",
2023-04-14 ,"网转 "," ","手机银行 ","CHN ",钞 ,"- ","- ",- ," ","500.00 ",人民币 ,"xx,yyyy.zz ","王五 ","1234****9876 ",
2023-02-28 ,"蚂蚁基金赎回到银行 "," ","支付宝 ","CHN ",钞 ,"- ","- ",- ,"341.58 "," ",人民币 ,"xx,yyyy.zz ","支付宝(中国)网络技术有限公司 ","1234****9876 ",
2023-02-20 ,"跨行汇款 "," ","手机银行 ","CHN ",钞 ,"- ","- ",- ," ","1,234.56 ",人民币 ,"xx,yyyy.zz ","张三 ","1234****9876 ",
2023-02-10 ,"合伙人返现 "," "," ","CHN ",钞 ,"- ","- ",- ,"30.00 "," ",人民币 ,"xx,yyyy.zz ","总行信用卡合伙人 ","1234****9876 ",
2023-02-09 ,"消费 "," ","财付通-群收款 ","CHN ",钞 ,"- ","- ",- ," ","24.00 ",人民币 ,"xx,yyyy.zz ","深圳市财付通支付科技有限公司 ","1234****9876 ",
2023-02-08 ,"退款 "," ","财付通-微信红包 ","CHN ",钞 ,"- ","- ",- ,"1.04 "," ",人民币 ,"xx,yyyy.zz ","深圳市财付通支付科技有限公司 ","1234****9876 ",

人民币合计,,,,,,,,,"1,234.56 ","9,876.54 ",
Loading

0 comments on commit d28711b

Please sign in to comment.