> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kapso.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Set up a Multi-partner Solution

> Connect your Tech Provider app to Kapso for managed billing and, optionally, Kapso infrastructure

A Multi-partner Solution (MPS) links your Tech Provider app with Kapso. Your app owns the customer relationship. Kapso provides [managed billing](/docs/platform/tech-providers/billing) and, if you want, runs the WhatsApp infrastructure.

## At a glance

1. [Check the requirements](#requirements) for your Meta app, Kapso project, and prepaid balance.
2. [Choose your infrastructure](#choose-your-infrastructure): Kapso or your own integration.
3. [Create the solution](#create-the-solution) and [confirm it is active](#solution-status) after both partners are accepted.
4. Onboard customers with [Kapso infrastructure](#onboard-with-kapso-infrastructure) or [your infrastructure](#onboard-with-your-infrastructure).
5. [Manage funding](/docs/platform/tech-providers/manage-funding) for your customer accounts.

## Requirements

Before creating a solution:

* [create your Meta app](/docs/platform/create-meta-app) and [complete Meta business and access verification as a Tech Provider](/docs/platform/become-tech-provider)
* request the Meta permissions required by your embedded signup flow
* create a WhatsApp embedded signup configuration for your app
* save your Meta app and configuration ID in Kapso if Kapso will run messaging
* your Kapso project must be on the **Platform or Enterprise plan**
* ask Kapso to enable Multi-partner Solutions for the project
* maintain the minimum prepaid balance shown in the project

## Choose your infrastructure

Choose who will process messages after onboarding. This is separate from where you host the onboarding UI.

| Messages processed by | Signup flow | Billing and usage |
| - | - | - |
| Kapso | Kapso setup link or `@kapso/sdk` | Kapso meters messages directly; managed billing is optional per setup link |
| Your infrastructure | Your Meta integration | Kapso detects connected WABAs, funds them, and tracks usage through Meta Pricing Analytics (5% managed billing fee) |

## Create the solution

In Kapso, open **Tenants > Multi-partner solution**.

Two ways to create it:

* **Create with Kapso** — Kapso opens Meta's embedded creation flow and stores the returned solution.
* **Create manually in Meta** — create and submit the solution request in Meta, then enter the exact solution ID and your app ID in Kapso. Kapso reviews and accepts its side. The solution activates after both partners are accepted in Meta.

Choose:

* **Messages processed by:** Kapso or Your infrastructure
* **App with messaging permission:** Your Meta app

Kapso validates the apps and permissions before activating the solution.

## Solution status

| Status | Meaning |
| - | - |
| Pending review | The solution exists in Meta but is not yet accepted by both partners |
| Active | New customers can onboard through the solution |
| Deactivating | Meta is processing deactivation; new onboarding is disabled |
| Deactivated | Kept for history; cannot onboard new accounts |

Deactivating a solution keeps existing customer connections. Customers are not moved to another solution.

## Onboard with Kapso infrastructure

Create a [setup link](/docs/platform/setup-links/create-and-configure) or [embed onboarding in your product](/docs/platform/tech-providers/embed-onboarding).

Kapso locks the solution to each signup attempt when it starts, so changing the solution mid-flow does not affect onboarding in progress. The connected WABA stays tied to the solution it onboarded with, for billing and analytics.

Set `meta_billing_mode` when creating the setup link:

* `customer_managed` — the customer pays Meta directly.
* `partner_managed` — Kapso attaches its credit line and deducts WhatsApp fees from your project's Kapso credits.

## Onboard with your infrastructure

Follow [Your infrastructure](/docs/platform/tech-providers/your-infrastructure) to initialize Meta's SDK, pass your Solution ID, and complete onboarding on your backend. Meta reports each associated WABA to Kapso.

For every eligible active WABA, Kapso checks eligibility and project balance, attaches its credit line automatically, and starts metering from that point — usage from before the WABA was funded is not charged. Kapso checks aggregate Meta usage about every five minutes.

Accounts that cannot be funded show a **Needs attention** state. Kapso retries recoverable failures without creating duplicate funding or charges.

<Note>
  External usage comes from Meta Pricing Analytics. New messages and charges can take several minutes to appear in Kapso.
</Note>

## Next steps

* [Manage funding](/docs/platform/tech-providers/manage-funding): monitor customer accounts and stop or resume funding.
* [How billing works](/docs/platform/tech-providers/billing): pricing, eligibility, low balance, and WhatsApp Calling.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.