E-commerce12 min read

Wave Business multi-shop: multiple accounts architecture for a holding in 2026

Mohamed Bah·Fondateur, Kolonell
June 3, 2026
Share:
Wave Business multi-shop: multiple accounts architecture for a holding in 2026

Wave Business multi-shop: multiple accounts architecture for a holding in 2026

E-commerce

Holding + N branches: why one Wave Business account is never enough in 2026

Real audit case from March 2026: a Dakar restaurant group (5 brands, 1 parent holding, 1 central kitchen, 28 employees) was using a SINGLE Wave Business account to collect payments across 5 outlets. Consequences:

  • Impossible to attribute revenue by brand without manual reconciliation
  • Fragile Wave KYB: the account bears the holding name, not the brand — BCEAO could requalify
  • No treasury separation: a dispute on brand A freezes all flows
  • Tax audit impossible: 5 businesses but 1 single journal

The correct architecture: 1 Wave Business account per legal entity (branch or subsidiary LLC), with group-side consolidation. Here is how.

The BCEAO rule on electronic money accounts is clear: 1 account = 1 KYB-identified legal entity. So your Wave architecture must mirror your legal structure.

Case 1 — Holding + distinct LLC subsidiaries (recommended)

  • 1 Wave Business account per subsidiary LLC (separate KYB)
  • 1 holding Wave Business account (management fee collection)
  • Pros: ring-fenced treasuries, own tax filing, transparency
  • Cons: 5 KYBs = 5 files (1-2 weeks per file)

Case 2 — Branches of a single entity

  • Single Wave account (KYB on parent entity)
  • Platform-side virtual sub-accounts (shop_id tags)
  • Pros: 1 KYB, fast start
  • Cons: no legal flow separation, fragile in case of dispute

Case 3 — Franchise / partnership

  • Each franchisee has their own Wave Business account (franchisee KYB)
  • Central platform = payment orchestration, not custodial
  • Pros: no payment aggregator risk
  • Cons: more complex reporting

For 9 out of 10 holdings I advise in West Africa, case 1 (distinct LLC subsidiaries) remains the most legally and fiscally defensible.

H2: Payment routing (platform-side orchestration)

The challenge: at checkout creation, how do you know which Wave Business account the payment should go to? Answer: a platform-side routing service that resolves shop_idwave_account_idwave_api_key.

`typescript

// Multi-shop checkout routing service

type ShopRoute = {

shopId: string;

waveAccountId: string;

waveApiKey: string; // encrypted at rest (KMS / Vault)

callbackUrl: string;

};

async function createCheckoutForShop(

shopId: string,

amount: number,

invoiceRef: string

): Promise {

const route = await db.shopRoute.findUnique({ where: { shopId } });

if (!route) throw new Error(Unknown shop: ${shopId});

const apiKey = await kms.decrypt(route.waveApiKey);

const checkout = await fetch('https://api.wave.com/v1/checkout/sessions', {

method: 'POST',

headers: {

'Authorization': Bearer ${apiKey},

'Content-Type': 'application/json',

'Idempotency-Key': co_${shopId}_${invoiceRef},

},

body: JSON.stringify({

amount: amount.toString(),

currency: 'XOF',

success_url: https://shop${shopId}.ex/thanks,

error_url: https://shop${shopId}.ex/error,

client_reference: invoiceRef,

metadata: { shop_id: shopId, account_id: route.waveAccountId },

}),

});

const { wave_launch_url } = await checkout.json();

return wave_launch_url;

}

`

Need a professional website?

Kolonell builds websites that attract clients, optimized for the Sénégalese market. Free quote in 2 minutes.

Critical points:

  • Store Wave API keys per shop encrypted at rest (AWS KMS, HashiCorp Vault, or Neon pgcrypto)
  • Never plaintext API keys in DB or application code
  • Audit trail of every call (who triggered which checkout for which shop)

H2: Multi-account webhooks (1 endpoint, N accounts)

