Datenfeed zu Abrechnungsereignissen - AWS Marketplace

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Datenfeed zu Abrechnungsereignissen

Dieser Datenfeed enthält Informationen zu Abrechnungsereignissen, einschließlich Rechnungsstellung und Auszahlungen.

Sie können diesen Datenfeed beispielsweise verwenden, um zu erfahren, wann und wofür einem Käufer eine Rechnung ausgestellt wird. Sie können die SQLBeispielabfragen auch verwenden, um die Daten aus diesem Datenfeed zu analysieren.

Dieser Datenfeed enthält Informationen, die mit Abrechnungsereignissen verknüpft sind, für die Sie der eingetragene Verkäufer sind. Bei Vereinbarungen, die über Vertriebspartner getroffen wurden, enthält dieser Datenfeed Informationen über Abrechnungsereignisse zwischen dem Hersteller und dem Verkäufer.

Der Datenfeed zu Abrechnungsereignissen wird alle 24 Stunden aktualisiert, sodass täglich neue Daten verfügbar sind.

Daten zu Abrechnungsereignissen sind unveränderlich.

In der folgenden Tabelle finden Sie eine Übersicht über die Namen und Beschreibungen der Daten-Feed-Spalten.

Spaltenname Beschreibung
billing_event_id Eine Kennung für ein Abrechnungsereignis. Diese ID ist in der Verkäuferumgebung eindeutig.
from_account_id

Das Konto, das das Abrechnungsereignis initiiert hat. Wenn unter transaction_type SELLER_REV_SHARE angegeben ist, handelt es sich um das Zahlerkonto des Käufers. Dies ist ein Fremdschlüssel für den Kontodatenfeed.

Kann verwendet werden, um eine Verbindung zum Account Datenfeed auf dem account_id Feld herzustellen.

to_account_id Das Konto, das den Transaktionsbetrag für das Produkt erhält. Dies ist ein Fremdschlüssel für den Kontodatenfeed.

Kann verwendet werden, um eine Verbindung zum Account Datenfeed auf dem account_id Feld herzustellen.

end_user_account_id Das Konto, das das Produkt verwendet. Dieses Konto kann sich von den Käufer- und Zahlerkonten unterscheiden.

Kann verwendet werden, um eine Verbindung zum Account Datenfeed auf dem account_id Feld herzustellen.

product_id Die Kennung des Produkts. Dies ist ein Fremdschlüssel für den Produktdatenfeed.

Kann verwendet werden, um eine Verbindung zum Product Datenfeed auf dem product_id Feld herzustellen.

action

Der Typ der Aktion für dieses Ereignis. Die möglichen Werte lauten wie folgt:

  • INVOICED— Dem Käufer wurde der Betrag in Rechnung gestellt.

  • FORGIVEN— Dem Käufer wurde der Betrag in Rechnung gestellt und die Gebühr wurde AWS zurückerstattet.

  • DISBURSED— Der Verkäufer hat diesen Betrag erhalten. Dies kann einen Monat an Rechnungen enthalten oder eine On-Demand-Auszahlung sein.

transaction_type

Der Typ der Transaktion. Beispiele finden Sie unter Besteuerungsszenarien. Die möglichen Werte lauten wie folgt:

  • SELLER_REV_SHARE— Ein positiver Betrag; dies ist der Preis, den der Verkäufer in der Vereinbarung mit dem Käufer festgelegt hat.

  • SELLER_TAX_SHARE— Ein positiver Betrag; dies ist der Betrag, der zur SELLER_REV_SHARE Deckung der Steuern hinzukommt, die der Verkäufer schuldet.

  • AWS_REV_SHARE— Ein negativer Betrag; das ist die Angebotsgebühr.

  • AWS_TAX_SHARE— Ein positiver Betrag; dies ist der Betrag der zusätzlich AWS erhobenen SteuernSELLER_REV_SHARE. Dieser Betrag hat keinen Einfluss auf den Saldo des Verkäufers. Dieser Betrag wird nicht ausgezahlt und dient der Information des Verkäufers über die Steuern, die dem Käufer in Rechnung gestellt und im Namen des Verkäufers an die Behörden überwiesen werden.

  • transaction_type_REFUND— Der vom Käufer beantragte Rückerstattungsbetrag.

  • transaction_type_CREDIT— Der Betrag wird dem Käufer AWS gutgeschrieben.

  • BALANCE_ADJUSTMENT— Eine Anpassung, die von vorgenommen wurde AWS , um Probleme mit der Rechnungsstellung zu lösen.

  • DISBURSEMENT— Wenn der Wert von action ist DISBURSED und der Wert von balance_impacting ist1, ist dies der an den Verkäufer gezahlte Betrag. Wenn der Wert für action istINVOICED, negiert dieser Datensatz den parent_billing_event_id Datensatz entweder ganz oder teilweise. In diesem Fall wird die entsprechende Auszahlung angezeigt, und der Wert von disbursement_billing_event_id ist. balance_impacting 0

  • DISBURSEMENT_FAILURE— Negiert die Transaktion.

