Skip to content

Commit bb2cf2b

Browse files
authored
fix(billing): disallow charge intent field overrides (#4617)
1 parent 8b9649e commit bb2cf2b

77 files changed

Lines changed: 622 additions & 1805 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

api/v3/handlers/customers/charges/convert.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ func convertFlatFeeChargeToAPI(source flatfee.Charge) (api.BillingChargeFlatFee,
6767
DeletedAt: source.ChargeBase.ManagedResource.ManagedModel.DeletedAt,
6868
Description: intent.Description,
6969
Discounts: convertFlatFeeDiscounts(intent.PercentageDiscounts),
70-
FeatureKey: lo.ToPtr(intent.FeatureKey),
70+
FeatureKey: intent.FeatureKey,
7171
FullServicePeriod: ConvertClosedPeriodToAPI(intent.FullServicePeriod),
7272
Id: source.ChargeBase.ManagedResource.ID,
7373
InvoiceAt: intent.InvoiceAt,
@@ -504,6 +504,7 @@ func convertFlatFeeChargeAPIToIntent(customerID string, flatFee api.CreateCharge
504504
ManagedBy: billing.ManuallyManagedLine,
505505
CustomerID: customerID,
506506
Currency: currencyx.Code(flatFee.Currency),
507+
TaxConfig: productcatalog.TaxCodeConfigFrom(taxConfig),
507508
UniqueReferenceID: flatFee.UniqueReferenceId,
508509
Subscription: nil,
509510
},
@@ -515,15 +516,14 @@ func convertFlatFeeChargeAPIToIntent(customerID string, flatFee api.CreateCharge
515516
ServicePeriod: timeutil.ClosedPeriod(flatFee.ServicePeriod),
516517
FullServicePeriod: timeutil.ClosedPeriod(lo.FromPtrOr(flatFee.FullServicePeriod, flatFee.ServicePeriod)),
517518
BillingPeriod: timeutil.ClosedPeriod(lo.FromPtrOr(flatFee.BillingPeriod, flatFee.ServicePeriod)),
518-
TaxConfig: productcatalog.TaxCodeConfigFrom(taxConfig),
519519
},
520520
InvoiceAt: flatFee.InvoiceAt,
521521
PaymentTerm: productcatalog.PaymentTermType(flatFee.PaymentTerm),
522-
FeatureKey: lo.FromPtr(flatFee.FeatureKey),
523522
PercentageDiscounts: discount,
524523
ProRating: proRating,
525524
AmountBeforeProration: amountBeforeProration,
526525
},
526+
FeatureKey: flatFee.FeatureKey,
527527
SettlementMode: productcatalog.SettlementMode(flatFee.SettlementMode),
528528
}), nil
529529
}
@@ -573,6 +573,7 @@ func convertUsageBaseChargeAPIToIntent(customerID string, usageBasedFee api.Crea
573573
ManagedBy: billing.ManuallyManagedLine,
574574
CustomerID: customerID,
575575
Currency: currencyx.Code(usageBasedFee.Currency),
576+
TaxConfig: productcatalog.TaxCodeConfigFrom(taxConfig),
576577
UniqueReferenceID: usageBasedFee.UniqueReferenceId,
577578
Subscription: nil,
578579
},
@@ -584,13 +585,12 @@ func convertUsageBaseChargeAPIToIntent(customerID string, usageBasedFee api.Crea
584585
ServicePeriod: timeutil.ClosedPeriod(usageBasedFee.ServicePeriod),
585586
FullServicePeriod: timeutil.ClosedPeriod(lo.FromPtrOr(usageBasedFee.FullServicePeriod, usageBasedFee.ServicePeriod)),
586587
BillingPeriod: timeutil.ClosedPeriod(lo.FromPtrOr(usageBasedFee.BillingPeriod, usageBasedFee.ServicePeriod)),
587-
TaxConfig: productcatalog.TaxCodeConfigFrom(taxConfig),
588588
},
589-
InvoiceAt: usageBasedFee.InvoiceAt,
590-
FeatureKey: usageBasedFee.FeatureKey,
591-
Price: *price,
592-
Discounts: discounts,
589+
InvoiceAt: usageBasedFee.InvoiceAt,
590+
Price: *price,
591+
Discounts: discounts,
593592
},
593+
FeatureKey: usageBasedFee.FeatureKey,
594594
SettlementMode: productcatalog.SettlementMode(usageBasedFee.SettlementMode),
595595
}), nil
596596
}

