Skip to content

[PM-31645] Implement Swiss Tax Logic#7186

Open
sbrown-livefront wants to merge 6 commits intomainfrom
billing/pm-31645/swiss-tax-logic-update
Open

[PM-31645] Implement Swiss Tax Logic#7186
sbrown-livefront wants to merge 6 commits intomainfrom
billing/pm-31645/swiss-tax-logic-update

Conversation

@sbrown-livefront
Copy link
Collaborator

🎟️ Tracking

https://bitwarden.atlassian.net/browse/PM-31645

📔 Objective

This pull request refactors tax exemption logic across billing-related services and validation models to centralize country determination . The main change is replacing direct country checks (previously hardcoded for the United States) with calls to the new TaxHelpers utility. Tax exemption status is now consistently determined using TaxHelpers.DetermineTaxExemptStatus, ensuring correct handling for various countries and scenarios.

  • Added Bit.Core.Billing.Tax.Utilities imports throughout affected files to support the new utility methods.
  • Refactored static imports and removed direct references to constants where possible, further decoupling country logic from hardcoded values.

📸 Screenshots

Trigger Billing Warnings for Required TaxId When Updating Organization Billing Address

Screen.Recording.2026-03-06.at.5.12.32.PM.mov

No Billing Warnings for Swiss Organization When Updating Organization Billing Address

Screen.Recording.2026-03-06.at.5.14.29.PM.mov

Update Tax Exempt Status When Updating Organization Billing Address

Screen.Recording.2026-03-06.at.5.21.47.PM.mov

Update Tax Exempt Status When Upgrading Organization

Screen.Recording.2026-03-06.at.5.25.01.PM.mov

Trigger Billing Warnings for Required TaxId When Updating Provider Billing Address

Screen.Recording.2026-03-06.at.5.28.51.PM.mov

Create Client Organization With the Correct Tax Exempt Status (Provider Tax Exempt Status)

Screen.Recording.2026-03-06.at.5.41.18.PM.mov

Upcoming Invoice Handler Retains Manually Set Tax Exempt Status Swiss Organization (Works the Same for Providers)

Screen.Recording.2026-03-09.at.2.31.22.PM.mov

Upcoming Invoice Handler Correctly Sets Tax Exempt Status For International Organization (Works the Same for Providers)

Screen.Recording.2026-03-09.at.2.35.39.PM.mov

@sbrown-livefront sbrown-livefront requested review from a team as code owners March 9, 2026 19:01
@sonarqubecloud
Copy link

sonarqubecloud bot commented Mar 9, 2026

@github-actions
Copy link
Contributor

github-actions bot commented Mar 9, 2026

Logo
Checkmarx One – Scan Summary & Details0872f404-0652-45aa-aff8-52829a10b2ef

Great job! No new security vulnerabilities introduced in this pull request

@amorask-bitwarden
Copy link
Contributor

@sbrown-livefront You've got some failing tests on here. Wanna take care of those before I review?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants