Skip to main content

BillingSummary

A company's current billing subscription, with its plan and allowances. The companyBilling query returns null instead of this when the company has no subscription row (a trial account).

type BillingSummary {
accessBlocked: Boolean!
amount: MonetaryValue
billingProvider: String
cancelAtPeriodEnd: Boolean!
createdAt: ISO8601DateTime!
currencyCode: String
currentPeriodEnd: ISO8601DateTime
currentPeriodStart: ISO8601DateTime
externalCustomerId: String
externalPaymentMethodId: String
externalSubscriptionId: String
id: ID!
items: [BillingSubscriptionItem!]!
plan: BillingProduct
providerDashboardUrl: String
status: BillingSubscriptionStatusEnum!
trialEnd: ISO8601DateTime
updatedAt: ISO8601DateTime!
}

Fields​

BillingSummary.accessBlocked ● Boolean! non-null scalar common​

Whether the app should be blocked for this company. True once a trial has ended (status is trialing and trial_end is in the past). The billing page stays reachable so they can subscribe.

BillingSummary.amount ● MonetaryValue object common​

The recurring amount billed each period, in the subscription's currency.

BillingSummary.billingProvider ● String scalar common​

The provider backing this subscription (e.g. "stripe"). Null until a provider is attached.

BillingSummary.cancelAtPeriodEnd ● Boolean! non-null scalar common​

Whether the subscription is set to end at the close of the current period.

BillingSummary.createdAt ● ISO8601DateTime! non-null scalar common​

When the subscription was created.

BillingSummary.currencyCode ● String scalar common​

Currency for the amount. Falls back to the company's currency when unset.

BillingSummary.currentPeriodEnd ● ISO8601DateTime scalar common​

End of the current billing period; when access lapses if not renewed.

BillingSummary.currentPeriodStart ● ISO8601DateTime scalar common​

Start of the current billing period.

BillingSummary.externalCustomerId ● String scalar common​

The provider's customer identifier (e.g. the Stripe customer id). Read-only — filled by the provider sync, never set through the API.

BillingSummary.externalPaymentMethodId ● String scalar common​

The provider's payment-method identifier (e.g. the Stripe PaymentMethod id). Read-only — filled by the provider sync. Null when the customer has no payment method on file, which the billing UI uses to prompt "Add payment method".

BillingSummary.externalSubscriptionId ● String scalar common​

The provider's subscription identifier (e.g. the Stripe subscription id). Read-only — filled by the provider sync, never set through the API.

BillingSummary.id ● ID! non-null scalar common​

Unique identifier for the subscription.

BillingSummary.items ● [BillingSubscriptionItem!]! non-null object billing​

The product lines on the subscription, including the plan and add-ons.

BillingSummary.plan ● BillingProduct object billing​

The plan this subscription is on, with its allowances. Null when no plan is set yet.

BillingSummary.providerDashboardUrl ● String scalar common​

Operator-facing deep link to this customer in the provider's dashboard (e.g. the Stripe Dashboard customer page). Null until a provider customer is attached.

BillingSummary.status ● BillingSubscriptionStatusEnum! non-null enum billing​

Current lifecycle status of the subscription.

BillingSummary.trialEnd ● ISO8601DateTime scalar common​

When the trial ends, or null if there is no trial. Editable via updateSubscription while the subscription is not yet provider-synced; once a provider subscription is linked it is read-only and synced from the provider.

BillingSummary.updatedAt ● ISO8601DateTime! non-null scalar common​

When the subscription was last updated.

Returned By​

companyBilling query ● setupCompanyBilling mutation ● updateSubscription mutation ● upgradeSubscription mutation