Skip to content

Account and Billing QA: corrected typos, added assets, improved formatting #381

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

Open
wants to merge 11 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions docs/troubleshooting/account-and-billing-QA/_category_.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"label": "Accounts and Billing QA"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
---
keywords: ['account', 'billing', 'tax', 'vat']
slug: add-tax-id-to-account
title: Add tax ID to account
---
# Add Tax ID to account

You can add a tax identification number (VAT ID or other Tax IDs) to your account for billing and tax compliance.

:::info[Prerequisite]
You must have an active FlutterFlow account.
:::

**Contact Support to Add Tax ID**

To add your VAT ID or other tax identifiers, contact support by emailing [email protected]. Include the following information in your request:

- VAT ID
- Company name
- Company address

The FlutterFlow team will verify the provided tax information and confirm once the update is completed.

:::note
- VAT ID updates only apply to future invoices. Due to limitations with the payment processor (Stripe), previous invoices cannot be modified.
- Ensure that your account name and billing information match your business tax records before requesting changes.

Adding your tax ID ensures your invoices are correctly formatted for tax reporting purposes.
:::
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
---
keywords: ['subscription', 'cancel', 'flutterflow']
slug: cancel-flutterflow-subscription
title: Cancel FlutterFlow Subscription
---
# Cancel FlutterFlow subscription

You can cancel your FlutterFlow subscription at any time. After cancelation, you will continue to have access to paid features until the end of your current billing cycle.

## Steps to Cancel Your Subscription:

1. Log in to FlutterFlow and click your name in the bottom-right corner to access your **My Account** page.

![My account page in FlutterFlow](../assets/20250430121447310219.png)

2. In the **My Plan** section, click **Cancel Subscription**.

![Cancel subscription button](../assets/20250430121447630867.png)

3. Complete the cancelation survey and click **Cancel Subscription** to confirm.

A confirmation message will appear after cancelation.

:::note
Your account will remain active with paid features until your current billing period ends. After that, your account will automatically switch to the free plan.
:::

You can verify the cancelation by checking the **My Plan** section, where it will display **Active until [x date].**

![Subscription active until date](../assets/20250430121447869708.png)
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
---
keywords: ['fails', 'payment', 'succeeds']
slug: check-stripe-payment-status
title: Check Stripe Payment Status
---
# Check Stripe Payment Status

You can verify whether a Stripe payment succeeded or failed using action output variables in FlutterFlow.

**Using Action Output Variables**

FlutterFlow actions allow you to name an output variable that stores the return value after execution. This is useful for tracking the status of operations, including payments.

**Default PaymentId in Stripe Actions**

For Stripe payments, FlutterFlow assigns a default output variable named `paymentId`. This variable holds the ID returned by Stripe after processing the payment.

![Stripe paymentId output variable](../assets/20250430121315284187.png)

**Checking Payment Status**

After the Stripe payment action runs, check if `paymentId` is set and not empty.

- If `paymentId` is not empty, the payment was successful.
- If `paymentId` is empty, the payment failed.

![Checking paymentId is not empty](../assets/20250430121315556496.png)

![Condition block using paymentId](../assets/20250430121315814333.png)

**Actions Based on Payment Result**

**On Successful Payment**

- Display a confirmation message (e.g., snack bar).
- Navigate users to a success screen.
- Update the database, send confirmation emails, or perform other success actions.

**On Failed Payment**

- Prompt the user to try again.
- Reset payment input fields.
- Provide feedback to guide users through retrying the process.

By using action outputs, you can build reliable and responsive payment flows in your app.

![Example of a successful payment flow](../assets/20250430121316063461.png)
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
keywords: ['paid', 'plan', 'downgrade']
slug: downgrade-paid-to-free
title: Downgrade from Paid to Free Plan
---

# Downgrade from Paid to Free Plan

When you cancel your FlutterFlow subscription, your account will automatically switch to a Free plan.

You will still have access to your existing apps and can continue making changes inside FlutterFlow.

However, premium features such as custom APIs, GitHub integration, Codemagic, and code downloads will no longer be available. These features will also stop working in Preview and Run modes.

:::note
Downgrading to a Free plan does not affect apps already deployed to Google Play or the App Store. Your projects remain stable, and you can upgrade again anytime to regain premium features.
:::
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
---
keywords: ['downgrading', 'teams', 'plans']
slug: downgrade-from-teams-plan
title: Downgrade From Teams Plan
---

# Downgrade From Teams Plan

If you need to downgrade your FlutterFlow subscription from the Teams plan to another plan, follow the steps below.

**Cancel Your Current Subscription:**

1. In the FlutterFlow app, click your name in the bottom-right corner.

![Account settings button](../assets/20250430121153659010.png)

2. On the **My Account** page, locate the **My Plan** section and click **Cancel Subscription**.

![Cancel subscription button](../assets/20250430121153891955.png)

3. After confirming the cancellation, you will see the subscription expiration date reflected in the **My Plan** section.

![Subscription expiration date](../assets/20250430121154120311.png)

**Downgrade After Expiration**

After your Teams subscription expires, your account will automatically switch to a free plan. From there, you can upgrade to a different plan if needed. Click the **Upgrade** button in the bottom-right corner to select a new plan.

:::info[Immediate Downgrades]
If you need to downgrade from the Teams plan to a Pro (or other) plan immediately, contact support at [[email protected]](mailto:[email protected]).
:::
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
keywords: ['failed', 'card', 'payment']
slug: payment_failed_update_credit_card
title: Payment Failed Update Credit Card
---
# Payment Failed Update Credit Card

If your payment fails, you can update your credit card information and retry the payment.

:::tip
The most common causes for failed payments are insufficient funds, payment blocked by the credit card provider, or an expired card. If your payment fails, check with your credit card provider for specific details.
:::

