Write for a specific reader: a person with a queue, limited authority, and a target for how many files they close today. Every choice below follows from that.
One page. Six paragraphs. In this order.
Paragraph one: identify the transaction, not the grievance
Account number, order number, policy number, date of purchase, amount paid, and the branch or store if there is one. Nothing else.
This paragraph exists so that whoever opens the letter can find your record before reading anything about what went wrong. A complaint that opens with the story cannot be looked up, so it gets set aside to be dealt with later, and later is where complaints go to die.
Paragraph two: what happened, dated, without adjectives
Three or four sentences, in chronological order, each with a date. On March 3 the unit was installed. On March 19 it stopped heating. On March 21 a technician attended and replaced a part. On April 2 it stopped again.
Leave out how it made you feel and leave out what you think of the company. Not because feelings are illegitimate, but because a factual sequence is verifiable against their own records, and the moment a reader can check your first three sentences and find them accurate, everything after that is credible.
Paragraph three: what you have already done
Who you spoke to, when, and what you were told. Reference numbers if you have them.
This paragraph is doing something specific: it shows that the ordinary route has been tried and has not worked, which is what justifies the letter being read by someone with more authority. It also quietly starts the record you would need if this ever went further.
Paragraph four: what you want, with a number
The single most important paragraph, and the one most often missing.
Say exactly what would resolve it. Replace the unit. Refund $340. Refund $340 and reimburse $180 for two days of lost work, receipts enclosed, a total of $520.
A specific figure with a stated basis can be approved by the person reading it, inside their own authority, today. "I would like this made right" has to be interpreted, and interpretation means it goes up a level, and each level costs weeks.
Keep the number defensible. Documented out-of-pocket loss, not compensation for aggravation. Adding a figure for stress gives a reader an easy reason to reject the whole letter and the real losses go down with it.
Paragraph five: a deadline and a next step, stated calmly
"Please respond by July 24. If I have not heard from you by then I will refer the matter to my card issuer as a disputed charge." Or a state consumer protection office, or a regulator, or small claims.
Name something you are actually willing and able to do. A deadline with a real consequence attached moves a file. A threat you will not carry out is noticed by anyone who reads complaints for a living, and it costs you the credibility the second paragraph earned.
Paragraph six: list the enclosures
Copy of receipt. Copy of the technician's report dated April 2. Two photographs. Copy of pay stub showing lost hours.
Copies, never originals. Numbered, and referred to by number in the body if there is more than a couple. A reader who can see the evidence listed knows the claim is documented before they have opened anything.
How to send it
Email to the address the company publishes for complaints, and a paper copy by certified mail to the registered address if the sum is significant. The email gets read quickly; the paper copy establishes delivery on a date, which matters if a deadline ever becomes relevant.
Address it to a named person if you can find one. A complaint addressed to a department is nobody's responsibility.
Then keep a log: what was sent, when, to whom, and what came back. Two lines per entry. If this goes to a regulator or a court later, that log is the spine of the whole file, and it takes thirty seconds each time.
What to do with the reply
Read it for one thing first: is this a final response. Companies use that phrase deliberately, because it is what opens the next door, and if the answer is unsatisfactory and does not say so, write back and ask for one explicitly.
If the offer is partial, decide on the arithmetic rather than the principle. Sixty percent today against a full recovery in four months, with a filing fee and a day off work in between, is a calculation and not a surrender. Most people who pursue a small dispute to the end will tell you they were right and that they would not do it again.