这是一个小型库,用于将从 Wealthsimple 下载的数据(通过 WealthsimpleDownloader)转换为 Beancount 格式(通过 SwiftBeanCountModel)。
该库严重依赖 Beancount 文件中的元数据来查找帐户和商品。请将这些添加到您的 Beancount 文件中。
如果您的账本中的商品与 Wealthsimple 使用的符号不同,只需添加 wealthsimple-symbol
作为元数据。
2011-10-18 commodity ACWVETF
wealthsimple-symbol: "ACWV"
对于 Wealthsimple 帐户本身,您需要添加以下元数据:importer-type: "wealthsimple"
和 number: "XXX"
。 如果该帐户可以持有多种商品(除支票和储蓄账户之外的所有帐户),则需要遵循以下结构: Assets:X:Y:Z:CashAccountName
, Assets:X:Y:Z:CommodityName
, Assets:X:Y:Z:OtherCommodityName
。 现金帐户的名称无关紧要,但所有其他帐户必须以商品符号结尾(参见上文)。 仅将 importer-type
和 number
添加到现金帐户。
对于在与 Wealthsimple 帐户之间的交易中使用的帐户,您也需要提供元数据。 这些元数据的格式为 wealthsimple-key: "accountNumber1 accountNumber2"
。 帐户号码与上述相同,您可以为每个键指定一个或多个帐户号码。 作为键,使用以下值:
wealthsimple-dividend-COMMODITYSYMBOL
,例如 wealthsimple-dividend-XGRO
wealthsimple-contribution
wealthsimple-deposit
wealthsimple-fee
来跟踪 Wealthsimple 费用wealthsimple-non-resident-withholding-tax
来跟踪非居民预扣税wealthsimple-rounding
的费用帐户将获得差额wealthsimple-contribution-room
(可选,如果未设置,则不会为供款额度创建分录)wealthsimple-reimbursement
wealthsimple-interest
wealthsimple-withdrawal
wealthsimple-payment-transfer-in
wealthsimple-payment-transfer-out
wealthsimple-transfer-in
wealthsimple-transfer-out
wealthsimple-referral-bonus
wealthsimple-giveaway-bonus
wealthsimple-refund
wealthsimple-payment-spend
(可选,如果未提供,将使用备用帐户)2020-07-31 open Assets:Checking:Wealthsimple CAD
importer-type: "wealthsimple"
number: "A001"
2020-07-31 open Assets:Investment:Wealthsimple:TFSA:Parking CAD
importer-type: "wealthsimple"
number: "B002"
2020-07-31 open Assets:Investment:Wealthsimple:TFSA:ACWV ACWV
2020-07-31 open Assets:Investment:Wealthsimple:TFSA:XGRO XGRO
2020-07-31 open Income:Capital:Dividend:ACWV USD
wealthsimple-dividend-ACWV: "A001 B002"
2020-07-31 open Assets:Checking:Bank CAD
wealthsimple-contribution: "A001 B002"
2020-07-31 open Expenses:FinancialInstitutions:Investment:NonRegistered:Fees
wealthsimple-fee: "A001"
2020-07-31 open Expenses:FinancialInstitutions:Investment:Registered:Fees
wealthsimple-fee: "B002"
2020-07-31 open Expenses:Tax:NRWT
wealthsimple-non-resident-withholding-tax: "A001 B002"
2020-07-31 open Assets:TFSAContributionRoom TFSA.ROOM
wealthsimple-contribution-room: "B002"
2020-07-31 open Expenses:TFSAContributionRoom TFSA.ROOM
wealthsimple-contribution-room: "B002"
WealthsimpleLedgerMapper(ledger:)
创建一个 mapper 实例,传入包含上述元数据的账本。accounts
属性。mapPositionsToPriceAndBalance
或 mapTransactionsToPriceAndTransactions
将下载的头寸/交易映射到 SwiftBeanCountModel 的价格和余额/价格和交易。另请查看完整的文档 此处。 此外,您可以查看使用此库的 SwiftBeanCountImporter。
该库支持 Swift Package Manager,因此只需在您的 Package.swift
中添加一个依赖项即可
.package(url: "https://github.com/Nef10/SwiftBeanCountWealthsimpleMapper.git", .upToNextMajor(from: "X.Y.Z")),
请注意,我开发此库是为了满足我自己的需求,可能存在错误。 它目前有一些限制:
非常欢迎提出扩展范围或消除限制的 pull request。