feat(pricing): drop flat fee, add 19% German VAT#30
Merged
Conversation
Pricing formula changes from (vm_base + disk_gb*0.04 + 3.00) * 1.5 to (vm_base + disk_gb*0.04) * 1.5 * 1.19 The flat 3.00 EUR was a revenue share, not a management cost, and is removed. The displayed price is now gross, including 19% German VAT. Only affects the Subscribe / Reactivate button label for not-yet- subscribed shards; active and grace subscribers still render the controller-supplied price_cents and stay grandfathered. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Adds a muted, smaller "incl. 19% VAT (€X.XX)" line under the active-plan price and the pending-upgrade price in the subscription card. Shows the VAT share of the gross price; the gross figure stays prominent. New vatAmountEur() helper in pricing.js (gross - round(gross/1.19)), covered by unit tests. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Mirrors the backend pricing change in the Subscribe-card price helper:
VAT_MULTIPLIER = 1.19). Displayed price is now gross.MANAGEMENT_COST_EURconstant.Only affects the Subscribe / Reactivate button label for not-yet-subscribed shards. Active/grace subscribers still render the controller-supplied
price_centsand stay grandfathered.Sibling PRs (same change, must merge together)
Tests
vue-cli-service test:unit→ 14 passed inclpricing.spec.js(4 expected values recomputed: xs+20=€11.25, s+30=€21.78, m+250=€53.19, xl+400=€210.63).Recommended reading order
src/lib/pricing.js— the formula + constantstests/unit/pricing.spec.js— pinned expected values🤖 Generated with Claude Code
2nd commit — VAT transparency
Adds a muted
incl. 19% VAT (€X.XX)line under the active-plan price and the pending-upgrade price in the subscription card (Settings.vue), using Bootstrap'stext-muted small. The gross price stays prominent.New
vatAmountEur(grossCents)helper inpricing.js=gross - round(gross/1.19), with unit tests (4 cases).vue-cli-service test:unit→ 18 passed; lint clean.