
McDonald's app bug let people order for free in France - rorocoeur
https://twitter.com/koba_des_neiges/status/1225926716926963713
======
Karto
It might be a stunt, but stuff like that happens. Many years ago I used to
work for a large European company that ran a booking system for several
hundreds of airlines. The system was used as a back-end by more than one
famous online booking site. Currency rates were updated automatically. Once,
on a new year's eve, at midnight, a glitch slipped into the Canadian dollar
conversion rate, setting 1 CAD to 0 EUR. All of a sudden, all Air Canada
flights were for free for European customers, at what might be the worst time
of the year : "\- so, this year's resolution : we take time to travel. \- hey
look honey, Canada looks cheap. \- deal done, book right away, and let's open
one more bottle of champagne !" I don't know how many AC flights were booked
before someone realized and an on-call guy fixed the conversion rate. However,
I know that all those free bookings remained valid, and were offered by my
company who payed all of it directly to Air Canada.

~~~
yoz-y
Amadeus?

I remember at some point the French computer retailer had an issue when
running a "buy 2 get 1 free" offer on blu-rays. One could remove the two
bought items from the cart and the free one would remain. Repeat ad-libidum.

Last year Amazon ran an offer where all photographic gear cost $94. All of it,
even lenses which retailed for over 13k.
[https://www.usatoday.com/story/tech/2019/07/19/amazon-
prime-...](https://www.usatoday.com/story/tech/2019/07/19/amazon-prime-day-
error-sold-13-000-camera-equipment-94-report/1775314001/) If there is one
regret I have in my life, it was not checking the prime day that fateful
morning.

~~~
anamexis
I won the lottery on a similar issue. I was looking at monitors on Amazon
using a business account, which sometimes offers volume discounts. Instead of
a $10 discount, someone had set the unit price to $10 if you bought more than
one, for a $1100 monitor. I bought five. I expected the order to be cancelled,
but a week later five monitors showed up.

~~~
dsfyu404ed
Along the same lines, I was shopping for fuel injectors and someone listed a
particular part number at like $1.50ea. So now, years later, I have a peanut
butter jar fulled of 24lb/hr EV1 injectors that are not the right flow rate
for anything I own but hey, maybe I'll use them eventually. It's nice to find
a pricing error but it's rare to be in a position to actually use or be able
to re-sell multiple units.

------
rorocoeur
More details: if you ordered a "Golden Menu" with a "McFirst" sandwich on the
mobile app or on the self-service machine, almost everything you add would
have been for free. The bug was first reported on Twitter and it took about 7
hours for restaurants to refuse to give orders.

~~~
zozbot234
Interesting that they had the exact same issue on both platforms. It's also
the kind of thing where some people might just guess that the behavior is
intentional and take advantage of it.

------
Deimorz
It's always interesting to me that so many people seem to completely lose all
compunction about stealing once technology is involved.

If they were ordering from a cashier at McDonald's and the cashier got
distracted for a minute and somehow forgot to charge them before finishing the
order, most of the people that abuse a bug like this would tell them about the
mistake. I've been in similar situations plenty of times, where I easily could
have gotten something without paying because of a staff oversight, but I
always tell them I haven't paid yet. Most people won't suddenly decide to
steal something just because they're handed an easy opportunity.

But when the transaction is through an app or a website or something, people
are completely willing to abuse errors, and will even go through an obscure
process deliberately to _cause_ errors so they can abuse them. When Amazon
accidentally sells expensive camera equipment for 99% off on Prime Day, people
clamor to steal as much as they can, even though it's a blatant mistake. None
of those people legitimately believe the price is intentional, they know
they're taking advantage of an error. The ones that get away with it brag
about it, and others that missed the chance are jealous that they didn't
manage to steal anything.

It's really a fascinating piece of psychology to me, that once there's a
"system" in place, abusing holes in it feels like a reasonable thing to do,
even if the end result is effectively shoplifting.

