- Home
- United Kingdom
- Delivered but not received
Delivery receipts
Your message says delivered and your customer says it never arrived
A delivery receipt is a report from the mobile network, and it is narrower than most people assume. This page sets out what each state means, which states are not proof of delivery, and what evidence makes a missing message findable.
Last reviewed: 7 November 2026
Why does an SMS show as delivered when the customer says it never arrived?
A delivery receipt is the mobile network's report that the message reached the destination handset, not proof that a person read it. Once the network reports delivery, the message has left our platform, and what happens on the handset is outside what any provider can observe. Some states are weaker still: accepted means the network returned no receipt at all, so it is not proof of delivery, and pending means only that a final status has not come back yet.
What a delivery receipt is, and what it is not
When you submit a message, the network path returns a status for it. On our platform that status is one of nine documented states, and a receipt carries a final state with the gateway error code where one exists. All of it is published on the message state reference, which is the page to read alongside this one.
A receipt tells you what the network did with the message. It does not tell you that the recipient read it, that the message was displayed, or that the right person was holding the phone. It is a transport report, and the transport ends at the handset. Everything after that point, including whether the message landed in the inbox, a spam folder or a thread the recipient never opened, is invisible to us and to every other provider.
That distinction matters most in the one case people actually complain about: a receipt that says delivered, and a customer who says nothing arrived. Both can be true at once.
The states, and which of them are proof of delivery
Nine states are documented on the platform, numbered 0 to 8. Only one of them is a report that the message reached the destination device.
| State | What it means | Is it proof of delivery |
|---|---|---|
| 0 Pending | Not yet delivered, or the operator has not returned a final status | No |
| 1 Buffered | Queued behind pending messages | No |
| 2 Delivered | Received by the destination device | Yes, as reported by the network |
| 3 Expired | Not delivered, timed out | No |
| 4 Deleted | Not delivered, removed by the network | No |
| 5 Undeliverable | Not delivered, see the error code | No |
| 6 Accepted | No receipt available, accepted for delivery | No |
| 7 Unknown | Unknown, usually no receipt available | No |
| 8 Rejected | Rejected by the network | No |
Pending deserves one line of its own. A message in state 0 is not necessarily undelivered. It can also mean the operator has simply not returned a final status yet, which is the normal state for a message sitting in a queue at the network.
Accepted is terminal, and it is not proof of delivery
State 6 is the one that misleads people most often. Accepted is a terminal state, and it is a deliberate fallback: the record closes because no receipt will ever arrive. It is not a stage on the way to a receipt, so a sender who reads it as progress will keep polling for something that is never coming.
The practical consequence is that a high accepted count on a route means the networks are not returning receipts on that traffic. It does not mean the messages landed, and it does not mean they failed. It means the answer is unknown, and the honest way to report it is as unknown rather than folded into a delivery rate.
What we can see, and what only the handset knows
Our side of the boundary is narrow and completely observable: what was submitted, when, to which number, from which sender ID, the state the network returned, and any gateway error code. The other side is the device, and a message can be received by a handset that is not in the recipient's hand, not switched on, out of coverage, or holding a full message store. In each case the network can still report delivery, because the message was accepted by the device.
On top of that, modern phones filter. A message from an unfamiliar alphanumeric sender can be sorted into a separate folder by the handset or by a messaging app the customer uses by default. Nothing in the delivery path sees that decision.
UK numbers add one more wrinkle: because numbers are portable, the prefix no longer tells you which network issued the number, or where it sits now. Routing based on number ranges is approximate by nature, which is one reason we do not publish per-network delivery percentages.
The evidence that makes a missing message findable
When a customer reports that a message never arrived, these five fields turn a conversation into an investigation. Send them and the sequence can be reconstructed without guesswork.
The message ID from the submission response. The destination number in international format, without a leading zero or plus sign where your interface strips it. The submit time with the timezone. The final state from the receipt, not just the word delivered. The sender ID that was used, because a substituted or rejected sender ID is visible in the receipt and nowhere else.
With those, the first question has a factual answer: did the network report state 2, or did it report accepted, rejected or expired? If it reported 2, the message reached the handset and the next questions are about the device. If it reported accepted, no receipt came back and the message may or may not have landed.
Delivered means reported, not read
A receipt reports what the network did with the message. Whether it was read, or even seen, is outside the delivery path.
Accepted is not delivered
State 6 closes the record because no receipt will arrive. It is terminal, and it is not proof that anything landed.
Pending is not a failure
A pending message is not necessarily undelivered. It often means the operator has not returned a final status.
Portability defeats the prefix
UK numbers are portable, so the prefix no longer tells you the current network, which is why range based routing is approximate.
Frequently asked questions
What does it mean when a text message shows as delivered but is not received?
It means the mobile network reported that the message reached the destination handset. That report is generated inside the network, before anything is displayed, so a handset that is switched off with storage available, or one that files the message into a separate folder, can still produce a delivered receipt.
What does accepted mean on a delivery receipt?
Accepted is a terminal state meaning the network returned no receipt for the message. The record closes because no further status will arrive. It does not mean the message failed, and it does not mean it was delivered, so a route carrying a lot of accepted states should be reported as unknown rather than as delivered.
What does pending mean, and is it a failure?
Pending means the message has not yet reached a final state. It is not necessarily undelivered: it can simply be that the operator has not returned the final status yet. A message sitting in a queue at the network looks exactly like this.
Can a provider confirm the customer received the message?
No provider can confirm that a person received or read a message. What a provider has is the network receipt, which reports delivery to the device. A read receipt is a separate signal from a delivery receipt.
Why do you not publish a delivery percentage?
Because a percentage would be an average across routes and message types, and it is hard to withdraw once published. What we publish instead is the receipt itself, message by message, with every state and error code documented, so a delivery question has an answer about the specific message rather than about the route in general.
What does it cost to resend a message that was not received?
Each send is charged separately. Text messages to UK mobiles cost 7.23p each including VAT on our 2,000 credit bundle, converted from the 10.71 credits a message uses at that bundle's credit rate, and 5.34p each on our 200,000 credit bundle. Prepay accounts are charged in credits from their credit balance; postpaid accounts are invoiced in GBP. A longer message is sent in several parts and charged per part, so a resend of a long message costs the same as the first send.
What does expired mean?
Expired means the message was not delivered and timed out. It is a terminal state and it is distinct from rejected, which means the network refused the message. Both are reported with an error code where one is available.
Chase a message with the receipt, not a hunch
Send us the message ID, the destination number and the final state and we will trace the submission through the gateway.