本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
账单事件数据源
此数据源提供有关账单事件的信息,包括开发票和付款。
例如,您可以使用此数据源来了解为买家开发票的时间和内容。您也可以使用示例SQL查询来分析来自此数据馈送的数据。
此数据源包含与您作为其记录卖家的账单事件相关的信息。对于通过渠道合作伙伴达成的协议,此数据源包含有关制造商和记录卖家之间的账单事件的信息。
账单事件数据源每 24 小时刷新一次,因此每天提供的都是新数据。
账单事件数据是不可变的。
下表说明了数据源列的名称和说明。
列名称 | 描述 |
---|---|
billing_event_id | 账单事件的标识符。此 ID 在卖家的环境中是唯一的。 |
from_account_id |
启动账单事件的账户。如果 可用于连接 |
to_account_id | 接收产品的交易金额的账户。这是账户数据源的外键。 可用于连接 |
end_user_account_id | 使用产品的账户。此账户可能与买家账户和付款人账户不同。 可用于连接 |
product_id | 产品的标识符。这是产品数据源的外键。 可用于连接 |
action |
此事件的操作类型。可能值如下所示:
|
transaction_type |
交易的类型。有关示例,请参阅征税方案。可能值如下所示:
|
parent_billing_event_id |
如果 当
当
当 |
disbursement_billing_event_id |
其他所有情景下,此值为 Null。 |
amount | 账单事件金额。 |
currency | ISO639 货币代码。 |
balance_impacting | 在计算卖家付款时是否考虑该金额。值为 0 指示显示该金额以供参考,对余额没有影响。值为 1 指示在确定卖家付款时考虑该金额。 |
invoice_date | 创建发票的日期。 |
payment_due_date |
如果 |
usage_period_start_date | 记录中期间的开始日期。 |
usage_period_end_date | 记录中期间的结束日期。 |
invoice_id |
发 AWS 票编号。 |
billing_address_id | 地址数据源中的付款人账单地址参考。 可用于连接 |
transaction_reference_id |
允许您交叉引用以下报告中的数据的标识符: |
bank_trace_id |
对于支付交易( |
broker_id |
为交易提供便利的商业实体的标识符。可能值如下所示:
|
buyer_transaction_reference_id |
一种标识符,它使用 |
征税方案
买家和卖家所在国家/地区和州/省实施的征税模式决定了税款的收取和汇款方式。以下是可能的方案:
-
税款由收缴和汇出。 AWS在这些情况下,
transaction_type
为AWS_TAX_SHARE
。 -
税款由卖家收取 AWS,支付给卖家,然后由卖家汇给税务机关。在这些情况下,
transaction_type
为SELLER_TAX_SHARE
。 -
税款不是由收取的 AWS。卖家必须计算税款并将其汇款给税务机关。在这些情况下, AWS Marketplace 不进行税务计算或接收税务信息。卖家从收入份额中支付税款。
账单事件数据源示例
本部分显示开发票时和一个月之后的账单事件数据期间的示例。对于本部分中的所有表,请注意以下各项:
-
在数据源中,
billing_event_id
值为 40 个字符的字母数字字符串。为了便于阅读,它们在这里显示为两个字符的字符串。 -
在数据源中,此信息以单个表格形式显示。为了便于阅读,数据显示在此处的多个表中,并且不显示所有列。
对于本部分中的示例,假定以下内容:
-
Arnav 是买家。
-
他的账户 ID 是
737399998888
。 -
他位于法国,需要遵守电商平台促进法的规定。有关更多信息,请参阅 Amazon Web Service 税务帮助
。 -
他购买了
prod-o4grxfafcxxxx
并因他每月使用该产品而获得了 120.60 美元的发票。 -
他在当月内支付了发票。
-
-
Jane 是制造商。
-
她的账户 ID 是
111122223333
。
-
-
Paulo 是记录卖家。
-
他的账户 ID 是
777788889999
。 -
他住在堪萨斯州,这里不受电商平台促进法约束。
-
记录卖家的账单事件数据源
作为记录卖家,Paulo 向买家 Arnav 开具发票。
下表显示了在 Paulo 向 Arnav 开发票时其数据源中的相关信息。
billing_event_id | from_account_id | to_account_id | end_user_account_id | product_id | action | transaction_type |
---|---|---|---|---|---|---|
I0 | 737399998888 | 777788889999 | 737399998888 | prod-o4grxfafcxxxx | INVOICED | SELLER_REV_SHARE |
I1 | 737399998888 | AWS | 737399998888 | prod-o4grxfafcxxxx | INVOICED | AWS_TAX_SHARE |
I2 | 777788889999 | 111122223333 | 737399998888 | prod-o4grxfafcxxxx | INVOICED | SELLER_REV_SHARE |
I3 | 777788889999 | AWS | 737399998888 | prod-o4grxfafcxxxx | INVOICED | AWS_REV_SHARE |
parent_billing_event_id | disbursement_billing_event_id | amount | currency | invoice_date | invoice_id |
---|---|---|---|---|---|
100 | USD | 2018-12-31T00:00:00Z | 781216640 | ||
20.6 | USD | 2018-12-31T00:00:00Z | 781216640 | ||
-80 | USD | 2018-12-31T00:04:07Z | 788576665 | ||
-0.2 | USD | 2018-12-31T00:04:07Z | 788576665 |
下表显示了在 Arnav 支付发票后,月底时 Paulo 数据源中的相关信息。
billing_event_id | from_account_id | to_account_id | end_user_account_id | product_id | action | transaction_type |
---|---|---|---|---|---|---|
I10 | 737399998888 | 777788889999 | 737399998888 | DISBURSED | SELLER_REV_SHARE | |
I12 | 777788889999 | 111122223333 | 737399998888 | DISBURSED | SELLER_REV_SHARE | |
I13 | 777788889999 | AWS | 737399998888 | prod-o4grxfafcxxxx | DISBURSED | AWS_REV_SHARE |
I14 | AWS | 777788889999 | DISBURSED | DISBURSEMENT |
parent_billing_event_id | disbursement_billing_event_id | amount | currency | invoice_date | invoice_id |
---|---|---|---|---|---|
I0 | I14 | -100 | USD | 2018-12-31T00:00:00Z | 781216640 |
I2 | I14 | 80 | USD | 2018-12-31T00:04:07Z | 788576665 |
I3 | I14 | 0.2 | USD | 2018-12-31T00:04:07Z | 788576665 |
19.8 | USD |
制造商的账单事件数据源
下表显示了在 Paulo 向 Arnav 开发票时 Jane 数据源中的相关信息。
billing_event_id | from_account_id | to_account_id | end_user_account_id | product_id | action | transaction_type |
---|---|---|---|---|---|---|
I5 | 777788889999 | 111122223333 | prod-o4grxfafcxxxx | INVOICED | SELLER_REV_SHARE | |
I6 | 777788889999 | 111122223333 | prod-o4grxfafcxxxx | INVOICED | SELLER_TAX_SHARE | |
I7 | 111122223333 | AWS | prod-o4grxfafcxxxx | INVOICED | AWS_REV_SHARE |
parent_billing_event_id | disbursement_billing_event_id | amount | currency | invoice_date | invoice_id |
---|---|---|---|---|---|
73.5 | 2018-12-31T00:04:07Z | 788576665 | |||
6.5 | 2018-12-31T00:04:07Z | 788576665 | |||
-7.35 | 2018-12-31T00:04:07Z | 788576665 |
下表显示了发票支付发票后,月底时 Jane 数据源中的相关信息。
billing_event_id | from_account_id | to_account_id | end_user_account_id | product_id | action | transaction_type |
---|---|---|---|---|---|---|
I30 | 777788889999 | 111122223333 | prod-o4grxfafcxxxx | DISBURSED | SELLER_REV_SHARE | |
I31 | 777788889999 | 111122223333 | prod-o4grxfafcxxxx | DISBURSED | SELLER_TAX_SHARE | |
I32 | 111122223333 | AWS | prod-o4grxfafcxxxx | DISBURSED | AWS_REV_SHARE | |
I33 | AWS | 111122223333 | DISBURSED | DISBURSEMENT |
parent_billing_event_id | disbursement_billing_event_id | amount | currency | invoice_date | invoice_id |
---|---|---|---|---|---|
I5 | I33 | -73.5 | USD | ||
I6 | I33 | -6.5 | USD | ||
I7 | I33 | 7.35 | USD | ||
72.65 | USD |
示例查询
如使用数据馈送收集和分析数据中所述,您可以使用 Athena 对收集并作为数据源存储在托管的 Amazon 存储桶中的数据运行查询。本部分提供了您执行此操作可能采取的常见方法的一些示例。所有示例都假定使用单一币种。
示例 1:开具发票的金额,含税
要了解向买家开具发票的金额(含税),您可以运行查询,如以下示例所示。
SELECT sum(amount) FROM billing_event WHERE action = 'INVOICED' AND ( (transaction_type in ('SELLER_REV_SHARE', 'SELLER_TAX_SHARE') -- to discard SELLER_REV_SHARE from Manufacturer to Channel Partner, aka cost of goods AND to_account_id='
seller-account-id
' ) OR transaction_type= 'AWS_TAX_SHARE' );
示例 2:代表卖家向买家开具发票的金额
要了解代表卖家向买家开具发票的金额,您可以运行查询,如以下示例所示。
SELECT sum(amount) FROM billing_event WHERE action = 'INVOICED' AND transaction_type in ('SELLER_REV_SHARE', 'SELLER_TAX_SHARE') AND to_account_id='
seller-account-id
' ;
示例 3: AWS 可以代表卖家收取的金额
要了解 AWS 可以代表卖家收取的金额(减去任何退款、积分和免除的账户),您可以运行查询,如以下示例所示。
SELECT sum(amount) FROM billing_event WHERE -- what is invoiced on behalf of SELLER, incl. refunds/ credits and cost of goods transaction_type like 'SELLER_%' -- FORGIVEN action records will "negate" related INVOICED and action in ('INVOICED','FORGIVEN') ;
示例 4:卖家可以收取的金额
要了解卖家可以收取的金额,您可以运行查询,如以下示例所示。此示例删除了房源费用和收取的 AWS 税费,并添加了任何特殊余额调整。
SELECT sum(amount) FROM billing_event WHERE (transaction_type like 'SELLER_%' -- what is invoiced on behalf of SELLER or transaction_type like 'AWS_REV_%' -- what is owed to AWS or transaction_type = 'BALANCE_ADJUSTMENT' -- exceptionnal case ) and action in ('INVOICED','FORGIVEN') ;
您也可以使用以下查询来收集相同的信息,如以下示例所示。
SELECT sum(amount) FROM billing_event WHERE balance_impacting = 1 and action in ('INVOICED','FORGIVEN') ;
以下示例显示相同信息,但仅限于 2018 年交易,并假定所有买家都按照发票支付了款项。
SELECT sum(amount) FROM billing_event WHERE invoice_date between '2018-01-01' and '2018-12-31' and balance_impacting = 1 and action in ('INVOICED','FORGIVEN') ;
示例 5:支付金额
要了解已支付的金额,您可以运行查询,如以下示例所示。
select sum(amount) FROM billing_event WHERE action ='DISBURSED' and transaction_type like 'DISBURSEMENT%' ;
示例 6:待支付金额
要了解待支付的金额,您可以运行查询,如以下示例所示。此查询删除了已付款的金额。
SELECT sum(amount) FROM billing_event targeted WHERE (transaction_type like 'SELLER_%' -- what is invoiced on behalf of SELLER or transaction_type like 'AWS_REV_%' -- what is owed to AWS or transaction_type = 'BALANCE_ADJUSTMENT' -- exceptionnal case ) -- DISBURSEMENT action records will "negate" 'INVOICED' -- but do not take into account failed disbursements AND (not exists (select 1 from billing_event disbursement join billing_event failed_disbursement on disbursement.billing_event_id=failed_disbursement.parent_billing_event_id where disbursement.transaction_type='DISBURSEMENT' and failed_disbursement.transaction_type='DISBURSEMENT_FAILURE' and targeted.disbursement_billing_event_id=disbursement.billing_event_id ) ) ;
获取相同信息的另一种方法是运行查询来获取卖家余额,如以下示例所示。
SELECT sum(amount) FROM billing_event WHERE balance_impacting = 1 ;
以下查询扩展了我们的示例。它将结果限制为 2018 年交易,并返回有关交易的其他详细信息。
select sum(residual_amount_per_transaction) from (SELECT max(billed_invoices.amount) invoiced_amount, sum(nvl(disbursed_invoices.amount,0)) disbursed_amount, -- Exercise left to the reader: -- use transaction_type to distinguish listing fee vs seller-owed money -- still pending collection max(transaction_type) transaction_type, max(billed_invoices.amount) + sum(nvl(disbursed_invoices.amount,0)) residual_amount_per_transaction FROM billing_event billed_invoices -- find related disbursements left join billing_event disbursed_invoices on disbursed_invoices.action='DISBURSED' and disbursed_invoices.parent_billing_event_id=billed_invoices.billing_event_id WHERE billed_invoices.invoice_date between '2018-01-01' and '2018-12-31' and billed_invoices.transaction_type like 'SELLER_%' -- invoiced on behalf of SELLER and billed_invoices.action in ('INVOICED','FORGIVEN') -- do not take into account failed disbursements AND not exists (select 1 from billing_event failed_disbursement where disbursed_invoices.disbursement_billing_event_id = failed_disbursement.parent_billing_event_id ) GROUP BY billed_invoices.billing_event_id );
示例 7:一组发票的余额
要了解一组发票的总额,您可以运行查询,如以下示例所示。
SELECT invoice_id, sum(amount) FROM billing_event targeted WHERE -- invoice_id is only not null for invoiced records AND disbursed records -- linking them to related disbursement -> no need to filter more precisely invoice_id in ('XXX','YYY') -- filter out failed disbursements AND not exists (select 1 from billing_event disbursement join billing_event failed_disbursement on disbursement.billing_event_id=failed_disbursement.parent_billing_event_id where disbursement.transaction_type='DISBURSEMENT' and failed_disbursement.transaction_type='DISBURSEMENT_FAILURE' and targeted.disbursement_billing_event_id=disbursement.billing_event_id ) group by invoice_id;