Fuente de datos de eventos de facturación - AWS Marketplace

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Fuente de datos de eventos de facturación

Esta fuente de datos proporciona información sobre eventos de facturación, incluidos facturación y desembolsos.

Por ejemplo, puede utilizar esta fuente de datos para saber cuándo y qué se factura a un comprador. También puede utilizar las SQLconsultas de ejemplo para analizar los datos de esta fuente de datos.

Esta fuente de datos contiene información asociada con eventos de facturación para los que es el vendedor registrado. Para los acuerdos realizados a través de socios de canal, esta fuente de datos contiene información sobre eventos de facturación entre el fabricante y el vendedor de registro.

La fuente de datos de eventos de facturación se actualiza cada 24 horas, por lo que los nuevos datos están disponibles diariamente.

Los datos de eventos de facturación son inmutables.

En la tabla siguiente se incluyen los nombres y descripciones de las columnas de la fuente de datos.

Nombre de la columna Descripción
billing_event_id Un identificador de un evento de facturación. Este ID es único en el entorno del vendedor.
from_account_id

La cuenta que inició el evento de facturación. Si transaction_type es SELLER_REV_SHARE, es la cuenta de pagador del comprador. Esta es una clave externa para la fuente de datos de la cuenta.

Se puede usar para unirse a la fuente de datos de Account en el campo account_id.

to_account_id La cuenta que recibe el importe de la transacción del producto. Esta es una clave externa para la fuente de datos de la cuenta.

Se puede usar para unirse a la fuente de datos de Account en el campo account_id.

end_user_account_id La cuenta que utiliza el producto. Esta cuenta puede ser diferente de las cuentas de comprador y pagador.

Se puede usar para unirse a la fuente de datos Account en el campo account_id.

product_id El identificador del producto. Esta es una clave externa para la fuente de datos del producto.

Se puede usar para unirse a la fuente de datos de Product en el campo product_id.

acción

El tipo de acción de este evento. Los valores posibles son los siguientes:

  • INVOICED: se facturó el importe al comprador.

  • FORGIVEN: se facturó el importe al comprador y AWS le devolvió el cargo.

  • DISBURSED: al vendedor se le pagó esta cantidad. Esta puede incluir un mes de facturas o un desembolso bajo demanda.

transaction_type

El tipo de transacción. Para ver ejemplos, consulte Escenarios de impuestos. Los valores posibles son los siguientes:

  • SELLER_REV_SHARE: un importe positivo; es el precio que el vendedor fijó en el acuerdo con el comprador.

  • SELLER_TAX_SHARE: un importe positivo; es el importe añadido a SELLER_REV_SHARE para cubrir los impuestos adeudados por el vendedor.

  • AWS_REV_SHARE: un importe negativo; se trata de la tarifa de publicación.

  • AWS_TAX_SHARE— Un importe positivo; es el importe de los impuestos AWS recaudados, además deSELLER_REV_SHARE. Este importe no afecta al saldo del vendedor. Este importe no se desembolsa y se proporciona para que el vendedor conozca los impuestos facturados al comprador y remitidos a las autoridades en nombre del vendedor.

  • transaction_type_REFUND: el importe del reembolso solicitado por el comprador.

  • transaction_type_CREDIT— El importe que se AWS acredita al comprador.

  • BALANCE_ADJUSTMENT— Un ajuste realizado por AWS para resolver problemas de facturación.

  • DISBURSEMENT: si el valor de action es DISBURSED y el valor de balance_impacting es 1, esta es la cantidad que se paga al vendedor. Si el valor de action es INVOICED, este registro anula el registro parent_billing_event_id en su totalidad o en parte. En este caso, se muestra el desembolso relacionado disbursement_billing_event_id y el valor de balance_impacting es 0.

  • DISBURSEMENT_FAILURE: anula la transacción.

parent_billing_event_id

Cuando el valor de broker_id es AWS_INC, el valor de action es DISBURSED o FORGIVEN y el valor de transaction_type es DISBURSEMENT, el parent_billing_event_id se refiere al billing_event_id original que inició este evento de facturación. Si action tiene otro valor, este campo es nulo.

