---
title: "How subscription and billing work in MangoMap"
description: "How a MangoMap subscription sets your plan, limits, add-ons, and billing cycle, and what happens when a trial expires or an account is closed."
seo:
  title: "How subscription and billing work"
sidebar:
  label: "How billing works"
---

Each MangoMap account has one subscription. It sets the paid plan, base limits, add-ons, billing cycle, and access state. The account owner manages it from `Account` > `Subscription & billing`.

For page-by-page controls, see [Subscription & billing reference](/docs/subscription-and-billing/subscription-and-billing-reference).

## Who can manage billing

Only the account `Owner` can open the Subscription & billing area. `Admin`, `Editor`, and `Viewer` users cannot manage the plan, payment details, invoices, or cancellation. Partner-managed accounts use their partner's billing workflow instead, so the MangoMap billing menu is not available for them.

## The subscription lifecycle

The account has one of three subscription states.
**Trial**

The first 30 days after sign-up. The trial starts with the `Enterprise` feature set, no add-ons, and no payment details.

**Paid**

The owner has completed checkout and the account is attached to a paid plan and billing cycle.

**Closed**

The paid subscription has ended: the owner cancelled it, or it ended. The owner can use the subscription page to start the checkout flow again.

An expired trial is not the same as a closed account. When the trial date passes, the owner is directed to `Manage subscription` to subscribe before the maps, data, team, and branding pages open again.

Checkout is the way back to `Paid` from a trial, an expired trial, or a closed account:

{/* diagram:subscription-lifecycle */}
<svg class="dark:hidden" style="width: 100%; height: auto" viewBox="0 0 640 288" xmlns="http://www.w3.org/2000/svg" role="img" aria-labelledby="subscription-lifecycle-inline-title subscription-lifecycle-inline-desc">
  <title id="subscription-lifecycle-inline-title">The subscription lifecycle</title>
  <desc id="subscription-lifecycle-inline-desc">State machine: sign-up starts a trial; checkout moves a trial to Paid; when the trial date passes the trial expires; checkout from an expired trial or a closed account moves it to Paid; cancelling a paid subscription closes the account.</desc>
  <defs>
    <marker id="subscription-lifecycle-inline-arrow" markerWidth="8" markerHeight="6" refX="7" refY="3" orient="auto"><polygon points="0 0, 8 3, 0 6" fill="#525252"/></marker>
    <marker id="subscription-lifecycle-inline-arrow-accent" markerWidth="8" markerHeight="6" refX="7" refY="3" orient="auto"><polygon points="0 0, 8 3, 0 6" fill="#c4360c"/></marker>
  </defs>
  <rect width="100%" height="100%" fill="#f5f5f5"/>
  <path d="M120 30 L120 70" fill="none" stroke="#525252" stroke-width="1.2" marker-end="url(#subscription-lifecycle-inline-arrow)"/>
  <path d="M188 104 L262 104" fill="none" stroke="#525252" stroke-width="1.2" marker-end="url(#subscription-lifecycle-inline-arrow)"/>
  <path d="M400 92 L474 92" fill="none" stroke="#525252" stroke-width="1.2" marker-end="url(#subscription-lifecycle-inline-arrow)"/>
  <path d="M476 116 L402 116" fill="none" stroke="#525252" stroke-width="1.2" marker-end="url(#subscription-lifecycle-inline-arrow)"/>
  <path d="M120 136 L120 206" fill="none" stroke="#525252" stroke-width="1.2" marker-end="url(#subscription-lifecycle-inline-arrow)"/>
  <path d="M188 240 L324 240 Q332 240 332 232 L332 138" fill="none" stroke="#525252" stroke-width="1.2" marker-end="url(#subscription-lifecycle-inline-arrow)"/>
  <rect x="132" y="42" width="58" height="16" rx="2" fill="#f5f5f5"/><text x="161" y="54" fill="#525252" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="middle">SIGN UP</text>
  <rect x="191" y="80" width="68" height="16" rx="2" fill="#f5f5f5"/><text x="225" y="92" fill="#525252" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="middle">CHECKOUT</text>
  <rect x="412" y="68" width="52" height="16" rx="2" fill="#f5f5f5"/><text x="438" y="80" fill="#525252" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="middle">CANCEL</text>
  <rect x="404" y="124" width="68" height="16" rx="2" fill="#f5f5f5"/><text x="438" y="136" fill="#525252" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="middle">CHECKOUT</text>
  <rect x="128" y="163" width="82" height="16" rx="2" fill="#f5f5f5"/><text x="169" y="175" fill="#525252" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="middle">TRIAL ENDS</text>
  <rect x="222" y="216" width="68" height="16" rx="2" fill="#f5f5f5"/><text x="256" y="228" fill="#525252" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="middle">CHECKOUT</text>
  <circle cx="120" cy="24" r="6" fill="#171717"/>
  <rect x="52" y="72" width="136" height="64" rx="8" fill="#ffffff" stroke="#171717" stroke-width="1"/><text x="120" y="101" fill="#171717" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Trial</text><text x="120" y="119" fill="#525252" font-size="12" font-family="inherit" text-anchor="middle">no payment details</text>
  <rect x="264" y="72" width="136" height="64" rx="8" fill="rgba(196,54,12,0.08)" stroke="#c4360c" stroke-width="1.4"/><text x="332" y="101" fill="#171717" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Paid</text><text x="332" y="119" fill="#525252" font-size="12" font-family="inherit" text-anchor="middle">renews each cycle</text>
  <rect x="476" y="72" width="136" height="64" rx="8" fill="#ffffff" stroke="#171717" stroke-width="1"/><text x="544" y="101" fill="#171717" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Closed</text><text x="544" y="119" fill="#525252" font-size="12" font-family="inherit" text-anchor="middle">most pages locked</text>
  <rect x="52" y="208" width="136" height="64" rx="8" fill="#ffffff" stroke="#171717" stroke-width="1"/><text x="120" y="237" fill="#171717" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Trial expired</text><text x="120" y="255" fill="#525252" font-size="12" font-family="inherit" text-anchor="middle">must subscribe</text>
