2018-06-29 16:51:36 +02:00
{% extends "zerver/portico.html" %}
2019-10-23 07:46:34 +02:00
{% set entrypoint = "billing" %}
2018-01-13 19:38:13 +01:00
2022-09-06 12:04:03 +02:00
{% block title %}
< title > {{ _("Billing") }} | Zulip< / title >
{% endblock %}
2023-10-28 15:23:58 +02:00
{% block portico_content %}
2023-12-02 09:09:43 +01:00
< div id = "billing-page" class = "register-account flex full-page" data-billing-base-url = "{{ billing_base_url }}" >
2023-11-08 09:50:11 +01:00
< div class = "center-block new-style" >
2023-11-13 15:14:38 +01:00
{% if admin_access and has_active_plan %}
2023-11-23 16:02:39 +01:00
{% if is_sponsorship_pending %}
< div class = "alert alert-success billing-page-success" id = "billing-sponsorship-pending-message-top" >
2023-12-08 08:25:05 +01:00
This organization has requested sponsorship for a
{% if sponsorship_plan_name == "Business" %}
discounted
{% endif %}
< a href = "{{ billing_base_url }}/plans/" > {{ sponsorship_plan_name }}< / a > plan.< br / > < a href = "mailto:support@zulip.com" > Contact Zulip support< / a > with any questions or updates.
2023-11-23 16:02:39 +01:00
< / div >
{% endif %}
2023-11-13 15:56:10 +01:00
{% if success_message %}
2023-12-02 04:21:50 +01:00
< div class = "alert alert-success billing-page-success" id = "billing-success-message-top" >
2023-12-12 19:50:03 +01:00
{% if legacy_remote_server_next_plan_name and "PLAN_NAME" in success_message %}
Your organization will be upgraded to {{ legacy_remote_server_next_plan_name }} on {{ remote_server_legacy_plan_end_date }}.
{% else %}
2023-12-02 04:21:50 +01:00
{{ success_message.replace("PLAN_NAME", plan_name) }}
2023-12-12 19:50:03 +01:00
{% endif %}
2023-12-02 04:21:50 +01:00
< / div >
2023-11-13 15:56:10 +01:00
{% endif %}
2023-11-08 09:50:11 +01:00
< div class = "pitch" >
2023-12-02 04:21:50 +01:00
< h1 >
Zulip
{% if is_self_hosted_billing %}
{% else %}
Cloud
{% endif %}
billing for {{ org_name }}
< / h1 >
2023-11-08 09:50:11 +01:00
< / div >
< div class = "alert alert-danger" id = "error-message-box" > < / div >
< input type = "hidden" name = "csrfmiddlewaretoken" value = "{{ csrf_token }}" / >
< div class = "white-box" >
< div id = "billing-page-details" >
< div class = "input-box billing-page-field no-validation" >
2023-11-20 07:17:53 +01:00
< label for = "org-current-plan" class = "inline-block label-title" > Your plan< / label >
< div id = "org-current-plan" class = "not-editable-realm-field" >
2023-11-25 14:44:47 +01:00
{% if free_trial or downgrade_at_end_of_free_trial %}
2023-12-13 10:29:22 +01:00
< a href = "{{ billing_base_url }}/plans/" >
{{ plan_name }} < i > (free trial)< / i >
< / a >
2023-12-04 14:21:07 +01:00
{% elif is_server_on_legacy_plan %}
2023-12-13 10:29:22 +01:00
< a href = "{{ billing_base_url }}/plans/" >
2023-12-14 08:38:54 +01:00
{{ plan_name.replace(" (legacy plan)", "") -}}
2023-12-13 10:29:22 +01:00
< / a >
< i > (legacy plan)< / i >
2023-11-08 08:00:34 +01:00
{% else %}
2023-12-13 10:29:22 +01:00
< a href = "{{ billing_base_url }}/plans/" >
2023-11-08 09:50:11 +01:00
{{ plan_name }}
2023-12-13 10:29:22 +01:00
< / a >
2023-11-08 08:00:34 +01:00
{% endif %}
< / div >
2023-11-08 09:50:11 +01:00
< / div >
2023-12-04 14:21:07 +01:00
{% if is_server_on_legacy_plan %}
2023-12-08 10:14:27 +01:00
< div class = "input-box billing-page-field no-validation" id = "legacy-server-push-notification-notice-wrapper" >
2023-12-04 14:21:07 +01:00
< div id = "legacy-server-push-notification-notice" class = "not-editable-realm-field" >
2023-12-08 10:14:27 +01:00
< i > This is a legacy plan that ends on {{ remote_server_legacy_plan_end_date }}.< / i >
2023-12-04 14:21:07 +01:00
< / div >
< / div >
{% endif %}
2023-11-20 13:01:25 +01:00
< div class = "input-box billing-page-field no-validation org-billing-frequency-wrapper"
data-current-billing-frequency="{{ billing_frequency }}"
{%if free_trial %}data-free-trial="true"{% endif %}
{%if downgrade_at_end_of_cycle %}data-downgrade-eoc="true"{% endif %}
{%if switch_to_monthly_at_end_of_cycle %}data-switch-to-monthly-eoc="true"{% endif %}
{%if switch_to_annual_at_end_of_cycle %}data-switch-to-annual-eoc="true"{% endif %}>
< label for = "org-billing-frequency" > Billing frequency< / label >
2024-04-10 10:31:15 +02:00
{% if downgrade_at_end_of_free_trial or downgrade_at_end_of_cycle or is_server_on_legacy_plan or fixed_price_plan or (free_trial and not charge_automatically) %}
2023-11-20 13:01:25 +01:00
< div class = "not-editable-realm-field" >
2023-11-08 09:50:11 +01:00
{{ billing_frequency }}
2023-11-20 13:01:25 +01:00
< / div >
{% elif switch_to_annual_at_end_of_cycle %}
< select name = "schedule" id = "org-billing-frequency-annual" class = "billing-frequency-select" >
< option value = "Monthly" > Monthly< / option >
< option value = "Annual" selected > Annual< / option >
< / select >
< div class = "billing-frequency-message not-editable-realm-field" >
2023-11-08 09:50:11 +01:00
Your plan will switch to annual billing on {{ renewal_date }}.
2023-11-08 08:01:40 +01:00
< / div >
2023-11-20 13:01:25 +01:00
{%elif switch_to_monthly_at_end_of_cycle %}
< select name = "schedule" id = "org-billing-frequency-monthly" class = "billing-frequency-select" >
< option value = "Monthly" selected > Monthly< / option >
< option value = "Annual" > Annual< / option >
< / select >
< div class = "billing-frequency-message not-editable-realm-field" >
Your plan will switch to monthly billing on {{ renewal_date }}.
< / div >
{% else %}
< select name = "schedule" id = "org-billing-frequency-default" class = "billing-frequency-select" >
< option value = "Monthly" { % if billing_frequency = = " Monthly " % } selected { % endif % } > Monthly< / option >
< option value = "Annual" { % if billing_frequency = = " Annual " % } selected { % endif % } > Annual< / option >
< / select >
{% endif %}
< button id = "org-billing-frequency-confirm-button" class = "hide" >
< span class = "billing-button-text" > Update< / span >
< object class = "loader billing-button-loader" type = "image/svg+xml" data = "{{ static('images/loading/loader-white.svg') }}" > < / object >
< / button >
< div id = "org-billing-frequency-change-error" class = "alert alert-danger billing-page-error" > < / div >
2023-11-08 09:50:11 +01:00
< / div >
2024-01-17 13:55:25 +01:00
{% if is_server_on_legacy_plan or fixed_price_plan %}
2023-12-15 08:25:57 +01:00
{% elif automanage_licenses %}
2023-11-08 09:50:11 +01:00
< div class = "input-box billing-page-field no-validation" >
< label for = "automatic-license-count" class = "inline-block label-title" >
Number of licenses
2023-12-12 19:20:11 +01:00
{% if is_self_hosted_billing %}
2024-06-10 18:16:22 +02:00
< a href = "https://zulip.com/help/self-hosted-billing#how-does-automatic-license-management-work" target = "_blank" rel = "noopener noreferrer" >
2023-12-12 19:20:11 +01:00
< i class = "fa fa-question-circle-o" aria-hidden = "true" > < / i >
< / a >
{% else %}
2024-06-10 18:16:22 +02:00
< a href = "/help/zulip-cloud-billing#how-does-automatic-license-management-work" target = "_blank" rel = "noopener noreferrer" >
2023-11-08 09:50:11 +01:00
< i class = "fa fa-question-circle-o" aria-hidden = "true" > < / i >
< / a >
2023-12-12 19:20:11 +01:00
{% endif %}
2023-11-08 09:50:11 +01:00
< / label >
< div id = "automatic-license-count" class = "not-editable-realm-field" >
2024-09-26 04:23:56 +02:00
{{ licenses }}
< br / >
Licenses are managed
< a href = "https://zulip.com/help/self-hosted-billing#how-does-automatic-license-management-work" > automatically< / a > .
You can
< a class = "toggle-license-management" type = "button" > switch< / a >
to manual license management.
2023-11-08 09:50:11 +01:00
< / div >
2023-11-08 11:29:40 +01:00
< / div >
{% else %}
2023-12-08 02:45:11 +01:00
{% if not (free_trial or downgrade_at_end_of_free_trial) %}
2023-11-08 11:29:40 +01:00
< div class = "input-box billing-page-field no-validation input-box-number" >
2023-11-08 09:50:11 +01:00
< label for = "current-manual-license-count" class = "inline-block label-title" >
Number of licenses for current billing period
2023-12-12 19:20:11 +01:00
{% if is_self_hosted_billing %}
2024-06-10 18:16:22 +02:00
< a href = "https://zulip.com/help/self-hosted-billing#how-does-manual-license-management-work" target = "_blank" rel = "noopener noreferrer" >
2023-12-12 19:20:11 +01:00
< i class = "fa fa-question-circle-o" aria-hidden = "true" > < / i >
< / a >
{% else %}
2024-06-10 18:16:22 +02:00
< a href = "/help/zulip-cloud-billing#how-does-manual-license-management-work" target = "_blank" rel = "noopener noreferrer" >
2023-11-08 09:50:11 +01:00
< i class = "fa fa-question-circle-o" aria-hidden = "true" > < / i >
< / a >
2023-12-12 19:20:11 +01:00
{% endif %}
2023-11-08 09:50:11 +01:00
< / label >
2023-11-08 11:29:40 +01:00
< div class = "number-input-with-label" >
2023-11-08 14:58:35 +01:00
< form id = "current-license-change-form" >
2024-09-05 18:42:53 +02:00
< input type = "number" name = "licenses" autocomplete = "off" id = "current-manual-license-count" class = "short-width-number-input" data-original-value = "{{ licenses }}" value = "{{ licenses }}" { % if not exempt_from_license_number_check % } min = "{{ seat_count }}" { % endif % } required / >
2023-11-08 14:58:35 +01:00
< / form >
2023-11-08 11:29:40 +01:00
< span class = "licence-count-in-use" > licenses ({{ seat_count }} in use)< / span >
2023-11-12 05:08:17 +01:00
< button id = "current-manual-license-count-update-button" class = "license-count-update-button hide" >
2023-11-08 09:50:11 +01:00
< span class = "billing-button-text" > Update< / span >
< object class = "loader billing-button-loader" type = "image/svg+xml" data = "{{ static('images/loading/loader-white.svg') }}" > < / object >
< / button >
< / div >
2023-11-08 14:58:35 +01:00
< div id = "current-license-change-error" class = "alert alert-danger billing-page-error" > < / div >
2024-09-26 04:23:56 +02:00
< div class = "not-editable-realm-field billing-page-license-management-description" >
Licenses are managed
< a href = "https://zulip.com/help/self-hosted-billing#how-does-manual-license-management-work" > manually< / a > .
You can
< a class = "toggle-license-management" type = "button" > switch< / a >
to automatic license management.
< / div >
2023-11-08 11:29:40 +01:00
< / div >
2023-12-08 02:45:11 +01:00
{% endif %}
{% if not (downgrade_at_end_of_cycle or downgrade_at_end_of_free_trial) %}
2023-11-08 11:29:40 +01:00
< div class = "input-box billing-page-field no-validation input-box-number" >
2023-11-08 09:50:11 +01:00
< label for = "next-manual-license-count" class = "inline-block label-title" >
Number of licenses for next billing period
2024-05-29 17:19:42 +02:00
{% if is_self_hosted_billing %}
2024-06-10 18:16:22 +02:00
< a href = "https://zulip.com/help/self-hosted-billing#how-does-manual-license-management-work" target = "_blank" rel = "noopener noreferrer" >
2024-05-29 17:19:42 +02:00
< i class = "fa fa-question-circle-o" aria-hidden = "true" > < / i >
< / a >
{% else %}
2024-06-10 18:16:22 +02:00
< a href = "/help/zulip-cloud-billing#how-does-manual-license-management-work" target = "_blank" rel = "noopener noreferrer" >
2023-11-08 09:50:11 +01:00
< i class = "fa fa-question-circle-o" aria-hidden = "true" > < / i >
< / a >
2024-05-29 17:19:42 +02:00
{% endif %}
2023-11-08 09:50:11 +01:00
< / label >
2023-11-08 11:29:40 +01:00
< div class = "number-input-with-label" >
2023-11-08 14:58:35 +01:00
< form id = "next-license-change-form" >
2024-09-05 18:42:53 +02:00
< input type = "number" name = "licenses_at_next_renewal" autocomplete = "off" id = "next-manual-license-count" class = "short-width-number-input" data-original-value = "{{ licenses_at_next_renewal }}" value = "{{ licenses_at_next_renewal }}" { % if not exempt_from_license_number_check % } min = "{{ seat_count }}" { % endif % } required / >
2023-11-08 14:58:35 +01:00
< / form >
2023-11-08 11:29:40 +01:00
< span class = "licence-count-in-use" > licenses ({{ seat_count }} in use)< / span >
2023-11-12 05:08:17 +01:00
< button id = "next-manual-license-count-update-button" class = "license-count-update-button hide" >
2023-11-08 09:50:11 +01:00
< span class = "billing-button-text" > Update< / span >
< object class = "loader billing-button-loader" type = "image/svg+xml" data = "{{ static('images/loading/loader-white.svg') }}" > < / object >
< / button >
2018-06-29 16:51:36 +02:00
< / div >
2023-11-08 14:58:35 +01:00
< div id = "next-license-change-error" class = "alert alert-danger billing-page-error" > < / div >
2023-11-08 11:29:40 +01:00
< / div >
{% endif %}
{% endif %}
2024-09-26 04:23:56 +02:00
< form id = "toggle-license-management-form" >
< input name = "toggle_license_management" type = "hidden" value = "true" / >
< / form >
< div id = "toggle-license-management-error" class = "alert alert-danger" > < / div >
2023-12-13 00:08:29 +01:00
< div class = "input-box no-validation billing-page-field" >
< label for = "billing-contact" class = "inline-block label-title" > Billing contact< / label >
< div id = "billing-contact" class = "not-editable-realm-field" >
< a href = "mailto:{{ stripe_email }}" > {{ stripe_email }}< / a >
< / div >
< / div >
2023-11-08 09:50:11 +01:00
< div id = "cardchange-error" class = "alert alert-danger" > < / div >
< div class = "input-box billing-page-field no-validation" >
< label for = "customer-payment-method" class = "inline-block label-title" > Payment method< / label >
2023-11-08 11:42:05 +01:00
< div id = "customer-payment-method" class = "not-editable-realm-field" >
2023-11-08 09:50:11 +01:00
{{ payment_method }}
< / div >
2024-02-08 13:37:55 +01:00
{% if charge_automatically %}
< div class = "user-stripe-card-update input-box billing-page-field no-validation" >
< button class = "user-stripe-card-update-button" id = "update-card-button" >
< span class = "billing-button-text" > Update card< / span >
< object class = "loader billing-button-loader" type = "image/svg+xml" data = "{{ static('images/loading/loader-white.svg') }}" > < / object >
< / button >
< / div >
{% endif %}
2024-03-05 08:53:16 +01:00
< br / >
2024-02-08 13:37:55 +01:00
< div class = "stripe-customer-billing-portal not-editable-realm-field" >
2024-04-10 10:31:15 +02:00
< a href = "{{ billing_base_url }}/customer_portal/?return_to_billing_page=true" > View and update< / a > billing information that will be displayed on your next invoice and receipt.
2024-02-08 13:37:55 +01:00
< / div >
2020-05-22 15:42:46 +02:00
< / div >
2023-11-08 12:08:22 +01:00
< div class = "input-box billing-page-field no-validation" >
< div class = "next-payment-info not-editable-realm-field" >
{% if renewal_amount %}
2023-11-22 11:42:03 +01:00
{% if downgrade_at_end_of_cycle %}
2023-12-11 21:20:32 +01:00
{% if is_self_hosted_billing %}
2024-02-01 01:41:44 +01:00
Your organization will be downgraded to the < strong > Free< / strong > plan at the end of the
2023-12-11 21:20:32 +01:00
current billing period ({{ renewal_date }}). You will lose access to the
< a href = "{{ billing_base_url }}/plans/#self-hosted-plan-comparison" > benefits< / a >
of your current plan. For organizations with more than 10 users, this
includes losing access to the
< a href = "https://zulip.readthedocs.io/en/stable/production/mobile-push-notifications.html" > Mobile Push Notification Service< / a > .
{% else %}
2023-11-08 12:08:22 +01:00
Your organization will be downgraded to < strong > Zulip Cloud Free< / strong > at the end of the current billing
period (< strong > {{ renewal_date }}< / strong > ). You will lose access to unlimited search history and
2023-12-02 09:09:43 +01:00
< a href = "{{ billing_base_url }}/plans/" > other features< / a > of your current plan.
2023-12-11 21:20:32 +01:00
{% endif %}
2023-11-25 14:44:47 +01:00
{% elif downgrade_at_end_of_free_trial %}
2023-12-11 21:20:32 +01:00
{% if is_self_hosted_billing %}
2024-02-01 01:41:44 +01:00
Your organization will be downgraded to the < strong > Free< / strong > plan at the end of the free trial
2023-12-11 21:20:32 +01:00
({{ renewal_date }}). You will lose access to the
< a href = "{{ billing_base_url }}/plans/#self-hosted-plan-comparison" > benefits< / a >
of your current plan. For organizations with more than 10 users, this
includes losing access to the
< a href = "https://zulip.readthedocs.io/en/stable/production/mobile-push-notifications.html" > Mobile Push Notification Service< / a > .
{% else %}
2023-11-25 14:44:47 +01:00
Your organization will be downgraded to < strong > Zulip Cloud Free< / strong > at the end of the free trial
(< strong > {{ renewal_date }}< / strong > ). You will lose access to unlimited search history and
2023-12-02 09:09:43 +01:00
< a href = "{{ billing_base_url }}/plans/" > other features< / a > of your current plan.
2023-12-11 21:20:32 +01:00
{% endif %}
2023-11-08 12:08:22 +01:00
{% else %}
2024-01-17 13:55:25 +01:00
{% if fixed_price_plan %}
This is a fixed-price plan.
{% endif %}
2023-11-08 12:08:22 +01:00
{% if charge_automatically %}
2023-12-04 14:21:07 +01:00
{% if is_server_on_legacy_plan %}
2023-12-09 09:00:34 +01:00
Your plan will automatically upgrade to {{ legacy_remote_server_next_plan_name }} on {{ remote_server_legacy_plan_end_date }}.
2023-12-04 14:21:07 +01:00
{% else %}
2023-11-08 12:08:22 +01:00
Your plan will automatically renew on < strong > {{ renewal_date }}< / strong > .
2023-12-04 14:21:07 +01:00
{% endif %}
2023-11-08 12:08:22 +01:00
{% else %}
2024-04-10 10:31:15 +02:00
{% if free_trial %}
{% if has_paid_invoice_for_free_trial %}
You have no outstanding invoices. Your next plan renewal date is < b > {{ free_trial_next_renewal_date_after_invoice_paid }}< / b > . An invoice will be sent to < b > user-23@zulip.com< / b > on the same day.
{% else %}
To ensure continuous access to {{ plan_name }}, please pay your < a href = "{{ billing_base_url }}/invoices/" > invoice< / a > before the end of your trial.
Your free trial ends on < br / > < strong > {{ renewal_date }}< / strong > .
{% endif %}
{% else %}
2024-03-05 08:53:16 +01:00
Next invoice will be sent on < strong > {{ renewal_date }}< / strong > .
2023-11-08 12:08:22 +01:00
{% endif %}
2024-04-10 10:31:15 +02:00
{% endif %}
2023-11-08 12:08:22 +01:00
< br / >
2024-04-10 10:31:15 +02:00
{% if free_trial and not charge_automatically %}
{% else %}
2023-12-20 07:24:21 +01:00
< div class = "input-box billing-page-field" >
< label for = "expected-charge" > Expected next charge< / label >
2024-01-17 13:55:25 +01:00
{% if not fixed_price_plan %}
2023-12-20 07:24:21 +01:00
< div class = "not-editable-realm-field" >
${{ pre_discount_renewal_cents }} (${{ price_per_license }} x {{ licenses_at_next_renewal }} {{ 'user' if licenses_at_next_renewal == 1 else 'users' }} x
{% if switch_to_annual_at_end_of_cycle %}
12 months
{%- elif switch_to_monthly_at_end_of_cycle %}
1 month
{%- else %}
{{ "1 month" if billing_frequency == "Monthly" else "12 months" }}
{%- endif -%})
{% if discounted_months_left != 0 %}
< br / >
2024-01-10 11:23:23 +01:00
< span class = "flat-discount-minus-sign" > − < / span >
< span class = "flat-discount-separator" > ${{ flat_discount }}/month off< / span > < i class = "billing-page-discount" > ({{ discounted_months_left }} {{ "month" if discounted_months_left == 1 else "months" }} remaining)< / i >
2023-12-20 07:24:21 +01:00
{% endif %}
{% if discount_percent %}
< br / >
< i class = "billing-page-discount" > Includes: {{ discount_percent }}% discount< / i >
{% endif %}
< / div >
2023-11-23 18:05:06 +01:00
{% endif %}
2023-12-20 07:24:21 +01:00
< / div >
< h1 > ${{ renewal_amount }}< / h1 >
2024-04-10 10:31:15 +02:00
{% endif %}
2024-01-17 13:55:25 +01:00
{% if not fixed_price_plan and using_min_licenses_for_plan %}
2024-01-10 11:23:23 +01:00
< i > Minimum purchase for this plan: {{ min_licenses_for_plan }} licenses< / i >
{% endif %}
2023-11-08 12:08:22 +01:00
{% endif %}
2024-02-28 08:32:49 +01:00
{% elif fixed_price_plan %}
This is a fixed-price plan. Your plan ends on < strong > {{ renewal_date }}< / strong > .
You will be contacted by Zulip Sales a couple of months before < strong > {{renewal_date}}< / strong > to discuss plan renewal.
2023-11-08 09:50:11 +01:00
{% else %}
2023-11-08 12:08:22 +01:00
Your plan ends on < strong > {{ renewal_date }}< / strong > , and does not renew.
2023-11-08 09:50:11 +01:00
{% endif %}
2023-11-08 12:08:22 +01:00
< / div >
2023-11-08 09:50:11 +01:00
< / div >
2024-02-01 16:24:05 +01:00
< div class = "input-box billing-page-field no-validation" >
< label class = "inline-block label-title" > Invoices< / label >
< div class = "not-editable-realm-field" >
< a href = "{{ billing_base_url }}/invoices/" >
View past invoices
< / a >
< / div >
< / div >
2024-04-10 10:31:15 +02:00
{% if free_trial and not charge_automatically %}
<!--
We don't show cancel plan button for free trial with invoice payments to avoid confusion about the current status.
Plan automatically downgrades anyway if user fails to pay the invoice.
-->
{% else %}
2023-11-08 09:50:11 +01:00
< div id = "planchange-error" class = "alert alert-danger" > < / div >
< div id = "planchange-input-section" >
2023-11-25 14:44:47 +01:00
{% if free_trial and not downgrade_at_end_of_free_trial %}
2023-11-09 15:15:19 +01:00
< div class = "end-free-trial plan-toggle-action input-box billing-page-field no-validation" id = "end-free-trial" >
< button class = "end-free-trial-button plan-toggle-action-button" >
2023-11-25 14:44:47 +01:00
< span class = "billing-button-text" > Cancel plan< / span >
2023-11-08 09:50:11 +01:00
< object class = "loader billing-button-loader" type = "image/svg+xml" data = "{{ static('images/loading/loader-white.svg') }}" > < / object >
< / button >
< / div >
2023-11-25 14:44:47 +01:00
{% elif downgrade_at_end_of_cycle or downgrade_at_end_of_free_trial %}
2023-11-08 16:52:43 +01:00
< div class = "reactivate-current-plan plan-toggle-action input-box billing-page-field no-validation" id = "reactivate-subscription" >
2023-11-08 12:08:37 +01:00
< button class = "reactivate-current-plan-button plan-toggle-action-button" >
2023-11-25 14:44:47 +01:00
< span class = "billing-button-text" >
{% if downgrade_at_end_of_free_trial %}
Cancel downgrade
{% else %}
Reactivate subscription
{% endif %}
< / span >
2023-11-08 09:50:11 +01:00
< object class = "loader billing-button-loader" type = "image/svg+xml" data = "{{ static('images/loading/loader-white.svg') }}" > < / object >
2023-12-04 14:21:07 +01:00
< / button >
< / div >
{% elif is_server_on_legacy_plan %}
< div class = "plan-toggle-action input-box billing-page-field no-validation" id = "cancel-legacy-server-upgrade" >
< button class = "cancel-legacy-server-upgrade-button plan-toggle-action-button" >
< span class = "billing-button-text" > Cancel upgrade< / span >
< object class = "loader billing-button-loader" type = "image/svg+xml" data = "{{ static('images/loading/loader-white.svg') }}" > < / object >
2023-11-08 09:50:11 +01:00
< / button >
< / div >
2023-11-08 16:52:43 +01:00
{% else %}
< div class = "cancel-current-plan plan-toggle-action input-box billing-page-field no-validation" id = "cancel-subscription" >
2023-12-11 21:20:32 +01:00
< button class = "plan-toggle-action-button {% if is_self_hosted_billing %}cancel-current-self-hosted-plan-button{% else %}cancel-current-cloud-plan-button{% endif %}" >
2023-11-08 09:50:11 +01:00
< span class = "billing-button-text" > Cancel plan< / span >
< object class = "loader billing-button-loader" type = "image/svg+xml" data = "{{ static('images/loading/loader-white.svg') }}" > < / object >
< / button >
< / div >
{% endif %}
2020-04-03 16:17:34 +02:00
< / div >
2023-11-08 16:52:43 +01:00
< form id = "planchange-form" >
{% if free_trial %}
2023-11-25 14:44:47 +01:00
< input name = "status" type = "hidden" value = "{{ CustomerPlan.DOWNGRADE_AT_END_OF_FREE_TRIAL }}" / >
{% elif downgrade_at_end_of_free_trial %}
< input name = "status" type = "hidden" value = "{{ CustomerPlan.FREE_TRIAL }}" / >
2023-12-06 13:37:19 +01:00
{% elif downgrade_at_end_of_cycle or is_server_on_legacy_plan %}
2023-11-08 16:52:43 +01:00
< input name = "status" type = "hidden" value = "{{ CustomerPlan.ACTIVE }}" / >
{% else %}
< input name = "status" type = "hidden" value = "{{ CustomerPlan.DOWNGRADE_AT_END_OF_CYCLE }}" / >
{% endif %}
< / form >
2024-04-10 10:31:15 +02:00
{% endif %}
2023-11-08 09:50:11 +01:00
< / div >
< / div >
< hr / >
< div class = "support-link" >
< p >
To make changes to your plan or view your billing history < a href = "mailto:support@zulip.com" > contact Zulip support< / a > .
< / p >
< / div >
{% else %}
2023-11-08 17:38:47 +01:00
<!-- For sponsored or sponsorship pending organizations we redirect to /sponsorship page. -->
<!-- For organizations on free plan we redirect to /plans page. -->
2023-11-13 15:14:38 +01:00
< div class = "billing-status-page" >
< div class = "pitch" >
< h1 > Zulip Cloud billing for {{ org_name }}< / h1 >
< / div >
< div class = "white-box" >
< p >
You must be an organization owner or a billing administrator to view this page.
< / p >
< / div >
< / div >
2023-11-08 09:50:11 +01:00
{% endif %}
2018-01-13 19:38:13 +01:00
< / div >
< / div >
2023-11-09 15:15:19 +01:00
< div id = "confirm-end-free-trial" class = "micromodal" aria-hidden = "true" >
< div class = "modal__overlay" tabindex = "-1" >
< div class = "modal__container" role = "dialog" aria-modal = "true" aria-labelledby = "dialog_title" >
< header class = "modal__header" >
< h1 class = "modal__title dialog_heading" >
2023-12-11 21:20:32 +01:00
Downgrade {{ org_name }} to
{% if is_self_hosted_billing %}
2024-02-01 01:41:44 +01:00
Free plan?
2023-12-11 21:20:32 +01:00
{% else %}
Zulip Cloud Free?
{% endif %}
2023-11-09 15:15:19 +01:00
< / h1 >
< button class = "modal__close" aria-label = "{{ _('Close modal') }}" data-micromodal-close > < / button >
< / header >
< main class = "modal__content" >
< p >
2023-12-11 21:20:32 +01:00
{% if is_self_hosted_billing %}
2024-02-01 01:41:44 +01:00
Your organization will be downgraded to the < strong > Free< / strong > plan at the
2023-12-11 21:20:32 +01:00
end of your free trial ({{ renewal_date }}). You will lose access to the
< a href = "{{ billing_base_url }}/plans/#self-hosted-plan-comparison" > benefits< / a >
of your current plan. For organizations with more than 10 users, this
includes losing access to the
< a href = "https://zulip.readthedocs.io/en/stable/production/mobile-push-notifications.html" > Mobile Push Notification Service< / a > .
{% else %}
2023-11-27 09:14:44 +01:00
Your organization will be downgraded to < strong > Zulip Cloud Free< / strong > at the end of your free trial
2023-11-25 14:44:47 +01:00
({{ renewal_date }}). You will lose access to unlimited search history and
2023-12-02 09:09:43 +01:00
< a href = "{{ billing_base_url }}/plans/" > other features< / a >
2023-11-25 14:44:47 +01:00
of your current plan. Are you sure you want to continue?
2023-12-11 21:20:32 +01:00
{% endif %}
2023-11-09 15:15:19 +01:00
< / p >
< / main >
< footer class = "modal__footer" >
2023-12-11 21:20:32 +01:00
< button class = "modal__btn dialog_exit_button" aria-label = "{{ '(Close this dialog window)' }}" data-micromodal-close > {{ _('Never mind') }}< / button >
2023-11-09 15:15:19 +01:00
< button class = "modal__btn dialog_submit_button" >
2023-11-25 14:44:47 +01:00
< span > {{ _('Downgrade') }}< / span >
2023-11-09 15:15:19 +01:00
< / button >
< / footer >
< / div >
< / div >
< / div >
2023-11-09 12:03:40 +01:00
< div id = "confirm-licenses-modal-increase" class = "micromodal" aria-hidden = "true" >
2023-09-28 12:33:10 +02:00
< div class = "modal__overlay" tabindex = "-1" >
< div class = "modal__container" role = "dialog" aria-modal = "true" aria-labelledby = "dialog_title" >
< header class = "modal__header" >
< h1 class = "modal__title dialog_heading" >
2023-11-09 12:03:40 +01:00
Confirm adding licenses
2023-09-28 12:33:10 +02:00
< / h1 >
< button class = "modal__close" aria-label = "{{ _('Close modal') }}" data-micromodal-close > < / button >
< / header >
< main class = "modal__content" >
< p >
2023-11-09 12:03:40 +01:00
Are you sure you want to increase the number of licenses from
< b > < span class = "current_license_count_holder" > < / span > < / b > to
< b > < span class = "new_license_count_holder" > < / span > < / b > ?
2023-09-28 12:33:10 +02:00
< / p >
< p >
2024-03-05 08:53:16 +01:00
{% if payment_method == "Invoice" %}
You will receive an invoice for
{% else %}
2023-11-09 12:03:40 +01:00
You will be charged for
2024-03-05 08:53:16 +01:00
{% endif %}
2023-11-09 12:03:40 +01:00
< b > < span class = "difference_license_count_holder" > < / span > < / b > additional licenses.
< / p >
< / main >
< footer class = "modal__footer" >
< button class = "modal__btn dialog_exit_button" aria-label = "{{ '(Close this dialog window)' }}" data-micromodal-close > {{ _('Cancel') }}< / button >
< button class = "modal__btn dialog_submit_button" >
< span > {{ _('Confirm') }}< / span >
< / button >
< / footer >
< / div >
< / div >
< / div >
< div id = "confirm-licenses-modal-decrease" class = "micromodal" aria-hidden = "true" >
< div class = "modal__overlay" tabindex = "-1" >
< div class = "modal__container" role = "dialog" aria-modal = "true" aria-labelledby = "dialog_title" >
< header class = "modal__header" >
< h1 class = "modal__title dialog_heading" >
Confirm decreasing licenses
< / h1 >
< button class = "modal__close" aria-label = "{{ _('Close modal') }}" data-micromodal-close > < / button >
< / header >
< main class = "modal__content" >
< p >
Are you sure you want to decrease the number of licenses from
< b > < span class = "current_license_count_holder" > < / span > < / b > to
< b > < span class = "new_license_count_holder" > < / span > < / b > ?
< / p >
< p >
Your organization will be limited to at most
< b > < span class = "new_license_count_holder" > < / span > < / b > users.
2023-09-28 12:33:10 +02:00
< / p >
< / main >
< footer class = "modal__footer" >
< button class = "modal__btn dialog_exit_button" aria-label = "{{ '(Close this dialog window)' }}" data-micromodal-close > {{ _('Cancel') }}< / button >
< button class = "modal__btn dialog_submit_button" >
< span > {{ _('Confirm') }}< / span >
< / button >
< / footer >
< / div >
2020-12-23 17:08:27 +01:00
< / div >
< / div >
2023-12-11 21:20:32 +01:00
< div id = "confirm-cancel-cloud-subscription-modal" class = "micromodal" aria-hidden = "true" >
2023-11-08 08:21:11 +01:00
< div class = "modal__overlay" tabindex = "-1" >
< div class = "modal__container" role = "dialog" aria-modal = "true" aria-labelledby = "dialog_title" >
< header class = "modal__header" >
< h1 class = "modal__title dialog_heading" >
2023-11-09 12:12:44 +01:00
Downgrade {{ org_name }} to Zulip Cloud Free?
2023-11-08 08:21:11 +01:00
< / h1 >
< button class = "modal__close" aria-label = "{{ _('Close modal') }}" data-micromodal-close > < / button >
< / header >
< main class = "modal__content" >
< p >
2023-11-08 17:38:47 +01:00
Your organization will be downgraded to < strong > Zulip Cloud Free< / strong > at the end of the current billing
2023-11-08 09:50:11 +01:00
period ({{ renewal_date }}). You will lose access to unlimited search history and
2023-12-02 09:09:43 +01:00
< a href = "{{ billing_base_url }}/plans/" > other features< / a >
2023-11-08 08:21:11 +01:00
of your current plan. Are you sure you want to continue?
< / p >
< / main >
< footer class = "modal__footer" >
< button class = "modal__btn dialog_exit_button" aria-label = "{{ '(Close this dialog window)' }}" data-micromodal-close > {{ _('Never mind') }}< / button >
< button class = "modal__btn dialog_submit_button" >
< span > {{ _('Downgrade') }}< / span >
< / button >
< / footer >
< / div >
< / div >
< / div >
2023-12-11 21:20:32 +01:00
< div id = "confirm-cancel-self-hosted-subscription-modal" class = "micromodal" aria-hidden = "true" >
< div class = "modal__overlay" tabindex = "-1" >
< div class = "modal__container" role = "dialog" aria-modal = "true" aria-labelledby = "dialog_title" >
< header class = "modal__header" >
< h1 class = "modal__title dialog_heading" >
2024-02-01 01:41:44 +01:00
Downgrade {{ org_name }} to the Free plan?
2023-12-11 21:20:32 +01:00
< / h1 >
< button class = "modal__close" aria-label = "{{ _('Close modal') }}" data-micromodal-close > < / button >
< / header >
< main class = "modal__content" >
< p >
2024-02-01 01:41:44 +01:00
Your organization will be downgraded to the < strong > Free< / strong > plan at the end of the
2023-12-11 21:20:32 +01:00
current billing period ({{ renewal_date }}). You will lose access to the
< a href = "{{ billing_base_url }}/plans/#self-hosted-plan-comparison" > benefits< / a >
of your current plan. For organizations with more than 10 users, this
includes losing access to the
< a href = "https://zulip.readthedocs.io/en/stable/production/mobile-push-notifications.html" > Mobile Push Notification Service< / a > .
< / p >
< / main >
< footer class = "modal__footer" >
< button class = "modal__btn dialog_exit_button" aria-label = "{{ '(Close this dialog window)' }}" data-micromodal-close > {{ _('Never mind') }}< / button >
< button class = "modal__btn dialog_submit_button" >
< span > {{ _('Downgrade') }}< / span >
< / button >
< / footer >
< / div >
< / div >
< / div >
2023-12-06 13:37:19 +01:00
< div id = "confirm-cancel-legacy-server-upgrade-modal" class = "micromodal" aria-hidden = "true" >
< div class = "modal__overlay" tabindex = "-1" >
< div class = "modal__container" role = "dialog" aria-modal = "true" aria-labelledby = "dialog_title" >
< header class = "modal__header" >
< h1 class = "modal__title dialog_heading" >
2023-12-11 21:20:44 +01:00
Cancel scheduled upgrade of {{ org_name }}?
2023-12-06 13:37:19 +01:00
< / h1 >
< button class = "modal__close" aria-label = "{{ _('Close modal') }}" data-micromodal-close > < / button >
< / header >
< main class = "modal__content" >
< p >
2023-12-20 07:24:21 +01:00
Your organization will be not be upgraded to < strong > {{ legacy_remote_server_next_plan_name }}< / strong >
2023-12-11 21:20:44 +01:00
on {{ remote_server_legacy_plan_end_date }}. If your organization has more than
10 users at that time, you will lose access to the
< a href = "https://zulip.readthedocs.io/en/stable/production/mobile-push-notifications.html" > Mobile Push Notification Service< / a > .
You will also not receive the < a href = "{{ billing_base_url }}/plans/#self-hosted-plan-comparison" > other benefits< / a >
2023-12-20 07:24:21 +01:00
of the {{ legacy_remote_server_next_plan_name }} plan. Are you sure you want to continue?
2023-12-06 13:37:19 +01:00
< / p >
< / main >
< footer class = "modal__footer" >
< button class = "modal__btn dialog_exit_button" aria-label = "{{ '(Close this dialog window)' }}" data-micromodal-close > {{ _('Never mind') }}< / button >
< button class = "modal__btn dialog_submit_button" >
2023-12-11 21:20:44 +01:00
< span > {{ _('Cancel upgrade') }}< / span >
2023-12-06 13:37:19 +01:00
< / button >
< / footer >
< / div >
< / div >
< / div >
2024-09-26 04:23:56 +02:00
< div id = "confirm-toggle-license-management-modal" class = "micromodal" aria-hidden = "true" >
< div class = "modal__overlay" tabindex = "-1" >
< div class = "modal__container" role = "dialog" aria-modal = "true" aria-labelledby = "dialog_title" >
< header class = "modal__header" >
< h1 class = "modal__title dialog_heading" >
Confirm switching to
{% if automanage_licenses %}
manual
{% else %}
automatic
{% endif %}
license management
< / h1 >
< button class = "modal__close" aria-label = "{{ _('Close modal') }}" data-micromodal-close > < / button >
< / header >
< main class = "modal__content" >
< p >
Are you sure you want to switch to
< a href = "https://zulip.com/help/self-hosted-billing#how-does-automatic-license-management-work" >
{% if automanage_licenses %}
manual
{% else %}
automatic
{% endif %}
license management
< / a > ?
< / p >
< / main >
< footer class = "modal__footer" >
< button class = "modal__btn dialog_exit_button" aria-label = "{{ '(Close this dialog window)' }}" data-micromodal-close > {{ _('Never mind') }}< / button >
< button class = "modal__btn dialog_submit_button" >
< span > {{ _('Confirm') }}< / span >
< / button >
< / footer >
< / div >
< / div >
< / div >
2018-01-13 19:38:13 +01:00
{% endblock %}