Miles vs Cashback

Merchant Category Codes (MCC), Explained

Your card decides bonus rewards by a merchant's MCC, not its name. Here's what a Merchant Category Code is, why it matters, and why a shop can be miscoded.

By The Miles vs Cashback Editors · Published 16 Jun 2026 · 5 min read

You tap your card at what feels like a restaurant, expecting your dining bonus to kick in, and the rewards never show up. Nothing is broken and nobody made a mistake on your bill. The difference comes down to a small, invisible label attached to the merchant — its Merchant Category Code — and it quietly decides far more about your rewards than the shop's name ever does.

What a Merchant Category Code is

A Merchant Category Code, or MCC, is a four-digit number that classifies a business by what it mainly sells. Restaurants share one set of codes, supermarkets another, airlines another, petrol stations another, and so on. There are hundreds of these categories, and almost every business that accepts cards has one attached to it.

The code rides along invisibly with each transaction. When you pay, the merchant's MCC travels through the card network to your bank as part of the transaction data. You never see it on the receipt, and it rarely appears on your statement, but your bank's systems read it every time.

MCCs are an international standard, so a "restaurant" code in Singapore means the same thing as the equivalent code overseas. The big card networks — Visa, Mastercard, American Express — all build their category lists from the same shared framework, which is why your card can recognise a merchant type whether you are spending in Orchard Road or abroad.

Why bonus categories hinge on the code

Here is the part that matters for your wallet. When a card advertises extra rewards on dining, transport, groceries, or overseas spend, the bank almost never decides eligibility by looking at the merchant's name. It looks at the MCC.

Your bank keeps a list of which codes count as "dining", which count as "transport", and so on. When a transaction arrives, it checks the merchant's code against those lists:

  • If the code is on the bonus list, you earn the higher rate.
  • If it isn't, you earn the base rate, no matter what the shop sells or what its signboard says.

This is a sensible design from the bank's side. It would be impossible to maintain a list of every restaurant name in Singapore, and names change constantly. A category code is a clean, machine-readable shortcut. But it also means the category your bank sees can differ from the category you experience as a customer. To you it's dinner; to the system it might be a hotel charge or a catering charge.

If you want to understand why two cards can reward the same purchase differently, the MCC is usually the hidden reason. It also explains why a card's miles-per-dollar rate is only half the story — the rate only applies if the merchant's code qualifies in the first place.

Why a merchant can be "miscoded"

When people say a merchant is miscoded, they usually mean its MCC doesn't match what you'd intuitively expect. This happens more often than you'd think, and it's rarely anyone acting in bad faith. A few common reasons:

  • The business does several things. A code reflects a merchant's main activity. A bakery that also runs a small café might be coded as a bakery, a restaurant, or a general food retailer, depending on how the acquiring bank classified it.
  • It sits inside a larger operation. A coffee outlet inside a hotel or a department store may carry the parent venue's code. Your flat white can end up tagged as a "hotel" or "department store" charge.
  • A payment middleman is involved. When you pay through a delivery app, a marketplace, or a third-party platform, the code may reflect that platform rather than the underlying shop. The food is from a restaurant; the code may say "platform".
  • The code is genuinely stale or wrong. Businesses evolve, but codes don't always get updated. An outlet may keep an old code long after its actual focus has shifted.

A merchant doesn't get to freely pick a flattering code. The acquiring bank or payment processor assigns it when the business first sets up card acceptance, based on the main line of business. A merchant can ask for a review if it believes the code is wrong, but it can't simply choose whichever one earns its customers the most rewards.

How the code gets assigned in the first place

Understanding who controls the code helps set realistic expectations.

When a business signs up to accept cards, its acquirer — the bank or processor on the merchant's side — assigns an MCC based on the business's primary activity. Networks like Visa and Mastercard publish the standard definitions, and the acquirer maps the merchant to the closest fit.

Two practical consequences follow. First, the codes are not perfectly consistent across networks; the same business can occasionally carry a slightly different code on Visa than on Mastercard. Second, large operators with many outlets may register different branches under different codes, so one branch of a chain can qualify for a bonus while another doesn't. None of this is visible to you at the point of sale — which is exactly why it catches people out.

What this means for you as a cardholder

You can't change a merchant's code, but you can stop being surprised by it.

  • Don't assume by appearance. A venue that looks like a restaurant isn't guaranteed to carry a dining code. The signboard is not the category.
  • Check before you rely on a bonus. If a specific purchase really matters for hitting a target — for example, working toward minimum spend and bonus caps — look up the likely code or test a small transaction first.
  • Read your statement. If a bonus didn't apply where you expected, the MCC is the first thing to suspect. Banks generally won't reverse a category decision just because the merchant felt like it should qualify, since the code is doing what it was designed to do.
  • Use community lists with caution. Singapore card communities maintain informal lists of which merchants carry which codes. They're useful as a starting point, but codes can change quietly, so treat them as a guide rather than a guarantee.

If a charge looks genuinely wrong — not just a missed bonus, but an amount or merchant you don't recognise — that's a different issue, and you should follow the steps to dispute a credit card charge rather than treating it as a coding quirk.

The takeaway

A Merchant Category Code is a small, invisible label that tells your bank what kind of business it's dealing with — and it, not the shop's name, is what decides whether your bonus rewards apply. Merchants can end up miscoded for ordinary reasons: mixed business activities, sitting inside a larger venue, payment middlemen, or codes that simply went stale. You can't control the code, but knowing it exists changes how you read your rewards. When a bonus doesn't land where you expected, the MCC is usually the quiet explanation — and confirming it with your bank beats assuming the offer was misleading.

Frequently asked questions

What is a Merchant Category Code?
It's a four-digit number that classifies a business by what it mainly sells — restaurants, supermarkets, airlines, and so on. Card networks and banks use it to label every transaction by merchant type. Your card reads this code, not the shop's name, when deciding rewards.
Why didn't I earn my bonus rate at a shop I expected to qualify?
Most likely the merchant's MCC didn't match your card's bonus category. A venue that feels like a restaurant might be coded as a hotel, a caterer, or a department store. The code decides, so the actual category can differ from your expectation.
Can a merchant choose or change its own MCC?
Not directly. The acquiring bank or payment processor assigns the code when the merchant sets up card acceptance, based on the business's main activity. A merchant can request a review if it believes the code is wrong, but it can't simply pick a more rewarding one.
How can I check what MCC a transaction used?
Your statement usually shows the merchant name, not the raw code. You can ask your bank, and some community guides list common Singapore merchant codes. Treat those lists as informal — codes can change without notice.
Does the same shop always have the same MCC across cards?
Usually, but not always. Codes are not perfectly consistent across networks like Visa and Mastercard, and a large operator may register different outlets under different codes. That's one reason the same purchase can earn differently on two cards.

Sources

← All guides