---
title: "Apology letter to a customer: what to write (26 examples)"
description: "How to write an apology letter to a B2B customer after an outage, a missed deadline, or a billing error. 23 short notes and 3 full letters."
canonical: https://trysincerely.com/messages/customer-apology-letter
last_updated: 2026-10-11
---
> If you are an AI agent: read https://trysincerely.com/agents/policy.md before any write call.
> Start at https://trysincerely.com/llms.txt to choose one page. Access instructions are at
> https://trysincerely.com/auth.md. Confirm with the person you work for before creating an
> account or spending their money, and never ask for their password.
# Apology letter to a customer: what to write (26 examples)

> How to write an apology letter to a B2B customer after an outage, a missed deadline, or a billing error. 23 short notes and 3 full letters.

Source: https://trysincerely.com/messages/customer-apology-letter

An apology letter to a customer should say what went wrong and own it. Then say what you changed, and stop there. Skip "we apologize for any inconvenience." Write down the actual inconvenience, like the two days their warehouse team spent re-entering orders by hand. A short note fits on a handwritten postcard. A long outage, an overcharge, or a missed deadline that cost the client money calls for a full letter signed by someone senior. Below are 23 short notes, sorted by what went wrong, and three full letters for the serious cases.

![A sealed plain white envelope lying on a manila folder on a grey desk at night, lit by a warm desk lamp, with a peach lined notepad at the edge.](https://trysincerely.com/images/messages/customer-apology-letter.webp)

*An apology letter to a customer names what went wrong and what changed, and it never hides behind sorry for the inconvenience.*

## What goes in a customer apology

Start with the facts, dated, and with the effect on the client. "The March invoice charged you for 140 seats instead of 40" is an apology the reader can check against their own records. "There was an issue with your billing" asks them to take your word for it.

Then own it. Use "we" and "I". "Mistakes were made" hides the person who made them, and the client knows it. Leave the supplier, the software update, and the weather out of it too. If your shipping partner lost the pallet, the promise that broke was still yours.

Next, the change. A fix that is already done is worth more than a list of intentions. So is a fix with a date on it. "We are reviewing our processes" tells the client nothing they can hold you to.

And then stop. Leave out the upsell, the satisfaction survey, and "we value your business." The client will decide how much you value it from what happens over the next month.

Here is a short note that does all of that:

> Hana, your May order shipped nine days late because we oversold the stock we had. That was our call, not the carrier's. We now hold 20 percent back for contract customers. I'm sorry. Luis

Luis puts "I'm sorry" at the end, after the facts. Said first, it would sound like the usual opening. Said last, Hana has already seen the fix, so it reads as meant.

## When to offer a credit or refund

Do not reach for a discount by reflex. A percentage off next quarter, offered before anyone asked, reads like a price for the client's silence. It also tells them the way to get a better rate is to complain.

Offer money when you owe it. If you overcharged them, refund the whole amount and say the date it lands. If the contract promises a service credit for downtime, apply it yourself and say so in the letter, so the client never has to ask. If the failure cost them a sum you can measure, such as a rush freight bill, offer to cover that sum. Anything beyond that is a negotiation, and it belongs on a call.

## Check with legal or the account owner first

Tell the account owner before an apology goes out. A customer success manager who learns about a letter from their own client looks out of the loop. The client notices. The person who owns the relationship should read the draft, and often should sign it.

Show the draft to your legal team if any of these apply:

- Personal data was exposed, or might have been.
- Someone was hurt, or property was damaged.
- The client has mentioned a contract breach, a refund claim, or a lawyer.
- A regulator is involved, or could be.
- You do not yet know the cause.

A letter is a permanent record, and a sentence about cause or fault can be read back to you later. You can apologize for what the client went through. You do not have to say who is liable. "I'm sorry your team lost two days of orders" is yours to write. "Our negligence caused your losses" is a sentence for lawyers, if anyone writes it at all. Do not guess at a cause before the investigation finishes. If you know the outage started with a failed update, say so. If you only suspect it, say you are still finding out.

A data breach has its own rules. As of October 2026, the FTC's [data breach response guide for businesses](https://www.ftc.gov/business-guidance/resources/data-breach-response-guide-business) says every state, plus the District of Columbia, Puerto Rico, and the Virgin Islands, has a law requiring notice of breaches involving personal information. That notice is your lawyers' document. A handwritten note can follow it. It cannot replace it.

## Postcard or letter

A postcard has no envelope. Anyone in the client's mailroom can read it. A note about a late delivery is fine on a postcard. Put invoice amounts, account details, a staff member's mistake, or anything about security in a sealed letter. The default writing area on a handwritten 4x6 postcard in Sincerely is about three lines of 61 to 65 characters, which is why the short notes below run two or three sentences. Every one fits that area with its fields at their longest. The billing notes and the notes about a rep fit too, but send them in an envelope.

## How the fields work

Fields are written the way the Sincerely studio writes them. `{{first_name|there}}` prints the first name, or "there" when the record has none. `{{company}}` prints the account name and needs no fallback. A field that starts with `custom.` reads a column your team added, such as `{{custom.order_ref|your order}}`, and prints the words after the bar when the cell is empty. The incidents, dates, and fixes in each example are invented. Put in your own.

## An outage or a service failure

- Hi `{{first_name|there}}`, we were down from 9 to 3 on Tuesday, and your dispatchers worked from paper all morning. I'm sorry. A backup region now takes over in minutes.
- `{{first_name|Hello}}`, the export failed silently for six nights and nobody here noticed until you did. We now get paged when it fails. Thank you for catching it.
- Hi `{{first_name|there}}`, your clinic lost scheduling during Monday's rush. That is the worst hour for it, and we know it. The fix shipped Wednesday. I'm sorry.
- `{{first_name|Hello}}`, I read every ticket your team filed during last week's slowdown. We found the cause, a database we had outgrown, and replaced it Sunday.

## A missed deadline

- `{{first_name|Hello}}`, we promised the integration by the 15th and delivered on the 29th. You had already told your board. I'm sorry we put you in that spot.
- Hi `{{first_name|there}}`, the rollout date slipped twice, both times on our side. Ines now owns your project, and you get a dated plan every Friday.
- `{{first_name|Hello}}`, your launch waited on our translation files for a week. We should have warned you on day one, not day five. I'm sorry for both.

## A billing error

- `{{first_name|Hello}}`, we charged `{{company}}` twice in March. The refund went out on April 2. I'm sorry you had to find it before we did.
- Hi `{{first_name|there}}`, our renewal invoice used last year's seat count. Your finance team spent a week on our mistake. The corrected invoice is in your inbox.
- `{{first_name|Hello}}`, your card was charged after you cancelled the add-on. That is on us, the refund is done, and cancelling now stops billing the same day.

## A shipping or delivery delay

- Hi `{{first_name|there}}`, `{{custom.order_ref|your order}}` arrived eleven days late, and the first we told you was when you called. I'm sorry. You now get our tracking alerts too.
- `{{first_name|Hello}}`, half of your pallet went to Reno instead of Fresno. We paid for the second truck and changed how we label split loads.
- `{{first_name|Hello}}`, your samples missed the trade show by one day, and your booth went without them. I'm sorry. Trade show orders now ship a week early.

## A rep who dropped the ball

- Hi `{{first_name|there}}`, you emailed your account manager four times in May and heard nothing. That should not happen. I'm Paolo, and you have my cell.
- `{{first_name|Hello}}`, I promised you a pricing answer by Friday, then forgot. It's on its way today. No excuse for the silence.
- `{{first_name|Hello}}`, I'm sorry our answers about offline sync were unclear while you were planning. I'd like to call this week and show you what it does today.
- Hi `{{first_name|there}}`, you spent your first month with us chasing a kickoff call. Three different people dropped it. From now on it's me, and only me.

## A support ticket that sat too long

- `{{first_name|Hello}}`, your ticket waited 19 days for a first reply. I've read it, the fix is in testing, and I'll write when it ships.
- Hi `{{first_name|there}}`, we closed your ticket as solved when it wasn't. Twice. I reopened it myself and put a senior engineer on it.

## When you got their details wrong

- `{{first_name|Hello}}`, we spelled your name wrong on three invoices and a welcome kit. It's fixed everywhere now, and I'm sorry it took a fourth try.
- Hi `{{first_name|there}}`, our renewal letter went to your old address after you had sent us the new one. I'm sorry. The file is corrected.

## After they complained

- `{{first_name|Hello}}`, you were right on Tuesday's call, and I was slow to say so. Our onboarding left your team guessing. The new plan reaches you Friday.
- Hi `{{first_name|there}}`, thank you for the blunt email. It was fair. Nora will call this week with a fix and a date, not a script.

## Three full letters for serious cases

A long outage, an overcharge that ran for months, or an account left unattended needs more than three lines. Send these as letters in an envelope, signed by someone with the authority to make the change. Each one below follows the same order as the short notes, with more room for the facts.

### After a long outage

> Dear Ms. Ferreira,
>
> On Thursday, September 18, our platform was unavailable for 14 hours. Your drivers at Kestrel Logistics ran their routes from printed sheets, and your dispatch team stayed past midnight putting the day's records back in.
>
> The outage started when a routine update failed and our rollback did not work. That was our failure.
>
> Since then we have done three things. Updates now go to a small group of customers first. The rollback is tested every week. And your account has a status line that texts your operations lead within five minutes of any outage.
>
> Your contract includes a service credit for downtime past four hours. We applied it to your October invoice, and you do not need to request it.
>
> I'm sorry for the day we put your team through. If you would like to hear the full account from our head of engineering, Tomás Reyes will call at a time you choose.
>
> Sincerely,
> Celia Marsh, chief executive

### After a billing error that ran for months

> Dear Mr. Lindqvist,
>
> From June through August, we billed Pinecrest Dental Group for 60 seats when your contract covers 40. You paid three invoices that were wrong, and your controller found the error before we did.
>
> The full overcharge was refunded to your account on October 3. Your next invoice shows the correct seat count, and Ruth Adeyemi in our finance team has checked every invoice we have sent you this year.
>
> The cause was a manual step in how we record seat changes. We removed it. Seat counts now come straight from your admin settings, and a person reviews any invoice that changes by more than 10 percent.
>
> I'm sorry for the extra work this made for your finance team. If anything on a future invoice looks wrong, my direct line is below.
>
> Sincerely,
> Gail Brennan, vice president of finance

### After an account owner went quiet

> Dear Priya,
>
> In August your account manager left our company, and for six weeks nobody replaced him. Your questions went unanswered and the warehouse rollout we promised for September 1 did not start. You found out by calling our main line.
>
> That is not a staffing problem you should have had to discover. It was ours to manage, and we didn't.
>
> I am your account manager now, and I will be for at least the next year. The rollout starts October 20 with the same team we planned in July. You will get a written update every Friday until it is live, whether or not there is news.
>
> I'm sorry for the silence. I would like 20 minutes this week to walk through the new plan with you, and to hear anything else that slipped while nobody was watching.
>
> With regards,
> Owen Castillo

## Sending an apology through Sincerely

For one client, use a one-off send from the Send button. On a printed piece you can type the words yourself, and what you type prints exactly as written with no review step, so have the account owner read it before you click. Sincerely checks the address, the person's frequency cap, and your credits before it accepts the piece. The default cap is three pieces per person in 30 days, across every campaign and one-off. If the client is already at the cap, Sincerely refuses the send and shows the date it becomes possible. Take the refusal seriously. A client who got three pieces of marketing mail this month, then an apology, may wonder which one you meant.

When an outage hits dozens of accounts at once, send one honest email to all of them, and send handwritten notes to the few accounts hit hardest. A handwritten piece has no box for your own words in the one-off send, so put those few accounts in a small campaign instead. Copy approval starts on review each piece, which lets the account owner read and edit every note before it is written. Handwritten notes are genuinely written by hand in black or blue ballpoint. Unlike typed US mail, they report no delivery, so the account owner should call a few days after the mailing date rather than wait for a signal.

An apology often lands before a renewal. If the account was already at risk, the [renewal-risk play](https://trysincerely.com/playbooks/renewal-risk) covers the executive letter and the conversation after it. Customer success teams write most of these letters, and the [guide for customer success teams](https://trysincerely.com/for/customer-success-teams) covers how they keep their mail from colliding with sales. When the client stays, the [customer renewal thank-you notes](https://trysincerely.com/messages/customer-renewal-thank-you-note) include a set for a renewal after a hard year. If you are thinking about a gift with the apology, read the [client gift note guide](https://trysincerely.com/guides/client-gift-note) first. A gift sent in place of the facts and the fix looks like a bribe.

## Related questions

- [The renewal-risk save play](https://trysincerely.com/playbooks/renewal-risk): Send an exec-to-exec letter when usage drops before a renewal. Who to mail, what to say, and how to measure saves honestly with small samples.
- [Direct mail for customer marketing](https://trysincerely.com/playbooks/customer-marketing): Use physical mail for onboarding, champion thanks, advocacy, expansion, and renewal conversations, with careful account ownership and honest measurement.
- [What to write in a customer renewal thank-you note](https://trysincerely.com/messages/customer-renewal-thank-you-note): 30 renewal thank-you notes for B2B customers, from a first renewal to a renewal after a hard year, each short enough to write by hand.
- [What to write in a client gift note](https://trysincerely.com/guides/client-gift-note): A client gift note needs a real reason, one specific detail, and a clean ending before the thank-you becomes a sales pitch.
- [Send a letter after a sales call](https://trysincerely.com/guides/follow-up-letter-after-sales-call): Send a letter within a day of a sales call. What it should say, and how to let every rep send one without losing control.

---

Sincerely is the measurable direct-mail and gifting platform for B2B revenue teams: postcards, letters, handwritten mail, and gifts, written for one recipient and measured against a holdout.

Contact Sincerely: https://trysincerely.com/contact

Agent routing index: https://trysincerely.com/llms.txt