To update your payment method for an open invoice:

- Open **My Account**.

- Select **Manage Billing**.

- Scroll to **Invoice History**.

- Locate the failed invoice (it should be at the top) and click the icon.

![](../assets/20250430121458849389.png)

- Enter your updated payment information.

Once the transaction is successful, your system access will be restored.
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
---
keywords: ['testing', 'revenuecat', 'error']
slug: revenuecat-integration-troubleshooting
title: RevenueCat Integration troubleshooting
---
# RevenueCat Integration Troubleshooting

Integrating RevenueCat adds in-app purchasing and subscription management to your mobile app. This article outlines common integration issues and how to resolve them.

**App Publishing Required for Testing:**

RevenueCat requires that your app is published on the Google Play Store and Apple App Store to test in-app purchases.

**Google Play Store:**

- Create and submit a release in Google Play Console.
- Use the Internal Testing track for faster testing.
- Upload your APK or App Bundle and submit it for review.
- Learn how to **[set up a Flutter environment](https://youtu.be/mMeQhLGD-og?si=9GW39cvNNYvV9it4)** on macOS.

**Apple App Store:**

- Submit your app using App Store Connect.
- Use TestFlight for beta testing without full App Store review.
- Learn how to **[set up Flutter](https://youtu.be/mMeQhLGD-og?si=9GW39cvNNYvV9it4)** on Windows.

**Subscription Product Setup**

Subscription products must be correctly configured in Google Play Console and App Store Connect:

- Create unique identifiers for each subscription product.
- Follow RevenueCat’s documentation for Android and iOS product setup.

**RevenueCat Configuration**

Verify your RevenueCat setup:

- Register your app in RevenueCat.
- Ensure Products, Entitlements, and Offers are correctly configured.
- Connect RevenueCat to both app stores with the correct credentials.

**FlutterFlow Integration Settings**

- Enable RevenueCat integration in FlutterFlow project settings.
- Enter the correct API keys for both Play Store and App Store.

**Testing Limitations**

RevenueCat integration works only in native environments. It does not function in web, test, or run mode inside FlutterFlow.

**Test on Emulator or Simulator**

- For Android: Use an emulator with Google Play Services and sign in with a tester Google account.
- For iOS: Use Xcode's simulator with a sandbox Apple ID account.

**Test on a Real Device**

- Deploy to Google Play Store Internal Testing track or Apple TestFlight.
- Real device testing provides the most accurate environment for in-app purchases.

**TestFlight Error Logs**

- Access error logs from TestFlight testers to help diagnose issues.

**Error Handling and Analysis:**

- Review error messages from Crashlytics or during testing.
- Enable debug logging in FlutterFlow for detailed error reports.
- Ensure that identifiers match across RevenueCat, FlutterFlow, and the app stores.

:::info[Best Practices]
- Always test in an environment that mirrors production.
- Keep subscription product identifiers consistent.
- Regularly update the `purchases_flutter` package.
- Follow the **[RevenueCat Launch Checklist](https://docs.revenuecat.com/docs/launch-checklist)**.
:::

:::info[Additional information]
- [RevenueCat integration documentation](https://docs.flutterflow.io/integrations/payments/revenuecat/)
- [In-app subscriptions using RevenueCat blog post](https://blog.flutterflow.io/in-app-subscriptions-using-revenue-cat/)
:::

:::note
A clear understanding of the RevenueCat data model and integration setup is essential for resolving issues.
:::
31 changes: 31 additions & 0 deletions docs/troubleshooting/account-and-billing-QA/upgrade_paid_plan.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
---
keywords: ['upgrade', 'plan', 'paid']
slug: upgrade-paid-plan
title: Upgrade Paid Plan
---

# Upgrade Paid Plan

You can upgrade to a paid plan by following these steps:

- Log in to your account and go to **[app.flutterflow.io](https://app.flutterflow.io)**.

- In the bottom right-hand corner, click **Upgrade**.

![](../assets/20250430121445951298.png)

- In the pop-up window, select your preferred plan. Benefits for each plan are listed under the upgrade options. You can choose between **Monthly** or **Annual** billing. Annual plans offer up to 28% savings.

![](../assets/20250430121446291042.png)

New users receive a 14-day free trial on personal plans.

:::note
The Teams plan is not eligible for a free trial.
:::

- After selecting a plan, you will be redirected to the payments page. A card is required on file, but you can cancel anytime from your account settings. Trial users will see **Total due today: $0**.

![](../assets/20250430121446674539.png)

Once confirmed, you will be returned to the app, where your new plan will be displayed in the bottom right-hand corner.
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
---
keywords: ['teams', 'upgrading', 'account']
slug: upgrade_pro_to_teams
title: Upgrade Pro to Teams
---
# Upgrade Pro To Teams

You can upgrade your Pro account to Teams to collaborate with others and manage multiple seats under one subscription.

:::note
The person who initiates the upgrade becomes the team owner. The owner can set permissions, manage billing, and invite team members.
:::

To upgrade your Pro acccount to teams, take the following steps:

- **Open My Organization**: Log into your FlutterFlow account. In the left sidebar, click **My Organization**.

- **Create a Team**: In the My Organization section, click **Create Team**. Enter a team name to proceed.

- **Subscribe to Teams**: After creating your team, click **Subscribe** within the same My Organization section.

- **Select Number of Seats**: Choose the number of seats you need. Each seat represents one team member. You can add more seats later if needed.

- **Complete the Upgrade**: Follow the remaining prompts to confirm your subscription and complete payment.

:::note
Teams plans include collaboration features not available in Pro plans.
:::

For assistance with upgrading, contact FlutterFlow support.
Loading