</svg>
<svg class="hidden dark:block" style="width: 100%; height: auto" viewBox="0 0 640 288" xmlns="http://www.w3.org/2000/svg" role="img" aria-labelledby="subscription-lifecycle-inline-dark-title subscription-lifecycle-inline-dark-desc">
  <title id="subscription-lifecycle-inline-dark-title">The subscription lifecycle</title>
  <desc id="subscription-lifecycle-inline-dark-desc">State machine: sign-up starts a trial; checkout moves a trial to Paid; when the trial date passes the trial expires; checkout from an expired trial or a closed account moves it to Paid; cancelling a paid subscription closes the account.</desc>
  <defs>
    <marker id="subscription-lifecycle-inline-dark-arrow" markerWidth="8" markerHeight="6" refX="7" refY="3" orient="auto"><polygon points="0 0, 8 3, 0 6" fill="#a3a3a3"/></marker>
    <marker id="subscription-lifecycle-inline-dark-arrow-accent" markerWidth="8" markerHeight="6" refX="7" refY="3" orient="auto"><polygon points="0 0, 8 3, 0 6" fill="#ff7a4d"/></marker>
  </defs>
  <rect width="100%" height="100%" fill="#141414"/>
  <path d="M120 30 L120 70" fill="none" stroke="#a3a3a3" stroke-width="1.2" marker-end="url(#subscription-lifecycle-inline-dark-arrow)"/>
  <path d="M188 104 L262 104" fill="none" stroke="#a3a3a3" stroke-width="1.2" marker-end="url(#subscription-lifecycle-inline-dark-arrow)"/>
  <path d="M400 92 L474 92" fill="none" stroke="#a3a3a3" stroke-width="1.2" marker-end="url(#subscription-lifecycle-inline-dark-arrow)"/>
  <path d="M476 116 L402 116" fill="none" stroke="#a3a3a3" stroke-width="1.2" marker-end="url(#subscription-lifecycle-inline-dark-arrow)"/>
  <path d="M120 136 L120 206" fill="none" stroke="#a3a3a3" stroke-width="1.2" marker-end="url(#subscription-lifecycle-inline-dark-arrow)"/>
  <path d="M188 240 L324 240 Q332 240 332 232 L332 138" fill="none" stroke="#a3a3a3" stroke-width="1.2" marker-end="url(#subscription-lifecycle-inline-dark-arrow)"/>
  <rect x="132" y="42" width="58" height="16" rx="2" fill="#141414"/><text x="161" y="54" fill="#a3a3a3" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="middle">SIGN UP</text>
  <rect x="191" y="80" width="68" height="16" rx="2" fill="#141414"/><text x="225" y="92" fill="#a3a3a3" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="middle">CHECKOUT</text>
  <rect x="412" y="68" width="52" height="16" rx="2" fill="#141414"/><text x="438" y="80" fill="#a3a3a3" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="middle">CANCEL</text>
  <rect x="404" y="124" width="68" height="16" rx="2" fill="#141414"/><text x="438" y="136" fill="#a3a3a3" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="middle">CHECKOUT</text>
  <rect x="128" y="163" width="82" height="16" rx="2" fill="#141414"/><text x="169" y="175" fill="#a3a3a3" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="middle">TRIAL ENDS</text>
  <rect x="222" y="216" width="68" height="16" rx="2" fill="#141414"/><text x="256" y="228" fill="#a3a3a3" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="middle">CHECKOUT</text>
  <circle cx="120" cy="24" r="6" fill="#f2f2f2"/>
  <rect x="52" y="72" width="136" height="64" rx="8" fill="#1c1c1c" stroke="#f2f2f2" stroke-width="1"/><text x="120" y="101" fill="#f2f2f2" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Trial</text><text x="120" y="119" fill="#a3a3a3" font-size="12" font-family="inherit" text-anchor="middle">no payment details</text>
  <rect x="264" y="72" width="136" height="64" rx="8" fill="rgba(255,122,77,0.10)" stroke="#ff7a4d" stroke-width="1.4"/><text x="332" y="101" fill="#f2f2f2" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Paid</text><text x="332" y="119" fill="#a3a3a3" font-size="12" font-family="inherit" text-anchor="middle">renews each cycle</text>
  <rect x="476" y="72" width="136" height="64" rx="8" fill="#1c1c1c" stroke="#f2f2f2" stroke-width="1"/><text x="544" y="101" fill="#f2f2f2" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Closed</text><text x="544" y="119" fill="#a3a3a3" font-size="12" font-family="inherit" text-anchor="middle">most pages locked</text>
  <rect x="52" y="208" width="136" height="64" rx="8" fill="#1c1c1c" stroke="#f2f2f2" stroke-width="1"/><text x="120" y="237" fill="#f2f2f2" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Trial expired</text><text x="120" y="255" fill="#a3a3a3" font-size="12" font-family="inherit" text-anchor="middle">must subscribe</text>