Wave allows pointing multiple Business accounts to the same webhook endpoint. The payload contains account_id which enables server-side routing.

`typescript

// Single webhook endpoint for N Wave accounts

export async function POST(req: Request) {

const sig = req.headers.get('Wave-Signature');

const body = await req.text();

const event = JSON.parse(body);

const accountId = event.data?.account_id;

const route = await db.shopRoute.findFirst({

where: { waveAccountId: accountId },

});

if (!route) return new Response('Unknown account', { status: 404 });

const secret = await kms.decrypt(route.webhookSecret);

if (!verifyWaveSignature(body, sig, secret)) {

return new Response('Invalid signature', { status: 401 });

}

// Persist event scoped to shop

await db.payment.create({

data: {

shopId: route.shopId,

waveEventId: event.id,

amount: event.data.amount,

status: event.data.status,

invoiceRef: event.data.client_reference,

},

});

return new Response('OK');

}

`

H2: Group accounting consolidation

On the holding reporting side, you want to see consolidated revenue. Method: a nightly ETL (cron 03:00) that aggregates payments from all shops into a group_revenue view with attribution by brand, by day, by category.

Group viewGranularitySourceRefresh
Daily revenue by brandday × shoppayment tableT+1 06:00
Consolidated monthly revenuemonthaggregationT+1 06:00
Gross margin by brandmonth × shoppayment + cogsmonthly
Group cash positiondaypayment + bank_transferdaily
Top 10 group customersmonthcustomer + paymentweekly

H2: Multi-shop investments

ItemUpfront costMonthly recurring
Wave Business KYB × N entities0 (free)
Multi-shop orchestration platform (Next.js)3,500,000 to 6,800,000 FCFA
KMS / Vault module (API key encryption)380,000 FCFA setup25,000 FCFA
Group consolidation dashboard1,800,000 to 3,200,000 FCFA
Hosting + monitoring45,000 to 95,000 FCFA
Dev maintenance (4-8h/month)180,000 to 360,000 FCFA

Upfront investment: 5.7-10.4M FCFA. Recurring: 250-480K FCFA/month. ROI: for a holding with > 800M FCFA/year consolidated revenue, break-even in 4-7 months (audit, tax, steering gains).

FAQ

Does Wave Business allow multiple accounts for the same director?

Yes, provided each account matches a distinct legal entity (separate KYB, different RCCM, different NINEA). The same director can represent 5 LLCs — they will have 5 Wave Business accounts with their name as legal representative.

Can you transfer between Wave accounts of the same holding?

Yes, via Wave-to-Wave transfer (free, instant for approved Business accounts). In SYSCOHADA accounting: account 451 (Partners current accounts) or 461 (Current accounts) depending on the transfer nature (advance, dividend, rebilling).

BCEAO risk if one account collects for multiple entities?

Yes, that is a requalification risk as an unlicensed PSP activity. BCEAO can sanction (fine, account suspension) if it finds that an electronic money account collects on behalf of unidentified third parties. Multi-account architecture = compliance.

Cost of a Wave Business KYB per entity?

Free. Wave Business does not charge for KYB. Lead time: 5-15 business days depending on file completeness (RCCM, NINEA, articles, director ID, registered office proof).

Do you need a Wave Business account for the holding even if it does not collect from customers?

Recommended: to collect management fees, intra-group rebilling, dividends. Also handy for holding supplier payments (shared legal, accounting, IT).

Let's discuss your case

If your holding runs N branches and wants a clean Wave Business multi-account architecture (legally, fiscally, technically), we can architect and deploy it in 3-5 weeks. WhatsApp +221 77 596 93 33.

Tags:#Wave Business#multi-shop#holding#KYB#architecture#consolidation
Share:

Mohamed Bah

Fondateur, Kolonell

Passionate about digital and entrepreneurship in Africa, Mohamed has been helping Sénégalese businesses with their digital transformation since 2020. Founder of Kolonell, he believes every SME deserves a professional and accessible online présence.