Walmart Chargeback Code 30: Duplicate Billing Explained
Walmart Code 30 is deducted when two invoices hit the same PO. Learn how EDI retries and re-invoicing cause duplicates, and how to make your 810 idempotent.
Executive Summary & Quick Answer
Executive summary: Code 30 fires when Walmart's AP system sees two invoices for the same purchase order. It treats the second as a duplicate and deducts its value so the PO is not paid twice. Unlike shortage codes, nothing went wrong in the warehouse — this one is manufactured entirely inside your billing process. The three usual suspects: someone re-sent an invoice because payment looked missing, an EDI 810 transmitted twice on a retry, or a manual invoice was raised for a PO the EDI system had already billed. The fix is architectural, not procedural: one PO, one invoice, enforced by the system rather than by memory.
Quick answer: Walmart Chargeback Code 30 is a deduction assessed when two invoices are submitted for the same purchase order. Walmart treats the second invoice as a duplicate and deducts its full value so the PO is not paid twice. It is typically caused by re-sent invoices, EDI 810 retries, or parallel manual billing.
Deep Dive: What Triggers Code 30
Walmart pays invoices against POs. When a second invoice arrives for a PO that already has one, AP does not adjudicate which is "real" — it deducts the duplicate's value under Code 30 and moves on. The burden of never sending two lands entirely on you.
Where the second invoice comes from — the EDI 810 lifecycle:
| Stage | Transaction | Duplicate risk |
|---|---|---|
| Order placed | 850 (PO) from Walmart | — |
| Shipment notified | 856 (ASN) | — |
| Invoice generated | 810 created from PO/shipment data | Manual invoice raised in parallel with EDI |
| Invoice transmitted | 810 sent via EDI | Retry or mapping error re-sends the same 810 |
| Payment window | Remittance pending | "Payment looks missing" → invoice re-sent |
Two of the three paths are systems failures, and the third is a human reflex. The retry case is the most insidious: a transmission error triggers a re-send, but the first 810 actually landed — Walmart now holds two. If your 810 generation isn't idempotent (same PO in, same single invoice out, no matter how many times the job runs), your own error-handling creates deductions.
The re-invoice reflex deserves its own callout. Payment on the original invoice is slow or invisible, someone in AR concludes it was lost, and they helpfully re-send it. Walmart's AP system doesn't read intent. It sees invoice number two against a paid or in-process PO and deducts.
Business & Financial Impact
- Deduction = the full value of the duplicate invoice. Not a fee or a percentage — the entire second invoice amount comes off a payment.
- Cash-flow whiplash: the deduction often lands weeks after the duplicate was sent, hitting a remittance that funded other invoices entirely. Reconciliation teams burn hours tracing which PO it belongs to.
- Self-inflicted and recurring: a non-idempotent EDI setup doesn't duplicate once. Every retry event is a fresh Code 30 until the root cause is fixed.
- Recoverable in principle: if the deduction net-nets to correct payment (one invoice paid, one deducted), you're whole but late. If both invoices got tangled with other deductions, unwinding it through the APDP takes real effort.
Root Causes (Ranked)
- Invoice re-sent after payment appeared missing — the AR team's re-invoice reflex, acting before checking remittance or the APDP.
- The same EDI 810 transmitted twice — retry logic or a mapping error re-fires the transmission without checking whether the first attempt succeeded.
- Manual invoice raised for a PO already invoiced via EDI — two billing paths, no shared ledger; a customer-service or AR workaround duplicates what the integration already sent.
All three reduce to the same defect: nothing in the billing stack enforces one PO, one invoice.
Step-by-Step Prevention Workflow
PO received (850)
│
▼
INVOICE REQUEST ──► [PO already invoiced?] ──yes──► BLOCK + alert
│ no
▼
Generate 810 (idempotency key = PO number)
│
▼
Transmit ──► [ack received?] ──no──► verify delivery BEFORE any retry
│ yes
▼
Mark PO as invoiced in ONE shared ledger (EDI + manual paths both check it)
- De-duplicate per PO before transmitting. A pre-send check against every invoice already issued for that PO — EDI or manual — is the single control that catches all three causes.
- Make 810 generation idempotent. Key invoice creation on the PO number so a re-run of the job produces the same invoice, not a new one. Retries become safe by construction.
- Verify before re-sending. A retry should confirm the first transmission actually failed (no acknowledgment, no receipt) before firing again.
- Close the manual side door. Any manually raised invoice must check the same "invoiced POs" ledger the EDI system writes to. Two ledgers is how duplicates are born.
- Check remittance and the APDP before re-invoicing. If payment looks missing, the answer lives in Retail Link — not in a fresh copy of the invoice.
Handling an Existing Code 30
- Pull the deduction detail: PO number, both invoice numbers, amounts.
- Reconcile: was the first invoice paid? If one paid + one deducted = correct net payment, document and close — you're made whole, just late.
- If the net position is wrong (the deduction exceeded the duplicate, or the original was never paid), dispute through the APDP in Retail Link with both invoice records and the remittance trail.
- Either way, trace which of the three causes produced the duplicate and fix that path — Code 30 repeats until you do.
Code 30 Among the AP Codes
| Code | The story |
|---|---|
| 30 | Duplicate billing — two invoices hit the same PO |
| 82 | Anticipation — early-payment interest not reflected on the invoice |
Both are pure accounts-payable deductions that never touch the warehouse — but Code 82 is a terms deduction that recurs by agreement, while Code 30 is a process defect you can drive to zero.
Related: Code 82
Supplier Checklist
- One shared invoiced-PO ledger; every billing path (EDI and manual) checks it before issuing
- 810 generation keyed on PO number — re-runs cannot create a second invoice
- Retries verify the first transmission failed before re-sending
- AR policy: check remittance and the APDP before any re-invoice
- Monthly: Code 30 deductions traced to cause (re-send / retry / manual) and the path fixed
FAQs
What is Walmart chargeback Code 30? A deduction assessed when two invoices are submitted for the same purchase order. Walmart treats the second invoice as a duplicate and deducts its value so the PO is not paid twice.
How much is a Code 30 deduction? Equal to the value of the duplicate invoice — the entire second invoice amount, not a flat fee.
What usually causes duplicate invoices at Walmart? Three paths: an invoice re-sent because payment appeared missing, the same EDI 810 transmitted twice due to a mapping or retry error, or a manual invoice raised for a PO already invoiced via EDI.
Can I dispute a Code 30? Yes, through the APDP in Retail Link — but reconcile first. If one invoice was paid and the duplicate deducted, the net payment may already be correct. Dispute when the net position is actually wrong, with both invoice records and the remittance trail attached.
What does an "idempotent" 810 mean? Invoice generation keyed on the PO number so running the job twice produces the same single invoice rather than a second one. It makes retries safe by construction.
Should I re-send an invoice if payment looks missing? No — check remittance and the APDP in Retail Link first. Re-sending is the most common way suppliers hand themselves a Code 30.
Is your next shipment at risk for Walmart?
Run one shipment's PO, ASN, invoice, and delivery data through the free scanner and see the chargeback risks before the truck leaves — no signup, nothing uploaded.
Scan a shipment free →Get ahead of the next chargeback
Join the early-access list for automated pre-shipment audits that flag compliance errors across every shipment — before they become deductions.
GetChargeback is not affiliated with Walmart.This guide is compiled from industry sources for general information and is not legal, financial, or compliance advice. Verify current requirements in the retailer's official vendor portal before acting. Last reviewed 2026-07-10.