On this page

Meta bills WhatsApp conversation charges directly to your own Meta Business Manager's payment method, at its own published per-message rates by recipient country and message category, with VGraple CRM adding no markup on top; the only charge from VGraple CRM itself is your monthly plan. Since 1 July 2025, pricing is per delivered message rather than per 24-hour conversation window, and VGraple CRM shows the real cost before you send, not just after Meta's invoice arrives.
Meta billing
- 1Open the broadcast composer and reach the
- 2Read the cost estimate
- 3Note what is excluded from the estimate
- 4Check whether the send is inside an
- 5See Meta's actual invoice for full detail
Before you start
- Understand the two separate bills: your VGraple CRM plan (Free through Scale, covering the software, agent seats, contacts and conversation volume) and Meta's own conversation charges (billed by Meta, to Meta, for the actual messages sent). They are unrelated line items from two different companies.
- Know that pricing is per delivered message, by category (Marketing, Utility, Authentication) and by the recipient's country, not a flat global rate. See template categories and pricing for how a template's category is decided.
- If you want to see Meta's own itemized billing (not just VGraple CRM's estimate), that lives in Meta Business Manager's billing section, not inside VGraple CRM.
Steps

Seeing the estimated cost before you send
Open the broadcast composer and reach the Review and Send step. Go to Broadcasts, then New broadcast, build the audience and message, and continue to the final step before sending.
Read the cost estimate. VGraple CRM calculates the per-recipient price from the template's category and each recipient's country code, then totals it for the whole audience, shown in INR alongside the recipient count and remaining daily headroom.
Note what is excluded from the estimate. Suppressed recipients (opted out, blocked, over a frequency cap, a US number during Meta's marketing pause) are excluded from the projected total, since Meta never charges for a message it does not deliver.
Understanding what is free versus charged
- Check whether the send is inside an open service window. A reply to a customer who messaged your business in the last 24 hours is free for Utility-category content sent back to them; a Marketing template is charged even inside that window, since Meta's exemption is category-specific, not window-specific across the board.
- See Meta's actual invoice for full detail. VGraple CRM's estimate is a projection at send time; Meta's own billing section in Business Manager shows the definitive, itemized charge after delivery, including any rate changes that took effect between your estimate and the actual send.
What does an actual India-market example look like?
Meta's published India rates, current at time of writing, illustrate how much category matters more than volume for cost.
| Category | Approximate rate per message (India) | Example: 5,000 recipients |
|---|---|---|
| Marketing | Roughly Rs 0.86 | Roughly Rs 4,300 |
| Utility (outside the service window) | Roughly Rs 0.12 | Roughly Rs 600 |
| Authentication (outside the service window) | Roughly Rs 0.12 | Roughly Rs 600 |
| Utility inside an open 24-hour service window | Free | Rs 0 |
Example
A clinic sends the same 5,000-recipient list two different templates on two different days: a Marketing promotional offer, and a Utility appointment-reminder update. Even though the recipient count and delivery rate are identical, the Marketing send costs roughly seven times more per message than the Utility one, purely because of category, not because Meta treats the clinic differently. This is exactly why the composer shows category and country before every send, rather than a single blended number.
Rates change periodically (Meta has updated its rate cards multiple times through 2025 and 2026) and vary by recipient country; the figures above illustrate the category gap, not a guaranteed current price. The composer's cost estimate always reflects VGraple CRM's currently loaded rate card, which is kept in step with Meta's published updates.
Why does VGraple CRM keep these as two separate bills instead of one?
Folding Meta's per-message charges into VGraple CRM's own invoice, with a markup added on top, is a common pattern among WhatsApp platforms, and it is deliberately not how VGraple CRM operates. Keeping the two bills separate means you always see Meta's real rate, in Meta's own billing section, rather than a bundled number that could hide a markup you have no way to verify. It also means a rate change Meta makes (as it has done several times through 2025 and 2026) reaches your invoice exactly as Meta published it, the same day it takes effect on Meta's side, rather than waiting for VGraple CRM to update a bundled price.
What you will see
The broadcast composer shows an estimate before you send and does not attempt to reconcile it against Meta's actual invoice afterward, since VGraple CRM does not itself hold or process the payment; that reconciliation happens on Meta's own billing statement. Analytics for a completed campaign show the estimated cost against the delivered count, useful for tracking spend trends over time, but the authoritative number for accounting purposes is always Meta's own invoice.
Settings and options
| Setting or field | What it does | Default |
|---|---|---|
| Cost estimate (composer) | Per-recipient and total projected charge, by country and category | Shown automatically at Review and Send, before every broadcast |
| Suppressed recipient exclusion | Removes contacts VGraple CRM will not attempt to send to from the cost projection | Automatic |
| Currency | INR for India-billed accounts | Matches Meta's own billing currency since 1 January 2026 |
| Rate card | The per-country, per-category price table used for estimates | Updated by VGraple CRM as Meta publishes new rates |
Troubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
| Estimated cost looks higher than expected | The audience includes more Marketing-category recipients than assumed, or a country with a higher published rate | Check the audience's country mix and the template's actual category before sending |
| Meta's invoice does not match VGraple CRM's estimate exactly | A rate change took effect between the estimate and the actual send, or a small share of numbers have an ambiguous country code | Expect small variance; a large or systematic mismatch is worth checking against the template's actual approved category |
| A reply inside the service window still shows a charge on Meta's invoice | The reply used a Marketing-category template, which is charged regardless of the window, or the window had already closed | Check the template's category and the exact time of the customer's last inbound message |
| Suppressed recipients still appearing to cost money in analytics | Analytics is showing the pre-send estimate for the full intended audience, not the delivered-only actual cost | Check the delivered count specifically; suppressed rows are excluded from what Meta actually billed |
| Cannot find Meta's own itemized bill | Looking in VGraple CRM instead of Meta Business Manager | Meta's billing section lives in Business Manager, under the WhatsApp Business Account's own settings, separate from VGraple CRM entirely |
Related reading
For the composer's full cost and test-send workflow, see cost estimate and test send before launch. For how a template's category determines its rate, see template categories and pricing, and for the broader billing relationship between you, VGraple CRM and Meta, see Tech Provider vs BSP.