Skip to content

Epic: Allow annual credit pre-commitments for usage-based #14561

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
jankeromnes opened this issue Nov 9, 2022 · 2 comments
Closed

Epic: Allow annual credit pre-commitments for usage-based #14561

jankeromnes opened this issue Nov 9, 2022 · 2 comments
Labels
team: webapp Issue belongs to the WebApp team type: epic

Comments

@jankeromnes
Copy link
Contributor

jankeromnes commented Nov 9, 2022

Summary

In the context of usage-based, we would like to allow customers to pre-commit to a certain number of usage credits over (e.g.) the next 12 months.

Context

Acceptance Criteria

This likely implies creating a new BillingStrategy (e.g. "stripe-prepaid") for our CostCenters, which should:

  • Grant an arbitrary number of prepaid credits that can be used over the next 12 months (after which they expire)
  • Be linked to a unique OrderID that represents the unique pre-commitment
  • Each month, create an invoice that:
    • Shows the CostCenter's actually-consumed credits during the month
    • Includes the unique OrderID of the pre-commitment
    • Does not require any payment or credit card (the actual payment happens outside of Stripe)
  • Each month, the UsageLimit should be set to the total remaining prepaid credits (such that a customer is allowed to consume their entire yearly pre-commitment if they wish to, but not more)
    • Optionally, we can make this UsageLimit customizable by the customer (but it shall always remain between 0 and the total remaining prepaid credits)
    • Optionally, we may allow the customer to set a higher limit, by providing a credit card, such that any over-consumption gets paid at the regular pay-as-you-go rate
  • Once all the prepaid credits are consumed, or at the end of the pre-commitment period:
    • Any remaining credits expire and are voided
    • A final invoice is created, which must also include the unique OrderID + recap all the previous invoice IDs
@svenefftinge
Copy link
Member

Is this about self-served plans through stripe or high touch sales?
If the latter we can do this already today, by issuing a credit note in the admin dashboard.
Automatic expiration of credits is missing, though, but we can implement that later.

@jldec
Copy link
Contributor

jldec commented Jan 9, 2023

We can handle annual commits manually for now. Closing this issue.

  • Invoicing done manually
  • Apply credit grant in the admin dashboard
  • Balance shown = grant + usage limit - actual usage (usage limit defaults to zero)
  • No monthly invoicing required
  • Teams should not receive free credits every month (@svenefftinge can you confirm that this is true)
  • Credit expiration can be applied in the admin dashboard at the end if necessary, with a negative grant

@jldec jldec closed this as completed Jan 9, 2023
@github-project-automation github-project-automation bot moved this from Scheduled to In Validation in 🍎 WebApp Team Jan 9, 2023
@jldec jldec moved this from In Validation to Done in 🍎 WebApp Team Jan 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
team: webapp Issue belongs to the WebApp team type: epic
Projects
Status: Done
Development

No branches or pull requests

3 participants