Skip to content

Support per-checkout-link/session tax_behavior override #13642

Description

@stilla

Currently tax_behavior (inclusive/exclusive) only resolves from ProductPrice.tax_behavior falling back to Organization.default_tax_behavior. There's no way to override it per checkout link or checkout session.

Use case: merchant's org default is exclusive, but wants a specific checkout link (e.g. for an upsell or A/B test) to render inclusive of VAT, without creating a separate price/product.

Add a tax_behavior override field to CheckoutLinkCreate/CheckoutLinkUpdate and/or CheckoutCreate/CheckoutUpdate, and thread it into CheckoutService._update_checkout_tax (checkout/service.py) with precedence over the price-level and org-level defaults.

Related: #4788 (original tax_behavior design), #13470 (tax_behavior checkout calculation edge case).

Sent by @allison-polar from VAT inclusive checkout link implementation.

Plain ticket

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status
    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions