EDI 850 & 810 SAC Segment: Allowance, Charge & SAC05 N2 Guide
Understand how SAC*A (Allowances/Discounts) and SAC*C (Freight/Charges) work in EDI 850 and 810—and how to carry them across partial-ship PO-flips, Shopify 2026-10 Live Orders, QuickBooks .IIF, and QBO CSV without throwing your invoice out of balance.
Drop your file below, check the order, then download for QuickBooks Desktop (.IIF).
In-browser workbench (no AS2/VAN pipe hosting): Converts X12 files, auto-fixes compliance errors, builds 855/856/810 turnarounds & prints 4x6" GS1-128 labels with zero raw orders stored. Pair with Amazon Vendor Central Self-Service EDI (free built-in SFTP) or your existing Direct AS2, SFTP, or VAN mailbox.
- 1Load your order file
- 2Check it and match your SKUs
- 0/1 Buyer IDs
Drop EDI order files or a .zip batch folder here
Drop multiple .edi / .x12 POs or a .zip archive for one-click batch 855/856/810 turnaround & merged 4x6" labels. Read locally in browser memory.
No chargeback risks found. This Purchase Order passes every check.
Checked against the Walmart supplier guide for EDI 850.
- Detected Cross-Dock SDQ allocations (6 store-level splits verified against PO102).
- Walmart Dept #0018 & Vendor #123456789 verified.
Raw EDI Code Inspector
31 linesPrimary header of an EDI 850 Purchase Order. BEG03 is the legal PO # that must be echoed on your 856 ASN and 810 Invoice.
Purchase Order Summary & Line Items
| Order / Store # | Your SKU | Retailer Item # / UPC | Item Description | Qty | Unit Price | Line Total |
|---|---|---|---|---|---|---|
| PO-4500991288 | Item: 554433221 UPC: 012345678905 | ORGANIC COTTON BATH TOWEL ROYAL BLUE | 100 EA | $12.50 | $1250.00 | |
| PO-4500991288 | Item: 554433299 UPC: 012345678912 | LUXURY WAFFLE ROBE WHITE XL | 60 EA | $18.00 | $1080.00 |
Download for your software
Pick where the order is going, then download. Files are ready for Excel, QuickBooks, Shopify or a thermal printer.
Field mapping table: which EDI segment fills which column (for IT & bookkeepers)
SAC Segment Elements (SAC01, SAC02, SAC05, SAC15) & Accounting Treatment
Deterministic segment-to-column mapping rules enforced by our client-side X12 engine
| Source X12 Segment / Element | Sample Raw Value | Target ERP / CSV Column | Transformation & Validation Logic |
|---|---|---|---|
| SAC01 (Indicator) | A / C / N | Discount vs Charge Sign | A = Allowance (deducted from invoice total); C = Charge (added to invoice total); N = No Allowance/Charge. |
| SAC02 (Service/Promo Code) | D240 / G830 / C310 | Allowance / Freight Item Code | D240 = Promotional Allowance; C310 = Discount; G830 = Shipping and Handling. |
| SAC05 (Amount in N2 Cents) | 2500 ($25.00) | SPL / Line Item Dollar Amount | Divided by 100. Mapped to QuickBooks SPL splits, QBO/Xero negative lines, and Shopify order discounts/shipping. |
| SAC15 (Description) | NEW STORE PROMO ALLOWANCE | Line Description / Memo | Human-readable explanation printed on the invoice split line. |
Authentic ANSI X12 Stream & SAC Element Breakdown (EDI 850)
Live SAC segment instances extracted from walmart-850-crossdock.edi with element-by-element ANSI X12 definitions
ISA*00* *00* *08*925485US00 *12*5551234567 *261109*0830*^*00501*000010850*0*P*:~
GS*PO*925485US00*5551234567*20261109*0830*10850*X*005010~
ST*850*0001~
BEG*00*SA*4500991288**20261109~
CUR*BY*USD~
REF*DP*0018~
REF*MR*0020~
REF*IA*123456789~
FOB*PP*OR*BENTONVILLE~
CSH*Y~
SAC*A*D240***2500**********NEW STORE PROMO ALLOWANCE~
ITD*01*3*2**10**30*****2/10 NET 30~
DTM*037*20261112~
DTM*038*20261118~
N1*BY*WALMART STORES INC*UL*0078742000008~
N1*ST*WALMART DC 6094G-RDC*UL*0078742035260~
N3*5801 SW REGIONAL AIRPORT BLVD~
N4*BENTONVILLE*AR*72712*US~
N1*VN*ACME HOME GOODS LLC*92*123456789~
PO1*1*100*EA*12.50*WE*UP*012345678905*IN*554433221*VN*SKU-TOWEL-BLU-L*UK*10012345678902~
PID*F*08***ORGANIC COTTON BATH TOWEL ROYAL BLUE~
PO4*10*1*EA~
SDQ*EA*92*0101*25*0102*35*0103*40~
PO1*2*60*EA*18.00*WE*UP*012345678912*IN*554433299*VN*SKU-ROBE-WHT-XL~
PID*F*08***LUXURY WAFFLE ROBE WHITE XL~
PO4*6*1*EA~
SDQ*EA*92*0101*20*0102*20*0103*20~
CTT*2*160~
SE*27*0001~
GE*1*10850~
IEA*1*000010850~{
"segmentTag": "SAC",
"officialName": "Service, Promotion, Allowance, or Charge Information",
"category": "header",
"occurrencesInSample": 1,
"decodedSegments": [
{
"lineNumber": 11,
"rawSegment": "SAC*A*D240***2500**********NEW STORE PROMO ALLOWANCE~",
"elements": {
"SAC01 — Allowance or Charge Indicator": "A",
"SAC02 — Service, Promotion, Allowance, or Charge Code": "D240",
"SAC05 — Amount (N2 Implied 2 Decimals)": "2500 (N2 -> $25.00)",
"SAC15 — Description": "NEW STORE PROMO ALLOWANCE"
}
}
]
}Highlighted SAC segment lines on the left map directly to the decoded element dictionary on the right.
Critical Chargeback & Import Pitfalls We Prevent
Red-light 824/997(R) rejections, $250+ receiving fines, and $0.00 ledger errors blocked automatically
Putting an Explicit Decimal Point in SAC05 (e.g., 25.00)
Risk: 997 Syntax RejectionLike TDS01, SAC05 is an N2 implied-decimal element. Writing "25.00" instead of "2500" is invalid X12 syntax.
Wrong Sign on SAC*A When Exporting to QuickBooks Desktop .IIF
Risk: IIF Out-of-Balance ErrorBecause revenue SPL lines in .IIF are negative, an allowance that reduces A/R must be a positive SPL debit (Sales Discounts) so TRNS + sum(SPL) === 0.
Omitting 850 SAC Allowances When Generating the 810 Invoice
Risk: 824 Allowance Variance HoldIf the buyer’s 850 included a mandatory SAC*A promotional allowance and your 810 omits it, the invoice is placed on AP hold.
How to Inspect & Export SAC Allowances to QuickBooks
Zero middleware setup — complete in under 60 seconds
See SAC01="A", SAC02="D240", and SAC05="2500" ($25.00).
See how our linter catches an illegal decimal in SAC05 and fixes it in one click.
Verify that the $25.00 Promo Allowance is included and penny-balanced.
Technical Questions & Implementation Notes
ANSI X12 specification details, retail companion rules, and ERP import answers
What are the most common SAC02 allowance and charge codes?
D240 = Promotional Allowance; C310 = Allowance/Discount; F050 = Defective Allowance; G830 = Shipping and Handling (Freight); D500 = Handling.
Is SAC05 always implied 2 decimal places?
Yes. In ANSI X12 4010 and 5010, element 610 (SAC05 Amount) is data type N2 (implied 2 decimal places in cents).
Related EDI Converters, Retailer Guides & X12 Segment References
- X12 referenceEDI 810 TDS Total Monetary Value Guide
Verify that IT1 merchandise subtotals ± SAC allowances equal TDS01.
- IntegrationsEDI 850 to QuickBooks Sales Order (.IIF)
Include SAC*A discounts and SAC*C freight splits on unshipped Sales Orders.
- IntegrationsEDI 810 to QuickBooks Invoice & Credit Memo (.IIF)
Post balanced double-entry !TRNS / !SPL splits with automatic SAC sign handling.
- Transaction setsEDI 820 Remittance & Multi-ADX Deduction Parser
Compare billed SAC allowances against post-audit ADX deductions on 820 payments.
- RetailersHome Depot EDI 850 & 810 Allowance Rules
Audit Home Depot promotional allowances, freight charges, and invoice totals.
- ToolsEDI 850 to 810 PO-Flip Generator
Carry over SAC allowances automatically when flipping 850 POs into 810 Invoices.