X12 segment reference
SAC — Service, Promotion, Allowance, or Charge Information
X12 SAC segment reference: allowance and charge indicators, service codes, and amounts on 850 and 810 documents for accurate net pricing.
SAC segment facts
- SAC01 declares allowance vs charge — reversing it inverts the financial impact and is a leading 810 dispute cause.
- Header-level and line-level SAC loops must reconcile with the TDS total or retailers flag the invoice.
- SignalEDI validates SAC allowance/charge math against invoice totals before outbound 810 send.
What the SAC segment does
SAC reports allowances (deductions) and charges (additions) such as freight, handling, or promotional discounts. SAC01 declares allowance vs charge; getting it wrong skews invoice totals and triggers deductions.
Loop: Header or line-level allowance/charge loop
Key elements
| Element | Name | Description |
|---|---|---|
| SAC01 | Allowance or charge indicator | A=allowance, C=charge, N=no allowance or charge. |
| SAC02 | Service/promotion/allowance/charge code | Coded reason such as freight (D240) or discount — partner guides specify. |
| SAC05 | Amount | Allowance or charge amount; usually implied decimal. |
Example SAC segment
SAC*C*D240***1500~
Parse and validate samples with the free EDI validator or send JSON via the JSON→X12 mapping guide.
Common SAC errors
- SAC01 A/C reversed, inverting an allowance and a charge
- SAC amount sign or implied-decimal convention wrong for the partner
- Allowance/charge totals not reconciling with TDS invoice total
Related reference
FAQ
Frequently asked questions
A marks an allowance (reduces the amount owed) and C marks a charge (adds to it). Reversing them is a common cause of invoice short-pays and deductions.