A WhatsApp send passes through acceptance, delivery and cost reconciliation before its charge is known.

## What does Meta charge for?

Meta charges when a message is delivered. Its [WhatsApp Business Platform pricing](https://business.whatsapp.com/products/platform-pricing) is organized by message category and recipient market.

A request accepted by Bird is not proof that the message was delivered or charged.

## How does the 24-hour window change the bill?

Inside the [24-hour customer service window](/explained/whatsapp/what-is-the-24-hour-customer-service-window), free-form replies are service messages that Meta does not charge. The window resets with each customer message.

After the window closes, use an approved template. A template's language can have its own Meta category, so check whether that language is approved and which category Meta assigns before estimating the send.

## Which messages can qualify for an exemption?

Meta does not charge service messages or utility messages businesses send in response to users. Meta also describes free entry points, such as a customer message from an eligible ad or Page button, with conditions and a limited period.

Treat those as conditions to verify against [Meta's pricing page](https://business.whatsapp.com/products/platform-pricing), not as a blanket free-message rule. A free entry point does not remove consent, template or policy requirements.

## What should an illustrative invoice contain?

Use an illustrative invoice with symbols instead of live rates. Keep one row per delivered message group:

| Row                        | Count | Rate source       | Check                                                             |
| -------------------------- | ----: | ----------------- | ----------------------------------------------------------------- |
| Utility replies            |   `u` | Meta pricing      | Was the reply inside the service window or a qualifying response? |
| Business-initiated utility |   `b` | Meta pricing      | Was the template approved and classified as utility?              |
| Authentication             |   `a` | Meta pricing      | Did the language remain approved for the send?                    |
| Marketing                  |   `m` | Meta pricing      | Did the recipient opt in to this message category?                |
| Provider service           |     1 | Provider proposal | Are platform, seat, number and support fees separate?             |

For example, 120 utility messages, 30 authentication messages and 50 marketing messages produce `120 × utility rate + 30 × authentication rate + 50 × marketing rate`, plus provider fees. Your Meta subtotal is the sum of each delivered-message count multiplied by the current rate for its category and market. Your provider subtotal is separate. Do not infer either subtotal from a `202` response.

## How do I reconcile Bird's charge record?

For a Bird message, inspect the returned `cost` object after the outcome is known. `transaction_amount` is Bird's platform charge. `passthrough_amount` is the Meta message charge Bird passes on for WhatsApp.

Either amount can be absent before pricing or when a message is rejected before pricing. A missing amount does not prove that a message was free.

Start with [Bird's WhatsApp pricing](/pricing/whatsapp), then compare the same workload against [Meta's published pricing](https://business.whatsapp.com/products/platform-pricing) and your provider proposal.

## Related resources

- [WhatsApp](/products/whatsapp) (product)
- [Sending WhatsApp messages](/docs/guides/whatsapp/sending-whatsapp) (docs)
- [Connecting WhatsApp to Bird: from buying a number to a live channel](/learn/whatsapp/connecting-whatsapp-to-bird) (video)
- [WhatsApp message builder](/tools/whatsapp-message-builder) (tool)

[Get an implementation brief](/learn/workspace?topic=whatsapp)
