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.
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.
What’s on offer
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.
S$3,000 is the real minimum spend
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).

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.
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.
How it compares with 2025
| 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!
Will it run the distance?
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.
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!
What spend qualifies?
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.

(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.
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.
SGD spend counts too
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.
It’s the posting date that counts
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.
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.
The SMS is back
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.
Miles go straight to KrisFlyer
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.
Can new cardholders join in?
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.
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 | ||
Some small print
- 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.
Terms and conditions
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)


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.