Flux de données d'événement de facturation - AWS Marketplace

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Flux de données d'événement de facturation

Ce flux de données fournit des informations sur les événements de facturation, y compris la facturation et les débours.

Par exemple, vous pouvez utiliser ce flux de données pour savoir quand et pour quoi un acheteur est facturé. Vous pouvez également utiliser les exemples de SQL requêtes pour analyser les données de ce flux de données.

Ce flux de données contient des informations associées aux événements de facturation pour lesquels vous êtes le vendeur inscrit. Pour les accords conclus par l'intermédiaire de partenaires de distribution, ce flux de données contient des informations sur les événements de facturation enregistrés entre le fabricant et le vendeur.

Le flux de données d'événement de facturation est actualisé toutes les 24 heures, de sorte que de nouvelles données sont disponibles tous les jours.

Les données d'événement de facturation sont immuables.

Le tableau suivant explique les noms et les descriptions des colonnes du flux de données.

Nom de la colonne Description
billing_event_id Identificateur d'un événement de facturation. Cet ID est unique dans l'environnement du vendeur.
from_account_id

Compte qui a initié l'événement de facturation. Si transaction_type est SELLER_REV_SHARE, il s'agit du compte payeur de l'acheteur. Il s'agit d'une clé étrangère du flux de données du compte.

Peut être utilisé pour rejoindre le flux de Account données sur le account_id terrain.

to_account_id Compte qui reçoit le montant du mouvement pour le produit. Il s'agit d'une clé étrangère du flux de données du compte.

Peut être utilisé pour rejoindre le flux de Account données sur le account_id terrain.

end_user_account_id Compte qui utilise le produit. Ce compte peut être différent des comptes acheteur et payeur.

Peut être utilisé pour rejoindre le flux de Account données sur le account_id terrain.

product_id Identificateur de chemin du produit. Il s'agit d'une clé étrangère du flux de données du produit.

Peut être utilisé pour rejoindre le flux de Product données sur le product_id terrain.

action

Type d'action pour cet événement. Les valeurs possibles sont les suivantes :

  • INVOICED— Le montant a été facturé à l'acheteur.

  • FORGIVEN— Le montant a été facturé à l'acheteur et les frais AWS ont été remboursés.

  • DISBURSED— Le vendeur a reçu ce montant. Il peut s'agir d'un mois de factures ou d'un décaissement à la demande.

transaction_type

Type de transaction. Pour obtenir des exemples, consultez Scénarios de taxation. Les valeurs possibles sont les suivantes :

  • SELLER_REV_SHARE— Un montant positif ; il s'agit du prix que le vendeur a fixé dans le contrat avec l'acheteur.

  • SELLER_TAX_SHARE— Un montant positif ; il s'agit du montant ajouté SELLER_REV_SHARE pour couvrir les taxes dues par le vendeur.

  • AWS_REV_SHARE— Un montant négatif ; il s'agit des frais de mise en vente.

  • AWS_TAX_SHARE— Un montant positif ; il s'agit du montant des taxes AWS collectées en plus deSELLER_REV_SHARE. Ce montant n'affecte pas le solde du vendeur. Ce montant n'est pas décaissé et est fourni au vendeur pour qu'il soit au courant des taxes facturées à l'acheteur et remises aux autorités au nom du vendeur.

  • transaction_type_REFUND— Le montant du remboursement demandé par l'acheteur.

  • transaction_type_CREDIT— Le montant AWS crédite l'acheteur.

  • BALANCE_ADJUSTMENT— Un ajustement effectué AWS pour résoudre les problèmes de facturation.

  • DISBURSEMENT— Si la valeur de action est DISBURSED et la valeur de balance_impacting est1, il s'agit du montant payé au vendeur. Si la valeur de action estINVOICED, cet enregistrement annule l'parent_billing_event_idenregistrement en tout ou en partie. Dans ce cas, le décaissement correspondant disbursement_billing_event_id est indiqué et sa valeur balance_impacting est 0 indiquée.

  • DISBURSEMENT_FAILURE— Annule la transaction.

parent_billing_event_id

Lorsque la valeur de broker_id isAWS_INC, la valeur de action is DISBURSED ouFORGIVEN, et la valeur de transaction_type isDISBURSEMENT, parent_billing_event_id font référence à l'original à l'origine de billing_event_id cet événement de facturation. Si action a une autre valeur, ce champ est null.

