The EDI 812 is how money gets clawed back after the invoice. When a buyer receives less than they ordered, finds a price that does not match the agreement, or charges a compliance penalty, they send an 812 Credit/Debit Adjustment instead of paying the 810 in full. For suppliers, an unread or unreconciled 812 is revenue that quietly disappears.
This guide explains what the 812 carries, the segments you will work with, the reason codes that drive deductions, a real example you can open in our renderer, and how to match each adjustment back to its original invoice and purchase order.
What Is an EDI 812?
An EDI 812 is the Credit/Debit Adjustment transaction defined by the ASC X12 standards body, used to notify a trading partner of a financial adjustment against a prior invoice, such as a deduction for a shortage, damage, pricing error, or compliance chargeback. It is the EDI equivalent of a credit memo or a debit note, sent so both sides can reconcile what is actually owed.
Authoritative references for 812 implementation:
- The X12.org Transaction Sets reference defines the BCD, CDD, and AMT segment structure used in 812 implementations
- Retailer and distributor compliance guides specify the deduction reason codes and documentation each partner uses, which extend the base spec
Who sends it? Either side. A buyer sends a debit adjustment to short-pay an invoice; a supplier sends a credit adjustment to issue a credit.
When is it sent? After an 810 Invoice, usually during the payment and reconciliation cycle when a discrepancy is found.
Why does it matter? Deductions are one of the largest sources of silent margin loss for suppliers. Without systematic 812 reconciliation, invalid chargebacks go undisputed and valid ones go unrecorded, so the cash applied never matches the books.
Debit vs Credit, and Why Reason Codes Matter
The 812 carries a handful of facts that decide how it should be booked:
- Direction. A debit adjustment reduces what the buyer will pay. A credit adjustment is money the supplier owes back. The BCD segment carries this along with the adjustment amount.
- Reason. Each adjustment line carries a reason code: shortage, damaged goods, price discrepancy, unauthorized substitution, late shipment, or a compliance penalty. The reason code is what lets you decide whether the deduction is valid or worth disputing.
- References. A well-formed 812 points back to the original 810 invoice and the original 850 purchase order, so you can match the deduction to the exact line it came from.
Key Segments Explained
Here are the segments you will work with in an 812 transaction set:
| Segment | Name | Purpose |
|---|---|---|
| ST | Transaction Set Header | Identifies the start of the 812 and assigns a control number |
| BCD | Beginning Credit/Debit Adjustment | Adjustment date, number, debit or credit flag, total amount, and the invoice it adjusts |
| REF | Reference Identification | Carries the original invoice (IV) and purchase order (PO) numbers for matching |
| N1 | Name | Identifies the parties: bill-to (BT) and supplier (SU) |
| CDD | Credit/Debit Adjustment Detail | One per adjustment line: reason code, quantity, unit price, and the adjustment amount |
| AMT | Monetary Amount | Summary amounts, including the total adjustment |
| SE | Transaction Set Trailer | Closes the transaction and counts the segments |
A Real EDI 812 Example
The example below is an inbound 812 from a distributor that is deducting for both a short shipment and a price discrepancy, each referencing the original 810 invoice and 850 purchase order. Open it in the renderer to see the parsed structure and plain-English view.
Distributor 812 Credit/Debit Adjustment
Inbound 812 deducting for a short shipment and a price discrepancy against a prior 810 invoice, with reason codes and the original PO reference
Raw EDI (X12)
Human-Readable
Interchange
Where the 812 Sits in the Order Lifecycle
The 812 lands at the end of the cycle, against documents you have already sent:
- 850 Purchase Order - Buyer orders
- 855 Purchase Order Acknowledgment - Supplier confirms
- 856 Ship Notice / ASN - Supplier ships
- 810 Invoice - Supplier bills
- 812 Credit/Debit Adjustment - Buyer deducts or supplier credits against that invoice
Because the 812 references the 810 and 850, clean upstream documents make downstream deductions far easier to validate or dispute.
How to Reconcile 812s Without an ERP
Deduction management is usually framed as an ERP or accounting-system problem, which leaves smaller suppliers either paying for integration they do not want or eating chargebacks by hand. There is a lighter path.
OrderSync ingests inbound 812s (and arbitrary-format deduction notices like PDF debit memos and emailed remittance detail), matches each adjustment to the original 810 invoice and 850 purchase order, and flags discrepancies for review so nothing slips through. The output is valid X12 that drops into the EDI client or folder your trading partner already polls, with no ERP read or write required to start.
See EDI without ERP integration for the full approach, or try the free EDI inspector to upload one of your own 812s and see it parsed.
Frequently Asked Questions
What is the difference between EDI 812 and EDI 810?
The 810 is the invoice that bills for goods shipped. The 812 is the adjustment against that invoice: a deduction (debit) the buyer applies for a discrepancy, or a credit the supplier issues. The 812 references the 810 it adjusts.
Is an EDI 812 the same as a chargeback?
A chargeback is one common type of 812. The 812 carries any credit or debit adjustment, including shortages, damages, pricing errors, and compliance penalties. Retail and distribution chargebacks are typically delivered as 812 debit adjustments.
How do I dispute an invalid 812 deduction?
Match the adjustment to its reason code and the original 810 and 850, confirm whether the deduction is valid, and respond to the trading partner with documentation. Systematic matching is what makes disputes fast; OrderSync surfaces each adjustment with its source references attached.
Can a supplier process an 812 without an ERP?
Yes. An 812 can be parsed, matched to its source invoice and PO, and reviewed without writing into an ERP. OrderSync reads 812s and other formats, reconciles them, and outputs valid X12 to your existing EDI client.