加密资产会计、审计和英国税务计算(资本收益/所得税)

BittyTax的Python项目详细描述


<<<<<<<<<<<<<<<亚胺咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪" src====="https://www www www.com-smimimimimimimimimimimimimimimimimimimimimimimimimimimimimimimimimimimimimimimimimimimimimimimimimimimimimimimimimimimimimimimimim<<<>>>><<<<<<<<<<<<<<<亚胺咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪咪" src=="https://com-camo.cmh1.pssosted.org/b3fff33fcccccc101999999999999999999333333第三三三三三三三三三三三三三三三三三三三三三三三三三三三三三三三三三三三三三三三三三三三三三三三三三三三三三三三三三三三三三三三三三三三三三三三三三三三三三>

比特税

BittyTax是一个命令行工具的集合,可以帮助您管理CryptoAsset帐户。允许您审计、评估和计算您的年度英国资本利得和所得税。

这个工具是为已经熟悉英国加密资产税收规则的人设计的。hmrc最近发布了新的指南,在末尾的资源部分提供了一些有用的链接。

比特税包括三种不同的工具。

  1. BittyTax-处理交易记录、审计账户、提供每年的税务摘要并显示您的加密资产组合的当前值(请参见"会计工具" rel="nofollow">会计工具

  2. BittyTax U Conv-将来自许多不同钱包和交易所的数据文件转换为BittyTax交易记录格式(请参见转换工具

  3. bittytax u price-查找加密资产和外币的历史价格数据(请参见价格工具

免责声明

本软件版权所有(c)nano nano ltd,并授权在AGPLv3许可下使用,有关详细信息,请参阅许可证文件。

Nano Nano有限公司不提供税务、法律、会计或财务建议。本软件及其内容仅供参考,因此不应依赖于税务、法律、会计或财务建议。

在采取任何行动之前,您应该从专业会计师、税务或法律/财务顾问处获得具体的专业建议。

本软件按"原样"提供,nano nano ltd不对任何子公司就本软件或其任何内容的适用性或可用性作出任何明示或暗示的保证。

开始

先决条件

在安装BittyTax之前,您需要在计算机上安装Python2.7或3.x。MacOS和大多数Linux发行版已经预装了Python。

如果您需要安装python,我们建议您安装python 3.x,请参见https://wiki.python.org/moin/初学者指南/download" rel="nofollow">https://wiki.python.org/moin/初学者指南/download了解说明。

注意:BittyTax目前处于测试版(请参见更改og文件了解详细信息)它已经在MacOS和Windows 10上使用Python2.7和Python3.7进行了测试。

安装

要安装最新版本:

    $ pip install BittyTax

或使用以下命令安装

    $ python setup.py install

注意:这将安装最新的未发布版本,其中可能包括未经测试的更改,请检查更改日志

升级

要升级到最新版本:

    $ pip install --upgrade BittyTax

交易记录

BittyTax仅与您提供的数据一样准确,您必须保留所有加密资产交易的记录-不仅是交易记录,还包括支出、礼品发送和接收等记录。

提供了BittyTax Conv工具来帮助保存此交易记录,它允许将从不同钱包和交易所导出的数据处理为BittyTax会计工具所需的格式。还可能需要手动输入或编辑此数据,并且在使用之前,必须对任何已转换的导出数据进行审核和审核。

文件应采用CSV(逗号分隔值)格式,每行应包含以下字段。

<表><广告>字段键入说明 < /广告><正文>键入存款代币存入您拥有的钱包挖掘作为采矿收入收到的代币收入 作为其他收入收到的代币收到的礼物作为礼物收到的代币撤销从您拥有的钱包中提取的代币花费用于商品或服务的代币送礼作为礼物发送的代币慈善机构已发送作为礼物送给慈善机构的代币交易代币兑换另一代币或法定货币购买数量收购资产数量购买资产收购资产的符号名称购买价值收购资产的英镑价值销售数量处置资产数量出售资产符号处置资产的名称销售价值处置资产的英镑价值费用数量费用数量费用资产符号用于收费的资产名称费用价值费用的英国池塘价值(英镑)钱包钱包名称时间戳交易日期/时间

事务类型指定行中哪些字段是必需的,可以是(m)和(o)选项。

<表><广告>键入购买数量 购买资产 购买价值 销售数量 出售资产 销售价值 费用数量 费用资产 费用值钱包 时间戳< /广告><正文>存款 M M O O O M挖掘 M M O O O O O M收入 M M O O O O M收到的礼物 M M O O O O O M撤销 M M O O O M花费 M M O O O O O M送礼 M M O O O O O M慈善机构已发送 M M O O O O O M交易 M M O M M O O O O O M
  • 如果指定了费用,则买卖数量应为净金额(即在任何费用调整之前)。

  • "购买价值"、"出售价值"和"费用价值"字段始终是可选的,如果您不提供固定值,BittyTax将通过其价格数据源之一计算该值。

  • Wallet name是可选的,但如果您想在多个钱包中审核加密资产余额,则建议您使用它。

  • 时间戳的格式应为yyyy-mm-ddthh:mm:ss zzz,可识别的时区(zzz)为GMT、BST和UTC。

  • CryptoAsset符号名称需要在整个交易记录中保持一致。例如,比特币现金在第一次分叉时被称为bcc和bch,但最近也被称为bchabc或bab。您选择的符号名称应与价格数据源使用的符号名称匹配,否则估价将失败,有关详细信息,请参见价格工具。

  • 交易记录可以按任何顺序列出,BittyTax将在处理前按时间戳对其排序。

这里包括一个交易记录文件示例。

存款

a存款是一个转账交易记录,表示您控制的钱包收到了加密资产代币。例如,您可能已将代币存入交易所的钱包,准备交易。

存款不应用于记录转移到他人钱包的款项,这将被归类为送出的礼物或花费。

因为代币总是从一个钱包移动到另一个钱包,所以每次存款都应该有一个等价的取款交易记录。存放的代币数量通常会少于因网络交易费用而提取的数量。存款和取款不应纳税。

存款类型也可用于将法定存款记录到交易所,尽管这不用于税务计算,但将用于审计目的。

退出

a取款是一个转账交易记录,它表示从您控制的钱包发送的代币。它总是与存款交易结合使用。

提款类型还可用于记录菲亚特从交易所的提款。

采矿

挖掘事务类型用于标识作为挖掘收入接收的令牌。收入交易类型也可以用来记录,它的用途纯粹是描述性的。

这些交易记录将出现在您的所得税报告中。

收入

收入交易类型用于将收到的代币识别为其他收入。

这些交易记录将出现在您的所得税报告中。

礼品收据IVED

已收到的礼品交易类型用于记录作为礼品收到的CryptoAsset代币。

收到的礼物不作为收入征税。

花费

a支出是一个处置交易记录,用于记录代币在商品或服务上的支出。

作为处置交易,适用于资本利得税。

送礼

a礼品发送是一个处置交易记录,它标识作为礼品发送的加密资产令牌。

作为处置交易,适用于资本利得税。

慈善机构已发送

a慈善发送是一个处置交易记录,它将发送给慈善机构的加密资产令牌标识为礼物。它的处理方式与发送的礼物是一样的,它的目的纯粹是描述性的。

交易

交易交易类型记录一项加密资产与另一项加密资产或法定货币的交换。

这可能是由于以下原因之一。

  • 菲亚特加密(收购)
  • 加密到加密(处理)
  • 加密到菲亚特(处理)

在菲亚特对加密交易的情况下,出售资产将是菲亚特,即英镑或您使用的任何货币,出售数量将包含金额。如果货币是英镑,则没有理由指定销售价值。

在相反的情况下,加密到菲亚特,购买资产将是菲亚特,购买数量是菲亚特的金额。

处置交易适用于资本利得税。

其他类型?

下面是一些您可能需要记录但未定义特定事务类型的其他情况的列表。如果用户觉得有好处,可以在将来添加这些功能。

  1. 空投-如果没有任何回报,这些代币可以记录为收到的礼物,或者如果代币的分配取决于提供服务或其他条件,见HMRC空投指南
  2. 除尘一些交易所在一段时间后从钱包中取出非常少量的加密资产代币,因为这些代币太小,无法交易或提取。这可以捕获为花费的值为0。
  3. fork-如果您拥有fork的CryptoAsset,则创建的新CryptoAsset代币可以记录为收到的礼物,但购买值为0。这假设您没有在原始和新的CryptoAsset之间分摊成本。目前不可能从原始密码资产中获得成本并将其分配给新的密码资产。参见HMRC关于区块链分叉的指导
  4. 送给配偶的礼物-如果加密资产代币是送给配偶的,则可以将其记录为已发送的礼物,但售价为0。
  5. 保证金融资-从交易所收到的作为保证金融资回报的代币可以捕获为收入
  6. 丢失-丢失的令牌(即私钥不可恢复)必须报告/由hmrc接受为"可忽略值声明"。这些都被视为一种处置,然后是对损失金额的重新收购,因为从技术上讲,你仍然拥有加密资产。这可以记录为加密到菲亚特交易,英镑成本为0,然后是加密到菲亚特交易,同样数量的加密资产,成本也为0。
  7. 立桩-从立桩证明(POS)收到的代币可记录为m收入

excel

您可以使用诸如ms-excel之类的应用程序来编译和编辑事务记录。然后,这些文件可以导出为csv文件,并加载到BittyTax会计工具中。

如果您确实使用excel,则需要注意一些陷阱。

  1. "虽然excel可以显示30位小数,但它对指定数字的精度仅限于15位有效数字"。例如,如果将数字1184.210334916848655添加到单元格中,excel会将其截断为1184.21033491684,这是15个有效数字。从税务角度来看,这种截断可能并不重要,但会导致您的帐户无法正确平衡。

  2. 将工作表另存为csv文件时,保存的数字是按格式显示的数字,格式可能会被截断,而不是单击单元格编辑时看到的实际数字。

避免这些问题的一种方法是将所有单元格格式化为文本。与其直接在Excel中打开CSV文件,不如打开Excel并使用"文件">;"导入",按照"文本导入向导"的步骤操作,在选择数据格式时,请确保为所有列选择文本。

如果转换工具检测到任何超过15位精度的数据,将显示警告。

会计工具

一旦您将所有交易记录存储在csv文件中,您就可以使用bittytetax来处理它们。

bittytax <filename>

您可以使用其他命令行参数来查看所有这些参数使用帮助命令。

bittytax --help

-ty--tax year参数告诉BittyTax只输出指定年份的税务摘要,默认情况下,将为包含应税事件的所有年份生成税务摘要。

bittytax <filename> -ty 2019

您可以使用-d--debug命令参数打开调试,这将导致BittyTax生成交易记录、审核和税务计算的详细日志记录。

记帐工具按以下顺序执行这些功能:

  1. 导入交易记录
  2. 审核
  3. 游泳池同一天
  4. 匹配"同一天"规则
  5. 床位与早餐匹配规则
  6. 流程不匹配(第104节)
  7. 流程收入
  8. 纳税汇总报告(每年)
  9. 当前持股报告

导入交易记录

首先导入交易记录,然后根据其交易类型进行验证,确保包含正确的强制和可选字段。

费用

作为进口过程的一部分,买卖数量由任何费用调整。比特税不单独核算费用。

费用资产类型必须与买卖资产类型相匹配。

日志记录

如果启用调试日志记录,则可以检查BittyTax是否已正确解释CSV文件中的事务记录。

交易的所有时间戳均正常化为当地时间(GMT或BST),这是正确计算税款所必需的(即,同日规则)。

正如您在下面的示例中所看到的,文件中的行号被指示,并且指定的任何可选值字段都显示在数量和资产之后的方括号中。任何费用调整都会显示数量。

INFO -- : ==IMPORT TRANSACTION RECORDS==DEBUG -- : [Row:1] Deposit: 870 GBP "LocalBitcoins" 2013-05-24T21:16:46 BSTDEBUG -- : [Row:2] Trade: 10 BTC <- 870 GBP "LocalBitcoins" 2013-05-24T21:17:40 BSTDEBUG -- : [Row:3] Withdrawal: 10 BTC "LocalBitcoins" 2013-05-24T21:20:49 BSTDEBUG -- : [Row:4] Deposit: 10 BTC "Desktop wallet" 2013-05-24T21:20:49 BSTDEBUG -- : [Row:5] Spend: 0.002435 BTC (£0.80 GBP) "Desktop wallet" 2014-06-26T12:25:02 BSTDEBUG -- : [Row:6] Deposit: 2,693.8 USD "Bitstamp" 2014-05-29T09:33:00 BSTDEBUG -- : [Row:7] Gift-Sent: 0.02757 BTC "Desktop wallet" 2014-07-18T14:12:47 BSTDEBUG -- : [Row:8] Trade: 0.41525742 BTC <- 258.82 USD "Bitstamp" 2014-07-23T11:58:00 BSTDEBUG -- : [Row:9] Trade: 0.58474258 BTC <- 364.45 USD "Bitstamp" 2014-07-23T11:58:00 BST

审核< /H3>

audit函数获取原始事务记录,按时间戳对其排序,然后按时间顺序重放它们。

通过模拟在钱包之间移动的代币(以及菲亚特),您可以将最终审核余额与真实钱包和兑换余额进行比较。

INFO -- : ==FINAL AUDIT BALANCES==INFO -- : Bitstamp:BTC=0INFO -- : Bitstamp:USD=0INFO -- : Coinfloor:BTC=0INFO -- : Coinfloor:GBP=0INFO -- : Desktop wallet:BTC=13.11024863INFO -- : LocalBitcoins:BTC=0INFO -- : LocalBitcoins:GBP=0INFO -- : Poloniex:BTC=2.89354264INFO -- : Poloniex:ETH=248.60854866INFO -- : Poloniex:XRP=19,037.77593453

如果它们不匹配,可能是您的交易记录不完整。

如果加密资产余额为负,BittyTax将发出警告,如果交易的时间顺序不准确,则可能发生这种情况。

如果确实遇到问题,可以打开"调试"以生成审核的详细日志记录,这样就可以看到每个单独的交易对钱包的影响。

在下面的调试示例中,您可以看到每一行显示钱包的名称、它的资产、新余额,并在括号中显示添加或减去的数量。

DEBUG -- : ==FULL AUDIT TRANSACTIONS==...DEBUG -- : Bitstamp:BTC=0.41525742 (+0.41525742)DEBUG -- : Bitstamp:USD=2,434.98 (-258.82)DEBUG -- : Bitstamp:BTC=1 (+0.58474258)DEBUG -- : Bitstamp:USD=2,070.53 (-364.45)DEBUG -- : Bitstamp:BTC=1.86 (+0.86)DEBUG -- : Bitstamp:USD=1,546.86 (-523.67)DEBUG -- : Bitstamp:BTC=2.76 (+0.9)DEBUG -- : Bitstamp:USD=998.65 (-548.21)DEBUG -- : Bitstamp:BTC=4.40037953 (+1.64037953)DEBUG -- : Bitstamp:USD=0 (-998.65)DEBUG -- : Bitstamp:BTC=0 (-4.40037953)

尽管很重要,但可以使用-s--skipaudit命令参数禁用审核功能,以加快税务报告的速度。

游泳池当天

HMRC规定,同一人在同一天以相同身份收购的同一公司的同一类别的所有股份,均被视为是被单一交易""这与处置相同。

拆分交易

在加密资产池化之前,交易记录需要分为购买(收购)和出售(处置)交易。

对于加密到加密的交易记录,这将导致生成两个交易,一个用于购买资产,另一个用于出售。

在这个事务记录的拆分过程中,每个事务都被赋予一个值(如果还没有指定的话)。它的成本(英镑)是通过一个不同的价格数据源计算的,具体方法请参见价格工具。

我们只剩下加密资产交易,买卖。菲亚特的资产被删除,因为这些资产现在被纳入交易成本。

在同一天获得的同一加密资产的代币被汇集到一个单一的购买交易中,这同样适用于在同一天处置的代币。这些资金集中在一笔出售交易中。

存款取款交易不包括在这些池中,因为它们不是应纳税事件。

日志记录

通过启用调试日志记录,您可以检查交易记录是否已正确拆分为买入和卖出,是否使用了正确的价格数据源,以及是否已合并了当天的交易。

tid是事务id,它与csv文件中的行号相匹配,以便跟踪。

    $ pip install BittyTax
0

池式事务由末尾的事务计数表示,显示在方括号内。池中包含的事务缩进到池的下面。

    $ pip install BittyTax
1

匹配"同一天"规则

参见"同一天"规则tcga92/s105(1)"

此税务功能匹配同一天发生的同一加密资产的任何买卖交易。

如果买卖数量不匹配,则较大数量的交易将分成两部分,并分摊成本。

这允许为匹配的交易计算利润或亏损,并允许包含剩余部分的交易结转,并用于进一步的计算。

日志记录

启用调试后,您可以看到哪些交易与当天的""匹配,以及买卖在何处被拆分。

任何新的交易为拆分创建的saction与原始tid一起分配,但用小数点分隔它的唯一id,从1开始。

    $ pip install BittyTax
2

匹配"床和早餐"规则

参见"TCGA92/S106A(5)和(5a)""

此税函数匹配30天内发生的同一加密资产的出售与回购。

"同一天"规则一样,如果买卖数量不匹配,交易将被分割。

事务按时间戳排序,并按时间顺序匹配。

任何匹配的"同一天"交易都不在此规则中。

日志记录

启用调试后,您可以查看哪些交易符合"bed&breakfast"规则,以及卖出和回购之间的天数。

    $ pip install BittyTax
3

处理不匹配(第104节)

任何未匹配的交易都将根据1992年《资本利得税法案》第104节进行处理。

每个加密资产都保存在自己的池中,称为第104节保留,未匹配的交易按时间顺序处理。

随着代币的获得,持有加密资产的总成本也会增加。

如果持有的所有代币都被处置,则成本将是该加密资产持有的总成本。

如果只处理了一些代币,则成本计算为总成本的一小部分。这个分数是由处置的令牌数量除以持有的令牌总数计算得出的。

然后,通过从处置收益中减去该成本来计算损益。

转账交易,取款存款不征税。代币将被移除,然后重新添加到持有中,但成本为零。

注意:在a取款和a存款之间的持有不发生处置事件是很重要的。这是因为令牌是临时删除的,因此会影响成本计算。可以在调试日志中检查事务的顺序。

日志记录

在第104节计算之前,为了清楚起见,显示所有更新的事务,这包括由匹配功能添加的任何新的"分割"事务。此输出按资产和时间戳排序。

已匹配的交易,因此被排除在第104节持有之外,在最后用(m)表示。

    $ pip install BittyTax
4

启用调试后,您可以看到正在处理的不匹配事务的详细日志记录,以及它对单个持有的影响。

在每笔交易的下方,它显示了加密资产的持有情况,以及代币和总成本的更新金额。

在交易结束时,当处置发生时,收益计算如下所示。

    $ pip install BittyTax
5

加工收入

该功能搜索所有原始交易,并记录任何适用于所得税的交易。目前,这只是挖掘收入交易类型。

然后将这些数据输出到税务摘要报告中。

税务汇总报告

完成所有纳税计算后,将显示所有年份或通过命令参数指定的纳税年度的结果。

所有加密资产处置均按日期顺序列出,对于"床和早餐"处置,回购日期显示在括号内。

已提供足够的信息供您填写您的自评税申报表中的"其他财产、资产和收益"部分,或交给您的会计填写。

资本利得税的数字纯粹是一个估计数,按20%的税率计算。很明显你会需要考虑同一年的其他资本损益,并根据您的收入使用正确的税率。

如您在下面的示例报告中所看到的,如果处置收益超过该纳税年度年度津贴的4倍,则报告功能将发出警告。HMRC要求您在自我评估中报告这一点,即使收益在您的年度津贴范围内。

最后,所有收入事件都按日期顺序列出当年的收入总额。您应该根据您的个人情况向会计询问如何报告。

    $ pip install BittyTax
6

当前持股报告

"当前持有"报告列出了所有剩余的加密资产余额及其当前估值。

默认情况下,不包括空钱包,可以在配置文件中更改此设置,请参见配置。

用于当前价格的数据源与用于历史价格的数据源相同,请参见价格工具

    $ pip install BittyTax
7

注:

舍入

用于税务计算的价格四舍五入到小数点后两位,使用"round half to偶数",如下。

  1. 当一个值被分配给一个事务时(请参见分割事务)
  2. 在匹配过程中,将交易分为两部分时分摊的成本(请参见匹配"同一天"规则
  3. 为部分处置加密资产而计算的部分成本(请参见process unmatched

转换工具

BittyTax转换工具BittyTax_conv提供了一种简单的方法,可以将您从各种不同的钱包和交易所导出的数据文件转换为BittyTax所需的交易记录格式。

钱包:

  • 驻极体
  • 实时分类账
  • Qt钱包(即比特币核心)
  • 特雷佐尔

交换:

  • 二进制
  • 比特币
  • 位戳
  • 比特树
  • 更改提示
  • 圆圈
  • 铸币基础
  • Coinbase Pro
  • 共层
  • 隐孢子虫
  • 神秘的
  • 网关
  • 好的
  • Poloniex
  • tradesatoshi
  • 坚持
  • wirex

探险家:

  • 以太网扫描

用法

"帮助"命令显示所有当前支持的数据文件格式的完整列表以及所有命令行参数的详细信息。

    $ pip install BittyTax
8

要使用转换工具(假设您已经导出了数据),只需将数据文件名作为命令参数传递,还可以通过按顺序列出多个文件来传递这些文件。这些文件可以是逗号分隔的值(.csv)格式或MS Excel(.xls和.xlsx),这两种文件都可以被工具识别。

    $ pip install BittyTax
9

该工具将分析数据文件,并尝试将其与已识别格式列表匹配。如果匹配成功,则数据文件将转换为BittyTax事务记录格式。这些新的csv记录将输出到终端窗口,但也可以使用重定向运算符捕获到文件中,如下例所示。

    $ python setup.py install
0

对于钱包数据文件,交易将仅分类为存款或取款,然后由您手动更正为支出、礼品、收入等。

一些钱包导出没有指定要使用的加密资产。对于这些,可以使用-ca--cryptoasset命令参数手动指定资产。

    $ python setup.py install
1

回顾

转换工具还允许您将钱包和交换数据文件转换为导入csv foRECAP使用的RMA(请参见https://help.recap.io/en/articles/2631702-importing-csvs-into-custom-accounts" rel="nofollow">https://help.recap.io/en/articles/2631702-importing-csv-into-custom-accounts)。这需要添加--format命令选项,如下所示。

    $ python setup.py install
2

验证

验证转换器工具生成的数据是否正确非常重要,有两种方法可以帮助您做到这一点。

追加

-a-append参数使转换工具输出附加到事务记录数据的原始数据。这将提供映射的记录,并使您更容易发现任何错误。

附加的数据格式也可以由BittyTax工具使用,附加数据将被忽略。

管道

在建立交易记录历史记录时,另一个有用的工具是将转换工具的输出直接导入BittyTax。

    $ python setup.py install
3

这将立即向您显示每个资产的余额应为该特定钱包或交换。请记住,在少数情况下(我将尝试在下面列出),所提供的交换数据并不完全平衡。这可能是因为导出文件中使用的舍入与交易所内部使用的舍入不同。

注:

  1. 有些交易所只允许交易的出口,这意味着必须手动创建存款和取款的交易记录,否则资产将不平衡。
  2. Bitfinex-导出数据时,请确保将默认的"日期格式"设置为"dd-mm-yy"。
  3. ChangeTip-转换工具要求配置用户名,这是为了标识哪些交易是已收到的礼物还是已发送的礼物(请参见config)。
  4. CoinBase-有许多不同的导出格式,BittyTax识别"交易历史记录"和"买卖和商户支出"报告(也称为"转账")。Coinbase为每个钱包(包括菲亚特和Crypto)提供这些报告。最终可能会出现重复的交易记录(即一个用于GBP钱包,另一个用于BTC钱包),这些记录必须手动过滤,转换器将通过将交易类型设置为"重复"来标记找到的部分重复记录。
  5. Coinbase Pro-转换器识别"交易导出"和"存款和取款导出"的"填充报告"。请注意,"帐户报告"还包含交易的详细信息("匹配"),但详细信息较少,这些信息会被工具过滤以防止重复。
  6. Gatehub-某些导出包含不完整的数据(即在"交换"中没有计数器资产),这些可能是失败的事务,工具将对它们进行筛选并发出警告,供您查看,数据似乎仍然正确平衡。任何不能归因于"支付"或"交换"的Ripple网络费用将作为支出交易记录单独包含。
  7. qt wallet-默认情况下,未确认的交易由转换工具过滤,如果要包含这些交易,请使用-uc--unconfirmed命令参数。
  8. 不平衡的交易所(只剩下一些灰尘)是加密的、好的、贸易的。

价格工具

BittyTax价格工具BittyTax_Price允许您查找加密资产和外币的当前和历史价格。在填写您的账户过程中,并不严格要求使用它,但它提供了一个有用的信息,可以帮助您了解BittyTax在以英镑计算您的加密资产价值时将分配的价格。

数据源: 跟随使用ING价格数据源。

使用数据源的优先级(主优先级、次优先级等)以及资产受配置文件控制的优先级(请参见配置文件)。如果主要数据源无法识别您的加密资产,则将使用次要数据源,依此类推。

所有价格数据都缓存在主目录中的.bittytax/cache文件夹中,这是为了防止重复查找并减少由于限制而可能失败的api的负载。

用法

要使用该工具,您需要传递资产符号名称,对于加密资产(即BTC)或外币(即美元),第二个参数仅对于历史数据查找是必需的,日期必须采用格式(yyyy-mm-dd)。如果未指定日期,则返回当前价格。

    $ python setup.py install
4

如果查找成功,不仅价格将显示在终端窗口中,还将显示使用的数据源和资产的全名。这有助于确保您在交易记录中使用的资产符号是正确的。

    $ python setup.py install
5

由于CryptoAsset符号没有标准化,同一个符号在不同的数据源中可能有两种不同的含义。例如,BTCP在CryptoCompare上是比特币专用的,但在Coingecko上也是比特币专业版。

如果BittyTax没有为您选择正确的价格,您可以更改配置,以便资产符号仅使用您需要的数据源,请参见配置。

您可以使用"帮助"命令参数来显示命令行参数的完整列表。

    $ python setup.py install
6

价格工具的另一个有用功能是计算特定交易的历史价格,您可以使用-q--quantity参数指定要定价的数量,如果您正在查看旧的钱包交易,并试图记住您的密码花在了什么上,则可以将此功能用作内存慢跑。

    $ python setup.py install
7

注:

  1. 并非所有数据源API都以英镑(GBP)为单位返回价格,因此在BTC中请求加密资产价格,然后作为两步过程从BTC转换为英镑(GBP)。
  2. 有些API返回同一天的多个价格,如果是这样,则始终使用"关闭"价格。
  3. 每个数据源的历史价格数据作为单独的json文件保存在主目录中的.bittytax/cache文件夹中。

配置

bittytax.conf文件位于主目录中的.bittytax文件夹中。

运行时创建的默认文件应该适合大多数用户。

如果您需要更改任何内容,下面将介绍这些参数,文件采用yaml格式。

<表><广告>参数 默认值 说明 < /广告><正文>菲亚特列表:['gbp','eur','usd']使用的菲亚特符号列表加密列表:['btc','eth','xrp','ltc','bch','usdt']优先加密资产符号列表交易资产类型:2用于计算交易中资产价值的方法显示空钱包:true在当前持有报告中包括空钱包传输包括:true在税务计算中包括转账交易数据源选择:{'btc':['coindesk']}将资产映射到特定数据源以获取价格数据源代码:['exchangeratesapi','ratesapi']用于菲亚特价格的默认数据源数据源加密:['cryptocompare','coingecko']用于加密资产价格的默认数据源用户名:ChangeTip使用的用户名列表

菲亚特汽车列表

用于区分菲亚特和CryptoAssets符号,请确保配置出现在此处交易记录中的所有菲亚特货币。

加密列表

确定在计算加密交易的加密值时哪个加密资产具有优先权(请参见trade-asset-type)。优先权是按顺序获得的,因此在eth/btc交易中,比特币的价值将优先于以太坊在交易定价时使用。

该名单应包含出现在交易所交易对中最普遍的加密资产,这些主要是较高的市值。令牌。

交易资产类型

控制用于计算交易资产价值的方法:

  • 0=购买资产价值
  • 1=出售资产价值
  • 2=优先资产价值(推荐)

每笔交易都涉及两种资产,一种是菲亚特对加密,一种是菲亚特对加密,另一种是加密对加密。当BittyTax试图计算一笔交易的价值时,它使用此参数来确定应使用哪种资产价值以英镑为交易定价。

对于涉及菲亚特的交易,我们显然希望使用菲亚特价值对资产进行定价,但对于加密到加密的交易,这并不那么直接。

建议设置为2(优先级),这意味着所选资产值将根据由fiat_listcrypto_list参数组合定义的优先级顺序进行选择。首先选择菲亚特,然后选择最流行的加密资产。

将此参数设置为12将导致始终使用买入资产价值或卖出资产价值,而不管交易是否涉及菲亚特。

显示空钱包

在当前持有报告中包括空钱包。可以设置为truefalse

传输包括

在税务计算中包括转账交易类型(即存款、取款)。可以设置为true(推荐)或false

尽管这些交易类型不应纳税,但它们确实会影响您持有加密资产的成本基础。

数据源选择

按优先顺序将特定资产符号映射到数据源列表。

此参数覆盖由data source_fiatdatasource_crypto定义的任何数据源,请参见下文。

默认情况下,只有BTC条目存在,这将选择CoinDesk作为比特币价格的主要数据源,CryptoCompare作为次要数据源。

例如,如果您希望btcp只使用coingecko数据源,那么您可以更改配置如下。

    $ python setup.py install
8

数据源菲亚特

指定将按优先级顺序使用哪个数据源来检索外币汇率。

    $ python setup.py install
9

菲亚特支持的数据源是:

  • exchangeratesapi
  • ratesapi

数据源加密

指定将按优先级顺序用于检索加密资产价格的数据源。

    $ pip install --upgrade BittyTax
0

加密资产支持的数据源是:

  • coindesk
  • 加密比较
  • coingecko
  • coinpaprika

用户名

此参数仅由转换工具使用。

更改提示数据文件需要用户名列表,用于标识哪些交易是收到的礼物和发送的礼物。

下面是一个示例。

    $ pip install --upgrade BittyTax
1

未来

项目路线图的想法,让我知道你最有用的地方,或者你想看到的新功能。

一般

  • 文档代码
  • 添加测试

转换工具

  • 添加有线交换
  • 添加二进制交换
  • 从剪贴板转换数据。有些钱包/交换机不提供导出功能,应该可以直接从网页复制交易数据,并让转换工具分析这些数据,然后将其转换为交易记录格式。
  • 添加选项以生成交易记录的.xls文件,而不是.csv文件,这将使在excel中编辑更容易。
  • 添加Exchange API以自动将新交易转换为交易记录格式。

价格工具

  • 添加命令选项以列出特定数据源支持的加密资产符号/名称。

会计工具

  • 允许加载.xls事务记录文件。
  • BittyTax与Excel的集成。命令行界面并不适合所有人,通过与excel(或open office)集成,这将大大改善用户体验。
  • 为税务摘要报告创建一个pdf文件,该文件可以附加到您的自我评估中。
  • 添加QuickBooks的导出功能(QBXML格式),以包括添加了汇率数据的交易记录。
  • 其他国家的税收规则

资源

hmrc链接:

HMRC网络研讨会

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java文本视图未显示在linearLayout中   java优化的json文件读写方式   java在列表值中时如何在hql中使用like查询?   netbeans向JavaDB添加外键   ubuntu 18.04 java版本显示为10,但安装了java 11   使用SpringJava配置引用具有依赖项的bean   java如何过滤数据库输出?(安卓 PHP)   java TextView在运行时扩展   java中日期时间的日期转换   java Android:将UTF8数据发送到MySQL   glassfish服务器中的java启用comet   javascript通过Java方法重定向到另一个servlet路径   java创建给定类的实例   java空手道:在我的CSV文件中,列的行数不同。读取数据时,为行数较少的列添加空值   java GWT身份验证用户会话   java Gui JCombobox文本变得模糊   在节点删除时调用java Swing JTree addTreeSelectionListener