Suger

get revenue report

POST https://api.suger.cloud/org/{orgId}/revenueReport

Get the revenue report of the given organization, product, entitlement, or buyer.

Parameters

NameInTypeRequiredDescription
orgId path string yes Organization ID

Request Body

Required. Content-Type: application/json · Schema: GetRevenueReportParams

GetRevenueReportParams fields:

FieldTypeRequiredDescription
buyerID string no Optional, if available, return the report for the Buyer.
entitlementID string no Optional, if available, return the report for the Entitlement.
groupBy GroupByInterval no
organizationID string yes Required. If the productID & entitlementID are emtpy, return the report for the entire Organization.
partner string yes
productID string no Optional, if available, return the report for the Product.
reportType RevenueReportType yes
service string yes

Responses

200 — OK

Content-Type: application/json · Schema: RevenueReport

RevenueReport fields:

FieldTypeRequiredDescription
amount number no
buyerID string no
currency string no
entitlementID string no
groupBy GroupByInterval no
organizationID string no
partner string no
productID string no
reportDate string no
reportType RevenueReportType no
revenueRecords array<RevenueRecord> no
series array<RevenueReportSeriesPoint> no
service string no

RevenueRecord fields:

FieldTypeRequiredDescription
amount number no The revenue amount for the revenue report
awsTaxAmount number no AwsTaxAmount is buyer tax collected and remitted by AWS. AWS classifies an AWS_TAX_SHARE row as buyer tax when buyer_transaction_reference_id equals transaction_reference_id. It is informational to the seller and does not affect the seller balance; tax on AWS's listing-fee seller invoice belongs to ChannelFeeAmount instead.
buyerID string no
channelFeeAmount number no ChannelFeeAmount is the marketplace commission/fee for this record per F16 / data-model.md. Nullable pointer so partner handlers can leave it unset (post-sync normalization respects nil and skips the URR write, preserving any previous value). Azure derives = RevenueUsd − EarningUsd; AWS derives = -SUM(AWS_REV_SHARE + AWS_TAX_SHARE rows classified by AWS as seller/listing-fee invoices) per invoice relationship; buyer tax is stored separately in TaxAmount. GCP derives = charges − prepay credits − due vendor.
collectableAmount number no The revenue amount that the seller/ISV can collect.
collectedAmount number no
collectedDate string no
currency string no The currency of the revenue in ISO 4217 format, such as "USD".
date string no The date for the revenue report
disburseAmount number no
disburseDate string no
entitlementID string no
id string no
info RevenueRecordInfo no
invoiceAmount number no
invoiceDate string no
organizationID string no
partner string no The value is from type Partner string
paymentDueDate string no
paymentStatus string no
productID string no
refundDisburseAmount number no
refundDisburseDate string no
refundInvoiceAmount number no
refundInvoiceDate string no
refundStatus string no
sellerTaxAmount number no SellerTaxAmount is tax collected by the marketplace and disbursed to the seller, who is responsible for remitting it.
taxAmount number no

RevenueReportSeriesPoint fields:

FieldTypeRequiredDescription
amount number no
date string no

RevenueRecordInfo fields:

