Infor LN & BaanFree referencePDF, Excel, Word exportInfor LNAll Infor LN and Baan tools

Infor LN Sales Order Tables Reference: tdsls400, tdsls401 and Related Tables

This reference lists the Infor LN 10.x tables behind the order-to-cash flow, with the fields a developer or report writer needs and the joins between them. It covers quotations, contracts, sales orders, actual deliveries, order history, sales invoices in cisli and the business partner role tables.

Download:
Table codeDescriptionPhysical name patternKey fieldsKey fields to knowJoin toMain sessionNotes
tdsls100
Sales quotations (header)
ttdsls100<company>
qono
qono quotation, ofbp sold-to BP, qdat quotation date, expd expiry date, qsta status, sotp order type, ccur order currency, opty opportunity
tdsls100.ofbp = tccom110.ofbp
tdsls1500m000 Sales Quotations Overview
Header of a quotation; lines are in tdsls101.
tdsls101
Sales quotation lines
ttdsls101<company>
qono, pono
item, qoor ordered quantity, cuqs sales unit, pric price, cups sales price unit, disc line discount, lsta line status, ddta planned delivery date, cwar warehouse
tdsls101.qono = tdsls100.qono; tdsls101.item = tcibd001.item
tdsls1501m000 Sales Quotation Lines
Line status lsta is separate from the header status qsta.
tdsls300
Sales contracts (header)
ttdsls300<company>
cono
cono contract, ofbp sold-to BP, icyp contract type, icap contract status, sdat effective date, edat expiry date, ccur currency, cpay payment terms, sotp order type
tdsls300.ofbp = tccom110.ofbp
tdsls3500m000 Sales Contracts
Lines with agreed quantities and prices are in tdsls301.
tdsls301
Sales contract lines
ttdsls301<company>
cono, pono
item, qoor agreed quantity, pric price, disc discount %, icap line status, qicl called quantity, qiiv invoiced quantity, sdat effective date, edat expiry date
tdsls301.cono = tdsls300.cono; tdsls401.cono and tdsls401.cpon point back to it
tdsls3501m000 Sales Contract Lines
Called and invoiced quantities show how much of the contract is used.
tdsls400
Sales orders (header)
ttdsls400<company>
orno
orno order, ofbp sold-to BP, stbp ship-to BP, itbp invoice-to BP, pfbp pay-by BP, sotp order type, odat order date, hdst header status, ccur currency, corn customer order, cofc sales office
tdsls400.ofbp = tccom110.ofbp; tdsls400.sotp = tdsls094.sotp
tdsls4100m000 Sales Orders
In SQL the columns carry a prefix: t_orno on SQL Server, t$orno on Oracle.
tdsls401
Sales order lines
ttdsls401<company>
orno, pono, sqnb
item, qoor ordered quantity, cuqs sales unit, pric price, oamt amount, ddta planned delivery date, qidl delivered quantity, invd invoice date, cwar warehouse, clyn canceled
tdsls401.orno = tdsls400.orno; tdsls401.item = tcibd001.item
tdsls4101m000 Sales Order Lines
sqnb 0 is the order line; planned delivery lines (tdsls4101m100) use higher sequence numbers.
tdsls406
Sales order actual delivery lines
ttdsls406<company>
orno, pono, sqnb, dsqn
dsqn actual delivery sequence, qidl delivered quantity, dldt actual delivery date, shpm shipment, shln shipment line, deln delivery note, invn invoice number, invd invoice date, qnvc invoice quantity, stat status
tdsls406.orno, pono, sqnb = tdsls401.orno, pono, sqnb; tdsls406.shpm = whinh430.shpm
tdsls4106m000 Sales Order Actual Delivery Lines
One row per confirmed delivery, so partial shipments create several rows per line.
tdsls450
Sales order history (header)
ttdsls450<company>
orno, trdt
trdt transaction date, ddtc customer requested delivery date, pcod delivery pattern
tdsls450.orno = tdsls400.orno
tdsls4550m000 Sales Order History
Written only when Log Order History (tdsls400.hiss) is set; confirm the full index in your data dictionary.
tdsls451
Sales order line history
ttdsls451<company>
orno, pono, trdt
trdt transaction date, ckor record type, stcd processed in statistics
tdsls451.orno, pono = tdsls401.orno, pono
tdsls4551m000 Sales Order Line History
Used for change audits and sales statistics after lines are archived or processed.
tdsls094
Sales order types
ttdsls094<company>
sotp
sotp order type, dsca description
tdsls400.sotp = tdsls094.sotp
Sales Order Types session in the tdsls module
The order type controls which activities a line passes through (see tdsls4534s000).
tdsls4534s000
Sales order line status (session, not a table)
n/a
orno, pono, sqnb
Shows the activities linked to a line, their status and whether each runs automatically
Reads tdsls400, tdsls401, tdsls406
tdsls4534s000 Sales Order Line Status
The first activity with status Free is the next step to run.
cisli305
Invoices (sales invoice header)
tcisli305<company>
sfcp, tran, idoc
stat invoice status, idat invoice date, itbp invoice-to BP, ofbp sold-to BP, cslo sales order, cshp shipment, dudt due date, amti amount
cisli305.sfcp, tran, idoc = cisli310.sfcp, tran, idoc
cisli3105m000 Invoices
The invoice number is financial company + transaction type + document number.
cisli310
Invoice lines
tcisli310<company>
sfcp, tran, idoc, line
orno order number, pono order line, item, dqua delivered quantity, shpm shipment, amti net line amount, cvat tax code, ofbp sold-to BP
cisli310.orno = tdsls400.orno and cisli310.pono = tdsls401.pono when the source is a sales order
cisli3110m000 Invoice Lines
srtp (source type) tells you which document the line came from.
tccom100
Business partners
ttccom100<company>
bpid
bpid business partner, nama name, prst status, cadr address, clan language, prbp parent BP, ccur currency
tccom100.bpid = tccom110.ofbp
tccom4500m000 Business Partners
One BP can hold several roles; each role has its own table.
tccom110
Sold-to business partners
ttccom110<company>
ofbp
ofbp sold-to BP, bpst status, cadr address, crep internal sales rep, cofc sales office, creg area, chan channel
tdsls400.ofbp = tccom110.ofbp
tccom4510m000 Sold-to Business Partners
Default order data for the customer lives here, not in tccom100.
tccom111
Ship-to business partners
ttccom111<company>
stbp
stbp ship-to BP, cadr address, bpst status, cwar warehouse, cfrw carrier/LSP
tdsls400.stbp = tccom111.stbp
tccom4511m000 Ship-to Business Partners
Ship-to address can be overridden per order (tdsls400.stad) and per line (tdsls401.stad).
tccom112
Invoice-to business partners
ttccom112<company>
itbp
itbp invoice-to BP, itst status, ccur currency, cpay payment terms, crlr credit limit, cfcg financial customer group
tdsls400.itbp = tccom112.itbp; cisli305.itbp = tccom112.itbp
tccom4512m000 Invoice-to Business Partners
Credit limit and payment terms used at invoicing come from here.
tccom114
Pay-by business partners
ttccom114<company>
pfbp
pfbp pay-by BP, bpst status, ccur currency, mrem reminder method
tdsls400.pfbp = tccom114.pfbp
tccom4114s000 Pay-by Business Partner
Drives receivables collection, not the order itself.
tccom130
Addresses
ttccom130<company>
cadr
cadr address code, nama name, namc street, ccit city, pstc postal code, ccty country, cste state/province
tdsls400.stad = tccom130.cadr; tccom110.cadr = tccom130.cadr
tccom4530m000 Addresses
Order-level address fields (ofad, stad, itad, pfad) all point here.
tcibd001
Items - general
ttcibd001<company>
item
item, dsca description, kitm item type, citg item group, cuni inventory unit
tdsls401.item = tcibd001.item
tcibd0501m000 Items
Sales-specific item data is in tdisa001; see the item master reference.