Lorsque la valeur de broker_id estAWS_EUROPE, elle parent_billing_event_id fait référence à l'original billing_event_id à l'origine de cet événement de facturation dans les scénarios suivants :

  • La valeur de action is FORGIVEN ou INVOICED et la valeur de transaction_type is AWS_REV_SHAREAWS_REV_SHARE_REFUND, ouSELLER_REV_SHARE_REFUND.

  • La valeur de action is DISBURSED et la valeur de transaction_type is ANY (excluantDISBURSEMENT_FAILURE).

  • La valeur de transaction_type est AWS_TAX_SHARE AWS_TAX_SHARE_REFUNDSELLER_TAX_SHARE, ou SELLER_TAX_SHARE_REFUND.

  • La valeur de action is DISBURSED et la valeur de transaction_type isDISBURSEMENT_FAILURE.

Lorsque la valeur de broker_id estAWS_EUROPE, elle parent_billing_event_id fait référence à l'original billing_event_id du précédent événement de facturation des versements réussi dans le scénario suivant :

  • La valeur de action is DISBURSED et la valeur de transaction_type isDISBURSEMENT_FAILURE.

Lorsque la valeur de broker_id est estAWS_EUROPE, ce champ est nul pour tous les scénarios restants.

disbursement_billing_event_id

Le décaissement correspondant lorsque la valeur de action est DISBURSED et que l'une des conditions suivantes est vraie :

  • transaction_type like ('SELLER%')

  • transaction_type like ('AWS%')

Dans tous les autres scénarios, cette valeur est nulle.

amount Montant de l'événement de facturation.
devise Le code de devise ISO 639.
balance_impacting Si le montant est pris en compte dans le calcul des débours du vendeur. Une valeur de 0 indique que le montant est mentionné à titre informatif et n'a aucun effet sur le solde. Une valeur de 1 indique que ce montant est pris en compte pour déterminer les débours du vendeur.
invoice_date Date de création de la facture.
payment_due_date

Lorsque la valeur de action estINVOICED, la date d'échéance de la facture.

usage_period_start_date Date de début de la période de l'enregistrement.
usage_period_end_date Date de fin de la période de l'enregistrement.
invoice_id

Le numéro AWS de facture.

billing_address_id Référence de l'adresse de facturation du payeur dans le flux de données d'adresse.

Peut être utilisé pour rejoindre le flux de Address données sur le address_id terrain.

transaction_reference_id

Identificateur qui vous permet de recouper les données des rapports suivants :

bank_trace_id

Pour les transactions de versement (transaction_type=is DISBURSEMENT et action estDISBURSED), le numéro de suivi attribué par la banque. L'identifiant de trace peut être utilisé pour établir une corrélation avec les rapports fournis par la banque du vendeur.

identifiant du courtier

Identifiant de l'entité commerciale qui a facilité la transaction. Les valeurs possibles sont les suivantes :

  • AWS_INC

    — L'identifiant de AWS, Inc. (basée aux États-Unis).

  • AWS_EUROPE

    — L'identifiant d'Amazon Web Services EMEA SARL (basé au Luxembourg).

  • NULL

    — Les transactions précédentes sans explication ont broker_id été facilitées parAWS_INC.

identifiant_référence_de_transaction de l'acheteur

Identifiant qui regroupe tous les enregistrements associés du flux de facturation à l'aide des fonctions de fenêtre intégrées GROUP BY ou intégréesSQL. Ces enregistrements connexes peuvent contenir la facture de l'acheteur, la facture du vendeur et les taxes sur la valeur ajoutée (VATs) sur les frais de mise en vente.

Scénarios de taxation

Le modèle de taxation qui est en place pour le pays et l'état de l'acheteur et du vendeur dicte la façon dont les taxes sont perçues et remises. Voici les scénarios possibles :

  • Les taxes sont collectées et versées par AWS. Dans ces cas, transaction_type est AWS_TAX_SHARE.

  • Les taxes sont collectées par le vendeur AWS, versées au vendeur et remises par le vendeur aux autorités fiscales. Dans ces cas, transaction_type est SELLER_TAX_SHARE.

  • Les taxes ne sont pas collectées par AWS. Le vendeur doit calculer les taxes et les remettre aux autorités fiscales. Dans ces cas, AWS Marketplace n'effectue pas de calculs fiscaux ni ne reçoit d'informations fiscales. Le vendeur paie les impôts sur la part des revenus.

Exemples de flux de données d'événements de facturation

