帳單事件資料饋送 - AWS Marketplace

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

帳單事件資料饋送

此資料饋送提供帳單事件的相關資訊,包括開立發票和支付。

例如,您可以使用此資料饋送來瞭解何時開立購買者發票,以及何種方式開立商業發票。您也可以使用範例SQL查詢來分析此資料饋送中的資料。

此資料饋送包含您身為記錄賣方之帳單事件的相關資訊。針對透過通路合作夥伴達成的合約,此資料饋送包含製造商與賣方記錄之間的帳單事件相關資訊。

帳單事件資料饋送會每 24 小時重新整理一次,因此每天都有新資料可用。

計費事件資料是不可變的。

下表說明資料饋送欄的名稱和說明。

資料欄名稱 描述
帳單事件 ID 帳單事件的識別碼。此 ID 在賣家環境中是唯一的。
來自帳戶

啟動帳單事件的帳戶。如果transaction_typeSELLER_REV_SHARE,則為買家的付款人帳戶。這是帳戶資料饋送的外部索引鍵。

可用於聯結至account_id欄位上的Account資料摘要。

到帳戶 ID 接收產品交易金額的科目。這是帳戶資料饋送的外部索引鍵。

可用於聯結至account_id欄位上的Account資料摘要。

用戶帳戶 ID 使用產品的帳戶。此帳戶可能與買家和付款人帳戶不同。

可用於聯結至account_id欄位上的Account資料摘要。

product_id 產品的識別碼。這是產品資料饋送的外部索引鍵。

可用於聯結至product_id欄位上的Product資料摘要。

動作

此事件的動作類型。可能的值如下:

  • INVOICED— 買家已收到該金額的發票。

  • FORGIVEN— 買家收到了金額的發票,並 AWS 恢復了費用。

  • DISBURSED— 賣家已支付這筆金額。這可能包括一個月的發票,也可以是按需支付。

交易類型

交易的型態。如需範例,請參閱 徵稅案例。可能的值如下:

  • SELLER_REV_SHARE— 正數;這是賣方在與買方的協議中設定的價格。

  • SELLER_TAX_SHARE— 正數; 這是添加SELLER_REV_SHARE到支付賣家欠稅的金額。

  • AWS_REV_SHARE— 負數金額;這是刊登費用。

  • AWS_TAX_SHARE-正數; 這是除了徵 AWS 收的稅額SELLER_REV_SHARE。這筆金額不會影響賣家的餘額。這筆金額不會支付,是為了讓賣家知道向買方開立商業發票並代表賣家匯給當局的稅款。

  • transaction_type_REFUND— 買方要求的退款金額。

  • transaction_type_CREDIT— 金額 AWS 信貸買方.

  • BALANCE_ADJUSTMENT— 解決發票問題所 AWS 做的調整。

  • DISBURSEMENT— 如果的值action為,DISBURSED且的balance_impacting值為1,這是支付給賣家的金額。如果的值actionINVOICED,則此記錄會以全部或部分負數parent_billing_event_id記錄。在此情況下,會顯示相關disbursement_billing_event_id的支付,且值為。balance_impacting 0

  • DISBURSEMENT_FAILURE— 取消交易。

父系帳單事件 ID

當的值broker_id為時AWS_INC,值actionDISBURSEDFORGIVEN,且的值為時DISBURSEMENTparent_billing_event_id表示啟動此帳單事件的原始billing_event_id值。transaction_type如果action有其他值,則此欄位為空值。

當值為時AWS_EUROPEparent_billing_event_id指的broker_id是在下列案例中billing_event_id起始此帳單事件的原始值:

  • 的值actionFORGIVENINVOICED,的值 transaction_type AWS_REV_SHAREAWS_REV_SHARE_REFUND、或SELLER_REV_SHARE_REFUND

  • 的值actionDISBURSED,的值transaction_typeANY (不含DISBURSEMENT_FAILURE)。

  • 的值transaction_typeAWS_TAX_SHAREAWS_TAX_SHARE_REFUNDSELLER_TAX_SHARE、或 SELLER_TAX_SHARE_REFUND

  • 的值actionDISBURSED,的值transaction_typeDISBURSEMENT_FAILURE

當值為時AWS_EUROPEparent_billing_event_id指的broker_id是下列案例中先前成功支付帳單事件billing_event_id的原始值:

  • 的值actionDISBURSED,的值transaction_typeDISBURSEMENT_FAILURE

當的broker_id值為時AWS_EUROPE,對於所有剩餘案例,此欄位都是空值。

支付帳單 _ 事件識別碼

當值為DISBURSED且下列其中一項action為真時,相關支付:

  • transaction_type like ('SELLER%')

  • transaction_type like ('AWS%')

在所有其他情況下,此值為 null。

amount 帳單事件金額。
currency ISO639 貨幣代碼。
餘額影響 在計算賣家支付時是否考慮到該金額。的值0表示顯示金額以供參考,對餘額沒有影響。值1表示在決定賣家支付款項時會考慮此金額。
發票日期 商業發票的建立日期。
付款到期日

當的值action為時INVOICED,表示商業發票的到期日。

使用期間開始日期 記錄中期間的開始日期。
使用期間結束日期 記錄中期間的結束日期。
發票 ID

AWS 商業發票識別碼。

帳單位址識別碼 地址資料饋送中付款人的帳單地址參考。

可用於聯結至address_id欄位上的Address資料摘要。

交易參照識別碼

可讓您交互參照下列報表中資料的識別碼:

跟踪

對於支付交易 (transaction_type= 是DISBURSEMENT,作業為DISBURSED),銀行指定的追蹤識別碼。追蹤 ID 可用來與賣家銀行提供的銀行報告建立關聯。

經紀人

