สร้างรหัสสำหรับภาษาการบัญชีแบบรายการคู่ตามใบเรียกเก็บเงิน การสนับสนุนการเรียกเก็บเงินปัจจุบัน:
รองรับภาษาการบัญชีปัจจุบัน:
สถาปัตยกรรมรองรับการขยาย หากคุณต้องการรองรับใบเรียกเก็บเงินใหม่ (เช่น ใบเรียกเก็บเงินธนาคาร ฯลฯ) คุณสามารถเพิ่มผู้ให้บริการได้ หากคุณต้องการรองรับภาษาการบัญชีใหม่ คุณสามารถเพิ่มคอมไพเลอร์ได้
┌───────────┐ ┌──────────┐ ┌────┐ ┌──────────┐ ┌──────────┐
│ 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
และต่ำกว่า โปรดใช้วิธีนี้เพื่อรับใบเรียกเก็บเงิน: หลังจากเข้าสู่ระบบ PC Alipay แล้ว ให้ไปที่นี่ เลือกช่วงเวลา เลื่อนลงไปที่ด้านล่างของหน้า และคลิกเพื่อดาวน์โหลดผลลัพธ์การสืบค้น หมายเหตุ: โปรดดาวน์โหลดผลการค้นหา ไม่ใช่รายละเอียดรายได้และรายจ่าย
ตัวอย่าง-alipay-records.csv
ตัวอย่างนี้คือรูปแบบการเรียกเก็บเงินที่ได้รับจากแอป "Alipay"
ตัวอย่างผลลัพธ์ที่แปลงแล้ว: exmaple-alipay-output.beancount
ดูวิธีดาวน์โหลด WeChat Pay ได้ที่นี่
ตัวอย่าง-wechat-records.csv
ตัวอย่างผลลัพธ์ที่แปลงแล้ว: exmaple-wechat-output.beancount
ปัจจุบัน โครงการรับประกันเฉพาะการแปลงคำสั่งซื้อขายสกุลเงินเป็นสกุลเงินดิจิทัลเท่านั้น และยังไม่ได้ทดสอบสัญญา เลเวอเรจ และคำสั่งซื้อขายอื่น ๆ
ประชาสัมพันธ์ ยินดีต้อนรับ :)
เข้าสู่ระบบเว็บไซต์ Huobi Global เข้าสู่หน้ารายละเอียดธุรกรรมของคำสั่งซื้อเหรียญ เลือกช่วงเวลาที่เหมาะสม และคลิกปุ่มส่งออกที่มุมขวาบนของรายละเอียดธุรกรรม
exmaple-huobi-records.csv
ตัวอย่างของผลลัพธ์ที่แปลงแล้ว: exmaple-huobi-output.beancount
เข้าสู่ระบบไคลเอนต์พีซีเวอร์ชันการซื้อขายอิสระของ eHaitongcai PC เลือก Query-Delivery Order ในแถบนำทางด้านซ้าย และคลิกปุ่มสอบถามทางด้านขวาเพื่อส่งออกไฟล์ 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
มันมีการจับคู่ตามกฎ คุณสามารถระบุ:
peer
(คู่สัญญา)item
(คำอธิบายรายการ)type
ตรงทั้งหมด/แบบรวม (ใบเสร็จ/ค่าใช้จ่าย)method
(วิธีรับ/การชำระเงิน)category
(หมวดหมู่ธุรกรรม)time
(เวลาซื้อขาย)เวลาซื้อขายสามารถเขียนได้สองรูปแบบดังต่อไปนี้:
11:00-13:00
11:00:00-13:00:00
นาฬิกาแบบ 24 ชั่วโมง เวลาเริ่มต้นและเวลาสิ้นสุดคั่นด้วย-
minPrice
(จำนวนขั้นต่ำ) และ maxPrice
(จำนวนสูงสุด)คุณสามารถใช้ตัวคั่น (sep) เพื่อเติมคำหลักหลายคำในกฎเดียว ในออบเจ็กต์เดียวกัน มีความสัมพันธ์แบบ OR ระหว่างคำหลักแต่ละคำ
คุณสามารถใช้ fullMatch
เพื่อตั้งค่ากฎการจับคู่อักขระในกฎเดียวโดยใช้การจับคู่แบบเต็ม การจับคู่ false
true
ใช้การจับคู่บางส่วน หากไม่ได้ตั้งค่ารายการนี้ การจับคู่แบบรวมจะถูกใช้เป็นค่าเริ่มต้น
ในกฎข้อเดียว คุณสามารถใช้ tag
เพื่อตั้งค่าแท็กของไปป์ไลน์ และใช้ sep
เป็นตัวคั่นได้
คุณสามารถใช้ ignore
ในกฎเดียวเพื่อตั้งค่าว่าจะละเว้นธุรกรรม fasle
true
กับกฎหรือไม่ และค่าเริ่มต้นคือ false
หากการจับคู่สำเร็จ targetAccount
, methodAccount
และบัญชีอื่นๆ ที่กำหนดไว้ในกฎจะถูกนำมาใช้เพื่อเขียนทับบัญชีที่กำหนดไว้เริ่มต้น
ลำดับการจับคู่กฎคือ: เริ่มจับคู่จากรายการแรกในการกำหนด rules
และจับคู่ต่อหากการจับคู่สำเร็จ นั่นคือลำดับความสำคัญของกฎที่ตามมาจะ สูงกว่า กฎก่อนหน้า
Alipay มีช่อง "วิธีการทำธุรกรรม" เพื่อระบุเงินทุนเข้าและออกจากบัญชี ด้วยวิธีนี้ คุณสามารถยืนยันได้โดยตรงว่าบัญชีมีการเพิ่มขึ้นหรือลดลงผ่านช่อง "วิธีการทำธุรกรรม" และช่อง "รายได้/รายจ่าย" วิธีการลงบัญชีแบบเข้าคู่ต้องมีอย่างน้อยสองบัญชีสำหรับแต่ละธุรกรรม และอีกบัญชีหนึ่งสามารถป้อนผ่าน "เพียร์" (เพียร์) "สินค้าโภคภัณฑ์" (สินค้า) "ใบเสร็จรับเงิน/ค่าใช้จ่าย" (ประเภท) และ "วิธีธุรกรรม" (วิธีการ) ) ได้มาจากการจับคู่การรวมหลายรายการ หากการจับคู่สำเร็จ ระบบจะใช้ targetAccount
และ methodAccount
ที่กำหนดไว้ในกฎ และด้วยการยืนยันว่าธุรกรรมนั้นเป็นรายได้หรือรายจ่าย ความสัมพันธ์เชิงบวกและเชิงลบระหว่าง targetAccount
และ methodAccount
จะถูกกำหนดให้แทนที่บัญชีเพิ่มหรือลดที่กำหนดไว้เริ่มต้น .
ความสัมพันธ์ทางบัญชีระหว่าง targetAccount
และ methodAccount
เป็นดังนี้:
รายได้/รายจ่าย | การจัดประเภทธุรกรรม | ลบบัญชี | plusAccount |
---|---|---|---|
รายได้ | - | เป้าหมายบัญชี | วิธีการบัญชี |
รายได้ | คืนเงิน | เป้าหมายบัญชี | วิธีการบัญชี |
ค่าใช้จ่าย | - | วิธีการบัญชี | เป้าหมายบัญชี |
อื่น | - | วิธีการบัญชี | เป้าหมายบัญชี |
อื่น | คืนเงิน | เป้าหมายบัญชี | วิธีการบัญชี |
เมื่อประเภทธุรกรรมเป็น "อื่นๆ" คุณจะต้องกำหนดบัญชีสินเชื่อด้วยตนเอง ในเวลานี้ซอฟต์แวร์จะคิด
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) เพื่อเติมคำหลักหลายคำในกฎเดียว ในออบเจ็กต์เดียวกัน มีความสัมพันธ์แบบ OR ระหว่างคำหลักแต่ละคำ
คุณสามารถใช้ fullMatch
เพื่อตั้งค่ากฎการจับคู่อักขระในกฎเดียวโดยใช้การจับคู่แบบเต็ม การจับคู่ false
true
ใช้การจับคู่บางส่วน หากไม่ได้ตั้งค่ารายการนี้ การจับคู่แบบรวมจะถูกใช้เป็นค่าเริ่มต้น
ในกฎข้อเดียว คุณสามารถใช้ tag
เพื่อตั้งค่าแท็กของไปป์ไลน์ และใช้ sep
เป็นตัวคั่นได้
คุณสามารถใช้ ignore
ในกฎเดียวเพื่อตั้งค่าว่าจะละเว้นธุรกรรม fasle
true
กับกฎหรือไม่ และค่าเริ่มต้นคือ false
หากการจับคู่สำเร็จ targetAccount
, methodAccount
และบัญชีอื่นๆ ที่กำหนดไว้ในกฎจะถูกนำมาใช้เพื่อเขียนทับบัญชีที่กำหนดไว้เริ่มต้น
ลำดับการจับคู่กฎคือ: เริ่มจับคู่จากรายการแรกในการกำหนด rules
และจับคู่ต่อหากการจับคู่สำเร็จ นั่นคือลำดับความสำคัญของกฎที่ตามมาจะ สูงกว่า กฎก่อนหน้า
ใบเรียกเก็บเงิน WeChat มีช่อง "วิธีการทำธุรกรรม" เพื่อระบุเงินทุนเข้าและออกจากบัญชี ด้วยวิธีนี้ คุณสามารถยืนยันได้โดยตรงว่าบัญชีมีการเพิ่มขึ้นหรือลดลงผ่านช่อง "วิธีการทำธุรกรรม" และช่อง "รายได้/รายจ่าย" วิธีการลงบัญชีแบบเข้าคู่ต้องมีอย่างน้อยสองบัญชีสำหรับแต่ละธุรกรรม และอีกบัญชีหนึ่งสามารถป้อนผ่าน "เพียร์" (เพียร์) "สินค้าโภคภัณฑ์" (สินค้า) "ใบเสร็จรับเงิน/ค่าใช้จ่าย" (ประเภท) และ "วิธีธุรกรรม" (วิธีการ) ) ได้มาจากการจับคู่การรวมหลายรายการ หากการกำหนดค่า Alipay คล้ายกัน หากการจับคู่สำเร็จ ระบบจะใช้ targetAccount
และ methodAccount
ที่กำหนดไว้ในกฎ และโดยการยืนยันว่าธุรกรรมนั้นเป็นรายได้หรือรายจ่าย ความสัมพันธ์เชิงบวกและเชิงลบระหว่าง targetAccount
และ methodAccount
จะถูกกำหนดให้แทนที่ บัญชีเพิ่มหรือลดที่กำหนดไว้เริ่มต้น
ความสัมพันธ์ทางบัญชีระหว่าง targetAccount
และ methodAccount
เป็นดังนี้:
รายได้/รายจ่าย | ลบบัญชี | plusAccount |
---|---|---|
รายได้ | เป้าหมายบัญชี | วิธีการบัญชี |
ค่าใช้จ่าย | วิธีการบัญชี | เป้าหมายบัญชี |
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) เพื่อเติมคำหลักหลายคำในกฎเดียว ในออบเจ็กต์เดียวกัน มีความสัมพันธ์แบบ OR ระหว่างคำหลักแต่ละคำ
คุณสามารถใช้ fullMatch
เพื่อตั้งค่ากฎการจับคู่อักขระในกฎเดียวโดยใช้การจับคู่แบบเต็ม การจับคู่ false
true
ใช้การจับคู่บางส่วน หากไม่ได้ตั้งค่ารายการนี้ การจับคู่แบบรวมจะถูกใช้เป็นค่าเริ่มต้น
คุณสามารถใช้ ignore
ในกฎเดียวเพื่อตั้งค่าว่าจะละเว้นธุรกรรม fasle
true
กับกฎหรือไม่ และค่าเริ่มต้นคือ false
หากการจับคู่สำเร็จ cashAccount
, positionAccount
, commissionAccount
และ pnlAccount
ที่กำหนดในกฎจะถูกใช้เพื่อแทนที่คำจำกัดความเริ่มต้น
ลำดับการจับคู่กฎคือ: เริ่มจับคู่จากรายการแรกในการกำหนด rules
และจับคู่ต่อหากการจับคู่สำเร็จ นั่นคือลำดับความสำคัญของกฎที่ตามมาจะ สูงกว่า กฎก่อนหน้า
ใน:
defaultCashAccount
คือบัญชีเงินทุนเริ่มต้น โดยทั่วไปจะใช้เพื่อจัดเก็บ USDTdefaultPositionAccount
คือบัญชีตำแหน่งเริ่มต้น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) เพื่อเติมคำหลักหลายคำในกฎเดียว ในออบเจ็กต์เดียวกัน มีความสัมพันธ์แบบ OR ระหว่างคำหลักแต่ละคำ
คุณสามารถใช้ fullMatch
เพื่อตั้งค่ากฎการจับคู่อักขระในกฎเดียวโดยใช้การจับคู่แบบเต็ม การจับคู่ false
true
ใช้การจับคู่บางส่วน หากไม่ได้ตั้งค่ารายการนี้ การจับคู่แบบรวมจะถูกใช้เป็นค่าเริ่มต้น
คุณสามารถใช้ ignore
ในกฎเดียวเพื่อตั้งค่าว่าจะละเว้นธุรกรรม fasle
true
กับกฎหรือไม่ และค่าเริ่มต้นคือ 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
คือการกำหนดค่าที่เกี่ยวข้องกับ Industrial and Commercial Bank of China มันมีการจับคู่ตามกฎ คุณสามารถระบุ:
peer
(คู่สัญญา)type
ตรงทั้งหมด/แบบรวม (ใบเสร็จ/ค่าใช้จ่าย)txType
(ประเภทธุรกรรม) ในกฎข้อเดียว คุณสามารถใช้ตัว sep
เพื่อกรอกคำหลักหลายคำในออบเจ็กต์เดียวกัน มีความสัมพันธ์แบบ OR ระหว่างคำหลักแต่ละคำ
คุณสามารถใช้ fullMatch
เพื่อตั้งค่ากฎการจับคู่อักขระในกฎเดียวโดยใช้การจับคู่แบบเต็ม การจับคู่ false
true
ใช้การจับคู่บางส่วน หากไม่ได้ตั้งค่ารายการนี้ การจับคู่แบบรวมจะถูกใช้เป็นค่าเริ่มต้น
ในกฎข้อเดียว คุณสามารถใช้ tag
เพื่อตั้งค่าแท็กของไปป์ไลน์ และใช้ sep
เป็นตัวคั่นได้
คุณสามารถใช้ ignore
ในกฎเดียวเพื่อตั้งค่าว่าจะละเว้นธุรกรรม fasle
true
กับกฎหรือไม่ และค่าเริ่มต้นคือ false
หากการจับคู่สำเร็จ บัญชี targetAccount
ที่กำหนดไว้ในกฎจะถูกนำมาใช้เพื่อเขียนทับบัญชีที่กำหนดไว้เริ่มต้น
ลำดับการจับคู่กฎคือ: เริ่มจับคู่จากรายการแรกในการกำหนด rules
และจับคู่ต่อหากการจับคู่สำเร็จ นั่นคือลำดับความสำคัญของกฎที่ตามมาจะ สูงกว่า กฎก่อนหน้า
จำนวนเงินที่บันทึกไว้ในใบแจ้งยอด ICBC แบ่งออกเป็นรายได้/ค่าใช้จ่าย ด้วยกลไกนี้ จึงสามารถตัดสินความสัมพันธ์เชิงบวกและเชิงลบระหว่างบัญชีบัตรธนาคารในการทำธุรกรรมได้ หากการกำหนดค่า Alipay คล้ายกัน หากการจับคู่สำเร็จ ระบบจะใช้ targetAccount
และมูลค่าสากล defaultCashAccount
ที่กำหนดไว้ในกฎ และโดยการยืนยันว่าธุรกรรมนั้นเป็นรายได้หรือรายจ่าย ความสัมพันธ์เชิงบวกและเชิงลบระหว่าง targetAccount
และ defaultCashAccount
จะถูกกำหนด เพื่อแทนที่บัญชีการเพิ่มหรือลดที่กำหนดไว้เริ่มต้น
ความสัมพันธ์ของบัญชีระหว่าง targetAccount
และ defaultCashAccount
เป็นดังนี้:
รายได้/รายจ่าย | ลบบัญชี | plusAccount |
---|---|---|
รายได้ | เป้าหมายบัญชี | บัญชีเริ่มต้นเงินสด |
ค่าใช้จ่าย | บัญชีเริ่มต้นเงินสด | เป้าหมายบัญชี |
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 Bank มันมีการจับคู่ตามกฎ เนื่องจากการเรียกเก็บเงินของ TD นั้นค่อนข้างง่าย จึงไม่มีกฎเกณฑ์มากมายที่สามารถระบุได้:
item
: (รายการซื้อขาย)type
: ตรงกันทุกประการ/รวมของ (ใบเสร็จ/ค่าใช้จ่าย) ในกฎข้อเดียว คุณสามารถใช้ตัว sep
เพื่อกรอกคำหลักหลายคำในออบเจ็กต์เดียวกัน มีความสัมพันธ์แบบ OR ระหว่างคำหลักแต่ละคำ
คุณสามารถใช้ fullMatch
เพื่อตั้งค่ากฎการจับคู่อักขระในกฎเดียวโดยใช้การจับคู่แบบเต็ม การจับคู่ false
true
ใช้การจับคู่บางส่วน หากไม่ได้ตั้งค่ารายการนี้ การจับคู่แบบรวมจะถูกใช้เป็นค่าเริ่มต้น
ในกฎข้อเดียว คุณสามารถใช้ tag
เพื่อตั้งค่าแท็ก Beancount หรือเมตาแท็กบัญชีแยกประเภทของไปป์ไลน์ และใช้ sep
เป็นตัวคั่นได้
คุณสามารถใช้ ignore
ในกฎเดียวเพื่อตั้งค่าว่าจะละเว้นธุรกรรม fasle
true
กับกฎหรือไม่ และค่าเริ่มต้นคือ false
หากการจับคู่สำเร็จ บัญชี targetAccount
ที่กำหนดไว้ในกฎจะถูกนำมาใช้เพื่อเขียนทับบัญชีที่กำหนดไว้เริ่มต้น
ลำดับการจับคู่กฎคือ: เริ่มจับคู่จากรายการแรกในการกำหนด rules
และจับคู่ต่อหากการจับคู่สำเร็จ นั่นคือลำดับความสำคัญของกฎที่ตามมาจะ สูงกว่า กฎก่อนหน้า
จำนวนเงินที่บันทึกไว้ในบิล TD แบ่งออกเป็นรายได้/ค่าใช้จ่าย ผ่านกลไกนี้ จึงสามารถตัดสินความสัมพันธ์เชิงบวกและเชิงลบระหว่างบัญชีบัตรธนาคารในการทำธุรกรรมได้ หากการกำหนดค่า Alipay คล้ายกัน หากการจับคู่สำเร็จ ระบบจะใช้ targetAccount
และมูลค่าสากล defaultCashAccount
ที่กำหนดไว้ในกฎ และโดยการยืนยันว่าธุรกรรมนั้นเป็นรายได้หรือรายจ่าย ความสัมพันธ์เชิงบวกและเชิงลบระหว่าง targetAccount
และ defaultCashAccount
จะถูกกำหนด เพื่อแทนที่บัญชีการเพิ่มหรือลดที่กำหนดไว้เริ่มต้น
ความสัมพันธ์ของบัญชีระหว่าง targetAccount
และ defaultCashAccount
เป็นดังนี้:
รายได้/รายจ่าย | ลบบัญชี | plusAccount |
---|---|---|
รายได้ | เป้าหมายบัญชี | ค่าเริ่มต้นบัญชีเงินสด |
ค่าใช้จ่าย | ค่าเริ่มต้นบัญชีเงินสด | เป้าหมายบัญชี |
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 Bank มันมีการจับคู่ตามกฎ เนื่องจากการเรียกเก็บเงินของ BMO นั้นค่อนข้างง่าย จึงไม่สามารถระบุกฎได้มากมาย:
item
: (รายการซื้อขาย)type
: ตรงกันทุกประการ/รวมของ (ใบเสร็จ/ค่าใช้จ่าย) ในกฎข้อเดียว คุณสามารถใช้ตัว sep
เพื่อกรอกคำหลักหลายคำในออบเจ็กต์เดียวกัน มีความสัมพันธ์แบบ OR ระหว่างคำหลักแต่ละคำ
คุณสามารถใช้ fullMatch
เพื่อตั้งค่ากฎการจับคู่อักขระในกฎเดียวโดยใช้การจับคู่แบบเต็ม การจับคู่ false
true
ใช้การจับคู่บางส่วน หากไม่ได้ตั้งค่ารายการนี้ การจับคู่แบบรวมจะถูกใช้เป็นค่าเริ่มต้น
ในกฎข้อเดียว คุณสามารถใช้ tag
เพื่อตั้งค่าแท็ก Beancount หรือเมตาแท็กบัญชีแยกประเภทของไปป์ไลน์ และใช้ sep
เป็นตัวคั่นได้
คุณสามารถใช้ ignore
ในกฎเดียวเพื่อตั้งค่าว่าจะละเว้นธุรกรรม fasle
true
กับกฎหรือไม่ และค่าเริ่มต้นคือ false
หากการจับคู่สำเร็จ บัญชี targetAccount
ที่กำหนดไว้ในกฎจะถูกนำมาใช้เพื่อเขียนทับบัญชีที่กำหนดไว้เริ่มต้น
ลำดับการจับคู่กฎคือ: เริ่มจับคู่จากรายการแรกในการกำหนด rules
และจับคู่ต่อหากการจับคู่สำเร็จ นั่นคือลำดับความสำคัญของกฎที่ตามมาจะ สูงกว่า กฎก่อนหน้า
จำนวนเงินที่บันทึกไว้ในใบเรียกเก็บเงิน BMO แบ่งออกเป็นรายได้/ค่าใช้จ่าย ด้วยกลไกนี้ จึงสามารถตัดสินความสัมพันธ์เชิงบวกและเชิงลบระหว่างบัญชีบัตรธนาคารในธุรกรรมได้ หากการกำหนดค่า Alipay คล้ายกัน หากการจับคู่สำเร็จ ระบบจะใช้ targetAccount
และมูลค่าสากล defaultCashAccount
ที่กำหนดไว้ในกฎ และโดยการยืนยันว่าธุรกรรมนั้นเป็นรายได้หรือรายจ่าย ความสัมพันธ์เชิงบวกและเชิงลบระหว่าง targetAccount
และ defaultCashAccount
จะถูกกำหนด เพื่อแทนที่บัญชีการเพิ่มหรือลดที่กำหนดไว้เริ่มต้น
ความสัมพันธ์ของบัญชีระหว่าง targetAccount
และ defaultCashAccount
เป็นดังนี้:
รายได้/รายจ่าย | ลบบัญชี | plusAccount |
---|---|---|
รายได้ | เป้าหมายบัญชี | ค่าเริ่มต้นบัญชีเงินสด |
ค่าใช้จ่าย | ค่าเริ่มต้นบัญชีเงินสด | เป้าหมายบัญชี |
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收/付款方式
คือบัตรธนาคาร และ交易分类
จะถูกจัดประเภทเป็นตู้นิรภัยขนาดเล็ก เมื่อชำระเงินด้วยธนบัตรสีขาว收/付款方式
คือบัตรธนาคารหรือขนาดเล็ก เงินในกระเป๋านิรภัย และ交易分类
ในประเภทธนบัตรสีขาว
กรณีพิเศษ: เมื่อคำนำหน้าของ交易说明
(นั่นคือ ฟิลด์ที่ตรงกับ item
)冻结-
หรือ解冻-
จะเป็นกรณีพิเศษที่จะ不计收支
ในกรณีที่冻结-
收/付款方式
คือบัญชีรายจ่าย ในกรณีที่解冻-
收/付款方式
คือบัญชีรายได้แต่จำนวนเงินเป็น 0 ในปัจจุบัน ธุรกรรมทั้งหมดที่เกี่ยวข้องกับ冻结
และ解冻
จะถูกละเว้น
ความสัมพันธ์ทางบัญชีระหว่าง targetAccount
และ methodAccount
เป็นดังนี้:
รายได้/รายจ่าย | ลบบัญชี | plusAccount |
---|---|---|
รายได้ | เป้าหมายบัญชี | วิธีการบัญชี |
ค่าใช้จ่าย | วิธีการบัญชี | เป้าหมายบัญชี |
โดยไม่คำนึงถึงรายได้และค่าใช้จ่าย | วิธีการบัญชี | เป้าหมายบัญชี |