> ## 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 MPS

> Connect your Tech Provider app to Kapso infrastructure or managed billing

A Multi-partner Solution links your Tech Provider app with Kapso. Your app owns the customer relationship. Kapso can run the WhatsApp infrastructure, provide managed billing, or both.

## 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).

<Warning>
  Multi-partner Solutions are in beta. Supported features, eligibility, pricing, and reporting intervals may change.
</Warning>

## 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 and can provide managed billing                |
| Your infrastructure   | Your Meta integration            | Kapso detects connected WABAs and tracks usage through Meta Pricing Analytics |

## 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 prepaid USD balance.

## 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>

## Monitor customer accounts

Open **Tenants > Multi-partner solution** to see:

* detected customer WABAs and their connection state
* managed funding status and WABA currency
* messages and external spend observed in the last 24 hours
* external spend observed in the last 30 days
* when Meta last reported each account

The summary also shows an estimated balance buffer. It compares your available balance with the highest five-minute WhatsApp spend observed in the last 24 hours. It is an estimate, not a spending limit or guarantee.

## Managed billing

When Kapso runs messaging, a successful WhatsApp connection does not by itself confirm that managed billing was attached. Check the billing result returned by the setup flow.

When messages run through your infrastructure, Kapso cannot pause your sends. Keep enough prepaid balance to cover usage reported between Pricing Analytics checks. The balance buffer helps you monitor that exposure but does not block sends.

Messages sent through your infrastructure include a 5% managed billing fee on top of Meta's published USD list rate. This fee is separate from the FX margin applied to non-USD WABAs.

<Note>
  Marketing Lite is billed at Meta's published marketing rate. Max-price bidding above the published rate is not supported.
</Note>

## WhatsApp Calling

Managed billing for WhatsApp Calling is available for eligible USD WABAs. User-initiated calls are free. Meta charges business-initiated calls based on duration and destination, and Kapso deducts the aggregate cost from your prepaid balance.

When calls run through Kapso, Kapso checks billing health and balance before starting a business-initiated call. When calls run through your infrastructure, Kapso checks Meta Call Analytics about every five minutes and cannot block calls made through your own integration.

Calling fees are reported as aggregate usage. Kapso does not show an exact Meta fee for an individual call.

See [Meta message billing](/docs/whatsapp/meta-message-billing) for pricing and supported currencies.
