> ## Documentation Index
> Fetch the complete documentation index at: https://stripe-sendcloud-docs.vinaka-apps.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Pricing & billing

> Subscription pricing and billing information for tenants.

## Pricing overview

<Tip>
  Your subscription starts with a free 14-day trial, so you can try the app before deciding.
</Tip>

* €10/month includes the first 1,000 synced orders.
* €10 per additional 1,000 synced orders.

## Start subscription

Use the Stripe checkout link below to start your subscription:

<Card icon="credit-card" horizontal href="https://stripe-sendcloud-prod.vinaka-apps.com/api/billing/start" title="Start subscription">
  Open Stripe checkout and activate your subscription.
</Card>

## Manage your subscription

If you already subscribed, you can manage billing details in Stripe:

<Card icon="gear" horizontal href="https://billing.stripe.com/p/login/fZu7sDfIw5Xj2oRe8a3VC00" title="Manage subscription">
  Open the Stripe billing portal.
</Card>

## Sandbox vs production

* Sandbox/testing: subscription is not required.
* Production/live: active subscription is required before automatic sync can run.

## Need help?

Contact [support@vinaka-apps.com](mailto:support@vinaka-apps.com).

<script
  dangerouslySetInnerHTML={{
__html: `
  (function () {
    var BILLING_START_PATH = "/api/billing/start";

    function getStripeAccountId() {
      try {
        return new URLSearchParams(window.location.search).get("stripe_account_id") || "";
      } catch (_e) {
        return "";
      }
    }

    function updateBillingStartLinks(accountId) {
      document.querySelectorAll('a[href*="' + BILLING_START_PATH + '"]').forEach(function (link) {
        try {
          var url = new URL(link.href);
          if (accountId && !url.searchParams.has("stripeAccountId")) {
            url.searchParams.set("stripeAccountId", accountId);
          }
          link.href = url.toString();
        } catch (_e) {
          // ignore malformed URLs
        }
      });
    }

    function run() {
      updateBillingStartLinks(getStripeAccountId());
    }

    if (document.readyState === "loading") {
      document.addEventListener("DOMContentLoaded", run);
    } else {
      run();
    }

    new MutationObserver(run).observe(document.body || document.documentElement, {
      childList: true,
      subtree: true,
    });
  })();
`,
}}
/>
