Skip to content

Commit 68453ce

Browse files
authored
fix(billing): support customers without subjects (#3734)
1 parent e27c451 commit 68453ce

File tree

2 files changed

+3
-3
lines changed

2 files changed

+3
-3
lines changed

openmeter/billing/errors.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ var (
5050
ErrInvoiceLineNoPeriodChangeForSplitLine = NewValidationError("invoice_line_no_period_change_for_split_line", "invoice line period cannot be changed for split lines")
5151
ErrInvoiceLineProgressiveBillingUsageDiscountUpdateForbidden = NewValidationError("invoice_line_progressive_billing_usage_discount_update_forbidden", "usage discount cannot be updated on a partially invoiced line")
5252
ErrInvoiceCreateNoLines = NewValidationError("invoice_create_no_lines", "the new invoice would have no lines")
53-
ErrInvoiceCreateUBPLineCustomerHasNoSubjects = NewValidationError("invoice_create_ubp_line_customer_has_no_subjects", "creating an usage based line: customer has no subjects")
53+
ErrInvoiceCreateUBPLineCustomerUsageAttributionInvalid = NewValidationError("invoice_create_ubp_line_customer_has_no_subjects", "creating an usage based line: customer usage attribution is invalid")
5454
ErrInvoiceCreateUBPLinePeriodIsEmpty = NewValidationError("invoice_create_ubp_line_period_is_empty", "creating an usage based line: truncated period is empty")
5555
ErrInvoiceLineCurrencyMismatch = NewValidationError("invoice_line_currency_mismatch", "invoice line currency mismatch")
5656

openmeter/billing/service/lineservice/usagebasedline.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,9 +59,9 @@ func (l usageBasedLine) Validate(ctx context.Context, targetInvoice *billing.Inv
5959
return err
6060
}
6161

62-
if targetInvoice.Customer.UsageAttribution == nil || len(targetInvoice.Customer.UsageAttribution.SubjectKeys) == 0 {
62+
if err := targetInvoice.Customer.Validate(); err != nil {
6363
return billing.ValidationError{
64-
Err: billing.ErrInvoiceCreateUBPLineCustomerHasNoSubjects,
64+
Err: billing.ErrInvoiceCreateUBPLineCustomerUsageAttributionInvalid,
6565
}
6666
}
6767

0 commit comments

Comments
 (0)