Cette section présente des exemples de la période de données de l'événement de facturation au moment de la facturation et un mois plus tard. Notez ce qui suit pour tous les tableaux de cette section :

  • Dans les flux de données, les valeurs billing_event_id sont des chaînes alphanumériques de 40 caractères. Elles sont affichées ici sous forme de chaînes à deux caractères pour la lisibilité.

  • Dans le flux de données, ces informations sont présentées dans un seul tableau. Pour plus de lisibilité, les données sont présentées ici dans plusieurs tableaux et toutes les colonnes ne sont pas affichées.

Pour les exemples présentés dans cette section, supposons ce qui suit :

  • Arnav est l'acheteur.

    • Son ID de compte est 737399998888.

    • Il est situé en France, où il est assujetti aux lois sur les facilitateurs du marché. Pour de plus amples informations, veuillez consulter l'aide fiscale d'Amazon Web Service.

    • Il a acheté prod-o4grxfafcxxxx et reçu une facture de 120,60 USD pour son utilisation mensuelle de ce produit.

    • Il a payé la facture au cours du mois.

  • Jane est le fabricant.

    • Son ID de compte est 111122223333.

  • Paulo est le vendeur de disques.

    • Son ID de compte est 777788889999.

    • Il vit au Kansas, qui n'est pas soumis aux lois sur les facilitateurs du marché.

Flux de données d'événement de facturation pour le vendeur enregistré

En tant que vendeur officiel, Paulo facture l'acheteur, Arnav.

Les tableaux suivants montrent les informations pertinentes dans le flux de données de Paulo lorsqu'il facture 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 devise 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

Les tableaux suivants présentent les informations pertinentes dans le flux de données de Paulo à la fin du mois, après le paiement de la facture par Arnav.

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

Flux de données d'événement de facturation pour le fabricant

Les tableaux suivants présentent les informations pertinentes dans le flux de données de Jane lorsque Paulo facture Arnav.

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

Les tableaux suivants présentent les informations pertinentes dans le flux de données de Jane à la fin du mois, après le paiement de la facture.

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 devise invoice_date invoice_id
I5 I33 -73,5 USD
I6 I33 -6,5 USD
I7 I33 7,35 USD
72,65 USD

Exemples de requêtes

Comme décrit dansCollecte et analyse de données à l'aide de flux de données, vous pouvez utiliser Athena pour exécuter des requêtes sur les données collectées et stockées sous forme de flux de données dans votre compartiment Amazon S3 géré. Cette section fournit quelques exemples de façons courantes de le faire. Tous les exemples supposent qu'une devise unique est utilisée.

Exemple 1 : Montant facturé, taxes comprises

Pour connaître le montant facturé aux acheteurs, taxes comprises, vous pouvez exécuter une requête comme indiqué dans l'exemple suivant.

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

Exemple 2 : Montant facturé aux acheteurs pour le compte du vendeur

Pour savoir combien les acheteurs ont été facturés au nom d'un vendeur, vous pouvez exécuter une requête comme indiqué dans l'exemple suivant.

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

Exemple 3 : montant AWS pouvant être collecté pour le compte du vendeur

Pour connaître le montant que AWS vous pouvez collecter pour le compte d'un vendeur, déduction faite des remboursements, des crédits et des comptes annulés, vous pouvez exécuter une requête comme indiqué dans l'exemple suivant.

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

Exemple 4 : Montant que le vendeur peut collecter

Pour savoir combien les vendeurs peuvent collecter, vous pouvez exécuter une requête comme indiqué dans l'exemple suivant. Cet exemple supprime les frais de mise en vente et les AWS taxes perçus, et ajoute tout ajustement de solde exceptionnel.

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

Vous pouvez également utiliser la requête suivante pour collecter les mêmes informations, comme indiqué dans l'exemple suivant.

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

L'exemple suivant présente les mêmes informations, mais est limité aux transactions de 2018 et suppose que tous les acheteurs ont payé leurs factures.

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

Exemple 5 : Montant des décaissements

Pour connaître le montant déboursé, vous pouvez exécuter une requête comme indiqué dans l'exemple suivant.

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

Exemple 6 : Montant en attente de décaissement

Pour connaître le montant en attente de versement, vous pouvez exécuter une requête comme indiqué dans l'exemple suivant. Cette requête supprime les montants déjà décaissés.

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

Pour obtenir les mêmes informations, vous pouvez également exécuter une requête pour obtenir le solde du vendeur, comme indiqué dans l'exemple suivant.

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

La requête suivante étend notre exemple. Il limite les résultats aux transactions de 2018 et renvoie des détails supplémentaires sur les transactions.

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

Exemple 7 : Solde de l'ensemble de factures

Pour connaître la somme d'un ensemble de factures, vous pouvez exécuter une requête comme indiqué dans l'exemple suivant.

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;