Skip to content

feat: implement subscription tax calculation and remittance system#450

Merged
Smartdevs17 merged 2 commits into
Smartdevs17:mainfrom
Junman140:feat/tax-calculation-remittance
May 28, 2026
Merged

feat: implement subscription tax calculation and remittance system#450
Smartdevs17 merged 2 commits into
Smartdevs17:mainfrom
Junman140:feat/tax-calculation-remittance

Conversation

@Junman140
Copy link
Copy Markdown
Contributor

@Junman140 Junman140 commented May 27, 2026

Closes #371


feat: implement subscription tax calculation and remittance system

  • Tax rate lookup by jurisdiction (country, state, city) with hierarchical fallback
  • Tax-exempt customer handling with certificate validation and expiry checks
  • Mid-cycle tax rate change proration for existing subscriptions
  • Reverse-charge flagging and nexus threshold determination
  • Multi-jurisdiction: VAT, GST, sales tax, HST, PST, QST, digital services tax
  • Digital goods tax classification with country-specific rules
  • Tax remittance report generation with jurisdiction aggregation

Contracts (Rust/Soroban):

  • types: Add TaxType, TaxJurisdiction, TaxRateEntry, CustomerTaxStatus,
    DigitalGoodsClass, TaxRemittanceLineItem types and 5 StorageKey variants
  • invoice: 11 new contract functions for full tax lifecycle + 10 test cases
  • subscription: Update generate_invoice signature with jurisdiction params
  • proxy: Fix StorageKey variant names for Soroban 32-char limit

Backend (TypeScript):

  • TaxService with 17 built-in jurisdiction rates, caching, exemption validation
  • Nexus checks, mid-cycle proration, digital goods tax rules
  • Remittance report generation with filtering and grouping
  • 25 test cases covering all tax scenarios

Frontend (React Native):

  • Extended Invoice types with TaxJurisdiction, CustomerTaxStatus, etc.
  • invoiceStore: Tax state management with 12 new actions

Junman140 and others added 2 commits May 27, 2026 11:54
- Tax rate lookup by jurisdiction (country, state, city) with hierarchical fallback
- Tax-exempt customer handling with certificate validation and expiry checks
- Mid-cycle tax rate change proration for existing subscriptions
- Reverse-charge flagging and nexus threshold determination
- Multi-jurisdiction: VAT, GST, sales tax, HST, PST, QST, digital services tax
- Digital goods tax classification with country-specific rules
- Tax remittance report generation with jurisdiction aggregation

Contracts (Rust/Soroban):
- types: Add TaxType, TaxJurisdiction, TaxRateEntry, CustomerTaxStatus,
  DigitalGoodsClass, TaxRemittanceLineItem types and 5 StorageKey variants
- invoice: 11 new contract functions for full tax lifecycle + 10 test cases
- subscription: Update generate_invoice signature with jurisdiction params
- proxy: Fix StorageKey variant names for Soroban 32-char limit

Backend (TypeScript):
- TaxService with 17 built-in jurisdiction rates, caching, exemption validation
- Nexus checks, mid-cycle proration, digital goods tax rules
- Remittance report generation with filtering and grouping
- 25 test cases covering all tax scenarios

Frontend (React Native):
- Extended Invoice types with TaxJurisdiction, CustomerTaxStatus, etc.
- invoiceStore: Tax state management with 12 new actions
@Smartdevs17 Smartdevs17 merged commit b71611b into Smartdevs17:main May 28, 2026
4 of 20 checks passed
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.

Implement subscription tax calculation and remittance system

2 participants