</svg>
{/* /diagram:subscription-lifecycle */}

## The three plans

Paid plans are `Business`, `Enterprise`, and `Agency`:

| Plan | Base maps | Base storage | Viewers | Add-ons |
| --- | ---: | ---: | ---: | --- |
| `Business` | 20 | 4 GB | 0 | Not available |
| `Enterprise` | 40 | 8 GB | 100 | Available |
| `Agency` | 100 | 16 GB | Unlimited | Available |

Add-ons increase maps, storage, administrator seats, or editor seats. `Business` does not support add-ons. The trial uses the `Enterprise` base limits but starts with every add-on set to zero.

## Add-ons and seats

The available add-on quantities are:
| Add-on | Choices |
| --- | --- |
| `Admins` | 0–5, in steps of 1 |
| `Editors` | 0–25, in steps of 5 |
| `Maps` | 0–25, in steps of 5 |
| `Storage` | 0–250 GB, in steps of 50 GB |

The account limit equals the plan's base allowance plus active add-ons. If a downgrade would put current usage above the new limit, MangoMap blocks the change until the usage or selected plan is changed.

## Billing cycles

`Manage subscription` offers these cycles:
| Cycle | Discount shown in MangoMap |
| --- | --- |
| `Monthly` | None |
| `Annual` | `Save 20%` |
| `2 years`, `3 years`, `4 years`, or `5 years` | `Save 30%` |

The selected cycle controls the amount shown in the pricing summary and the renewal term.

## Recurly's role

Recurly hosts MangoMap's payment pages:

- Card details during checkout.
- The billing portal opened by `Update billing`.
- Invoice payment and invoice PDF pages opened from `Invoices`.

These links open in a new tab. You do not need a separate Recurly login.

## Trial expiry and account closure

MangoMap sends reminders before the 30-day trial ends. If the owner does not upgrade, the trial expires and MangoMap sends the owner to `Manage subscription` to choose a paid plan. If a paid subscription is cancelled, the account closes at once and access is revoked.

The owner restores access by completing checkout. See [How to upgrade from trial to paid](/docs/subscription-and-billing/upgrade-from-trial-to-paid) and [The trial expired or account is closed](/docs/subscription-and-billing/troubleshoot-trial-expired).

## Related

- [Subscription & billing reference](/docs/subscription-and-billing/subscription-and-billing-reference)
- [How to upgrade from trial to paid](/docs/subscription-and-billing/upgrade-from-trial-to-paid)
- [How to manage your subscription](/docs/subscription-and-billing/manage-your-subscription)
- [How to view and pay invoices](/docs/subscription-and-billing/view-and-pay-invoices)
- [How to cancel your subscription](/docs/subscription-and-billing/cancel-your-subscription)
- [Account roles reference](/docs/account-roles/account-roles-reference)