parent_billing_event_id

Wenn der Wert von broker_id istAWS_INC, der Wert von DISBURSED oder action ist und der Wert von transaction_type isFORGIVEN, parent_billing_event_id bezieht sich das auf das Original DISBURSEMENTbilling_event_id, das dieses Abrechnungsereignis ausgelöst hat. Wenn action einen anderen Wert aufweist, ist dieses Feld gleich null.

Wenn der Wert von broker_id istAWS_EUROPE, parent_billing_event_id bezieht sich der auf das Original, das dieses Fakturierungsereignis ausgelöst hatbilling_event_id, und zwar in den folgenden Szenarien:

  • Der Wert von action ist FORGIVEN oder INVOICED und der Wert von transaction_type ist AWS_REV_SHARE,AWS_REV_SHARE_REFUND, oderSELLER_REV_SHARE_REFUND.

  • Der Wert von action ist DISBURSED und der Wert von transaction_type ist ANY (ohneDISBURSEMENT_FAILURE).

  • Der Wert von transaction_type ist AWS_TAX_SHAREAWS_TAX_SHARE_REFUND,SELLER_TAX_SHARE, oder SELLER_TAX_SHARE_REFUND.

  • Der Wert von action ist DISBURSED und der Wert von transaction_type istDISBURSEMENT_FAILURE.

Wenn der Wert von broker_id istAWS_EUROPE, parent_billing_event_id bezieht sich der auf das Original billing_event_id des vorherigen erfolgreichen Abrechnungsereignisses für das folgende Szenario:

  • Der Wert von action ist DISBURSED und der Wert von transaction_type ist. DISBURSEMENT_FAILURE

Wenn der Wert von broker_id istAWS_EUROPE, ist dieses Feld für alle verbleibenden Szenarien Null.

disbursement_billing_event_id

Die zugehörige Auszahlung, wenn der Wert von action ist DISBURSED und einer der folgenden Punkte zutrifft:

  • transaction_type like ('SELLER%')

  • transaction_type like ('AWS%')

In allen anderen Szenarien ist dieser Wert Null.

Betrag Der Betrag des Abrechnungsereignisses.
currency Der ISO 639-Währungscode.
balance_impacting Gibt an, ob der Betrag bei der Berechnung der Auszahlungen des Verkäufers berücksichtigt wird. Der Wert 0 gibt an, dass der Betrag zu Informationszwecken angezeigt wird und keine Auswirkungen auf den Saldo hat. Der Wert 1 gibt an, dass dieser Betrag bei der Ermittlung der Auszahlungen des Verkäufers berücksichtigt wird.
invoice_date Das Datum, an dem die Rechnung erstellt wurde.
payment_due_date

Wenn der Wert von action istINVOICED, ist das Fälligkeitsdatum der Rechnung.

usage_period_start_date Das Startdatum für den Zeitraum im Datensatz.
usage_period_end_date Das Enddatum für den Zeitraum im Datensatz.
invoice_id

Die AWS Rechnungs-ID.

billing_address_id Die Rechnungsadresse des Zahlers im Adressdatenfeed.

Kann verwendet werden, um eine Verbindung zum Address Datenfeed auf dem address_id Feld herzustellen.

transaction_reference_id

Eine Kennung, mit der Sie Querverweise zu Daten aus den folgenden Berichten erstellen können:

bank_trace_id

Bei Auszahlungstransaktionen (transaction_type=ist DISBURSEMENT und Aktion istDISBURSED) die von der Bank zugewiesene Trace-ID. Die Trace-ID kann verwendet werden, um mit von der Bank bereitgestellten Berichten der Verkäuferbank zu korrelieren.

