Crowcery

How to read a Walmart Canada receipt

Walmart receipts look simple, but they hide a few genuinely confusing habits: the same item printed three times in a row, a cryptic ST# OP# TE# TR# header, single tax letters that do not mean what you would guess, 12-digit codes that will not scan, and a purchase date that is nowhere labeled as a date. Here is the full decode.

A worked example

A shortened mock-up of a real Walmart Canada receipt (identifying details altered). Every block is explained below, and the math reconciles to the cent.

WALMART
STORE 1234 / 100 MAIN ST / ANYTOWN, NS
ST# 01234 OP# 000527 TE# 18 TR# 00071
TEE 663480987860$5.00 Z
PANT 055336144970$34.98 J
CUCUMBERS SE 000000045930
  6 AT 1 FOR $0.94$5.64 D
BANANA PLANT 000000042350
  0.755 kg @ $2.81 /kg$2.12 D
GERMN SALAM 069401007020$9.97 D
GERMN SALAM 069401007020$9.97 D
GOLDBEAR 501203593059$2.28 J
ENR MAX AAA1 039800109920$14.97 J
NS ECO FEE 400505438350$0.40 J
KD BOX 12PK 068100904900$9.97 D
SUBTOTAL$95.30
GST 5.0000 %$0.25
HST 14.0000 %$7.37
TOTAL$102.92
MCARD TEND$102.92
CHANGE DUE$0.00
04/11/26 14:59:14
# ITEMS SOLD 15
TC# 0000 0000 0000 0000 000

The header: what ST#, OP#, TE# and TR# mean

FieldMeaning
ST#Store number (matches the STORE line above it).
OP#Operator: the cashier's or self-checkout ID.
TE#Terminal: which till or self-checkout machine.
TR#Transaction number on that terminal.

Together these four uniquely identify your purchase. If you ever deal with a return without the original card, this line is what customer service keys in.

Why is the same item printed twice?

Walmart does not use a quantity column for regular items. Buying two of something prints the line twice, identically: the two GERMN SALAM lines above are two salamis, not a printing error. Exceptions: identical-price produce can group as 6 AT 1 FOR $0.94 (six cucumbers), and weighed items print the scale math (0.755 kg @ $2.81 /kg) under the item name.

The tax letters (D, J, Z, and friends)

The single letter after each price is the item's tax class. Decoded from receipts we verified against the printed tax totals (Atlantic Canada; Walmart's letters can differ by province):

LetterWhat it means
DZero-rated basic groceries. No tax.
JFully taxable (HST here). Snacks, batteries, adult clothing, fees.
AAlso fully taxable; a second class Walmart lumps into the same HST line.
Z, YChildren's clothing: only the 5% federal portion is charged. In NS, ON and PE the provincial part of the HST comes off at the till (a point-of-sale rebate), so kids' clothes are taxed at 5% while adult clothing pays the full rate.
GGST only, 5%.
HCareful: at Walmart, H is not the HST marker. On receipts we checked it appears on items like bottle deposits that do not feed the printed HST total.

The full decode, including how one printed tax line covers several letters and the children's clothing rebate mechanics, is in the Walmart tax codes guide.

Check the example: the HST line is 14% of the J items ($34.98 + $2.28 + $14.97 + $0.40 = $52.63, and 14% of that is $7.37). The GST line is 5% of the Z item (the $5.00 kids' tee: $0.25). The D items were not taxed at all.

Why the 12-digit code will not scan as a barcode

The long number on each line is derived from the product's UPC barcode, but on most lines Walmart prints the first 11 digits of the real UPC and then a literal 0 in place of the final check digit. So the printed number is usually one digit off from what is on the package, and typing it into a barcode lookup often finds nothing. Loose produce is different again: codes like 000000042350 are a 4-digit PLU code (4235) padded with zeros, not a UPC. And store-brand or clearance items can carry Walmart-internal numbers that exist in no public database.

Fees on the receipt

Environmental handling fees print as their own line, like NS ECO FEE $0.40 J above (charged with the batteries). Note the J: on this receipt the eco fee itself was taxed. Bottle deposits also print as separate lines on receipts that have them.

Where is the date on a Walmart receipt?

There is no labeled date line. The purchase date and time appear as bare timestamps in the payment block near the bottom, like 04/11/26 14:59:14, and the order is month/day/year: that is April 11, 2026, not November 4. This US-style ordering trips people up on Canadian receipts, and there can be several timestamps within a few seconds of each other (one per card authorization step).

The bottom of the receipt

After the tenders (Walmart enumerates each one: gift card, then card, with CHANGE DUE last) come the card terminal codes, the store's GST/HST registration numbers, # ITEMS SOLD, and a long TC# number, which encodes the transaction for the barcode printed at the very bottom. A note on # ITEMS SOLD: how multi-quantity lines and fee lines are counted does not always match a naive count of the printed lines, so treat it as approximate.

Prefer not to decode receipts by hand?
Crowcery is a free Android app that reads a photo of your grocery receipt and turns every line into clean, categorised data: prices, quantities, discounts, deposits and tax codes included. Built for Canadian grocery chains.
Get it on Google Play

Available in Canada; English-language receipts; not offered in Quebec. Or try the read-only demo first, no signup needed.

More receipt guides

How to read a Superstore or Loblaws receipt
How to read a Costco receipt
Grocery receipt discounts and promo math
Walmart Canada tax codes (D, J, A, Z, Y)