Credit Cards Deals

BOC Elite Miles card offering up to 54,000 bonus miles

BOC is offering up to 54,000 bonus KrisFlyer miles on its Elite Miles card until 31st December 2026 - get 6,000 miles for every S$1,000 you spend above S$2,000 a month, with groceries, transport and dining all counting.

Bank of China has launched a Year-End Card Spend Campaign on its Elite Miles World Mastercard, bringing back another of its big bonus deals of recent years, which sometimes turn out to be worthwhile and sometimes get pulled early.

ADVERTISEMENT

Unlike August’s uncapped 4 mpd offer, which only rewarded foreign currency spend, this one counts SGD transactions in full, and its list of eligible categories now stretches well beyond travel and dining, to include the likes of supermarkets, duty free stores, taxis and cruises.

It has a lot in common with last year’s 8.8 mpd promotion, though there are some important catches this time round.

The campaign is split into three “Promotion Months”, and each is assessed separately:

  • 15th – 31st October 2026
  • 1st – 30th November 2026
  • 1st – 31st December 2026

In each one, the first S$2,000 of qualifying spend earns no bonus. Every complete S$1,000 block above that earns 6,000 KrisFlyer miles, up to a maximum of three blocks, so the bonus tops out at 18,000 miles on S$5,000 of spend.

Do that in all three months and you’ll collect the full 54,000 bonus miles, on top of the card’s usual 1.4 mpd (local) and 2.8 mpd (FCY) base earn rates.

BOC Elite Miles
Year-End Card Spend Campaign 2026
Feature Detail
Promotion
period
15 Oct – 31 Dec 2026
(both dates inclusive)
Promotion
months
15 – 31 Oct 2026
1 – 30 Nov 2026
1 – 31 Dec 2026
Bonus 6,000 KrisFlyer miles per complete
S$1,000 block above S$2,000
Monthly
cap
18,000 miles
(on S$5,000 qualifying spend)
Campaign
maximum
54,000 miles
(on S$15,000 qualifying spend)
Eligible
spend
Selected MCCs
(SGD or FCY)
Spend
counted by
Posting date
Registration Not required
To claim Reply to BOC’s SMS
(sent by 30 Jan 2027)
Miles credited Direct to KrisFlyer
(by 14 Feb 2027)
Conversion fee None

Spend can’t be carried forward or combined between months, so a big October won’t help your November total, and anything above S$5,000 in a month earns base miles only.

BOC’s own promo image advertises this as up to 270,000 BOC Bonus Points “with a min spend of S$2,000 in the selected categories for each month”.

That’s misleading, on two counts.

First, S$2,000 earns you nothing. You need S$3,000 of qualifying spend in a month before the first 6,000 bonus miles kick in.

Second, the reward isn’t paid in BOC Bonus Points at all. The terms say it’s credited only as KrisFlyer miles, straight into your KrisFlyer account, which happens to be one of the best things about this campaign (more on that below).

(Image: Bank of China)

Here’s what each level of monthly spend actually earns you, base miles included.

What you earn each month
Qualifying spend
in the month
Bonus
KF miles
Total miles
SGD spend
Total miles
FCY spend
S$2,000 0 2,800
(1.4 mpd)
5,600
(2.8 mpd)
S$3,000 6,000 10,200
(3.4 mpd)
14,400
(4.8 mpd)
S$4,000 12,000 17,600
(4.4 mpd)
23,200
(5.8 mpd)
S$5,000 18,000 25,000
(5 mpd)
32,000
(6.4 mpd)
S$6,000 18,000 26,400
(4.4 mpd)
34,800
(5.8 mpd)

Base miles shown before BOC’s per-transaction rounding. FCY figures assume the 2.8 mpd overseas rate applies (i.e. the merchant’s payment gateway is outside Singapore).

The sweet spot is clearly S$5,000, the only level at which local spend earns an overall 5 mpd. Fall between blocks and the effective rate drops away quickly. S$3,999, for example, earns exactly the same 6,000 bonus miles as S$3,000, for an overall 2.9 mpd, so you’d want to get to S$4,000 in that case.

Once you’re past S$2,000, each complete S$1,000 block earns 7,400 miles on local spend (6,000 bonus plus 1,400 base), or 8,800 miles in foreign currency.