broker_id

Eine Kennung der Geschäftseinheit, die die Transaktion ermöglicht hat. Die möglichen Werte lauten wie folgt:

  • AWS_INC

    — Die Kennung von AWS, Inc. (mit Sitz in den Vereinigten Staaten).

  • AWS_EUROPE

    — Die Kennung für Amazon Web Services EMEA SARL (mit Sitz in Luxemburg).

  • NULL

    — Frühere Transaktionen ohne ausdrücklichen broker_id Hinweis wurden erleichtert durchAWS_INC.

buyer_transaction_reference_id

Ein Bezeichner, der alle zugehörigen Datensätze im Fakturierungs-Feed mithilfe oder mithilfe der in den Fensterfunktionen eingebauten Fensterfunktionen zusammenfasst. GROUP BY SQL Diese zugehörigen Datensätze können die Rechnung des Käufers, die Rechnung des Verkäufers und die Mehrwertsteuer (VATs) auf die Angebotsgebühr enthalten.

Besteuerungsszenarien

Das Besteuerungsmodell für das Land und den Staat des Käufers und des Verkäufers bestimmt, wie Steuern erhoben und gezahlt werden. Die folgenden Szenarien sind möglich:

  • Steuern werden von AWS erhoben und überwiesen. In diesen Fällen lautet der Wert für transaction_type AWS_TAX_SHARE.

  • Steuern werden vom Verkäufer erhoben AWS, an den Verkäufer ausgezahlt und vom Verkäufer an die Steuerbehörden überwiesen. In diesen Fällen lautet der Wert für transaction_type SELLER_TAX_SHARE.

  • Steuern werden nicht erhoben von. AWS Der Verkäufer muss die Steuern berechnen und an die Steuerbehörden zahlen. Führt in diesen Fällen AWS Marketplace keine Steuerberechnungen durch und erhält keine Steuerinformationen. Der Verkäufer zahlt die Steuern aus dem Umsatzanteil.

Beispiele für Datenfeeds zu Abrechnungsereignissen

Dieser Abschnitt zeigt Beispiele für den Datenzeitraum zum Abrechnungsereignis zum Zeitpunkt der Rechnungsstellung und einen Monat später. Beachten Sie folgende Informationen zu allen Tabellen in diesem Abschnitt:

  • In Datenfeeds bestehen die Werte für billing_event_id aus 40-stelligen alphanumerischen Zeichenfolgen. Zur besseren Lesbarkeit werden sie hier als zweistellige Zeichenfolgen angezeigt.

  • Im Datenfeed werden diese Informationen in einer einzigen Tabelle dargestellt. Zur Lesbarkeit werden die Daten hier in mehreren Tabellen angezeigt, und nicht alle Spalten werden angezeigt.

Die Beispiele in diesem Abschnitt setzen Folgendes voraus:

  • Arnav ist der Käufer.

    • Seine Konto-ID lautet 737399998888.

    • Er ist in Frankreich ansässig und unterliegt damit den Gesetzen für Marktplatzvermittler. Weitere Informationen finden Sie in der Amazon Web Services-Steuerhilfe.

    • Er hat prod-o4grxfafcxxxx gekauft und ihm wurden 120,60 USD für die monatliche Nutzung dieses Produkts in Rechnung gestellt.

    • Er hat die Rechnung innerhalb des Monats bezahlt.

  • Jane ist die Herstellerin.

    • Ihre Konto-ID lautet 111122223333.

  • Paulo ist der eingetragene Verkäufer.

    • Seine Konto-ID lautet 777788889999.

    • Er lebt in Kansas und unterliegt damit nicht den Gesetzen für Marktplatzvermittler.

Datenfeed zu Abrechnungsereignissen für eingetragene Verkäufer

Als eingetragener Verkäufer stellt Paulo dem Käufer, Arnav, eine Rechnung.

Die folgenden Tabellen zeigen die relevanten Informationen im Daten-Feed von Paulo, wenn er Arnav eine Rechnung stellt.

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 Betrag 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

Die folgenden Tabellen zeigen die relevanten Informationen im Daten-Feed von Paulo am Ende des Monats, nachdem Arnav die Rechnung bezahlt hat.

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 Betrag 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

