EDI 866 Production Sequence: Sequenced Delivery to Assembly Lines
For edi and integration analysts, it leads at shippers, 3pls and carriers · Understand the problem

EDI 866 Production Sequence: Sequenced Delivery to Assembly Lines: Illustrative TMS–ERP order and invoice handoff review beside a warehouse floor; not a client facility.
Quick answer: edi 866 production sequence
The EDI 866 Production Sequence is the X12 transaction an assembly plant sends to request the order in which parts arrive or are unloaded. BSS04 code JS marks a buyer production sequence schedule, BSS01 code 05 replaces the horizon, and each DTM window lists jobs by sequence number, so suppliers build, rack and ship in line order.
TL;DR — what you’ll learn
- The 866 fixes order, the 862 fixes quantity and time, and the 830 forecasts; a sequenced supplier builds from the 866 job list only.
- BSS01 code 05 replaces every unbuilt job inside the BSS05 to BSS06 horizon; a translator that treats it as new demand doubles the build list.
- Broadcast lead time is jobs ahead times takt: 220 jobs at 60 per hour gives 220 minutes, and the supplier's 151-minute budget leaves 31% margin.
- Line-side buffer is (truck interval + delivery time + safety) / takt; 24 + 12 + 12 minutes at one job a minute means 48 jobs, or two racks.
Topics: edi 866 production sequence · sequence numbers · line-side buffer · broadcast timing · x12 866 bss segment
All quantities, amounts, product codes and events are illustrative teaching examples.
At 09:14 the trim line calls for job 4128, a grey cloth front seat pair, and the line-side rack offers job 4127, a black-leather heated pair, in that slot instead. Every part on the truck was ordered, built and shipped on time. The supplier met the shipping schedule to the piece, yet the line waits while a material handler searches a full rack for one set that sits two positions further back.
The X12 866 Production Sequence transaction exists to stop that minute from happening. Read field by field, it hands the supplier an ordered list of jobs with requested delivery times early enough to build in order, load the rack in reverse and arrive before the parts at the line run out. This guide turns those fields into a build list, a departure plan and a buffer size that a plant and a supplier can both audit.
- Message anatomy: the BSS header, the DTM delivery groups, job sequence numbers on LIN and the OQS count, with a sample transaction.
- Timing arithmetic: the broadcast lead-time budget, line-side buffer sizing, and the rules for gaps, duplicates, pulls and replacements.
- Consequences beyond the translator: rack loading, ASNs and shuttle freight bills, India tax documents per trip, a worked US ($) and India (₹) incident cost and a go-live checklist.
What an 866 asks of a supplier that an 862 never does
An 866 specifies order; an 862 specifies quantity and time. X12 describes the Production Sequence set as the receiver's request for the order in which shipments arrive at one or more locations, the order of unloading, or both. The Shipping Schedule describes precise shipping requirements that supplement the 830 planning schedule. Neither one authorises labour or material, so commercial commitment still comes from the purchase order and the 830.
In practice the three documents stack. The 830 carries weekly or monthly forecast and authorisation. The 862 narrows that to day or hour quantities, as our guide to the EDI 862 shipping schedule explains. The 866 then fixes the exact running order of individual jobs, usually one vehicle or one assembly each, so the supplier can build parts that differ by trim, colour or option in the same order the line consumes them.
Scroll horizontally to see all columns.
| Transaction | Question it answers | Typical granularity | What the supplier builds from it |
|---|---|---|---|
| 830 Planning Schedule with Release Capability | How much will the buyer need, and how much may the supplier commit? | Weekly or monthly buckets, cumulative quantities | Capacity plans and raw material purchases |
| 862 Shipping Schedule | How many units must ship, and when? | Daily or hourly quantities per part | Pick and ship quantities for non-sequenced parts |
| 866 Production Sequence | In what order must units arrive or be unloaded? | One job or vehicle per sequence number | An ordered build list and a rack loading plan |
The X12 866 Production Sequence transaction tells a supplier the order in which shipments must arrive or be unloaded, while the 862 Shipping Schedule states quantities and times. A seat supplier feeding a 60-jobs-per-hour line therefore builds from the 866 job list and never lets an 862 quantity bucket reorder that build.
Four BSS elements that decide how a sequence list is applied
The BSS segment decides how every later line is applied, so the translator must read it before touching a single job. BSS01 is the transaction set purpose code, where 00 means original, 05 means replace and 01 means cancellation. BSS02 carries the buyer's document number and BSS03 the document date. Get BSS01 wrong and an entire horizon of jobs is either duplicated or silently lost.
BSS04 is the schedule type qualifier, and code JS reads Buyer Production Sequence Schedule. BSS05 and BSS06 are the horizon start and end dates that the replacement covers. The X12 syntax note on the segment requires at least one of BSS07, the release number, or BSS08, a forecast reference. BSS11 can state whether quantities are actual discrete, cumulative, net change or replacement quantities, using codes A, C, D or R.
- BSS01 purpose code: store it on the inbound log and route 05 to replacement logic, never to the same insert path as 00.
- BSS02 document number: keep it with the ISA and GS control numbers so a later dispute can name the exact transmission.
- BSS05 and BSS06 horizon: treat jobs outside the horizon as untouched by a replacement, and jobs inside it as superseded.
- BSS07 release number: carry it into the build list header and onto the ASN, because the plant reconciles receipts by release.
DTM groups, job sequence numbers and the OQS count inside each window
The detail area is a loop of delivery windows, and each window holds the jobs due inside it. Each DTM loop opens with a date and time, for example DTM01 code 002 for delivery requested, followed by LIN loops for the items. X12 allows up to 100 DTM loops per transaction, so a long horizon arrives as many short windows rather than one block.
Inside a LIN loop, the identifier pairs carry the job and the part. Element 235 includes JS, Job Sequence Number, alongside BP for the buyer's part number, so one LIN can name both the sequence slot and the variant to build. OQS adds a sequence value and a quantity for a unit within a multiple-unit order. SLN sublines can split a job into components such as front-left, front-right and rear seat. The payload below is illustrative; each buyer's implementation guide decides which qualifiers it actually uses.
ST*866*0001~
BSS*05*SQ20261113-0912*20261113*JS*20261113*20261114*R0912~
N1*ST*ASSEMBLY PLANT 2*92*PLT2~
N1*SU*SEAT SUPPLIER UNIT 4*92*V40871~
DTM*002*20261113*0914~
LIN*1*JS*004127*BP*SEAT-FR-PAIR-BLK-HTD~
OQS*4127*1~
SLN*1**I*1*EA~
PID*F****FRONT LEFT DRIVER SEAT HEATED~
SLN*2**I*1*EA~
PID*F****FRONT RIGHT PASSENGER SEAT HEATED~
LIN*2*JS*004128*BP*SEAT-FR-PAIR-GRY-STD~
OQS*4128*1~
DTM*002*20261113*0915~
LIN*3*JS*004129*BP*SEAT-FR-PAIR-BLK-HTD~
OQS*4129*1~
CTT*3~
SE*18*0001~
Three checks follow from that structure. Every JS value must be unique inside the horizon, the DTM time must never run backwards as sequence numbers rise, and the CTT line-item count must equal the LIN loops received. A failed check should block the build list and trigger a rejection acknowledgement, which our page on the EDI 997 functional acknowledgment explains for syntax errors.
Broadcast timing: building a lead-time budget from line entry to dock
Broadcast lead time is fixed by the distance, in jobs, between the point where the plant releases the sequence and the station that consumes the part. A plant that broadcasts when a body enters the trim line, 220 jobs before the seat station, gives a supplier 220 minutes at 60 jobs per hour. Everything the supplier does must fit inside that window, with margin left over.
The trap is the first job in each rack. A 24-set rack fills at line rate, so the first set waits roughly 24 minutes for the last one before the truck can leave. That rack-fill time belongs in the budget for every job, not only the last. The illustrative budget below uses a seat plant 21 kilometres from the assembly plant and a dedicated shuttle.
- Receive and translate: 2 minutes from the 866 arriving to the build list updating.
- Build queue: 75 minutes of work already ahead of the job on the sequenced cell.
- Rack fill: 24 minutes for the remaining sets of the rack at line rate.
- Load and dispatch: 10 minutes to load the rack and close the trailer.
- Transit: 28 minutes planned, with a 6-minute standard deviation on peak-hour runs.
- Unload and deliver to line: 12 minutes from dock arrival to the rack sitting at the station.
The total is 151 minutes, leaving 69 minutes, or 31% of the window, as margin. A plant that moves the broadcast point downstream to 160 jobs would cut the margin to 9 minutes, which one slow run would consume. That arithmetic is the strongest argument a supplier has when a plant proposes a later broadcast to reduce schedule churn.
Broadcast lead time equals jobs between the broadcast point and the consuming station multiplied by takt. With 220 jobs at 60 seconds each, a sequenced supplier holds 220 minutes, and build queue, rack fill, loading, a 28-minute transit and unloading must fit inside while leaving at least 20% margin.
Sizing the line-side buffer from takt, truck interval and variability
The line-side buffer must cover the gap between truck arrivals plus the time to bring a rack to the station, plus a safety allowance for late runs. Size it in jobs, then round up to whole racks, because the plant stores racks at the line, not loose sets. The variables come from the same budget used for broadcast timing.
- Truck interval I: minutes between shuttle arrivals; one rack of 24 sets at 60 jobs per hour gives 24 minutes.
- Delivery time U: minutes from dock arrival to rack at station; 12 in this example.
- Safety allowance S: two standard deviations of transit time; 2 x 6 = 12 minutes.
- Takt T: minutes per job; 60 jobs per hour gives 1.0.
- Buffer B: (I + U + S) / T = (24 + 12 + 12) / 1.0 = 48 jobs, which is 2 racks.
The answer constrains floor space at the line. Two racks of seat pairs fit most stations; four do not. If transit variability rises to a 12-minute deviation, S doubles to 24 minutes and B becomes 60 jobs, which forces either a third rack position or a shorter truck interval with half-full racks. The cheaper fix is usually the shorter interval, priced against one extra shuttle driver per shift.
Gaps, duplicates, pulls and replacements in the sequence stream
A sequence stream is only trustworthy if the supplier can explain every number that is missing, repeated or moved. Plants pull vehicles off the line for repair, hold bodies for parts shortages and re-insert them later, and each event changes the job order the supplier receives. The translator should classify each change before the build list accepts it.
- Gap in sequence: job 4129 follows 4127 with no 4128; hold the affected rack position and query the plant's material control desk, because the job may return.
- Duplicate job number: the same JS value appears in two DTM windows; reject the transaction and request a corrected one rather than guessing which time is right.
- Pulled vehicle: a job disappears from a replacement 866 after it was built; move the built set to a re-insert lane with its job number on the label.
- Re-inserted job: a pulled job returns at a new position; ship the set from the re-insert lane rather than building it twice.
- Variant change on a live job: the BP part number changes after the build started; stop that set and escalate, since a rebuilt set may miss its rack.
In an X12 866, BSS01 code 05 means Replace, so the translator must remove every unbuilt job inside the BSS05 to BSS06 horizon before loading the new list. Treating a replacement as additive duplicates jobs, and one duplicated range of 24 seat sets is enough to break a sequenced rack.
A rack built before a paint repair moved one vehicle back a slot
The incident below is illustrative, but each step mirrors a common failure in sequenced supply. The translator applied the replacement correctly. The fault sat downstream: a rack built before the change was never compared with the new order, and the loading scan checked labels against the build list that existed when the rack was built.
- 06:40 rack R-118 built: the sequenced cell completes jobs 4116 to 4139 in the order set by 866 control number 0907, with 4127 ahead of 4128.
- 06:50 vehicle pulled: the plant takes the body for job 4127 off the line for a paint repair and returns it one slot later.
- 07:42 replacement received: control number 0912 arrives with BSS01 05 and lists 4128 before 4127; the build list updates, but R-118 is already marked complete.
- 08:31 shuttle departs: the loading scan passes R-118 against the 0907 snapshot, and truck T-07 leaves with ASN shipment identifier 7745012 listing jobs 4116 to 4139.
- 09:14 line stops: the station calls 4128, finds 4127 in its slot, and the line waits six minutes while a handler swaps the two sets.
Two controls would have stopped it. Every replacement should be compared with racks that are built but not yet shipped, flagging any rack whose order no longer matches, and the loading scan should test each set's job label against the latest control number rather than the snapshot taken at build time. Neither control needs new hardware if handheld scanners already confirm part numbers.
Rack loading, ASNs and freight bills for a truck every 24 minutes
Sequenced supply moves the 866's order into three physical and financial records: the rack, the ASN and the shuttle invoice. Racks are loaded so the first job the line needs is the first one the handler reaches, which often means loading in reverse order. The ASN then has to describe that order, and the freight bill has to match the number of trips the sequence actually required.
An 856 for a sequenced rack should carry the first and last job numbers and the rack identifier, so a receiving clerk can reconcile one scan against 24 jobs. Freight audit for a dedicated shuttle usually compares billed trips against departures, and the 866 gives the expected count: at 60 jobs per hour and one 24-set rack per trip, the shuttle should depart every 24 minutes, or 2.5 times an hour. A month with far more trips than the sequence implies points to expedites that someone should explain.
Scroll horizontally to see all columns.
| Record or field | Where it is held | Owner | Who signs off a change |
|---|---|---|---|
| Broadcast point and lead-time commitment | Supply agreement and plant logistics manual | Plant material control | Plant logistics manager and supplier account lead |
| 866 translator map, including BSS01 handling | EDI translator and integration repository | Supplier EDI analyst | Supplier IT lead after a regression test |
| Build list and job status | Supplier MES or sequencing application | Sequenced cell supervisor | Supplier operations manager |
| Rack loading order and scan check | Handheld scan log at loading dock | Shipping team lead | Supplier quality manager |
| ASN job range and rack identifier | Outbound 856 and shipping records | Shipping coordinator | Supplier EDI analyst |
| Shuttle trip count and freight invoice | Carrier invoice and freight audit file | Logistics finance analyst | Supplier logistics manager |
Linking those records is what makes a dispute short. When the plant raises a line-stop claim, the supplier can show the 866 control number in force, the build time, the rack scan and the ASN within minutes. Without the link, the claim usually settles on the plant's account of events. Our guide to inbound milk-run consolidation and JIT pickup windows covers the other model, where many suppliers share a route rather than one supplier running a dedicated shuttle.
Sequenced supply in India: invoices, e-way bills and DELJIT partners
X12 866 is a US standard, and sequenced supply into Indian plants often runs on buyer portals or on UN/EDIFACT, where the DELJIT message conveys precise delivery sequence and just-in-time requirements. Whatever carries the sequence, Indian tax law attaches documents to every trip, not every schedule. That changes the paperwork load of a shuttle that leaves every half hour.
CGST Act Section 31(1)(a) requires a tax invoice before or at the time goods are removed for supply. CGST Rules Rule 138(1) requires an e-way bill when the consignment value exceeds ₹50,000. A trip of 24 seat sets at an illustrative ₹18,500 each is worth ₹4,44,000, well past that threshold, so each departure needs its own invoice and e-way bill. Where the supplier must issue e-invoices, the IRN step sits in the same path, as our article on generating e-way bills from an e-invoice IRN shows.
Under CGST Act Section 31(1)(a) a tax invoice is issued before or at removal of goods, and CGST Rules 2017 Rule 138(1) requires an e-way bill once consignment value exceeds ₹50,000. A sequenced seat trip worth ₹4,44,000 therefore needs both documents on every departure, roughly 27 times a day.
The worked cost below compares one six-minute stoppage caused by a swapped pair of jobs in each market. The line-stop charge rates are illustrative assumptions written into a hypothetical supply agreement, not published figures, and the Indian plant runs 40 jobs per hour over two eight-hour shifts.
Scroll horizontally to see all columns.
| Cost element | Basis | US plant ($) | India plant (₹) |
|---|---|---|---|
| Line-stop charge | 6 minutes at the agreed per-minute rate ($1,500 or ₹40,000) | 9,000 | 2,40,000 |
| Expedite run for the correct set | One van trip outside the shuttle plan | 420 | 2,500 |
| Containment labour at the plant | 2 people x 3 hours ($48 or ₹350 per hour) | 288 | 2,100 |
| Total cost of the incident | Sum of the three lines | 9,708 | 2,44,600 |
| Daily trip documents | Jobs per day / 24 sets per trip | No per-trip tax document; ASN per trip | 640 / 24 = 27 trips, so 27 invoices and 27 e-way bills |
| Scan check at rack loading | 2 handheld scanners, one-time | 4,800 | 2,60,000 |
One avoided incident pays for the scan check in the US case and almost does in the Indian case. The larger Indian exposure is administrative: 27 invoices and e-way bills a day means a failed e-way bill generation can hold a truck that the line needs within the hour. The e-way bill call therefore belongs inside the dispatch step, with a fallback, rather than in a back-office batch.
Sequencing controls the translator owns and decisions planners keep
Most 866 checks are mechanical and belong in the translator or the sequencing application, where they run on every message without fatigue. A few require a person who knows the plant, because the right answer depends on why a vehicle moved. Software that suggests an answer is useful there, provided someone accountable confirms it before the build list changes.
Scroll horizontally to see all columns.
| Task | Fixed rule in the translator or sequencing app | Where software assists and a person decides |
|---|---|---|
| Applying BSS01 code 05 replacements | Delete unbuilt jobs inside the horizon, then insert the new list | None; the rule should never be overridden by hand |
| Detecting duplicate JS job numbers | Reject the transaction and send a rejection acknowledgement | A planner calls the plant if a corrected 866 does not arrive within 10 minutes |
| Explaining a gap in the sequence | Flag the gap and hold the rack position | Software can match the gap to earlier pulls; the planner confirms with plant material control |
| Routing a pulled job's built set | Move to the re-insert lane with its job label | A planner decides whether to scrap, hold or rework after 24 hours |
| Checking rack order before departure | Scan each set and compare to the latest control number | None; a mismatch blocks the trailer until fixed |
| Forecasting shuttle trips for the shift | Count jobs in the horizon divided by sets per trip | A model can predict delay risk from traffic history; the logistics lead decides on an extra run |
A new 866 trading partner should not go live until the supplier has replayed a day of real replacements through the translator and compared the resulting build list with the plant's own sequence report. The checklist below is the minimum; the cost of skipping any line is measured in line-stop minutes, so it is cheap insurance.
Scroll horizontally to see all columns.
| Check | Pass condition | Evidence to keep |
|---|---|---|
| BSS01 handling for 00, 05 and 01 | Replay of 20 real replacements produces no duplicate or missing jobs | Replay report signed by EDI analyst |
| Qualifier mapping for JS, BP and OQS | Matches the buyer's implementation guide, version noted | Mapping specification with guide version |
| Lead-time budget | Margin of at least 20% of broadcast lead time at peak transit | Budget worksheet with measured transit times |
| Line-side buffer size | Buffer in jobs fits the agreed rack positions at the station | Calculation and station layout drawing |
| Rack loading scan | Mismatched set blocks departure in a live test | Test log with blocked trailer |
| ASN content | First and last job and rack identifier present on every 856 | Sample ASNs accepted by the plant |
| India trip documents, where relevant | Invoice and e-way bill generated inside dispatch in under 2 minutes | Timed dispatch test with fallback procedure |
If you are planning a sequenced-supply integration or reviewing why a line-stop claim landed on your account, the broader logistics and supply chain library covers the neighbouring EDI and transport records. To scope the translator rules, scan checks and dispatch documents for your own plants, you can send us a request for proposal with your partner's implementation guide.
Discuss this workflow
Describe your current systems, the recurring exception and the outcome you need. Keep shipment, customer and financial records out of the initial message.
Common operational questions
Practical answers for operations, engineering, and finance teams working on edi 866 production sequence in logistics & supply chain.
What is the difference between an EDI 862 and an EDI 866?
How should a translator handle an 866 with BSS01 code 05?
How much lead time does a broadcast give a sequenced supplier?
Does each sequenced trip need its own e-way bill in India?
References
Sources checked 13 November 2026. US and India statutory authorities and vendor documentation support platform facts; the worked examples and diagrams are original.
- X12 - Transaction set index: 830 Planning Schedule with Release Capability, 862 Shipping Schedule, 866 Production Sequence, 856 Ship Notice/ManifestOfficial purpose descriptions of the 830, 862 and 866, including that neither the 862 nor the 866 authorises labour, materials or other resources. Accessed 13 November 2026.
- Stedi - X12 transaction set 866 Production Sequence (release 8010 segment structure)Heading and detail structure: BSS, N1 loop, DTM loop (100 repeats), LIN loop, OQS, SLN and PID loops, CTT. The X12 standard text is licensed by X12, so this public reference was used. Accessed 13 November 2026.
- Stedi - X12 segment BSS and code lists for elements 353, 675 and 676BSS01 to BSS11 definitions, syntax rule requiring BSS07 or BSS08, codes 00 Original, 01 Cancellation, 05 Replace, JS Buyer Production Sequence Schedule and quantity qualifiers A, C, D and R. Accessed 13 November 2026.
- Stedi - X12 segment OQS and element 235 (product/service ID qualifier)OQS01 sequence value and OQS02 quantity; element 235 codes JS Job Sequence Number and BP Buyer's Part Number; element 374 code 002 Delivery Requested. Accessed 13 November 2026.
- Stedi EDIFACT reference - DELJIT Delivery just in time message, directory D.18AAccessed 13 November 2026. Third-party rendering of the UN/EDIFACT D.18A directory entry, used because the UNECE directory refused automated access: functional definition (a customer conveys precise delivery sequence and just-in-time requirements, supplementing DELFOR).
- CBIC - Central Goods and Services Tax Act, 2017, Section 31 (tax invoice)Sub-section (1)(a): invoice before or at the time of removal of goods where supply involves movement. Accessed 13 November 2026.
- CBIC - Central Goods and Services Tax Rules, 2017, Rule 138 (e-way bill)Sub-rule (1): e-way bill for movement of goods of consignment value exceeding fifty thousand rupees. Accessed 13 November 2026.
- FMCSA — 49 CFR Part 395 Hours of Service & Electronic Logging Devices (ELD)US federal motor carrier dispatch and driver duty-status compliance mandate.
- ULIP & NIC GST E-Way Bill Portal — Unified Logistics & Rule 138 ComplianceIndian statutory goods-in-transit and multi-modal logistics verification framework.