Physical tables are t + table code + company number, e.g. ttdsls400100 for company 100. Column names in SQL carry the t_ prefix on SQL Server and t$ on Oracle (t_orno, t$orno). Field names were checked against the LN 10.x online help field definitions for each session; customizations and Feature Packs can add columns, so check the data dictionary in your own VRC.

Need a tested order-to-cash query for your LN release?

Send us your LN version, database and the report you need, and we will check the joins and fields against your setup.

Optional. The tool and every export work without this. No spam.

Was this tool useful?

How the sales tables chain together

A quotation (tdsls100/101) can become a sales order. The order header tdsls400 holds the four partner roles: sold-to ofbp, ship-to stbp, invoice-to itbp and pay-by pfbp. Lines live in tdsls401 keyed by orno, pono and sqnb, where sequence 0 is the order line and higher sequences are planned delivery lines. Each confirmed shipment writes a row in tdsls406 with its own actual delivery sequence dsqn, the shipment number and later the invoice number. Invoicing then creates cisli305 headers and cisli310 lines, and cisli310.orno and pono point back to the order line.

  • Quote: tdsls100 header, tdsls101 lines
  • Order: tdsls400 header, tdsls401 lines, tdsls406 actual deliveries
  • Invoice: cisli305 header, cisli310 lines
  • Partners: tccom110, tccom111, tccom112, tccom114 by role