Cuando el valor de broker_id es AWS_EUROPE, parent_billing_event_id se refiere al billing_event_id original que inició este evento de facturación en los siguientes escenarios:

  • El valor de action es FORGIVEN o INVOICED y el valor de transaction_type es AWS_REV_SHARE, AWS_REV_SHARE_REFUND oSELLER_REV_SHARE_REFUND.

  • El valor de action es DISBURSED y el valor de transaction_type es ANY (excluyendo DISBURSEMENT_FAILURE).

  • El valor de transaction_type es AWS_TAX_SHARE, AWS_TAX_SHARE_REFUND, SELLER_TAX_SHARE o SELLER_TAX_SHARE_REFUND.

  • El valor de action es DISBURSED y el valor de transaction_type es DISBURSEMENT_FAILURE.

Si el valor de broker_id es AWS_EUROPE, parent_billing_event_id se refiere al billing_event_id original del anterior evento de facturación de desembolsos exitoso en el siguiente escenario:

  • El valor de action es DISBURSED y el valor de transaction_type es DISBURSEMENT_FAILURE.

Si el valor de broker_id es AWS_EUROPE, este campo es nulo para todos los escenarios restantes.

disbursement_billing_event_id

El desembolso relacionado cuando el valor de action es DISBURSED y se cumple una de las siguientes condiciones:

  • transaction_type like ('SELLER%')

  • transaction_type like ('AWS%')

En todos los demás escenarios, este valor es nulo.

importe El importe del evento de facturación.
divisa El código de divisa ISO 639.
balance_impacting Si el importe se tiene en cuenta al calcular los desembolsos del vendedor. Un valor de 0 indica que el importe se muestra con fines informativos y no tiene ningún efecto sobre el saldo. Un valor de 1 indica que este importe se tiene en cuenta al determinar los desembolsos del vendedor.
invoice_date La fecha en que se creó la factura.
payment_due_date

Cuando el valor de action es INVOICED, la fecha de vencimiento de la factura.

usage_period_start_date La fecha de inicio del periodo del registro.
usage_period_end_date La fecha de finalización del periodo del registro.
invoice_id

El identificador de AWS la factura.

billing_address_id La referencia de la dirección de facturación del pagador en la fuente de datos de la dirección.

Se puede usar para unirse a la fuente de datos de Address en el campo address_id.

transaction_reference_id

Un identificador que le permite hacer referencias cruzadas a datos de los siguientes informes:

bank_trace_id

En el caso de las transacciones de desembolso (transaction_type = es DISBURSEMENT y la acción es DISBURSED), el identificador de seguimiento es asignado por el banco. El identificador de seguimiento se puede utilizar para correlacionarlo con los informes proporcionados por el banco del vendedor.

broker_id

Un identificador de la entidad comercial que facilitó la transacción. Los valores posibles son los siguientes:

  • AWS_INC

    — El identificador de AWS, Inc. (con sede en los Estados Unidos).

  • AWS_EUROPE

    — El identificador de Amazon Web Services EMEA SARL (con sede en Luxemburgo).

  • NULL

    — Las transacciones anteriores sin un broker_id explícito fueron facilitadas por AWS_INC.

buyer_transaction_reference_id

Identificador que agrupa todos los registros relacionados del fichero de facturación utilizando GROUP BY o incorporando las funciones de ventanaSQL. Estos registros relacionados pueden incluir la factura del comprador, la factura del vendedor y los impuestos sobre el valor añadido (VATs) sobre la tarifa de publicación.

Escenarios de impuestos

El modelo fiscal vigente del país y del estado del comprador y el vendedor determina cómo se recaudan y remiten los impuestos. A continuación, se muestran los escenarios posibles:

  • Los impuestos los recauda y remite. AWS En estos casos, transaction_type es AWS_TAX_SHARE.

  • Los impuestos los recauda el vendedor AWS, los desembolsa y el vendedor los remite a las autoridades tributarias. En estos casos, transaction_type es SELLER_TAX_SHARE.

  • Los impuestos no los recauda. AWS El vendedor debe calcular los impuestos y remitirlos a las autoridades fiscales. En estos casos, AWS Marketplace no realiza cálculos de impuestos ni recibe información tributaria. El vendedor paga los impuestos de la parte de ingresos.

Ejemplos de fuente de datos de eventos de facturación

