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 gets miscoded.

By The Editor · Published 16 Jun 2026 · 5 min read

You tap your card at what feels like a restaurant, you expect the dining bonus to kick in, and the rewards never show up. Nothing is broken and nobody made a mistake on your bill. There's just a small, invisible label attached to the merchant, called its Merchant Category Code, and it quietly decides 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. There are hundreds of these categories, and almost every business that accepts cards has one attached.

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, it rarely appears on your statement, but your bank's systems read it every time.

MCCs follow an international standard, so a "restaurant" code in Singapore means the same thing as the equivalent code overseas. Visa, Mastercard and American Express all build their category lists from the same shared framework. That's why your card can recognise a merchant type whether you're 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. Nobody could maintain a list of every restaurant name in Singapore, and names change constantly anyway. 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've ever wondered why two cards 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 gets "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, so your flat white ends 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 might say "platform".

The code is genuinely stale or wrong. Businesses evolve, and codes don't always get updated. An outlet can 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 choose whichever one earns its customers the most rewards.

How the code gets assigned

Knowing 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. Visa and Mastercard publish the standard definitions, and the acquirer maps the merchant to the closest fit.

Two practical things follow. The codes are not perfectly consistent across networks, so the same business can occasionally carry a slightly different code on Visa than on Mastercard. And large operators with many outlets may register different branches under different codes, so one branch of a chain qualifies for a bonus while another doesn't. None of this is visible to you at the till, 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, say you're 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 keep informal lists of which merchants carry which codes. They're a useful starting point, but codes change quietly, so treat them as a guide rather than a guarantee.

If a charge looks genuinely wrong, not a missed bonus but an amount or merchant you don't recognise, that's a different problem. Follow the steps to dispute a credit card charge instead of treating it as a coding quirk.

The takeaway

The MCC is what your bank actually reads to decide whether a bonus applies, and it doesn't care what the signboard says. Merchants end up miscoded for ordinary reasons: they do more than one thing, they sit inside a bigger venue, a payment platform got in the middle, or the code just went stale and nobody fixed it. You can't change any of that. What you can do is stop being caught out by it. Next time a bonus doesn't land where you expected, check the code before you blame the offer, and ask your bank if it really matters.

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 it works out 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 what you assumed.
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 thinks 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, because codes 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.

Keep reading

Sources

← All guides