本文基于的假设是:友人 A 需要购买产品 B,但需要你来代他购买。探讨以下几种事件发生顺序的记账方法。

除了自己已有的 Assets:Bank:Z 外,需要额外建立这些账户:

  • Assets:Receivables:A

先转账,再交易

; 转账
0000-00-00 * "A transfer money"
  Assets:Receivables:A -1000.00 CNY
  Assets:Bank:Z         1000.00 CNY
  
; 此时 Assets:Bank:Z 账户起着代持资金的作用。

; 交易
0000-00-01 * "Buy B for A"
  Assets:Bank:Z         -1000.00 CNY  
  Assets:Receivables:A   1000.00 CNY
  
; 整个过程结束后各账户余额:
; Assets:Bank:Z             0.00 CNY
; Assets:Receivables:A      0.00 CNY

先交易,再转账(垫付)

; 交易(垫付)
0000-00-00 * "Buy B for A"
  Assets:Receivables:A  1000.00 CNY
  Assets:Bank:Z        -1000.00 CNY
  
; 此时 Assets:Bank:Z 账户起着垫付资金的作用,
; Assets:Receivables:A 用于应收来自 A 的款项。

; 转账(还款)
0000-00-01 * "A transfer money"
  Assets:Bank:Z          1000.00 CNY
  Assets:Receivables:A  -1000.00 CNY
  
; 交易结束后各账户余额:
; Assets:Bank:Z             0.00 CNY
; Assets:Receivables:A      0.00 CNY

转账和交易同步

; 转账+交易
0000-00-00 * "A transfer money to buy B"
  Assets:Receivables:A -1000.00 CNY
  Assets:Bank:Z         1000.00 CNY
  Assets:Bank:Z        -1000.00 CNY
  Assets:Receivables:A  1000.00 CNY

; 交易结束后各账户余额:
; Assets:Bank:Z              0.00 CNY
; Assets:Receivables:A       0.00 CNY

知识共享许可协议
本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。