促進交易的業務實體的標識符。可能的值如下:

  • AWS_INC

    — AWS, Inc. 的識別碼 (總部設在美國)。

  • AWS_EUROPE

    — Amazon Web Services 的標識符 EMEASARL(總部設在盧森堡)。

  • NULL

    — 沒有明確的以前的交易broker_id得到了便利。AWS_INC

買家交易 _ 參考 ID

使用GROUP BY或建構中的視窗函數,將帳單摘要中的所有相關記錄群組在一起的識別碼SQL。這些相關記錄可能包含買家帳單、賣家帳單和刊登費的增值稅 (VATs)。

徵稅案例

對於買方和賣方的國家/地區和州的稅收模式決定了如何收取和匯款。以下是可能的情況:

  • 稅收由收取和匯款 AWS。在這些情況下,transaction_typeAWS_TAX_SHARE.

  • 稅款由賣方收取 AWS,支付給賣方,並由賣方匯給稅務機關。在這些情況下,transaction_typeSELLER_TAX_SHARE.

  • 稅金不是由收取 AWS。賣方必須計算稅款並將其匯給稅務機關。在這些情況下, AWS Marketplace 不會執行稅金計算或接收稅務資訊。賣方從收入分成中支付稅款。

帳單事件資料饋送範例

本節顯示開立發票時的帳單事件資料期間範例,以及一個月後的範例。請注意此段落中所有表格的下列事項:

  • 在資料摘要中,billing_event_id值是 40 個字元的英數字串。它們在這裡顯示為兩個字符的字符串以提高可讀性。

  • 在資料摘要中,此資訊會顯示在單一表格中。為了便於閱讀,這裡的數據顯示在多個表中,並且不顯示所有列。

對於本節中的範例,假設如下:

  • 阿納姆是買家。

    • 他的帳戶 ID 是737399998888

    • 他位於法國,受到市場主導者法律的約束。如需詳細資訊,請參閱 Amazon 網路服務稅務說明

    • 他購買prod-o4grxfafcxxxx並開具發票 $120.60 他每月使用該產品.

    • 他在一個月內支付了發票。

  • 珍是製造商。

    • 她的帳戶 ID 是111122223333

  • 保羅是唱片的賣家

    • 他的帳戶 ID 是777788889999

    • 他住在堪薩斯州,這不受市場協調者法律的約束。

記錄賣家的帳單事件資料饋送

作為記錄賣家,保羅向買方發票阿納姆。

下表顯示 Paulo 發票 Arnav 時在資料摘要中的相關資訊。

帳單事件 ID 來自帳戶 到帳戶 ID 用戶帳戶 ID product_id 動作 交易類型
I0 737399998888 777788889999 737399998888 項目-o4 格拉法卡 XXXX INVOICED SELLER_REV_SHARE
I1 737399998888 AWS 737399998888 項目-o4 格拉法卡 XXXX INVOICED AWS_TAX_SHARE
I2 777788889999 111122223333 737399998888 項目-o4 格拉法卡 XXXX INVOICED SELLER_REV_SHARE
I3 777788889999 AWS 737399998888 項目-o4 格拉法卡 XXXX INVOICED AWS_REV_SHARE

父系帳單事件 ID 支付帳單 _ 事件識別碼 amount currency 發票日期 發票 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

下表顯示當月底 Paulo 資料饋送中的相關資訊,Arnav 支付發票後。

帳單事件 ID 來自帳戶 到帳戶 ID 用戶帳戶 ID product_id 動作 交易類型
I10 737399998888 777788889999 737399998888 DISBURSED SELLER_REV_SHARE
I12 777788889999 111122223333 737399998888 DISBURSED SELLER_REV_SHARE
I13 777788889999 AWS 737399998888 項目-o4 格拉法卡 XXXX DISBURSED AWS_REV_SHARE
I14 AWS 777788889999 DISBURSED DISBURSEMENT

父系帳單事件 ID 支付帳單 _ 事件識別碼 amount currency 發票日期 發票 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 時,珍的資料摘要中的相關資訊。

帳單事件 ID 來自帳戶 到帳戶 ID 用戶帳戶 ID product_id 動作 交易類型
I5 777788889999 111122223333 項目-o4 格拉法卡 XXXX INVOICED SELLER_REV_SHARE
I6 777788889999 111122223333 項目-o4 格拉法卡 XXXX INVOICED SELLER_TAX_SHARE
I7 111122223333 AWS 項目-o4 格拉法卡 XXXX INVOICED AWS_REV_SHARE

父系帳單事件 ID 支付帳單 _ 事件識別碼 amount currency 發票日期 發票 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 資料饋送中的相關資訊,即發票付款後。

帳單事件 ID 來自帳戶 到帳戶 ID 用戶帳戶 ID product_id 動作 交易類型
I30 777788889999 111122223333 項目-o4 格拉法卡 XXXX DISBURSED SELLER_REV_SHARE
I31 777788889999 111122223333 項目-o4 格拉法卡 XXXX DISBURSED SELLER_TAX_SHARE
I32 111122223333 AWS 項目-o4 格拉法卡 XXXX DISBURSED AWS_REV_SHARE
I33 AWS 111122223333 DISBURSED DISBURSEMENT

父系帳單事件 ID 支付帳單 _ 事件識別碼 amount currency 發票日期 發票 ID
I5 I33 -73.5 USD
I6 I33 -6.5 USD
I7 I33 7.35 USD
72.65 USD

查詢範例

如中所述使用 data feeds 收集和分析資料,您可以使用 Athena 對收集並以資料饋送形式存放在受管 Amazon S3 儲存貯體中的資料執行查詢。本節提供一些您可能執行此操作的常見方法範例。所有範例都假設使用單一貨幣。

範例 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;