Skip to main content

Meta WhatsApp Pricing — Status 2026-07-22

Summary

Product decision landed on the service margin: bill service at cost — a 0 Qontak margin at launch (pass-through). This resolves the long-standing open product question (absorb / pass-through / bundle). Clients pay exactly what Meta charges Qontak, with no markup; the margin stays a real, configurable field so a markup can be introduced later. This supersedes the earlier default-10 / per-package-50 model. No progress value changes in this report.

Decision detail

  • Margin = 0 for every client, reached via two mechanisms:
    • New CIDs — default service margin is 0 at account creation (does not mirror bi_fee=10).
    • Existing CIDs — release-date idempotent backfill writes service margin = 0.
  • Other categories unchanged — marketing / utility / authentication margins and ui_fee/bi_fee are untouched.
  • Per-package override (WSVC-S04) deferredcustom_margin_by_packages is dead end-to-end (no read path); retained as a future lever, not launch scope (RFC OQ-3).

Docs updated

  • PRD prds/service-message-billing.mdv1.1 (§1, Scope Changes, §4, §6–9, §12–15, changelog).
  • Initiative README.md — open product question marked resolved.
  • documentations/impact-analysis.md §5 resolved; documentations/monetary-impact-to-clients.md figures flagged as an upper bound (they include margin; 0-margin charge is lower).
  • RFC rfcs/service-message-billing.md + task-breakdown — synced: seed ConversationFee('service') at 0.00; OQ-2 (margin unit) resolved as moot.

New risk / precondition (raised this pass)

The 0-margin guarantee holds only on the ConversationFee path. Where the existing :deduction_conversation_fee flag is OFF, hub-core WaPricing falls back to PackageFee.ui_fee (default 5, shared across all UI conversations) — which would bill a non-zero markup and violate charge-at-cost. Precondition (RFC A-3 / OQ-11, now elevated): confirm :deduction_conversation_fee is ON for every org enabled for bill_service_messages; do not enable legacy-path orgs until migrated.