Edit: the replies to me are a perfect demonstration.

~~~
dnautics
Can you please explain concretely what your definition of stealing is?

To most sane people, it is not stealing when a transaction price is set, and
that price is paid.

If you buy a car and complete the transaction and as you're driving off the
lot the dealership says, sorry, that car is 200,000 not 20,000; would that be
stealing? Why or why not?

~~~
mrleinad
Could it have been obvious the price was 10 times higher than you paid? If
yes, then it's stealing. If no, then no.

~~~
petagonoral
I see this as a negotiation between man and machine. The machine in this case
was bad at negotiating.

~~~
astura
These sorts of "cutesy" arguments don't hold up in a court of law.

[http://www.nbcnews.com/id/21534526/ns/technology_and_science...](http://www.nbcnews.com/id/21534526/ns/technology_and_science-
security/t/woman-admits-exploiting-glitch-qvc-site/)

~~~
Kinrany
That wasn't a glitch in negotiating. The system knew that the purchase was
cancelled but sent the items anyway. It makes perfect sense that the system
can legally ask to get those items back.

~~~
dnautics
It depends on what the cancellation policy is, if the cancellation policy says
that the responsibility to return is on the buyer, then absolutely it's
stealing.

------
beedyg
There was one evening in a small town is England where my fellow students
convinced the staff in the local McDonald's that the student offer of one free
hamburger did not require a purchase. We ate a lot of free hamburgers that
night. Guilt aside, dare say they were the best McDonald's I've ever tasted

------
keanzu
Seems like a good way to promote the app specifically and McDonald's in
general. I wonder what the ROI on something like this is vs a more traditional
marketing campaign.

~~~
Donald
Their franchisees bore the entire cost of giving out the free food. McDonald's
corporate paid nothing except for paging someone in to fix the bug.

~~~
speedgoose
I don't know if McDonald's food is that expensive. I would expect that most of
the costs are the employees, the building, and the equipment.

~~~
saghm
Well, their employees had to do all the work to make that food without the
franchise getting revenue for it, but the employees were presumably still paid

~~~
bwilliams18
But the people were already there, it only happened over the course of a
single day; it's not like they paid the people more because they were busier
or making more orders.

~~~
progval
They can only handle so many orders in a given hour. If too many people took
advantage of this, then queues probably got longer, discouraging potential
customers.

~~~
genera1
Customers, who would've paid nothing anyway, presumably

------
thrower123
There was another one I saw where you could order a dollar burger, then order
another ten burgers without the burger, and because of how the kiosk software
calculated the "no burger" modifier, the total came out to $0.

[https://www.usatoday.com/story/tech/2019/04/08/11-free-
burge...](https://www.usatoday.com/story/tech/2019/04/08/11-free-burgers-
these-friends-reportedly-hacked-mcdonalds-kiosk/3398623002/)

~~~
WalterBright
> There was another one I saw where you could order a dollar burger, then
> order another ten burgers without the burger, and because of how the kiosk
> software calculated the "no burger" modifier, the total came out to $0.

This looks like the software was missing some internal sanity checks. For
example, it was hammered into us at Caltech that any answers we derive need to
be sane. If an energy value turned out to be negative, we would have to note
on the solution something like "the negative value is clearly wrong but I
don't know where my mistake is" or we'd get not just zero credit on the
solution, but a negative credit.

Software should have the same sort of checks. It's called "contract
programming", the simplest manifestation of which are asserts.

~~~
orf
> Software should have the same sort of checks. It's called "contract
> programming", the simplest manifestation of which are asserts.

A wrong answer is wrong, but the correct response isn't always to fail.
Imagine you added this and that caused 0.01% of orders to fail for 10 days
while you debug the issue. Perhaps your assert is only stopping a 1 cent
deviation from the correct order total - is it better to prevent 0.01% of
orders in their entirety or have the absolute correct order total?

