From 6cbe87bde5c7ff2fc6d2169526631ad13d5e24c6 Mon Sep 17 00:00:00 2001 From: Alberto Leal Date: Fri, 5 Jun 2026 14:03:36 -0400 Subject: [PATCH] feat(billing): add tax_pending to RolloverContractRequest When tax cannot be computed at contract rollover (the tax provider is unavailable), tax_pending marks the invoice so it is created without a tax line item and held back from charging until a later sweep backfills the tax. Regenerates the Rust bindings. --- .../services/contract/v1/endpoint_rollover_contract.proto | 6 ++++++ rust/src/sentry_protos.billing.v1.services.contract.v1.rs | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/proto/sentry_protos/billing/v1/services/contract/v1/endpoint_rollover_contract.proto b/proto/sentry_protos/billing/v1/services/contract/v1/endpoint_rollover_contract.proto index fc4cdfd9..1c7c862a 100644 --- a/proto/sentry_protos/billing/v1/services/contract/v1/endpoint_rollover_contract.proto +++ b/proto/sentry_protos/billing/v1/services/contract/v1/endpoint_rollover_contract.proto @@ -18,6 +18,12 @@ message RolloverContractRequest { // The pending change to apply to the new contract, if any. Unset means no // pending change is being applied during this rollover. optional sentry_protos.billing.v1.common.v1.PendingChange pending_change = 5; + + // Whether the tax for this invoice could not be computed at creation time + // (the tax provider was unavailable) and must be backfilled later. When set, + // the invoice is created without a tax line item and held back from charging + // until a sweep recomputes the tax. + bool tax_pending = 6; } message RolloverContractResponse { diff --git a/rust/src/sentry_protos.billing.v1.services.contract.v1.rs b/rust/src/sentry_protos.billing.v1.services.contract.v1.rs index 7742bb35..0a8c7eea 100644 --- a/rust/src/sentry_protos.billing.v1.services.contract.v1.rs +++ b/rust/src/sentry_protos.billing.v1.services.contract.v1.rs @@ -691,6 +691,12 @@ pub struct RolloverContractRequest { pub pending_change: ::core::option::Option< super::super::super::common::v1::PendingChange, >, + /// Whether the tax for this invoice could not be computed at creation time + /// (the tax provider was unavailable) and must be backfilled later. When set, + /// the invoice is created without a tax line item and held back from charging + /// until a sweep recomputes the tax. + #[prost(bool, tag = "6")] + pub tax_pending: bool, } #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] pub struct RolloverContractResponse {