ADVERTISEMENT

Those numbers may look familiar – they are exactly the 7.4 mpd and 8.8 mpd BOC offered last year, except this time the bonus doesn’t start until S$2,000, and it stops at S$5,000.

Max out all three months with local spend and you’ll earn 75,000 miles on S$15,000, 54,000 of them bonus miles. If you value a KrisFlyer mile at 1.8 cents, that’s worth around S$1,350, or 9% back on your spending.

BOC Elite Miles bonus campaigns
2025 vs 2026
Feature Earn & Spend
Sep 2025
Year-End
Oct 2026
Period 20 Sep – 31 Dec 2025 15 Oct – 31 Dec 2026
Bonus +6 mpd on all
qualifying spend
6,000 miles per S$1,000
above S$2,000
Minimum spend S$1,000 a month
(any spend)
S$3,000 a month
(qualifying spend)
Monthly cap 30,000 miles 18,000 miles
Maximum bonus 120,000 miles 54,000 miles
Eligible spend Overseas, online,
dining (5812), SIA Group
Dining, groceries, transport,
travel, selected retail
New cardholders Not eligible Eligible
To claim SMS reply
every month
One SMS reply
(January 2027)
Miles credited Within 60 days
of campaign end
Within 45 days
of campaign end
Budget limit “Until fully redeemed” None stated
Outcome Fully redeemed
after ~2 months
TBC

It’s the same 6 mpd bonus, applied to a narrower S$3,000 band of each month’s spend. The monthly cap is down 40%, and the campaign maximum is less than half of last year’s, partly because this one runs for two and a half months rather than more than three.

In return you get a broader, more everyday list of qualifying spend, eligibility for new cardholders, a single SMS rather than one every month, and no “until the Reward is fully redeemed” clause.

That last one is important, given how the 2025 campaign ended!

With BOC, this is always the question!

The terms set the end date as 31st December 2026, “or such other period” as the bank decides, and clause 26 lets BOC amend, suspend or terminate the campaign at any time without notice.

Most bank promotions carry something similar, but BOC has a habit of actually using it. Its 2024 campaign lasted about a fortnight of a planned month, and last year’s 8.8 mpd offer was marked fully redeemed two months into a campaign due to run until the end of December.

To its credit, August’s 4 mpd offer did run its full course.

ADVERTISEMENT

There are some grounds for optimism. Nothing in these terms ties the campaign to a budget or to a number of participants, unlike last year’s “fully redeemed” wording or January’s first-50 limit. The structure also puts a ceiling on what any single cardholder can cost the bank, at 18,000 miles a month, with no bonus paid out on the first S$2,000.

One thing to be aware of is that BOC credits all three months’ bonuses together after the campaign ends, so at no point is a completed month “banked” as such.

The terms don’t say what happens to months you’ve already completed if the campaign is cut short. We’d hope BOC would honour them, but it isn’t promised – this is BOC!

Only transactions at merchants with the following MCCs count, both towards the S$2,000 threshold and the bonus blocks above it.

Qualifying Merchant Category Codes
Spend category MCC
Dining & Food Delivery 5811 – 5814
Groceries & Supermarkets 5411, 5422, 5441, 5451,
5462, 5499, 5921
Transport & Commute 4111, 4112, 4121,
4131, 4784, 4789
Airlines 3000 – 3350
4511
Hotels & Accommodation 3501 – 3999
7011
Car Rental 3351 – 3500
7512, 7513, 7519
Travel Agencies, Tours & Cruises 4411, 4457, 4468,
4582, 4722, 4723
Department Stores &
General Merchandise
5309 – 5311
5331, 5399
Apparel, Shoes & Accessories 5611 – 5699
5948
Jewellery & Watches 5944

If you read our coverage of the August offer, this list will look a lot more generous. Most of the gaps we flagged then have now been filled:

  • Supermarkets (5411) and convenience stores (5499)
    Plus bakeries, liquor shops and other specialist food stores
  • Duty free (5309)
    Along with discount and variety stores (5310, 5331), and the catch-all general merchandise code (5399) used by a range of retailers you might not think of as department stores
  • Local transport (4111, 4112, 4121, 4131)
    Trains, buses, taxis and ride-hailing
  • Cruise lines (4411)
    Now included alongside airlines, hotels, car rental and travel agencies