Datenfeed zu Abrechnungsereignissen für Hersteller

Die folgenden Tabellen zeigen die relevanten Informationen im Daten-Feed von Jane, wenn Paulo Arnav eine Rechnung stellt.

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 Betrag 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

Die folgenden Tabellen zeigen die relevanten Informationen im Daten-Feed von Jane am Ende des Monats, nachdem die Rechnung bezahlt wurde.

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 Betrag currency invoice_date invoice_id
I5 I33 -73.5 USD
I6 I33 -6.5 USD
I7 I33 7.35 USD
72.65 USD

Beispielabfragen

Wie unter beschriebenSammeln und Analysieren von Daten mit Datenfeeds, können Sie Athena verwenden, um Abfragen zu den Daten durchzuführen, die als Datenfeeds in Ihrem verwalteten Amazon S3 S3-Bucket gesammelt und gespeichert wurden. Dieser Abschnitt enthält einige Beispiele für häufige Methoden dafür. In allen Beispielen wird davon ausgegangen, dass eine einheitliche Währung verwendet wird.

Beispiel 1: Fakturierter Betrag, einschließlich Steuern

Um herauszufinden, wie viel Käufern in Rechnung gestellt wurde, einschließlich Steuern, können Sie eine Abfrage ausführen, wie im folgenden Beispiel gezeigt.

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' );

Beispiel 2: Betrag, der Käufern im Namen eines Verkäufers in Rechnung gestellt wurde

Um herauszufinden, wie viel Käufern im Namen eines Verkäufers in Rechnung gestellt wurde, können Sie eine Abfrage ausführen, wie im folgenden Beispiel gezeigt.

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' ;

Beispiel 3: Der Betrag AWS kann im Namen des Verkäufers eingezogen werden

Um herauszufinden, wie viel Geld im Namen eines Verkäufers einziehen AWS kann, abzüglich aller Rückerstattungen, Gutschriften und vergebenen Konten, können Sie eine Abfrage ausführen, wie im folgenden Beispiel gezeigt.

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') ;

Beispiel 4: Betrag, den der Verkäufer einfordern kann

Um herauszufinden, wie viel Verkäufer einziehen können, können Sie eine Abfrage ausführen, wie im folgenden Beispiel gezeigt. In diesem Beispiel werden die anfallenden Angebotsgebühren und Steuern entfernt und alle außergewöhnlichen Saldoanpassungen hinzugefügt. 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') ;

Sie können auch die folgende Abfrage verwenden, um dieselben Informationen zu sammeln, wie im folgenden Beispiel gezeigt.

SELECT sum(amount) FROM billing_event WHERE balance_impacting = 1 and action in ('INVOICED','FORGIVEN') ;

Das folgende Beispiel zeigt dieselben Informationen, ist jedoch auf Transaktionen von 2018 beschränkt und geht davon aus, dass alle Käufer ihre Rechnungen bezahlt haben.

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') ;

Beispiel 5: Betrag der Auszahlungen

Um den ausgezahlten Betrag herauszufinden, können Sie eine Abfrage ausführen, wie im folgenden Beispiel gezeigt.

select sum(amount) FROM billing_event WHERE action ='DISBURSED' and transaction_type like 'DISBURSEMENT%' ;

Beispiel 6: Betrag der noch ausstehenden Auszahlungen

Um den Betrag zu ermitteln, dessen Auszahlung noch aussteht, können Sie eine Abfrage ausführen, wie im folgenden Beispiel gezeigt. Diese Abfrage entfernt Beträge, die bereits ausgezahlt wurden.

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 ) ) ;

Eine andere Möglichkeit, dieselben Informationen zu erhalten, besteht darin, eine Abfrage auszuführen, um den Saldo des Verkäufers abzurufen, wie im folgenden Beispiel gezeigt.

SELECT sum(amount) FROM billing_event WHERE balance_impacting = 1 ;

Die folgende Abfrage erweitert unser Beispiel. Es beschränkt die Ergebnisse auf Transaktionen von 2018 und gibt zusätzliche Details zu den Transaktionen zurück.

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 );

Beispiel 7: Saldo einer Gruppe von Rechnungen

Um die Summe einer Reihe von Rechnungen zu ermitteln, können Sie eine Abfrage ausführen, wie im folgenden Beispiel gezeigt.

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;