FieldTypeRequiredDescription
awsRevenueRecords array<AwsBillingEvent> no For raw revenue records in AWS Marketplace
azureRevenueRecords array<AzureCmaRevenue> no For raw revenue records in Azure Marketplace
bankTraceId string no The bank trace ID of the revenue record if applicable
billingModel RevenueBillingModel no
cancellationEffectiveDate string no CancellationEffectiveDate is the date a subscription was actually terminated (ISO 8601 date or date-time string). Used by the analytics waterfall churn rule (F30) to distinguish records that were active at a measurement date but later canceled — those still count toward starting ARR and contribute to churn. Empty string means no explicit cancellation date; downstream code falls back to recognition_trigger_date when payment_status=CANCELED.
channel RevenueChannel no
chargebeeInvoiceId string no The Chargebee invoice ID for this revenue record if synced to Chargebee
chargebeePaymentTransactionId string no The Chargebee payment transaction ID for this revenue record if a payment was recorded in Chargebee
chargebeeRefundTransactionId string no The Chargebee refund transaction ID for this revenue record if a refund was recorded in Chargebee
createNotificationDigestId string no Stable audited identity for the CREATE digest batch. It survives activity retries so a successful enqueue followed by an acknowledgement failure is deduplicated on replay.
createNotificationDigestPending boolean no Whether this record still needs to be included in the human-channel CREATE digest after its invoice projection has completed successfully.
createNotificationPending boolean no Whether the per-record CREATE notification still needs to be delivered. Persisting this with the revenue row makes notification delivery retryable after a partially-completed sync.
creditAmount number no The credit amount used in the revenue record.
crmDealName string no Human-readable CRM deal/opportunity name for unbilled queue display.
crmOpportunityId string no Native CRM opportunity/deal identifier used for idempotent booking upsert and later cancellation/invoice matching.
crmPartner string no CRM source that produced a booking-stage revenue record. V1 CRM inbound stores booking facts here because billing.revenue_record remains the canonical lifecycle record and no separate CRM booking table exists.
crmStage string no Native CRM stage at the time Suger last polled the deal.
dealNotInvoicedAlertedAt string no DealNotInvoicedAlertedAt is the RFC3339 timestamp of the last fired DEAL_NOT_INVOICED alert for this record (D07 durable dedup). Prevents the alert from re-firing daily for the same long-unbilled deal — the alert fires once, then suppressed until manually cleared.
disbursementBillingEventId string no The disbursement ID of the revenue record if applicable
disbursementNotificationSent boolean no Whether the disbursement notification has been sent to the seller/ISV.
disbursementReferenceNumber string no The disbursement reference number generated by AWS upon creating each disbursement request. It can be used to correlate seller bank-provided deposit notifications and reports to invoices in AWS Marketplace reports.
dismissReason string no DismissReason is the free-text reason recorded on manual dismiss (D03).
dismissedBy string no DismissedBy is the user ID that performed the manual dismiss (D03 audit).
dismissedFromQueueAt string no DismissedFromQueueAt is the RFC3339 timestamp at which a CRM booking record was manually removed from the unbilled queue (D03). Only valid for direct/Stripe deals with no linked marketplace offer in ACCEPTED state; the dismiss handler rejects marketplace-accepted deals because those can only exit via auto-removal on entitlement provisioning (F27).
earningId string no The earning ID of the revenue record if applicable
gcpRevenueRecords array<GcpChargeUsage> no For raw revenue records in GCP Marketplace
idSource string no Source of the revenue record ID.
invoiceId string no The invoice ID of the revenue record if applicable
paymentId string no The payment ID of the revenue record if applicable
prepayCreditAmount number no The prepay credit amount drawn down on this revenue record. Applicable only to GCP Marketplace. Sourced from the "Prepay Credits" column of the GCP Charges and Usage V2 report.
queueAutoRemovedAt string no QueueAutoRemovedAt is the RFC3339 timestamp at which the unbilled queue reconciliation removed a marketplace CRM booking because its linked offer was provisioned into an active entitlement (F27 auto-removal). Distinct from DismissedFromQueueAt so the audit trail differentiates manual finance action from automatic system reconciliation.
relatedEntitlementIDs array<string> no RelatedEntitlementIDs is populated on aggregated invoice projections when one provider invoice contains revenue relationships for multiple contracts.
resellerId string no The reseller ID of the revenue record if applicable
resellerName string no The reseller name of the revenue record if application
resource string no Resource name for the revenue record. Applicable only to GCP Marketplace.
usagePeriodEndDate string no The end of the usage period covered by this revenue record, if applicable.
usagePeriodStartDate string no The start of the usage period covered by this revenue record, if applicable.

AwsBillingEvent fields:

FieldTypeRequiredDescription
action string no
actionDate NullableTime no
agreementID string no
amount number no
balanceImpacting integer no
bankTraceID string no
billingAddressID string no
brokerID string no
buyerID string no
buyerTransactionReferenceID string no
currency string no
dataFeedProductID string no
disbursementBillingEventID string no
disbursementReferenceNumber string no
endUserAccountID string no
entitlementID string no
fromAccountID string no
id string no
insertDate NullableTime no
invoiceDate NullableTime no
invoiceID string no
offerID string no
organizationID string no
parentBillingEventID string no
paymentDueDate NullableTime no
productID string no
refundedBuyerTransactionReferenceID string no
toAccountID string no
transactionReferenceID string no
transactionType string no
usagePeriodEndDate NullableTime no
usagePeriodStartDate NullableTime no

AzureCmaRevenue fields:

FieldTypeRequiredDescription
azureAssetID string no
azureBillingAccountID string no
azureCustomerID string no
azureOfferID string no
azurePlanID string no
billingModel string no
buyerID string no
earningID string no
earningUsd number no
entitlementID string no
estimatedPayoutMonth NullableTime no
invoiceDate NullableTime no
invoiceDueDate NullableTime no
invoiceID string no
offerID string no
organizationID string no
paymentID string no
paymentSentDate NullableTime no
paymentStatus string no
payoutStatus string no
productID string no
programName string no
purchaseRecordID string no
resellerCity string no
resellerCompany string no
resellerCountry string no
resellerEmail string no
resellerID string no
resellerState string no
revenueUsd number no
termEndDate string no
termStartDate string no
transactionDate NullableTime no

GcpChargeUsage fields:

FieldTypeRequiredDescription
abandoned number no
accountID string no
buyerID string no
charges number no
currency string no
dueVendor number no
entitlementID string no
googleEntity string no
insightAccountID string no
offerID string no
ordinal integer no
organizationID string no
paymentSchedule string no
paymentType string no
prepayCredits number no
productID string no
refundBalanceDeductedThisMonth number no
refundBalanceOutstanding number no
refundReason string no
released number no
reportDate string no
resource string no
sku string no
trialUse number no
unit string no
usage number no
usedBy string no
withheld number no

NullableTime fields:

FieldTypeRequiredDescription
Time string no
Valid boolean no Valid is true if Time is not NULL.

400 — Bad request error

Content-Type: application/json

500 — Internal server error

Content-Type: application/json


View as Markdown · Interactive API reference

Spotted something wrong or out of date on this page? Tell us and we'll correct it.