Dining now takes in caterers (5811) as well as restaurants, bars and fast food. BOC’s category name also makes clear it expects food delivery platforms to code within that range, though as ever it’s the merchant’s MCC that decides.

For ride-hailing, make sure the fare is charged directly to your card rather than paid from a wallet, since stored-value top-ups (GrabPay included) are excluded across the card.

Singapore Airlines flights are included in the eligible spend categories.
(Photo: TJDarmstadt)

Last year’s dedicated SIA Group category has gone, but all of it is still covered. Singapore Airlines and Scoot flights qualify through the airline codes, KrisShop codes as duty free (5309), and Pelago as a travel agency (4722).

Online spend, a bonus category in its own right last year, doesn’t get one this time. An online purchase counts only if the merchant codes into one of the MCCs listed above.

ADVERTISEMENT

Notable categories still missing include:

  • Petrol stations (5541, 5542)
  • Pharmacies (5912)
  • Electronics and computer stores (5732, 5734)
  • Cosmetics and beauty (5977)
  • Furniture and home furnishings (5712)
  • Attractions, theme parks and cinemas (7832, 7991, 7996)

These still earn the card’s usual 1.4 mpd / 2.8 mpd, but they don’t count towards your monthly blocks, so your S$3,000 – S$5,000 has to come entirely from the qualifying list.

The card’s general exclusions also apply as usual, including government payments, insurance, utilities, education, hospitals, wallet top-ups, CardUp and ipaymy.

Unlike August’s offer, there’s no foreign currency requirement this time. Singapore Dollar transactions count in full, while for foreign currency spend BOC uses the SGD amount posted to your statement, including the exchange rate conversion and its 3% fee.

Foreign currency spend still gets the better deal overall, since the card’s higher 2.8 mpd base rate stacks with the same bonus. Put S$5,000 of overseas spend on your statement in a month and you’ll earn 32,000 miles, which works out at roughly 0.5 cents per mile after the 3% fee and a 0.3% spread. That’s well below the 1.14 cents the card normally costs you per mile overseas.

Dynamic Currency Conversion (DCC) no longer costs you the bonus outright, as it would have in August, but it still drops your base rate to 1.4 mpd and comes with a poor exchange rate, so always pay in the local currency.

Similarly, an online purchase in foreign currency through a Singapore payment gateway still counts towards your blocks, but only earns the 1.4 mpd base rate.

Another change from August is how BOC decides which month a transaction belongs to. This time it’s the posting date, with each transaction counting towards the Promotion Month in which it posts, regardless of when you actually made it.

That works in your favour at the start. Any qualifying spend you charged in the days before 15th October that didn’t post until the 15th or later counts towards October, so check your recent transactions. You may already be some of the way to S$3,000.

At the other end, it works against you. A purchase on 30th November that posts on 2nd December counts towards December, and anything posting after 31st December doesn’t count at all.

ADVERTISEMENT

BOC transactions typically post within one to three working days, though foreign currency charges can take longer. Aim to finish each month’s spending a few days before month-end, with extra margin in December.

October is the awkward month. It runs for just 17 days, but the same S$2,000 threshold and 18,000-mile cap apply. With barely a fortnight left, S$3,000 is realistic for some, S$5,000 perhaps less so. For most people the real opportunity is probably in November and December.

There’s no need to register for this promotion, but there is something you need to do at the end.

Within 30 calendar days of the campaign ending (i.e. by 30th January 2027), BOC will SMS everyone who has earned a bonus asking for their KrisFlyer membership number. You then have five calendar days from when it’s sent to reply to 75665, from the Singapore mobile number registered with BOC, in this format:



  BOCEM [space] last 4 digits of your BOC EM card number [space] Your KrisFlyer membership number

Example: If your BOC EM card ends in 1234 and your KrisFlyer membership number is 8123456789, you will need to send “BOCEM 1234 8123456789” to 75665

Get the format wrong, reply late, or give a KrisFlyer number that’s invalid or isn’t yours, and the entire bonus is forfeited. BOC also takes no responsibility for SMS delays, and only counts replies recorded in its system by the deadline, so try to respond as soon as the message arrives.