Worked example: open order lines with delivered quantity

To list open lines for one customer on SQL Server, join ttdsls400100 h to ttdsls401100 l on l.t_orno = h.t_orno, filter h.t_ofbp on the customer code and l.t_sqnb = 0, and compare l.t_qoor with l.t_qidl. Add ttcibd001100 i on i.t_item = l.t_item for the description. On Oracle the same query uses t$orno, t$ofbp and so on. Enumerated fields such as hdst return numbers, not labels, so map them through the domain in the data dictionary rather than hard-coding text. Filter out canceled lines with clyn as well.

Gotchas that break reports

Item codes are padded: the project segment comes first, so a standard item has leading spaces in tcibd001.item and every item column that references it. Trim or pad consistently in joins to external systems. Delivered quantity exists on both tdsls401 (cumulative) and tdsls406 (per delivery); summing tdsls406 per line and also adding tdsls401 double counts. Order history in tdsls450 and tdsls451 only exists when history logging is switched on for the order. Amounts in tdsls401 are in order currency, while invoice lines carry both transaction and home-currency amounts.

How to check a field in your own system

Open the session, place the cursor on the field and use the field help: LN shows the table and field name behind it. For the full column list, check the table definition in the data dictionary for your package VRC. Fields added by Infor Feature Packs or by your own customizations will not appear in any public list, so treat this page as the standard core and verify extras locally. Physical names follow one rule: t, the table code and the three-digit company number, so the same table in company 200 is ttdsls400200. Keep a list of the companies you report on and build the table names from it rather than hard-coding one company.

Frequently Asked Questions

What is tdsls400 in Infor LN?

tdsls400 is the Sales Orders header table, maintained in session tdsls4100m000. It is keyed by orno and holds the sold-to, ship-to, invoice-to and pay-by business partners, the order type sotp, order date odat, currency ccur and the header status hdst. Order lines are in tdsls401.

Where are sales deliveries stored in Infor LN?

Actual deliveries are in tdsls406, Sales Order Actual Delivery Lines (session tdsls4106m000). Each row is one confirmed delivery for a line, with the delivered quantity qidl, actual delivery date dldt, shipment shpm and, once invoiced, the invoice number and date. The warehouse side of the shipment is in whinh430 and whinh431.

Which tables hold Infor LN sales invoices?

Sales invoices are in the Invoicing package: cisli305 for the invoice header (session cisli3105m000) and cisli310 for the lines (session cisli3110m000). Both are keyed by the financial company sfcp, transaction type tran and document number idoc; lines add a line number. cisli310 carries orno and pono back to the sales order.

Why does my SQL say the column orno does not exist?

LN prefixes every column in the database. On SQL Server the column is t_orno, on Oracle it is t$orno, and the physical table name is t + table code + company, such as ttdsls400100. Queries written with the logical names only work inside LN tools such as the query or report engine.

If your team wants to ask LN about orders, shipments and invoices in plain English on your own servers, we can set up a read-only AI layer over these tables.

ArchRay builder
Design the on-prem AI stack for Infor LN and Baan: model, GPUs, RAG pipeline, guardrails
See memory, speed and cost as you swap parts, then export the diagram. Free, in your browser.
Open the builder

Keep exploring

Free tools

ERP fixes and how-tos

Runs with your ERP

Guides

AI on your ERP

Integrations

Software