Also a value of $0 is a perfectly valid cost for food - maybe they are using a
voucher, or some loyalty points, or something else. The Uber eats integration
with McDonalds seems to print an order that costs £0.

~~~
WalterBright
Detected failures should bounce it to the cashier to ring it up. All the McD's
I've been in with a kiosk also have a human cashier to help anyone with
problems.

> or something else

Easy to account for it.

BTW, the entire reason for the invention of double entry bookkeeping is to
detect errors, not throw up hands and say it can't be done.

~~~
orf
> Detected failures should bounce it to the cashier to ring it up

Assuming a minor deviation from the real order cost that ends up being more
expensive than swallowing the difference and continuing with the order, and it
also increases the number of abandoned orders at peak times.

Either way you’re paying a dollar to save a cent.

Because you don’t know what the true value should be (else you have no bug)
it’s very hard to choose the correct course of action. I’d argue that
attempting to detect unexpected deviations and adding friction to fast food
orders could backfire massively at McDonalds scale

~~~
WalterBright
Using sanity checks in software is normal practice, especially in software
that calculates critical things. It works.

> I’d argue

I'm sure if you put some effort into thinking about how to make it work,
you'll be successful.

~~~
orf
> Using sanity checks in software is normal practice, especially in software
> that calculates critical things. It works.

Literally the whole point, that I've repeated to you 3 times now, is that a
single cent is not critical if it means losing the entire order.

This isn't a rockets trajectory or a an MRI scanner, it's a glorified tablet
selling high-volume impulse food at a good markup, so stop pretending as if
the context doesn't matter when discussing things.

~~~
WalterBright
> that I've repeated to you 3 times now

I explained how to deal with that.

BTW, crooks have stolen millions of dollars by adjusting software to shave off
a penny here and there. The idea that McDonalds can afford to be unaware of a
missing penny in a transaction, when they have billions of those transactions,
is wrong.

In accounting software, it's critical to be accurate to the penny. Having the
POS software be off by a penny calls into question the entire reliability of
the software. Especially when normal accounting controls are not followed and
the penny error is not detected.

I once read a story where a prospective engineering hire was given a plant
tour at Ford. He noticed an inefficiency that was costing Ford 5 cents per
car. He was promptly hired.

Edit:

> rockets trajectory or a an MRI scanner

I've heard the same arguments from people who vigorously insist that it's
correct for rockets and scanners for the software to ignore bugs and soldier
on. I hope the people who do write that software do not agree with those
arguments. I suggest that re-evaluating this merits an investment of your
time.

~~~
JoshuaDavid
> I once read a story where a prospective engineering hire was given a plant
> tour at Ford. He noticed an inefficiency that was costing Ford 5 cents per
> car. He was promptly hired.

This seems implausible at best, unless it was long enough ago that 5 cents was
a meaningful amount of money. Ford only sells about 5.5 million vehicles per
year, so even an inefficiency which affects every single vehicle would only
cost $280,000 / year, which is almost certainly not an amount that justifies a
process change across all ford assembly lines.

It's important to keep in mind what the acceptable margin of error is. It's
very easy to say "no discrepancies are acceptable," but in sometimes you have
a legacy system that mostly works and it's not worth the person-hours to stamp
out every inconsistency.

~~~
playeren
Disregarding the point op was trying to make; the ability to spot the
inaccuracy might have had more to do with the hiring decision, than the
monetary value of the bug itself.

------
milankragujevic
I ordered a MacBook Pro (though Pink/Rose Gold) for 29999.99 RSD (255.46 €,
279.63 $). It was supposed to cost 299999.99 -- 2,796.29 $ or 2,554.55 €
(extra 9). The order was cancelled with no explanation, obviously. Laws in
Serbia do allow for a sale to be cancelled before delivery if the merchant
entered the wrong price, or the device is not available in the warehouse, etc.
It was funny :)

~~~
grecy
That kind of thing happens in Australia and the sale must go ahead by law. The
advertised price is the price, end of story.

