WABA Automatic METS Reversal (Internal Guide)

WABA Automatic METS Reversal (Internal Guide)

Overview

All METS-enabled accounts are eligible for automatic credit reversal on failed WABA (WhatsApp Business API) messages. The feature was released in phases from 7–11 Nov 2025 and went fully live from 12 Nov 2025. When Meta confirms a message as Failed via DLR pingback, the exact CPM rate charged for that message is automatically credited back to the account.

What Is METS Reversal?

METS (Meta Enterprise Tariff Structure) is the billing framework for eligible WhatsApp Business API accounts. Under METS, each message is charged at a defined CPM (Cost Per Message) rate.
WABA Automatic METS Reversal is the mechanism that refunds this charge when a message is confirmed as failed by Meta. The reversal is fully automated no manual action is required once the failed DLR is received.
Once a failed DLR is received from Meta:
  1. The system identifies the CPM rate applied to that specific message at the time of send
  2. A credit equal to that CPM rate is posted to the account
  3. The entry is recorded on the current date (date of DLR receipt) not the original send/campaign date

Why Only FAILED Messages Are Eligible

The reversal logic is binary. A message must have a confirmed FAILED status from Meta's DLR to trigger a reversal. This is non-negotiable.

Eligible Status
  1. Failed — confirmed via Meta DLR pingback
Statuses That Do NOT Qualify for Reversal
  1. Sent (dispatched but no final DLR yet)
  2. Status Awaited (pending DLR from Meta)
  3. In Queue (not yet sent)
  4. Delivered
  5. Read
  6. Any other non-Failed status
No partial reversals, no proactive reversals, and no reversals for uncertain or intermediate states.

Reversal Timeline Dependent on Meta Pingback

The timing of the reversal is entirely dependent on when Meta sends the failed DLR to our system. This is outside our control.
  1. Same day — if Meta confirms failure immediately (e.g. invalid number, user not on WhatsApp)
  2. Within a few days — if the message was pending before Meta confirmed failure
  3. Up to 30 calendar days — for messages in an undelivered state where Meta delays the final DLR
If a reversal has not appeared within 30 days of the message send date for a confirmed failed message, escalate to the Product/Billing team for investigation.

Campaign Date Records Are Never Modified

A common point of confusion: reversal credits do not appear on the original campaign date. They are always posted on the current date — the date the failed DLR is received and processed.
  1. Original campaign date entry remains unchanged
  2. Reversal credit appears as a separate line on the DLR received date
  3. Historical campaign reports will always show the original charge — this is correct and expected
  4. For monthly reconciliation, capture both the charge date and the reversal date separately
Example: A message sent on 1 Oct that fails and is confirmed by Meta on 15 Oct will show a charge in the 1 Oct record and a credit in the 15 Oct record.

What Happens After a Failed DLR Is Received

Once Meta sends a failed DLR to our system:
  1. System checks account is on METS billing
  2. Original CPM rate for the message is retrieved
  3. Credit equal to the CPM rate is calculated
  4. Reversal entry is posted to current date's billing record
  5. No further action required from the account or internal team

Quick Reference

Eligible Accounts
All METS-enabled accounts
Fully Live From
12 November 2025
Reversal Trigger
FAILED DLR confirmed by Meta
Reversal Amount
Exact CPM rate at time of message send
Reversal Timing
Same day to up to 30 calendar days
Entry Posted On
Current date (DLR received date)  not campaign date
Campaign Date Modified?
No historical records are never updated
Manual Action Required?
No fully automated
Excluded Statuses
Sent, Status Awaited, In Queue, Delivered, Read, others

METS reversal is fully automated and requires no manual trigger. The only dependency is Meta's DLR pingback timing. Reversals can take up to 30 days, this is expected behavior. Do not raise a bug or escalation unless 30 days have passed with no reversal for a confirmed failed message.
For any queries on billing reconciliation or account-level reversal discrepancies, please connect with the Ops team.
    • Related Articles

    • Atlas: Your Guide to Enrollment Success

      Overview-Atlas Meet Atlas—the all-in-one resource hub within Meritto CRM, designed to keep your team updated, equipped, and unstoppable in their day-to-day work. Whether it’s keeping up with the latest updates, finding answers to questions, or ...
    • Google Ads Conversion Tracking Setup – Client Reference Guide

      Purpose This guide helps you (the client) independently set up Google Ads Conversion Tracking and connect it with Meritto so that leads generated from Google Ads are accurately tracked as conversions. This enables correct reporting, campaign ...
    • Create a Custom Lead fields

      Overview This article will guide you on the simple process of creating a new Custom Field within the Lead Fields module. Creating custom fields allows you to tailor your CRM to capture specific data essential for your unique enrollment process. Plan ...
    • WhatsApp Notification & Email Updates

      Overview We’ve introduced a new feature that keeps you instantly updated about all important WhatsApp Business (WABA) changes directly through Email, in-app CRM notifications, and mobile push alerts. Earlier, counsellors or admins had to log in to ...
    • Ozonetel Automated Campaign Calling Integration

      Introduction The document helps you to integrate the Ozonetel Automatic campaign calling telephony system with Meritto CRM. Scope of Integration 1. Automatic Outbound Campaign Call Integration: The integration will enable the lead owner/manager to ...