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 Kann verwendet werden, um eine Verbindung zum |
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 |
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 |
product_id | Die Kennung des Produkts. Dies ist ein Fremdschlüssel für den Produktdatenfeed. Kann verwendet werden, um eine Verbindung zum |
action |
Der Typ der Aktion für dieses Ereignis. Die möglichen Werte lauten wie folgt:
|
transaction_type |
Der Typ der Transaktion. Beispiele finden Sie unter Besteuerungsszenarien. Die möglichen Werte lauten wie folgt:
|
parent_billing_event_id |
Wenn der Wert von Wenn der Wert von
Wenn der Wert von
Wenn der Wert von |
disbursement_billing_event_id |
Die zugehörige Auszahlung, wenn der Wert von
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 |
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 |
transaction_reference_id |
Eine Kennung, mit der Sie Querverweise zu Daten aus den folgenden Berichten erstellen können: |
bank_trace_id |
Bei Auszahlungstransaktionen ( |
broker_id |
Eine Kennung der Geschäftseinheit, die die Transaktion ermöglicht hat. Die möglichen Werte lauten wie folgt:
|
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. |
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;