openmeter/billing/charges/charge.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -472,8 +472,8 @@ func (i ChargeIntents) CollectFeatureKeys() ([]string, error) {
472472
if err != nil {
473473
return nil, fmt.Errorf("converting flat fee intent[%d]: %w", idx, err)
474474
}
475-
if flatFee.FeatureKey != "" {
476-
keys = append(keys, flatFee.FeatureKey)
475+
if flatFee.FeatureKey != nil && *flatFee.FeatureKey != "" {
476+
keys = append(keys, *flatFee.FeatureKey)
477477
}
478478
case meta.ChargeTypeUsageBased:
479479
usageBased, err := ch.AsUsageBasedIntent()

openmeter/billing/charges/creditpurchase/adapter/charge.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,8 @@ func (a *adapter) UpdateCharge(ctx context.Context, charge creditpurchase.Charge
3939

4040
update, err = chargemeta.Update(update, chargemeta.UpdateInput{
4141
ManagedResource: charge.ManagedResource,
42+
Intent: charge.Intent.Intent,
4243
IntentMutableFields: charge.Intent.IntentMutableFields.IntentMutableFields,
43-
Annotations: charge.Intent.Annotations,
4444
Status: metaStatus,
4545
})
4646
if err != nil {

openmeter/billing/charges/flatfee/adapter/charge.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,8 @@ func (a *adapter) UpdateCharge(ctx context.Context, charge flatfee.ChargeBase) (
7070

7171
update, err = chargemeta.Update(update, chargemeta.UpdateInput{
7272
ManagedResource: charge.ManagedResource,
73+
Intent: intent.Intent,
7374
IntentMutableFields: intent.IntentMutableFields.IntentMutableFields,
74-
Annotations: intent.Annotations,
7575
Status: metaStatus,
7676
AdvanceAfter: meta.NormalizeOptionalTimestamp(charge.State.AdvanceAfter),
7777
})
@@ -172,8 +172,8 @@ func (a *adapter) DeleteCharge(ctx context.Context, charge flatfee.Charge) error
172172

173173
update, err = chargemeta.Update(update, chargemeta.UpdateInput{
174174
ManagedResource: charge.ManagedResource,
175+
Intent: baseIntent.Intent,
175176
IntentMutableFields: baseIntent.IntentMutableFields.IntentMutableFields,
176-
Annotations: baseIntent.Annotations,
177177
Status: metaStatus,
178178
})
179179
if err != nil {
@@ -362,7 +362,7 @@ func (a *adapter) buildCreateFlatFeeCharge(ns string, intentWithStatus flatfee.I
362362
SetInvoiceAt(meta.NormalizeTimestamp(intent.InvoiceAt).In(time.UTC)).
363363
SetSettlementMode(intent.SettlementMode).
364364
SetNillableFeatureID(intentWithStatus.FeatureID).
365-
SetNillableFeatureKey(lo.EmptyableToPtr(intent.FeatureKey)).
365+
SetNillableFeatureKey(intent.FeatureKey).
366366
SetStatusDetailed(intentWithStatus.InitialStatus).
367367
SetProRating(proRating).
368368
SetAmountBeforeProration(intent.AmountBeforeProration).

openmeter/billing/charges/flatfee/adapter/detailedline_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -108,16 +108,16 @@ func (s *FlatFeeDetailedLineAdapterSuite) TestUpsertDetailedLinesReplacesAndSoft
108108
ManagedBy: billing.SubscriptionManagedLine,
109109
CustomerID: customerID,
110110
Currency: currencyx.Code("USD"),
111+
TaxConfig: productcatalog.TaxCodeConfig{
112+
TaxCodeID: taxCodeID,
113+
},
111114
},
112115
IntentMutableFields: flatfee.IntentMutableFields{
113116
IntentMutableFields: chargesmeta.IntentMutableFields{
114117
Name: "flat-fee-charge",
115118
ServicePeriod: servicePeriod,
116119
FullServicePeriod: servicePeriod,
117120
BillingPeriod: servicePeriod,
118-
TaxConfig: productcatalog.TaxCodeConfig{
119-
TaxCodeID: taxCodeID,
120-
},
121121
},
122122
InvoiceAt: servicePeriod.To,
123123
PaymentTerm: productcatalog.InAdvancePaymentTerm,

openmeter/billing/charges/flatfee/adapter/intentoverride.go

Lines changed: 3 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ import (
1414
entdb "github.com/openmeterio/openmeter/openmeter/ent/db"
1515
dbchargeflatfee "github.com/openmeterio/openmeter/openmeter/ent/db/chargeflatfee"
1616
dbchargeflatfeeoverride "github.com/openmeterio/openmeter/openmeter/ent/db/chargeflatfeeoverride"
17-
"github.com/openmeterio/openmeter/openmeter/productcatalog"
1817
"github.com/openmeterio/openmeter/pkg/convert"
1918
"github.com/openmeterio/openmeter/pkg/framework/entutils"
2019
"github.com/openmeterio/openmeter/pkg/timeutil"
@@ -32,20 +31,15 @@ func mapIntentOverrideFromDB(dbOverride *entdb.ChargeFlatFeeOverride) *flatfee.I
3231

3332
return &flatfee.IntentMutableFields{
3433
IntentMutableFields: meta.IntentMutableFields{
35-
Name: dbOverride.Name,
36-
Description: dbOverride.Description,
37-
Metadata: lo.FromPtr(dbOverride.Metadata),
38-
TaxConfig: productcatalog.TaxCodeConfig{
39-
Behavior: dbOverride.TaxBehavior,
40-
TaxCodeID: lo.FromPtrOr(dbOverride.TaxCodeID, ""),
41-
},
34+
Name: dbOverride.Name,
35+
Description: dbOverride.Description,
36+
Metadata: lo.FromPtr(dbOverride.Metadata),
4237
ServicePeriod: closedPeriodFromDB(dbOverride.ServicePeriodFrom, dbOverride.ServicePeriodTo),
4338
FullServicePeriod: closedPeriodFromDB(dbOverride.FullServicePeriodFrom, dbOverride.FullServicePeriodTo),
4439
BillingPeriod: closedPeriodFromDB(dbOverride.BillingPeriodFrom, dbOverride.BillingPeriodTo),
4540
},
4641
IntentDeletedAt: convert.TimePtrIn(dbOverride.IntentDeletedAt, time.UTC),
4742
InvoiceAt: dbOverride.InvoiceAt.UTC(),
48-
FeatureKey: lo.FromPtr(dbOverride.FeatureKey),
4943
PaymentTerm: dbOverride.PaymentTerm,
5044
ProRating: lo.FromPtr(dbOverride.ProRating),
5145
AmountBeforeProration: dbOverride.AmountBeforeProration,
@@ -150,8 +144,6 @@ func (a *adapter) createIntentOverride(ctx context.Context, chargeID meta.Charge
150144
SetFlatFeeID(chargeID.ID).
151145
SetName(normalized.Name).
152146
SetNillableDescription(normalized.Description).
153-
SetNillableTaxBehavior(normalized.TaxConfig.Behavior).
154-
SetNillableTaxCodeID(lo.EmptyableToPtr(normalized.TaxConfig.TaxCodeID)).
155147
SetNillableIntentDeletedAt(convert.TimePtrIn(normalized.IntentDeletedAt, time.UTC)).
156148
SetServicePeriodFrom(normalized.ServicePeriod.From.UTC()).
157149
SetServicePeriodTo(normalized.ServicePeriod.To.UTC()).
@@ -160,7 +152,6 @@ func (a *adapter) createIntentOverride(ctx context.Context, chargeID meta.Charge
160152
SetBillingPeriodFrom(normalized.BillingPeriod.From.UTC()).
161153
SetBillingPeriodTo(normalized.BillingPeriod.To.UTC()).
162154
SetInvoiceAt(normalized.InvoiceAt.UTC()).
163-
SetNillableFeatureKey(lo.EmptyableToPtr(normalized.FeatureKey)).
164155
SetPaymentTerm(normalized.PaymentTerm).
165156
SetProRating(&normalized.ProRating).
166157
SetAmountBeforeProration(normalized.AmountBeforeProration)
@@ -189,8 +180,6 @@ func (a *adapter) updateIntentOverride(ctx context.Context, chargeID meta.Charge
189180
Where(dbchargeflatfeeoverride.ChargeIDEQ(chargeID.ID)).
190181
SetName(normalized.Name).
191182
SetOrClearDescription(normalized.Description).
192-
SetOrClearTaxBehavior(normalized.TaxConfig.Behavior).
193-
SetOrClearTaxCodeID(lo.EmptyableToPtr(normalized.TaxConfig.TaxCodeID)).
194183
SetOrClearIntentDeletedAt(convert.TimePtrIn(normalized.IntentDeletedAt, time.UTC)).
195184
SetServicePeriodFrom(normalized.ServicePeriod.From.UTC()).
196185
SetServicePeriodTo(normalized.ServicePeriod.To.UTC()).
@@ -199,7 +188,6 @@ func (a *adapter) updateIntentOverride(ctx context.Context, chargeID meta.Charge
199188
SetBillingPeriodFrom(normalized.BillingPeriod.From.UTC()).
200189
SetBillingPeriodTo(normalized.BillingPeriod.To.UTC()).
201190
SetInvoiceAt(normalized.InvoiceAt.UTC()).
202-
SetOrClearFeatureKey(lo.EmptyableToPtr(normalized.FeatureKey)).
203191
SetPaymentTerm(normalized.PaymentTerm).
204192
SetProRating(&normalized.ProRating).
205193
SetAmountBeforeProration(normalized.AmountBeforeProration)

openmeter/billing/charges/flatfee/adapter/intentoverride_test.go

Lines changed: 12 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,6 @@ func (s *FlatFeeIntentOverrideAdapterSuite) TestUpdateAndReadIntentOverride() {
8181
ctx := s.T().Context()
8282
namespace := "flatfee-intentoverride-adapter"
8383
charge := s.createCharge(namespace)
84-
overrideTaxCodeID := s.taxCodeEnv.CreateTaxCode(s.T(), namespace).ID
8584

8685
overrideServicePeriod := timeutil.ClosedPeriod{
8786
From: time.Date(2026, 1, 10, 0, 0, 0, 0, time.UTC),
@@ -114,16 +113,11 @@ func (s *FlatFeeIntentOverrideAdapterSuite) TestUpdateAndReadIntentOverride() {
114113
Metadata: models.Metadata{
115114
"source": "manual",
116115
},
117-
TaxConfig: productcatalog.TaxCodeConfig{
118-
Behavior: lo.ToPtr(productcatalog.InclusiveTaxBehavior),
119-
TaxCodeID: overrideTaxCodeID,
120-
},
121116
ServicePeriod: overrideServicePeriod,
122117
FullServicePeriod: overrideFullServicePeriod,
123118
BillingPeriod: overrideBillingPeriod,
124119
},
125120
InvoiceAt: overrideInvoiceAt,
126-
FeatureKey: "manual-feature",
127121
PaymentTerm: paymentTerm,
128122
ProRating: proRating,
129123
AmountBeforeProration: amountBeforeProration,
@@ -153,7 +147,7 @@ func (s *FlatFeeIntentOverrideAdapterSuite) TestUpdateAndReadIntentOverride() {
153147
updated, err = s.adapter.CreateChargeOverride(ctx, updated, override)
154148
s.Require().NoError(err)
155149
s.Nil(updated.DeletedAt)
156-
s.requireOverrideMatches(updated.Intent.GetOverrideLayerMutableFields(), overrideServicePeriod, overrideFullServicePeriod, overrideBillingPeriod, overrideInvoiceAt, overrideTaxCodeID, overrideDiscountCorrelationID)
150+
s.requireOverrideMatches(updated.Intent.GetOverrideLayerMutableFields(), overrideServicePeriod, overrideFullServicePeriod, overrideBillingPeriod, overrideInvoiceAt, overrideDiscountCorrelationID)
157151

158152
_, err = s.adapter.CreateChargeOverride(ctx, updated, override)
159153
s.Require().Error(err)
@@ -164,14 +158,11 @@ func (s *FlatFeeIntentOverrideAdapterSuite) TestUpdateAndReadIntentOverride() {
164158
}))
165159
updated, err = s.adapter.UpdateCharge(ctx, updated)
166160
s.Require().NoError(err)
167-
s.requireOverrideMatches(updated.Intent.GetOverrideLayerMutableFields(), overrideServicePeriod, overrideFullServicePeriod, overrideBillingPeriod, overrideInvoiceAt, overrideTaxCodeID, overrideDiscountCorrelationID)
161+
s.requireOverrideMatches(updated.Intent.GetOverrideLayerMutableFields(), overrideServicePeriod, overrideFullServicePeriod, overrideBillingPeriod, overrideInvoiceAt, overrideDiscountCorrelationID)
168162

169163
s.Require().NoError(updated.Intent.Mutate(chargesmeta.ChangeTargetOverride, func(fields *flatfee.IntentMutableFields) {
170164
fields.Description = nil
171165
fields.Metadata = nil
172-
fields.TaxConfig.Behavior = nil
173-
fields.TaxConfig.TaxCodeID = overrideTaxCodeID
174-
fields.FeatureKey = ""
175166
fields.PercentageDiscounts = nil
176167
}))
177168
updated, err = s.adapter.UpdateCharge(ctx, updated)
@@ -180,9 +171,6 @@ func (s *FlatFeeIntentOverrideAdapterSuite) TestUpdateAndReadIntentOverride() {
180171
s.Require().NotNil(updatedOverride)
181172
s.Nil(updatedOverride.Description)
182173
s.Nil(updatedOverride.Metadata)
183-
s.Nil(updatedOverride.TaxConfig.Behavior)
184-
s.Equal(overrideTaxCodeID, updatedOverride.TaxConfig.TaxCodeID)
185-
s.Empty(updatedOverride.FeatureKey)
186174
s.Nil(updatedOverride.PercentageDiscounts)
187175

188176
fetched, err := s.adapter.GetByID(ctx, flatfee.GetByIDInput{
@@ -193,10 +181,13 @@ func (s *FlatFeeIntentOverrideAdapterSuite) TestUpdateAndReadIntentOverride() {
193181
s.Require().NotNil(fetchedOverride)
194182
s.Nil(fetchedOverride.Description)
195183
s.Nil(fetchedOverride.Metadata)
196-
s.Nil(fetchedOverride.TaxConfig.Behavior)
197-
s.Equal(overrideTaxCodeID, fetchedOverride.TaxConfig.TaxCodeID)
198-
s.Empty(fetchedOverride.FeatureKey)
199184
s.Nil(fetchedOverride.PercentageDiscounts)
185+
s.Equal(updated.Intent.GetBaseIntent().TaxConfig, fetched.Intent.GetTaxConfig())
186+
expectedFeatureKey := ""
187+
if updated.Intent.GetBaseIntent().FeatureKey != nil {
188+
expectedFeatureKey = *updated.Intent.GetBaseIntent().FeatureKey
189+
}
190+
s.Equal(expectedFeatureKey, fetched.Intent.GetFeatureKey())
200191

201192
fetchedByIDs, err := s.adapter.GetByIDs(ctx, flatfee.GetByIDsInput{
202193
Namespace: namespace,
@@ -208,9 +199,6 @@ func (s *FlatFeeIntentOverrideAdapterSuite) TestUpdateAndReadIntentOverride() {
208199
s.Require().NotNil(fetchedByIDOverride)
209200
s.Nil(fetchedByIDOverride.Description)
210201
s.Nil(fetchedByIDOverride.Metadata)
211-
s.Nil(fetchedByIDOverride.TaxConfig.Behavior)
212-
s.Equal(overrideTaxCodeID, fetchedByIDOverride.TaxConfig.TaxCodeID)
213-
s.Empty(fetchedByIDOverride.FeatureKey)
214202
s.Nil(fetchedByIDOverride.PercentageDiscounts)
215203

216204
cleared, err := s.adapter.DeleteChargeOverride(ctx, fetched.ChargeBase)
@@ -238,7 +226,6 @@ func (s *FlatFeeIntentOverrideAdapterSuite) TestDeleteChargeWithIntentOverrideDe
238226
override := flatfee.IntentMutableFields{
239227
IntentMutableFields: chargesmeta.IntentMutableFields{
240228
Name: "manual flat fee",
241-
TaxConfig: baseIntent.TaxConfig,
242229
ServicePeriod: baseIntent.ServicePeriod,
243230
FullServicePeriod: baseIntent.FullServicePeriod,
244231
BillingPeriod: baseIntent.BillingPeriod,
@@ -286,7 +273,6 @@ func (s *FlatFeeIntentOverrideAdapterSuite) requireOverrideMatches(
286273
fullServicePeriod timeutil.ClosedPeriod,
287274
billingPeriod timeutil.ClosedPeriod,
288275
invoiceAt time.Time,
289-
taxCodeID string,
290276
discountCorrelationID string,
291277
) {
292278
s.T().Helper()
@@ -295,10 +281,6 @@ func (s *FlatFeeIntentOverrideAdapterSuite) requireOverrideMatches(
295281
s.Equal("manual flat fee", override.Name)
296282
s.Equal("manual description", lo.FromPtr(override.Description))
297283
s.Equal(models.Metadata{"source": "manual"}, override.Metadata)
298-
s.Require().NotNil(override.TaxConfig.Behavior)
299-
s.Equal(productcatalog.InclusiveTaxBehavior, *override.TaxConfig.Behavior)
300-
s.Equal(taxCodeID, override.TaxConfig.TaxCodeID)
301-
s.Equal("manual-feature", override.FeatureKey)
302284
s.Equal(servicePeriod, override.ServicePeriod)
303285
s.Equal(fullServicePeriod, override.FullServicePeriod)
304286
s.Equal(billingPeriod, override.BillingPeriod)
@@ -331,13 +313,13 @@ func (s *FlatFeeIntentOverrideAdapterSuite) createCharge(namespace string) flatf
331313
ManagedBy: billing.SubscriptionManagedLine,
332314
CustomerID: customerID,
333315
Currency: currencyx.Code("USD"),
316+
TaxConfig: productcatalog.TaxCodeConfig{
317+
TaxCodeID: taxCodeID,
318+
},
334319
},
335320
IntentMutableFields: flatfee.IntentMutableFields{
336321
IntentMutableFields: chargesmeta.IntentMutableFields{
337-
Name: "flat-fee-charge",
338-
TaxConfig: productcatalog.TaxCodeConfig{
339-
TaxCodeID: taxCodeID,
340-
},
322+
Name: "flat-fee-charge",
341323
ServicePeriod: servicePeriod,
342324
FullServicePeriod: servicePeriod,
343325
BillingPeriod: servicePeriod,

openmeter/billing/charges/flatfee/adapter/mapper.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,12 +148,12 @@ func MapChargeBaseFromDB(entity *entdb.ChargeFlatFee) flatfee.ChargeBase {
148148
Intent: flatfee.NewOverridableIntent(flatfee.Intent{
149149
Intent: mappedMeta.Intent,
150150
SettlementMode: entity.SettlementMode,
151+
FeatureKey: entity.FeatureKey,
151152
IntentMutableFields: flatfee.IntentMutableFields{
152153
IntentMutableFields: mappedMeta.IntentMutableFields,
153154
InvoiceAt: entity.InvoiceAt.UTC(),
154155
IntentDeletedAt: convert.TimePtrIn(entity.IntentDeletedAt, time.UTC),
155156
PaymentTerm: entity.PaymentTerm,
156-
FeatureKey: lo.FromPtrOr(entity.FeatureKey, ""),
157157
PercentageDiscounts: percentageDiscounts,
158158
ProRating: proRatingConfigFromDB(entity.ProRating),
159159
AmountBeforeProration: entity.AmountBeforeProration,

openmeter/billing/charges/flatfee/adapter/realizationrun_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -94,16 +94,16 @@ func (s *FlatFeeRealizationRunAdapterSuite) TestCreateCurrentRunFailsWhenCurrent
9494
ManagedBy: billing.SubscriptionManagedLine,
9595
CustomerID: customerID,
9696
Currency: currencyx.Code("USD"),
97+
TaxConfig: productcatalog.TaxCodeConfig{
98+
TaxCodeID: taxCodeID,
99+
},
97100
},
98101
IntentMutableFields: flatfee.IntentMutableFields{
99102
IntentMutableFields: chargesmeta.IntentMutableFields{
100103
Name: "flat-fee-charge",
101104
ServicePeriod: servicePeriod,
102105
FullServicePeriod: servicePeriod,
103106
BillingPeriod: servicePeriod,
104-
TaxConfig: productcatalog.TaxCodeConfig{
105-
TaxCodeID: taxCodeID,
106-
},
107107
},
108108
InvoiceAt: servicePeriod.To,
109109
PaymentTerm: productcatalog.InAdvancePaymentTerm,

0 commit comments

Comments
 (0)