Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "4.29.1"
".": "4.30.0"
}
4 changes: 2 additions & 2 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 118
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/orb%2Forb-cbce25283cb9c3282e03e08b7ee81395436af7d0eb480ffcbab307b5bf1c92a0.yml
openapi_spec_hash: c286edf46db95dee05eb6f180ac24ab0
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/orb%2Forb-ef726ad139fa29757029206ee08150434fc6c52005fec6d42c7d2bcd3aa7ab47.yml
openapi_spec_hash: e622beb7c26f9b0dd641bd5c92735a5b
config_hash: dd4343ce95871032ef6e0735a4ca038c
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# Changelog

## 4.30.0 (2025-10-29)

Full Changelog: [v4.29.1...v4.30.0](https://github.com/orbcorp/orb-python/compare/v4.29.1...v4.30.0)

### Features

* **api:** api update ([f31aeec](https://github.com/orbcorp/orb-python/commit/f31aeecc1618a721d3840250abc4676a3c30e660))

## 4.29.1 (2025-10-29)

Full Changelog: [v4.29.0...v4.29.1](https://github.com/orbcorp/orb-python/compare/v4.29.0...v4.29.1)
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "orb-billing"
version = "4.29.1"
version = "4.30.0"
description = "The official Python library for the orb API"
dynamic = ["readme"]
license = "Apache-2.0"
Expand Down
2 changes: 1 addition & 1 deletion src/orb/_version.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

__title__ = "orb"
__version__ = "4.29.1" # x-release-please-version
__version__ = "4.30.0" # x-release-please-version
24 changes: 24 additions & 0 deletions src/orb/resources/customers/customers.py
Original file line number Diff line number Diff line change
Expand Up @@ -376,6 +376,7 @@ def update(
additional_emails: Optional[SequenceNotStr[str]] | Omit = omit,
auto_collection: Optional[bool] | Omit = omit,
auto_issuance: Optional[bool] | Omit = omit,
automatic_tax_enabled: Optional[bool] | Omit = omit,
billing_address: Optional[AddressInputParam] | Omit = omit,
currency: Optional[str] | Omit = omit,
email: Optional[str] | Omit = omit,
Expand Down Expand Up @@ -420,6 +421,10 @@ def update(
manual approval.If `null` is specified, the customer's auto issuance setting
will be inherited from the account-level setting.

automatic_tax_enabled: Whether automatic tax calculation is enabled for this customer. When null,
inherits from account-level setting. When true or false, overrides the account
setting.

currency: An ISO 4217 currency string used for the customer's invoices and balance. If not
set at creation time, will be set at subscription creation time.

Expand Down Expand Up @@ -615,6 +620,7 @@ def update(
"additional_emails": additional_emails,
"auto_collection": auto_collection,
"auto_issuance": auto_issuance,
"automatic_tax_enabled": automatic_tax_enabled,
"billing_address": billing_address,
"currency": currency,
"email": email,
Expand Down Expand Up @@ -936,6 +942,7 @@ def update_by_external_id(
additional_emails: Optional[SequenceNotStr[str]] | Omit = omit,
auto_collection: Optional[bool] | Omit = omit,
auto_issuance: Optional[bool] | Omit = omit,
automatic_tax_enabled: Optional[bool] | Omit = omit,
billing_address: Optional[AddressInputParam] | Omit = omit,
currency: Optional[str] | Omit = omit,
email: Optional[str] | Omit = omit,
Expand Down Expand Up @@ -979,6 +986,10 @@ def update_by_external_id(
manual approval.If `null` is specified, the customer's auto issuance setting
will be inherited from the account-level setting.

automatic_tax_enabled: Whether automatic tax calculation is enabled for this customer. When null,
inherits from account-level setting. When true or false, overrides the account
setting.

currency: An ISO 4217 currency string used for the customer's invoices and balance. If not
set at creation time, will be set at subscription creation time.

Expand Down Expand Up @@ -1174,6 +1185,7 @@ def update_by_external_id(
"additional_emails": additional_emails,
"auto_collection": auto_collection,
"auto_issuance": auto_issuance,
"automatic_tax_enabled": automatic_tax_enabled,
"billing_address": billing_address,
"currency": currency,
"email": email,
Expand Down Expand Up @@ -1522,6 +1534,7 @@ async def update(
additional_emails: Optional[SequenceNotStr[str]] | Omit = omit,
auto_collection: Optional[bool] | Omit = omit,
auto_issuance: Optional[bool] | Omit = omit,
automatic_tax_enabled: Optional[bool] | Omit = omit,
billing_address: Optional[AddressInputParam] | Omit = omit,
currency: Optional[str] | Omit = omit,
email: Optional[str] | Omit = omit,
Expand Down Expand Up @@ -1566,6 +1579,10 @@ async def update(
manual approval.If `null` is specified, the customer's auto issuance setting
will be inherited from the account-level setting.

automatic_tax_enabled: Whether automatic tax calculation is enabled for this customer. When null,
inherits from account-level setting. When true or false, overrides the account
setting.

currency: An ISO 4217 currency string used for the customer's invoices and balance. If not
set at creation time, will be set at subscription creation time.

Expand Down Expand Up @@ -1761,6 +1778,7 @@ async def update(
"additional_emails": additional_emails,
"auto_collection": auto_collection,
"auto_issuance": auto_issuance,
"automatic_tax_enabled": automatic_tax_enabled,
"billing_address": billing_address,
"currency": currency,
"email": email,
Expand Down Expand Up @@ -2082,6 +2100,7 @@ async def update_by_external_id(
additional_emails: Optional[SequenceNotStr[str]] | Omit = omit,
auto_collection: Optional[bool] | Omit = omit,
auto_issuance: Optional[bool] | Omit = omit,
automatic_tax_enabled: Optional[bool] | Omit = omit,
billing_address: Optional[AddressInputParam] | Omit = omit,
currency: Optional[str] | Omit = omit,
email: Optional[str] | Omit = omit,
Expand Down Expand Up @@ -2125,6 +2144,10 @@ async def update_by_external_id(
manual approval.If `null` is specified, the customer's auto issuance setting
will be inherited from the account-level setting.

automatic_tax_enabled: Whether automatic tax calculation is enabled for this customer. When null,
inherits from account-level setting. When true or false, overrides the account
setting.

currency: An ISO 4217 currency string used for the customer's invoices and balance. If not
set at creation time, will be set at subscription creation time.

Expand Down Expand Up @@ -2320,6 +2343,7 @@ async def update_by_external_id(
"additional_emails": additional_emails,
"auto_collection": auto_collection,
"auto_issuance": auto_issuance,
"automatic_tax_enabled": automatic_tax_enabled,
"billing_address": billing_address,
"currency": currency,
"email": email,
Expand Down
7 changes: 7 additions & 0 deletions src/orb/types/customer.py
Original file line number Diff line number Diff line change
Expand Up @@ -269,4 +269,11 @@ class Customer(BaseModel):

accounting_sync_configuration: Optional[AccountingSyncConfiguration] = None

automatic_tax_enabled: Optional[bool] = None
"""Whether automatic tax calculation is enabled for this customer.

This field is nullable for backwards compatibility but will always return a
boolean value.
"""

reporting_configuration: Optional[ReportingConfiguration] = None
28 changes: 27 additions & 1 deletion src/orb/types/customer_create_params.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,12 @@
from .new_avalara_tax_configuration_param import NewAvalaraTaxConfigurationParam
from .new_accounting_sync_configuration_param import NewAccountingSyncConfigurationParam

__all__ = ["CustomerCreateParams", "TaxConfiguration", "TaxConfigurationNewNumeralConfiguration"]
__all__ = [
"CustomerCreateParams",
"TaxConfiguration",
"TaxConfigurationNewNumeralConfiguration",
"TaxConfigurationNewAnrokConfiguration",
]


class CustomerCreateParams(TypedDict, total=False):
Expand Down Expand Up @@ -261,10 +266,31 @@ class TaxConfigurationNewNumeralConfiguration(TypedDict, total=False):

tax_provider: Required[Literal["numeral"]]

automatic_tax_enabled: Optional[bool]
"""Whether to automatically calculate tax for this customer.

When null, inherits from account-level setting. When true or false, overrides
the account setting.
"""


class TaxConfigurationNewAnrokConfiguration(TypedDict, total=False):
tax_exempt: Required[bool]

tax_provider: Required[Literal["anrok"]]

automatic_tax_enabled: Optional[bool]
"""Whether to automatically calculate tax for this customer.

When null, inherits from account-level setting. When true or false, overrides
the account setting.
"""


TaxConfiguration: TypeAlias = Union[
NewAvalaraTaxConfigurationParam,
NewTaxJarConfigurationParam,
NewSphereConfigurationParam,
TaxConfigurationNewNumeralConfiguration,
TaxConfigurationNewAnrokConfiguration,
]
35 changes: 34 additions & 1 deletion src/orb/types/customer_update_by_external_id_params.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,12 @@
from .new_avalara_tax_configuration_param import NewAvalaraTaxConfigurationParam
from .new_accounting_sync_configuration_param import NewAccountingSyncConfigurationParam

__all__ = ["CustomerUpdateByExternalIDParams", "TaxConfiguration", "TaxConfigurationNewNumeralConfiguration"]
__all__ = [
"CustomerUpdateByExternalIDParams",
"TaxConfiguration",
"TaxConfigurationNewNumeralConfiguration",
"TaxConfigurationNewAnrokConfiguration",
]


class CustomerUpdateByExternalIDParams(TypedDict, total=False):
Expand Down Expand Up @@ -44,6 +49,13 @@ class CustomerUpdateByExternalIDParams(TypedDict, total=False):
will be inherited from the account-level setting.
"""

automatic_tax_enabled: Optional[bool]
"""Whether automatic tax calculation is enabled for this customer.

When null, inherits from account-level setting. When true or false, overrides
the account setting.
"""

billing_address: Optional[AddressInputParam]

currency: Optional[str]
Expand Down Expand Up @@ -256,10 +268,31 @@ class TaxConfigurationNewNumeralConfiguration(TypedDict, total=False):

tax_provider: Required[Literal["numeral"]]

automatic_tax_enabled: Optional[bool]
"""Whether to automatically calculate tax for this customer.

When null, inherits from account-level setting. When true or false, overrides
the account setting.
"""


class TaxConfigurationNewAnrokConfiguration(TypedDict, total=False):
tax_exempt: Required[bool]

tax_provider: Required[Literal["anrok"]]

automatic_tax_enabled: Optional[bool]
"""Whether to automatically calculate tax for this customer.

When null, inherits from account-level setting. When true or false, overrides
the account setting.
"""


TaxConfiguration: TypeAlias = Union[
NewAvalaraTaxConfigurationParam,
NewTaxJarConfigurationParam,
NewSphereConfigurationParam,
TaxConfigurationNewNumeralConfiguration,
TaxConfigurationNewAnrokConfiguration,
]
35 changes: 34 additions & 1 deletion src/orb/types/customer_update_params.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,12 @@
from .new_avalara_tax_configuration_param import NewAvalaraTaxConfigurationParam
from .new_accounting_sync_configuration_param import NewAccountingSyncConfigurationParam

__all__ = ["CustomerUpdateParams", "TaxConfiguration", "TaxConfigurationNewNumeralConfiguration"]
__all__ = [
"CustomerUpdateParams",
"TaxConfiguration",
"TaxConfigurationNewNumeralConfiguration",
"TaxConfigurationNewAnrokConfiguration",
]


class CustomerUpdateParams(TypedDict, total=False):
Expand Down Expand Up @@ -44,6 +49,13 @@ class CustomerUpdateParams(TypedDict, total=False):
will be inherited from the account-level setting.
"""

automatic_tax_enabled: Optional[bool]
"""Whether automatic tax calculation is enabled for this customer.

When null, inherits from account-level setting. When true or false, overrides
the account setting.
"""

billing_address: Optional[AddressInputParam]

currency: Optional[str]
Expand Down Expand Up @@ -256,10 +268,31 @@ class TaxConfigurationNewNumeralConfiguration(TypedDict, total=False):

tax_provider: Required[Literal["numeral"]]

automatic_tax_enabled: Optional[bool]
"""Whether to automatically calculate tax for this customer.

When null, inherits from account-level setting. When true or false, overrides
the account setting.
"""


class TaxConfigurationNewAnrokConfiguration(TypedDict, total=False):
tax_exempt: Required[bool]

tax_provider: Required[Literal["anrok"]]

automatic_tax_enabled: Optional[bool]
"""Whether to automatically calculate tax for this customer.

When null, inherits from account-level setting. When true or false, overrides
the account setting.
"""


TaxConfiguration: TypeAlias = Union[
NewAvalaraTaxConfigurationParam,
NewTaxJarConfigurationParam,
NewSphereConfigurationParam,
TaxConfigurationNewNumeralConfiguration,
TaxConfigurationNewAnrokConfiguration,
]
8 changes: 4 additions & 4 deletions src/orb/types/customers/credits/affected_block.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@

from ...._models import BaseModel

__all__ = ["AffectedBlock", "BlockFilter"]
__all__ = ["AffectedBlock", "Filter"]


class BlockFilter(BaseModel):
class Filter(BaseModel):
field: Literal["price_id", "item_id", "price_type", "currency", "pricing_unit_id"]
"""The property of the price to filter on."""

Expand All @@ -23,8 +23,8 @@ class BlockFilter(BaseModel):
class AffectedBlock(BaseModel):
id: str

block_filters: Optional[List[BlockFilter]] = None

expiry_date: Optional[datetime] = None

filters: List[Filter]

per_unit_cost_basis: Optional[str] = None
7 changes: 7 additions & 0 deletions src/orb/types/new_avalara_tax_configuration_param.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,11 @@ class NewAvalaraTaxConfigurationParam(TypedDict, total=False):

tax_provider: Required[Literal["avalara"]]

automatic_tax_enabled: Optional[bool]
"""Whether to automatically calculate tax for this customer.

When null, inherits from account-level setting. When true or false, overrides
the account setting.
"""

tax_exemption_code: Optional[str]
8 changes: 8 additions & 0 deletions src/orb/types/new_sphere_configuration_param.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

from __future__ import annotations

from typing import Optional
from typing_extensions import Literal, Required, TypedDict

__all__ = ["NewSphereConfigurationParam"]
Expand All @@ -11,3 +12,10 @@ class NewSphereConfigurationParam(TypedDict, total=False):
tax_exempt: Required[bool]

tax_provider: Required[Literal["sphere"]]

automatic_tax_enabled: Optional[bool]
"""Whether to automatically calculate tax for this customer.

When null, inherits from account-level setting. When true or false, overrides
the account setting.
"""
Loading