Skip to content

MeteredInvoiceResult

Public immutable result of metered invoice finalization.

const MeteredInvoiceResult: Schema.Struct<{
status: Schema.Literal<"finalized">;
invoiceId: Schema.brand<Schema.String, "InvoiceId">;
subscriptionId: Schema.brand<Schema.String, "SubscriptionId">;
period: Schema.Struct<{
startsAt: Schema.brand<Schema.Int, "EpochMilliseconds">;
endsAt: Schema.brand<Schema.Int, "EpochMilliseconds">;
}>;
currency: Schema.brand<Schema.String, "Currency">;
aggregateQuantity: Schema.brand<Schema.BigInt, "MeteredUsageQuantity">;
lateUsageAdjustments: Schema.$Array<Schema.Struct<{
type: Schema.tag<"late_usage_adjustment">;
destination: Schema.Literal<"next_invoice">;
sourcePeriodStartedAt: Schema.brand<Schema.Int, "EpochMilliseconds">;
sourcePeriodEndedAt: Schema.brand<Schema.Int, "EpochMilliseconds">;
line: Schema.Struct<{
meter: Schema.Struct<{
key: Schema.brand<Schema.String, "MeterKey">;
revision: Schema.brand<Schema.Int, "DefinitionRevision">;
}>;
aggregateQuantity: Schema.brand<Schema.BigInt, "MeteredUsageQuantity">;
rate: Schema.Struct<{
currency: Schema.brand<Schema.String, "Currency">;
amount: Schema.brand<Schema.BigInt, "MinorCurrencyUnits">;
perUnits: Schema.brand<Schema.BigInt, "MeteredRateUnits">;
rounding: Schema.Literal<"trunc">;
}>;
amount: Schema.brand<Schema.BigInt, "SignedMinorCurrencyUnits">;
rounding: Schema.Literal<"trunc">;
}>;
}>>;
totalAmount: Schema.brand<Schema.BigInt, "SignedMinorCurrencyUnits">;
collectionStatus: Schema.Literals<readonly ["payment_due", "not_due", "credit_due"]>;
finalizedAt: Schema.brand<Schema.Int, "EpochMilliseconds">;
}>;