Walmart Deduction Codes, Decoded: Code 22, OTIF Fines, and What You Can Actually Dispute
Your Walmart payment came in short, and unlike a distributor check, the shortfall did not all come from one place. Part of it is a numeric code sitting on the remittance, a Code 22 or a Code 25, money held back because Walmart says it did not get what you billed. The other part is a separate compliance fine, an OTIF or SQEP charge that arrives on its own invoice weeks later and is billed on top of what you already owe. Two systems, two documentation standards, two clocks. Most brands treat them as one blur and fight neither.
Before you write any of it off, hold one number in mind. Brands scaling into national retail typically surrender 3% to 5% of gross revenue to retailer deductions, and Walmart's version is unusually structured. Understanding which bucket a charge falls into is the whole game, because one bucket is highly disputable and the other is mostly a problem you prevent rather than contest. This is the decoder: what each Walmart code means, which ones you can recover, and the deadline that decides whether you recover anything at all.
Two systems, not one
Walmart splits its money-back machinery in two, and the split is the single most useful thing to understand.
The first system is Accounts Payable deductions. These are the numbered codes, roughly 75 of them across five families: shortages and shipping, pricing discrepancies, allowances, returns, and miscellaneous (SPS Commerce). They live in Retail Link, inside the Accounts Payable Disputes Portal (APDP), the tool Walmart brought in-house in 2021. AP deductions answer one question: did Walmart receive exactly what your invoice billed? When the answer is no, or looks like no, the money comes out. This is where disputable dollars concentrate.
The second system is compliance fines, billed through Accounts Receivable as separate invoices. These are the OTIF (On Time In Full) and SQEP (Supplier Quality Excellence Program) programs, and they penalize how you shipped rather than what you shipped. They are charged on top of anything you owe, and they are far harder to argue with.
Confusing the two wastes time. You cannot dispute an OTIF fine in APDP, and you cannot fix a Code 22 by improving your ASN timing. Sort every charge into its system first.
The AP codes that move the most money
Code 22: Merchandise Billed Not Shipped
The most common deduction there is. If Walmart's facility logs fewer units than your invoice claims, it deducts the difference. Bill 45 cases, receive 40, and a Code 22 lands for the missing 5 (8th & Walton).
Disputable? Frequently, and this is the most winnable category. A large share of Code 22s trace to receiving errors, miscounts, or deliveries split on Walmart's side. With a signed bill of lading and proof of delivery showing you shipped in full, you file in APDP and win.
Code 25: No Merchandise Received for Invoice
Walmart is claiming it received nothing at all against the invoice. This usually happens when the invoice arrived before the truck did.
Disputable? Yes, with the invoice, bill of lading, purchase order number, and proof of delivery. One warning that trips up newcomers: do not reissue the invoice to "fix" it. A second invoice reads as duplicate billing and earns you a Code 30 on top of the original problem.
Code 13: Substitution Overcharge
Issued when you bill for one item number and Walmart receives a different one at a lower cost. Walmart deducts the difference.
Disputable? Yes, but not easily. You need the bill of lading, invoice, and proof of delivery to show what actually shipped. Documentation quality decides this one.
Codes 10 and 11: Allowance and Price Differences
Triggered when the price or allowance on the purchase order does not match the invoice: quantity, cost, or packaging that reads differently on the two documents.
Disputable? Yes, when your records show the PO and invoice agreed. Keep the written pricing and allowance history for the period in question. In some cases the fix is a buyer payback rather than an APDP dispute, which requires your merchant's approval.
Codes 21 and 24: Concealed and Carton Shortages
Code 21 covers shortages you cannot see on arrival: inner-carton, inner-pallet, or partial-pack. Code 24 is a carton shortage where the delivery was signed short against the bill of lading.
Disputable? Yes, through APDP, with a proof of delivery signed in eaches. For these codes Walmart specifically asks that you not contact the buyer directly.
A few codes are not worth your time. Code 80 (cash discount) is a contractual early-payment term, not a dispute. Code 30 is duplicate billing, which you avoid by never reinvoicing. Code 87 is the catch-all for everything else, and it usually points back to item-file errors on your end.
The compliance fines: OTIF and SQEP
This is the bucket brands mistake for a dispute problem when it is really a prevention problem.
OTIF sets a 98% threshold at the case level, and shipments below it are charged 3% of the cost of goods on the affected portion. The fine is applied purchase order by purchase order, automatically, and it is not negotiated (Zipline Logistics). Walmart takes a near-zero-tolerance stance on freight arriving late, early, or short, and waivers are rare, reserved for extreme weather and genuine catastrophes. If your fill rate genuinely came up short, no dispute fixes that. The gap between your fill rate and Walmart's score is a data and planning problem to solve upstream.
SQEP runs parallel and penalizes what OTIF does not: shipment accuracy and quality. Phase 1 covers PO accuracy and ASN compliance, including overages, items not on the PO, wrong pack configurations, and missing or late ASNs. Phase 2 covers barcode and labeling compliance (SupplierWiki). Per-defect fines are relatively small, often in the range of roughly $25 to $500, but they compound fast across a shipment. The barcode and labeling failures in particular are almost always an upstream product-data problem, not something to litigate case by case.
The clock is the real enemy
Here is the difference that costs brands the most, and it has nothing to do with any code. Walmart's dispute window is tight. Depending on the deduction type, it can be as short as a few weeks from the posting date, a fraction of the six months a distributor like KeHE allows. The disputable Code 22 money is real, but it evaporates on a schedule, and by the time a quarter's remittances get read, a chunk of the winnable dollars have already aged out.
That inverts the usual advice. With Walmart, being right is not enough and being fast is not optional. The value of a deduction-review process is measured less by its win rate than by its speed, because a valid dispute filed on day 45 of a 30-day window is worth exactly zero. Always confirm the current deadline for each code inside APDP; Walmart adjusts them, and a late filing is rejected before anyone reads the merits.
What this actually costs: a worked example
Numbers make it concrete. The figures below are illustrative, built to show the shape of the problem rather than any real brand's books, but the proportions are what tend to turn up.
Take a brand running $10M a year through Walmart. In one quarter, roughly $2.5M in shipments generates about $90,000 in deductions and fines, inside the 3% to 5% band:
| Category | Amount | Disputable portion | |---|---|---| | Code 22 shortages | $30,000 | ~$24,000 (shipped in full, POD in hand) | | Codes 25 / 13 (no receipt, substitution) | $12,000 | ~$7,000 (timing and documentation) | | Codes 10 / 11 pricing differences | $9,000 | ~$5,000 (PO matches invoice) | | OTIF fines | $22,000 | ~$6,000 (Walmart-side receiving / appointment) | | SQEP fines | $8,000 | ~$3,000 (contestable defects) | | Returns and valid allowances | $9,000 | $0 (contractual) | | Total | $90,000 | ~$45,000 clearly disputable |
At a realistic win rate of about 40% on disputed dollars, that is roughly $18,000 recovered in a single quarter, or $70,000 a year. But note where it sits. Most of the recoverable money is in the AP codes, the ones on the tight clock, while the OTIF and SQEP fines are largely prevention rather than recovery. Read the remittances late and the winnable half of that number is the half you lose.
The disputable vs. not-disputable rule
You do not have to weigh every line on its own:
- AP shortage codes (22, 21, 24, 25): assume disputable, and file fast. This is where recoverable money lives and where the clock is tightest.
- Pricing codes (10, 11, 13): disputable with clean PO-versus-invoice documentation, sometimes via buyer payback instead.
- OTIF and SQEP fines: mostly not a dispute. Contest only clear Walmart-side errors; fix the rest upstream in planning and product data.
- Cash discounts and valid allowances: not disputable. Verify the terms and move on.
How to actually file a Walmart dispute
The process is specific, and getting it wrong gets you rejected before anyone reads your case:
- Start in Retail Link, open APDP. Every AP deduction, its code, amount, and documentation history lives there.
- Locate the deduction by its remittance reference number and confirm the reason code.
- Gather the proof: invoice, purchase order, bill of lading, proof of delivery, and ASN confirmations. For shortages, the POD signed in eaches is the case.
- Write a brief, factual explanation that points directly at the uploaded evidence. Skip the emotion; Walmart's reviewers want documents, not argument.
- Do not reinvoice, and on concealed-shortage codes do not contact the buyer. Both create new problems.
- File inside the window, and track it. Confirm the current deadline for the code, submit through APDP, and record the date. OTIF and SQEP fines are a separate path; do not file them here.
The real problem isn't the codes. It's the ones that age out.
Restate the math from the top. The loss is not the deductions you fight and lose. It is the disputable dollars that are never filed, and with Walmart the reason is specific: the window closes faster than a stack of remittances gets read. A brand can be right about $30,000 a quarter in Code 22 shortages and recover none of it, because the proof existed but the dispute was written on day 40.
That is a parsing problem with a stopwatch attached. The deduction detail is already on the remittance. Someone, or something, has to read every code across every stub, sort it into the right system, price it, match it to the documentation, and file the disputable AP lines before the clock runs out. The UNFI and KeHE sides of your business work the same way, on their own forms and their own, more forgiving, deadlines.
Find out what your Walmart checks are actually costing you
The free Deduction Scan reads twelve months of your remittances and sends back a written report: which deductions are disputable, which dispute windows are still open, and what the recoverable share is worth. Send me twelve months of remittances and I'll write back with what's recoverable and what it's worth. No call, no obligation.
If you want it recovered after that, I work on contingency: no recovery, no fee.