Lowe's Edi 846
What This Is
The EDI 846 Inventory Inquiry/Advice is the standard X12 transaction used by retailers (including Lowe's) to communicate inventory status, on-hand quantities, expected receipts, and other stock-related metadata to trading partners. For vendors trading with Lowe's, accurate handling of 846 messages is essential to maintain replenishment, avoid stockouts, and stay compliant with retailer inventory programs.
This guide focuses on practical, actionable steps you can take when you receive Lowe's 846 files: how to parse them, how Lowe's commonly structures inventory advice, why common errors occur, how to map 846 segments to CSV/ERP fields, and specific validation checks to prevent rejections or downstream reconciliation issues. Last Updated: 2026-05-03 — Verify current requirements with Lowe's vendor portal before relying on retailer-specific rules.
Who This Is For
This guide is for EDI analysts, integration engineers, warehouse integrators, and IT teams who ingest Lowe's 846 transactions and convert them into CSV or ERP imports. If you operate EDI gateways, write parsers, or troubleshoot inventory discrepancies with Lowe's, this guide is for you.
Key Segments Explained
Below are the critical segments in an 846 file, with Lowe's-specific notes and what to validate during conversion.
- ISA / GS / ST (Envelope & Transaction Header)
These are the interchange and functional group headers. Validate delimiters in ISA (positions 3–106), control numbers (ISA13/GS06), and that ST/SE control counts match actual segment counts. Common failure: ISA control number mismatch between trading partners or missing functional acknowledgement requests.
- BIA — Beginning Segment for Inventory Inquiry/Advice
BIA defines the purpose of the 846 (original, change, cancel). Typical elements to parse: BIA01 (Transaction Set Purpose Code), BIA02 (Reference Identification), BIA03 (Report Type Code), and BIA04 (Date). For Lowe's, ensure BIA02 and BIA04 are present and formatted as YYYYMMDD if required by their mapping.
- LIN — Item Identification
LIN starts a detail loop that identifies the item by SKU, UPC, or GTIN. Elements LIN02/LIN03 contain product identifiers and qualifiers (e.g.,
BPfor buyer part number,UPfor UPC). Lowe's frequently relies on their vendor SKU or a buyer-assigned part number; confirm which qualifier Lowe's provided in your onboarding. - QTY — Quantity Information
QTY provides inventory levels and expected receipts. QTY01 is the quantity qualifier (on-hand, backorder, expected receipt) and QTY02 is the numeric value. Validate numeric precision; Lowe's may require integer quantities or warehouse-quantity units. Misinterpreting qualifiers (e.g., using QTY with wrong qualifier for available stock) leads to reconciliation errors.
- DTM — Date/Time Reference
DTM supplies effective dates for quantities (as-of date, expected receipt date). DTM01 is the qualifier, DTM02 the date (format YYYYMMDD or CCYYMMDD). Use DTM to populate date columns in CSV and to resolve inventory as-of timestamps.
- REF / N1 — Reference and Party Name
REF segments include reference IDs like batch number or location code; N1 identifies parties (ship-from, ship-to, vendor). Lowe's often supplies location or store-level identifiers in REF or N1 loops — map these to warehouse or ASN location columns in your CSV to support downstream inventory allocation.
- CTT / SE / GE / IEA — Trailer Segments
CTT may contain total counts. SE counts transaction segments; GE and IEA close functional groups and interchanges. Always verify segment counts and control numbers against ST and ISA headers to prevent acceptance/ack issues.
Example EDI Snippet
ISA*00* *00* *ZZ*SENDERID *ZZ*LOWESID *210530*1200*U*00401*000000905*0*T*:~
GS*IB*SENDERID*LOWESID*20210530*1200*905*X*004010~
ST*846*0001~
BIA*00*INV12345*LI*20210530~
N1*ST*LOWE'S STORE 123*92*00012345~
LIN**SK*1234567890123~
QTY*33*120~
DTM*036*20210530~
REF*IA*LOC001~
SE*8*0001~
GE*1*905~
IEA*1*000000905~
Line-by-line annotation:
ISA*— Interchange Control Header. Check ISA13 (control number 000000905) and ISA11 (repetition separator) and confirm delimiters (here '*' element and '~' segment).GS*— Functional Group Header. GS06 is group control number (905) matching ISA13.ST*846*0001— Transaction set header; 0001 is the ST control number.BIA*00*INV12345*LI*20210530— BIA01='00' (original), BIA02='INV12345' (reference ID), BIA03='LI' (report type Inventory), BIA04=date.N1*ST*LOWE'S STORE 123*92*00012345— N1 Party: qualifier 'ST' (ship-to), name, ID qualifier '92' and ID value (store number).LIN**SK*1234567890123— LIN: product qualifier 'SK' (seller's SKU) and SKU value. Note the empty LIN01 (no paired identifier).QTY*33*120— QTY01='33' (on-hand quantity qualifier), QTY02='120' units on hand.DTM*036*20210530— DTM01='036' (As Of Date), DTM02=date.REF*IA*LOC001— REF with qualifier 'IA' representing internal location code; map to your warehouse location column.SE*8*0001— Transaction set trailer with segment count and ST control number.
CSV Output Example
| ST_Control | Reference_ID | Store_ID | SKU_Qualifier | SKU | Quantity_Qualifier | Quantity | As_Of_Date | Location_Ref |
|---|---|---|---|---|---|---|---|---|
| 0001 | INV12345 | 00012345 | SK | 1234567890123 | 33 | 120 | 2021-05-30 | LOC001 |
Explanation: Each LIN/QTY/DTM loop becomes one CSV row. Control numbers and BIA references populate header columns for traceability. Normalize date format to ISO (YYYY-MM-DD) during conversion for ERP compatibility.
Step-by-Step Conversion Process
- Inspect the Interchange and Delimiters
- Open the file in a text editor and read the ISA segment. Determine element separator (character after ISA), component separator (ISA16), and segment terminator (last character of ISA line). Example: ISA*00*...*~ => '*' element, ':' subcomponent, '~' terminator.
- Validate ISA control fields (ISA13/ISA14) and confirm GS/GE control numbers align. Record these for mapping to CSV header columns.
- Tokenize and Build Segment Loops
- Split by segment terminator to get segments. Trim empty segments and ignore trailing whitespace.
- Group segments into transaction sets using ST/SE. For each ST, create a working record object to fill with BIA, N1, LIN loops, QTY values, and DTM dates.
- Parse Detail Loops (LIN & QTY)
- For each LIN encountered, create a new row context. Parse LIN qualifiers and associated identifiers (LIN02/LIN03). If multiple identifiers exist, use priority rules: Lowe's-specified buyer part number > UPC > GTIN.
- Attach subsequent QTY and DTM segments to that LIN until next LIN or SE. Use QTY01 qualifier mapping to CSV column names (on-hand, available, allocated).
- Apply Lowe's Mapping Rules and Validations
- Enforce required fields: BIA02 reference, N1 store ID (if present), SKU qualifier. If a required element is missing, flag with detailed error messages including envelope identifiers.
- Validate numeric formats, negative quantities, and units of measure. If Lowe's expects integer units, round or reject fractional quantities with a corrective message to the sender.
- Transform and Normalize for CSV/ERP
- Normalize dates to ISO format. Convert quantity qualifiers to human-readable column names (e.g., QTY01=33 => Available_On_Hand).
- Populate CSV header columns with ST control, ISA control, BIA reference, LIN identifiers, and location refs for each row.
- Validate Totals and Produce Output
- Cross-check CTT counts (if present) against actual rows parsed. Validate SE segment's segment count for ST-level integrity.
- Write CSV using a reliable writer that escapes delimiters, preserves leading zeros for SKUs, and writes UTF-8.
- Auto-Repair and Reconciliation
- For common minor issues (missing leading zeros on SKUs), implement deterministic fixes and flag the row as "auto-corrected" in a processing report. For major issues (missing BIA or multiple LIN without QTY), generate an exception report and optionally send EDI 997 or email to your trading partner.
- Use PlainEDI pre-validation to catch envelope and syntax errors before import; PlainEDI validates ISA/GS consistency and segment counts automatically.
Common Errors and Fixes
- Error: Missing or mismatched ISA/GS control numbers
Why: Interchange control numbers must match between ISA13 and expected partner control or be unique for each interchange. How to fix: Reconcile ISA13/GS06 with the trading partner's transmissions and confirm your EDI VAN or AS2 gateway isn't altering control numbers. Use PlainEDI validation to flag mismatches early.
- Error: BIA02 (Reference ID) missing
Why: Lowe's uses a reference ID to trace inventory reports. Missing BIA02 breaks reconciliation. Fix: Reject and request corrected 846 if BIA02 is required by Lowe's onboarding. If tolerable, map a generated transaction ID into the CSV and mark as "generated" in the audit column, but notify Lowe's operations per vendor rules.
- Error: LIN identifier qualifier invalid or unexpected
Why: LIN qualifiers determine which product identifier to use. If your system picks the wrong identifier (UPC vs SKU), inventory mis-attribution occurs. Fix: Implement qualifier priority and verify with Lowe's onboarding which qualifier takes precedence. Add validation that flags unfamiliar qualifiers and routes to exception handling.
- Error: QTY numeric precision mismatch
Why: Sender transmits decimal values while Lowe's expects integers for unit counts. Fix: Validate QTY02 format; round only where business rules permit, else reject with corrective instructions to the sender. Log exact original values for audit.
- Error: Wrong DTM format (date parsing errors)
Why: DTM02 can use multiple formats. A mismatched format leads to incorrect as-of dates. Fix: Map DTM01 qualifiers to expected date formats (e.g., 036 => CCYYMMDD). Add flexible parsing routines that detect both 6-digit and 8-digit dates and normalize to ISO in CSV.
- Error: Duplicate LIN loops (duplicate SKU rows)
Why: Duplicate lines cause double counting of stock. Fix: Deduplicate by composite key (Store_ID + SKU + As_Of_Date + Location_Ref). If duplicates are legitimate (different location refs), keep both but add location column. Otherwise, aggregate quantities or flag for manual review.
Related Resources
- reading-lowes-edi-files — additional Lowe's-specific parsing notes and examples
- how-to-process-edi-846-inventory — general 846 processing best practices that complement this Lowe's-specific guide
- understanding-edi-x12-delimiters-and-structure — deep dive on separators and ISA positions
- reading-997-functional-acknowledgments — how to read acknowledgment feedback when 846s are accepted or rejected
- how-to-validate-edi-files-before-sending — pre-send validation checklist that applies to Lowe's submissions
FAQ Section
Q: What does Lowe's use the 846 for?
The 846 is used to communicate inventory status — on-hand quantities, allowances, and expected receipts. Lowe's uses it to reconcile vendor inventory visibility and support replenishment planning. Last Updated: 2026-05-03 — Verify current requirements with Lowe's vendor portal.
Q: How do I know which LIN identifier Lowe's expects?
Use your Lowe's onboarding documentation that specifies accepted qualifiers (e.g., vendor SKU, buyer part number, UPC). If that documentation is unavailable, map all identifiers in the EDI 846 into CSV columns and contact your Lowe's EDI contact to confirm which column they will use for matching.
Q: What are the most frequent causes of 846 reconciliation errors?
Common causes: missing BIA reference IDs, wrong LIN qualifiers, date format mismatches in DTM segments, quantity precision problems (decimals vs integers), and store/location reference misalignment. Implement rigid validation rules and generate human-readable exception reports for each issue.
Q: Should I aggregate multiple QTY segments for the same SKU?
Aggregate only when the multiple QTY segments represent the same location and date. If QTY segments have different qualifiers or location REF/N1 differences, do not aggregate; instead preserve them as separate inventory lines and include location columns in your CSV for accurate allocation.
Q: How do I handle missing segment terminators or corrupted ISA delimiters?
Malformed ISA/terminator characters require rejecting the interchange and requesting retransmission. Use a validator (or PlainEDI) that checks ISA delimiters, component separators, and segment terminators before parsing. If a VAN alters characters during transfer, work with the VAN to preserve raw file integrity.
Q: Will Lowe's penalize vendors for 846 errors?
Retailers, including Lowe's, enforce compliance programs that can include penalties for poor data quality (OTIF, ASN accuracy, inventory visibility). Types of penalties include chargebacks and deductions. Check Lowe's vendor portal for current penalty programs and effective dates. Last Updated: 2026-05-03 — Verify current requirements with Lowe's vendor portal.
Q: Can I use CSV output to feed my ERP directly?
Yes. Produce CSV with normalized columns (SKU, store/location, quantity, as-of date, reference IDs). Ensure your ERP import routine expects the same column order and data types. Map identifiers carefully (e.g., leading zeros on SKUs) and include audit columns for ST/ISA control numbers to keep traceability.
Q: How does PlainEDI help with Lowe's 846 processing?
PlainEDI validates ISA/GS/ST envelope consistency, segment counts, and common syntax issues before you convert files to CSV. It also flags missing required segments and common format issues (dates, numeric precision), reducing manual rework and preventing downstream ERP errors. Use PlainEDI to pre-validate incoming Lowe's 846 files.
Final Checklist & Case Study
Use this quick checklist when a Lowe's 846 arrives:
- Confirm ISA/GS control numbers and delimiters
- Validate BIA02 and BIA04 presence
- Ensure LIN qualifiers match Lowe's expected identifiers
- Parse QTY and DTM correctly and normalize date/quantity formats
- Deduplicate or aggregate LIN levels by composite key if necessary
- Generate CSV with traceability columns and an exceptions report
Case study (short): A national accessory vendor received a Lowe's 846 where SKUs lacked leading zeros; their parser treated SKUs as integers and stripped zeros, causing mismatches and inventory under-reporting. Fix implemented: enforce SKUs as strings, preserve leading zeros during CSV write, and add a validation rule to flag type inconsistencies. After deploying PlainEDI pre-validation and the SKU string rule, the vendor eliminated 95% of SKU mismatches and reduced reconciliation time by two days per week.
Call to Action
Ready to stop 846 parsing errors? Upload your Lowe's 846 file to PlainEDI for instant validation and automated CSV conversion that enforces Lowe's mapping rules and prevents envelope/syntax failures.