En esta sección se muestran ejemplos del periodo de datos del evento de facturación en el momento de la facturación y un mes después. Tenga en cuenta lo siguiente para todas las tablas de esta sección:

  • En las fuentes de datos, los valores de billing_event_id son cadenas alfanuméricas de 40 caracteres. Se muestran aquí como cadenas de dos caracteres para facilitar la lectura.

  • En la fuente de datos, esta información se presenta en una sola tabla. Para facilitar la lectura, los datos se muestran aquí en varias tablas y no aparecen todas las columnas.

Para los ejemplos de esta sección, suponga lo siguiente:

  • Arnav es el comprador.

    • El ID de su cuenta es 737399998888.

    • Está ubicado en Francia, que está sujeto a las leyes de facilitadores del mercado. Para obtener más información, consulte Ayuda fiscal de Amazon Web Service.

    • Compró prod-o4grxfafcxxxx y se le facturaron 120,60 dólares por el uso mensual de ese producto.

    • Pagó la factura dentro del mes.

  • Jane es la fabricante.

    • El ID de su cuenta es 111122223333.

  • Paulo es el vendedor de registro.

    • El ID de su cuenta es 777788889999.

    • Vive en Kansas, que no está sujeta a las leyes de facilitadores del mercado.

Fuente de datos de eventos de facturación para el vendedor de registro

Como vendedor de registro, Paulo factura al comprador, Arnav.

En las siguientes tablas se muestra la información relevante en la fuente de datos de Paulo cuando factura a 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 divisa 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

En las siguientes tablas se muestra la información relevante en la fuente de datos de Paulo al final del mes, después de que Arnav pague la factura.

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

Fuente de datos de eventos de facturación para el fabricante

En las siguientes tablas se muestra la información relevante en la fuente de datos de Jane cuando Paulo factura a 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 divisa 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

En las siguientes tablas se muestra la información relevante en la fuente de datos de Jane al final del mes, después de pagar la factura.

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

Consultas de ejemplo

Como se describe en Recopilación y análisis de datos con fuentes de datos, puede utilizar Athena para ejecutar consultas sobre los datos que se recopilan y almacenan como fuentes de datos en el bucket de Amazon S3 administrado. En esta sección se proporcionan algunos ejemplos de formas comunes de hacerlo. Todos los ejemplos suponen que se utiliza una moneda única.

Ejemplo 1: Importe facturado, incluidos los impuestos

Para saber cuánto se facturó a los compradores, incluidos los impuestos, puede ejecutar una consulta como la que se muestra en el siguiente ejemplo.

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

Ejemplo 2: Importe facturado a los compradores en nombre del vendedor

Para saber cuántos compradores se facturaron en nombre de un vendedor, puede ejecutar una consulta como la que se muestra en el siguiente ejemplo.

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

Ejemplo 3: El importe AWS se puede recaudar en nombre del vendedor

Para saber cuánto se AWS puede cobrar en nombre de un vendedor, menos los reembolsos, los créditos y las cuentas condonadas, puedes realizar una consulta como se muestra en el siguiente ejemplo.

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

Ejemplo 4: Importe que el vendedor puede recaudar

Para saber cuánto pueden recaudar los vendedores, puede ejecutar una consulta como la que se muestra en el siguiente ejemplo. En este ejemplo, se eliminan las tasas de publicación y los impuestos que se AWS recaudan y se añaden los ajustes de saldo excepcionales.

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

También puede utilizar la siguiente consulta para recopilar la misma información, como se muestra en el ejemplo siguiente.

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

En el siguiente ejemplo se muestra la misma información, pero está restringida a las transacciones de 2018 y supone que todos los compradores pagaron sus facturas.

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

Ejemplo 5: Importe de los desembolsos

Para averiguar la cantidad que se ha desembolsado, puede ejecutar una consulta como la que se muestra en el siguiente ejemplo.

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

Ejemplo 6: Importe pendiente de desembolso

Para averiguar el importe pendiente de desembolso, puede ejecutar una consulta como la que se muestra en el siguiente ejemplo. Esta consulta elimina los importes que ya se han desembolsado.

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

Otra forma de obtener la misma información es ejecutar una consulta como la que se muestra en el siguiente ejemplo para obtener el saldo del vendedor:

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

En la siguiente consulta se amplía nuestro ejemplo. Restringe los resultados a las transacciones de 2018 y devuelve más detalles sobre las transacciones.

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

Ejemplo 7: Saldo del conjunto de facturas

Para conocer la suma de un conjunto de facturas, puede ejecutar una consulta como la que se muestra en el siguiente ejemplo.

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;