Compared with 2025 there’s now just one SMS covering all three months, rather than one after each month. Still, it’ll arrive at some point in January, when plenty of people are travelling, and five days isn’t a generous window.

Supplementary cardholders don’t receive a bonus or SMS in their own right, since their spend is added to the principal cardholder’s total and all miles go to the principal cardholder’s KrisFlyer account.

Once you’ve replied, the bonus for all three months is credited directly to your KrisFlyer account within 45 calendar days of the campaign ending, which is by 14th February 2027.

This is an important benefit, because getting miles out of BOC normally means a 50,000-point minimum, a paper form, a S$30.56 fee and up to 21 working days’ wait. None of that applies here.

The usual three-year KrisFlyer expiry clock starts once the miles land, which is the only downside.

The base miles from the same spend are a different matter, and are credited as BOC Bonus Points as usual. Points earned during the campaign will fall into the 1st July 2026 – 30th June 2027 earning period, so will expire on 30th June 2028 if you don’t convert them first.

That’s a decent runway, but remember you can’t convert fewer than 50,000 points.

A new cardholder who reaches S$3,000 in November and December will earn around 42,000 base points on that local spend, not quite enough for a single transfer, so the balance will need topping up with further spend before the expiry deadline.

Yes. The terms specifically include cards approved and issued during the campaign, unlike last year’s offer, which was open only to existing cardholders.

BOC’s online applications are far quicker than they once were, but with approval and card delivery to allow for, new applicants should realistically plan around November and December, for a maximum of 36,000 bonus miles.

ADVERTISEMENT

Two words of caution, though.

Skip the sign-up bonus. BOC’s current welcome offer (promo code WELCOME26) gives 10,000 miles, but only if you pay the S$207.10 first-year fee, which we don’t think is worth it. Clause 17 of these terms also says the campaign can’t be combined with other BOC promotions, with the bank deciding which reward you get if you qualify for more than one. Apply without the code, keep your first-year fee waiver, and avoid that question entirely.

Beware the clawback window. Cancel your card, or your whole banking relationship with BOC, on or before 31st December 2027 and the bank can recover the value of the bonus. For a card approved in November 2026, that’s longer than your fee-free first year, so the second year’s S$207.10 fee (or a waiver request) will come round before you can safely cancel. 36,000 bonus miles comfortably outweighs that, but factor it in.

BOC Elite Miles Card

1.4 mpd
local

2.8 mpd
FCY

First year
free
  READ OUR REVIEW
BOC Elite Miles Card

1.4 mpd
local

2.8 mpd
FCY

First year
free
  READ OUR REVIEW
  • Card in good standing. Your card must be active, and not suspended, cancelled or delinquent, when the miles are credited, by 14th February 2027, or BOC can forfeit the bonus.
  • Manufactured spend. Spending deemed commercial, non-personal, manufactured or artificial can be disqualified, and any bonus clawed back.
  • Later refunds. If a refund or dispute after the bonus is credited takes you below a block you were paid for, BOC can recover the value of those miles from your account.

The full terms and conditions for this promotion can be found here.

Summary

BOC’s Year-End Card Spend Campaign is, in effect, last year’s 8.8 mpd offer with the first S$2,000 of each month’s spend carved out and a lower monthly cap, worth up to 54,000 bonus KrisFlyer miles by the end of December.

The category list is far more everyday-friendly than August’s, including groceries, transport, duty free and department stores alongside dining and travel. SGD spend qualifies too, and the bonus is credited directly to your KrisFlyer account with no conversion fee.

The catches are the S$3,000 monthly floor, wasted spend between blocks, a posting-date rule that may catch you out with late-month spending, and that SMS in January you really can’t afford to miss.

If you can put S$4,000 – S$5,000 a month through these categories, especially with travel to book, this is one of the most rewarding ways to easily earn KrisFlyer miles this year. If you’ll struggle to reach S$3,000, it isn’t for you, and your 4 mpd cards will do better.

(Cover Photo: Shutterstock)

ADVERTISEMENT

1 comment

  1. This article is very clearly written with AI without any effort to disguise it as otherwise. It’s very verbose and I got tired halfway through it. I hope this will be improved as Mainly Miles was an amazing resource for me.

Leave a Reply

Discover more from Mainly Miles

Subscribe now to keep reading and get access to the full archive.

Continue reading