~~~
milankragujevic
I know, it's like that in the USA and a lot of the world, I think even
European Union, that's why I mentioned it. Not in Serbia, yet.

I think I've read about people in USA suing companies for refusing to sell, or
requesting return, of products that were advertised with "incorrect" prices
and ordered/purchased by the customer.

~~~
commoner
It's actually not like that in the USA. Amazon and other retailers have made
numerous price mistakes in the past that were canceled without shipment. If
you ask customer service, they might offer you a small gift card as a
consolation. It's rare for companies to honor their price mistakes, especially
major ones that incur them significant losses.

If the retailer charges you a different rate than advertised, that's a
different issue, but it generally doesn't happen.

~~~
milankragujevic
You can sue for false advertising, at least in the USA. Well, unless the
company has "prices and specification subject to change without notice" and
mandatory arbitration.

~~~
commoner
If the retailer cancels your order and refunds you the amount you paid (or
releases the authorization hold on your payment card, since most retailers
don't charge until the item is shipped), you won't have any damages to show.
Price mistakes happen all the time, and I'm not aware of any US court case
that penalized a retailer after they issued a refund.

~~~
milankragujevic
I understand, I'm misremembering it then.

------
Jack000
a few years ago there was a local promotion for packs of nestea, where each
case contained a coupon for a free case of ice tea. The coupon didn't say you
couldn't redeem it for the same box (which contained another coupon)

A bunch of people (me included) went around and basically cleaned out all the
stores that sold it. There was a hilarious thread on red flag deals where
people posted pictures of SUVs packed to the brim with ice tea.

------
Kaze404
Back in 2014 EA issued a discount code for Origin that granted you $20
discount, with no minimum value and reusable. Myself and a couple friends
managed to snatch 20 or 30 games before they deactivated it. It was pretty
funny, and since it's just a digital product I don't think there's a reason to
feel bad about it.

------
cruzah
Here in Australia, the app has placed several phantom orders which I have paid
for but did not actually order.

Have tried to contact McDonalds but they did not respond.

It was only 4 or 5 coffees so I deleted the app. Should've chased it harder
but didn't have the time.

~~~
stevenjohns
Just give them a call, they credit you immediately. I had the same thing
happen at Sydney International Airport a few months ago - I placed one order
but it went through five times. It didn't show up on the app and didn't show
up on their registers, but I was definitely billed for it.

A two-minute phone call and they refunded it all.

------
giarc
Is there any proof other than the picture of someone with a ton of McDonalds
food and a caption?

~~~
rorocoeur
[video]
[https://twitter.com/LeRoiLeBg/status/1226133445346316288](https://twitter.com/LeRoiLeBg/status/1226133445346316288)

~~~
giarc
I suggest we change the post link to this instead of a simple photo.

------
RaceWon
IP payment-->> French fries

------
kenneth
I still wouldn't want to eat any of that pile of garbage food even for EUR0.

------
adrianmonk
Through the magic of software, McDonald's has allowed its customers to live
out their fantasy of becoming real-life Hamburglars.

~~~
ghego1
Well said sir

------
macpete
Even for free I will not eat that processed garbage

~~~
frosted-flakes
I have friends like you. They decry McDonald's food as super bad for you—and
then turn around and eat at the fancy burger place where a single burger and
fries sets you back $20. Even though it's literally the same food: beef patty,
white bun, ketchup, processed cheese, onions, and lettuce. And they get the
pop and greasy fries too.

What's bad about McDonald's is not that the food is unhealthy (it is, but no
more than most restaurants), but that the food is so cheap that so many people
regularly eat it instead of proper home-cooked meals. Also, it's easy to get
way too much food and sugary pop.

I eat at McDonald's a few times a month, but I don't view it as an unhealthy
habit. My typical meal is two sandwiches, either McDoubles or Junior Chickens.
That's less than 800 calories in total (I usually drink water). I rarely go
for the combo meals or the big sandwiches.

