Infor M3 OOHEAD and OOLINE Customer Order Table Columns
This reference lists the M3 13.x customer order columns that matter in reports and integrations, in OOHEAD (prefix OA) and OOLINE (prefix OB), plus the keys that link them to deliveries in ODHEAD, ODLINE, MHDISH and MHDISL. It goes deeper than a table list and focuses on the order lifecycle.
| Table | Column | Description | Key | Join to | Set by | Notes |
|---|---|---|---|---|---|---|
OOHEAD | OACONO | Company | PK part 1 | OOLINE.OBCONO | Session company | Always filter on company |
OOHEAD | OAORNO | Customer order number | PK part 2 | OOLINE.OBORNO | Number series per order type; returned by OIS100MI Confirm | |
OOHEAD | OADIVI | Division | - | CMNDIV | From facility | |
OOHEAD | OAORTP | Customer order type | - | OOTYPE | OIS100 A panel; OIS100MI AddBatchHead ORTP | Drives status flow, numbering and delivery status (OIS010) |
OOHEAD | OAFACI | Facility | - | CFACIL | OIS100MI AddBatchHead FACI or default | |
OOHEAD | OAWHLO | Warehouse (header default) | - | MITWHL | OIS100MI AddBatchHead WHLO or default | Lines can use another warehouse |
OOHEAD | OACUNO | Customer number | - | OCUSMA.OKCUNO | OIS100 A panel; OIS100MI AddBatchHead CUNO | |
OOHEAD | OAORDT | Order date (YYYYMMDD) | - | - | Entry date or OIS100MI AddBatchHead ORDT | Numeric date |
OOHEAD | OACUOR | Customer's order number | - | - | OIS100MI AddBatchHead CUOR | Useful to detect duplicate web or EDI orders |
OOHEAD | OARLDT | Requested delivery date (header) | - | - | OIS100 / OIS100MI | Default for lines |
OOHEAD | OAORSL | Lowest status on the order | - | - | M3, from line statuses | Filter on it to find orders with open lines |
OOHEAD | OAORST | Highest status on the order | - | - | M3, from line statuses | |
OOHEAD | OACUCD | Currency | - | CSYTAB currency | From customer | |
OOHEAD | OATEPY | Payment terms | - | CSYTAB | From customer | |
OOHEAD | OAMODL | Delivery method | - | CSYTAB | From customer | |
OOHEAD | OATEDL | Delivery terms | - | CSYTAB | From customer | |
OOHEAD | OASMCD | Salesperson | - | CMNUSR | From customer or entry | |
OOHEAD | OAPYNO | Payer | - | OCUSMA | From customer | Invoice goes to the payer |
OOHEAD | OAYREF / OAOREF | Your reference / our reference | - | - | OIS100 entry | |
OOLINE | OBCONO | Company | PK part 1 | OOHEAD.OACONO | - | |
OOLINE | OBORNO | Customer order number | PK part 2 | OOHEAD.OAORNO | - | |
OOLINE | OBPONR | Order line number | PK part 3 | ODLINE.UBPONR, MHDISL.URRIDL | Assigned on entry | |
OOLINE | OBPOSX | Line suffix | PK part 4 | ODLINE.UBPOSX, MHDISL.URRIDX | Assigned on split | Include it in every line join or you double count |
OOLINE | OBITNO | Item number | - | MITMAS.MMITNO, MITBAL | OIS100MI AddBatchLine ITNO | |
OOLINE | OBWHLO | Warehouse | - | MITBAL.MBWHLO | OIS100MI AddBatchLine WHLO or header | |
OOLINE | OBFACI | Facility | - | CFACIL | From warehouse | |
OOLINE | OBORQT | Ordered quantity, basic U/M | - | - | OIS100MI AddBatchLine ORQT | Compare like for like units |
OOLINE | OBORQA | Ordered quantity, alternate U/M | - | - | OIS100 entry | |
OOLINE | OBALUN | Alternate unit of measure | - | MITAUN | OIS100 entry | |
OOLINE | OBSAPR | Sales price | - | - | Price list or OIS100MI AddBatchLine SAPR | Per sales price U/M |
OOLINE | OBSPUN | Sales price unit of measure | - | MITAUN | From item | |
OOLINE | OBLNAM | Line amount | - | - | M3 calculation | Order currency |
OOLINE | OBORST | Line status | - | - | M3 order flow | See the M3 order status reference |
OOLINE | OBDWDT | Requested delivery date | - | - | OIS100MI AddBatchLine DWDT | |
OOLINE | OBCODT | Confirmed delivery date | - | - | M3 or entry | |
OOLINE | OBALQT | Allocated quantity | - | MITALO | Allocation | |
OOLINE | OBDLQT | Delivered quantity | - | - | Delivery reporting | |
OOLINE | OBIVQT | Invoiced quantity | - | - | Invoicing | |
OOLINE | OBRNQT | Remaining quantity | - | - | M3 | Open quantity for backlog reports |
OOLINE | OBRORC / OBRORN / OBRORL | Reference order category, number, line | - | MPLINE, MWOHED | Supply creation | Links to the PO or MO created for the line |
ODHEAD | UADLIX | Delivery number | Key part | MHDISH.OQDLIX | Delivery creation | One order can have several deliveries |
ODHEAD | UAIVNO | Invoice number | - | Invoice tables | Invoicing | |
ODLINE | UBORNO / UBPONR / UBPOSX / UBDLIX | Order, line, suffix, delivery | Key parts | OOLINE and ODHEAD | Delivery reporting | Delivered and invoiced lines per delivery |
MHDISH | OQDLIX | Delivery number | PK part | MHDISL.URDLIX | Delivery creation | Outbound and inbound deliveries |
MHDISH | OQINOU | Direction (1 outbound) | - | - | M3 | Filter on outbound for CO |
MHDISH | OQRORC / OQRIDN | Reference order category / order number | - | OOHEAD.OAORNO when category is customer order | Delivery creation | |
MHDISL | URDLIX / URRIDN / URRIDL / URRIDX | Delivery, order number, line, suffix | Key parts | OOLINE.OBORNO / OBPONR / OBPOSX | Delivery creation | The bridge from a delivery to order lines |
MHDISL | URITNO / URTRQT | Item / transaction quantity | - | MITMAS | Delivery creation |
Column names follow the M3 convention of a two-letter table prefix plus a four-letter field name (OA for OOHEAD, OB for OOLINE). Confirm lengths and any column you rely on in M3 Metadata Publisher (MDP) for your 13.x release before you build reports or interfaces.
Get your M3 order report query checked
Send us your backlog or delivery query and we will check joins, suffix handling and status filters against your release.
Optional. The tool and every export work without this. No spam.
How to use it
Search by column (OBORQT), by table or by what you need (delivered quantity). The Join to column gives the matching column in the other table, and Set by tells you which panel or OIS100MI field fills it, which helps when an integration loads a value but the report shows another. Every M3 column is the table prefix plus the field name you see in MI programs: OBITNO in the table is ITNO in OIS100MI AddBatchLine.
Where this lives in M3
OOHEAD holds one row per customer order and OOLINE one row per line and suffix, both keyed by company and order number. Delivery data sits in two places: MHDISH and MHDISL are the delivery head and lines for all order categories (maintained through MWS410), while ODHEAD and ODLINE hold the customer order view of each delivery, used for invoicing. Master data joins: OCUSMA for customers, MITMAS and MITBAL for items, OOTYPE for order types and CSYTAB for codes such as payment terms and delivery methods.
- Always join on company (CONO) first
- Include line suffix (POSX) in line joins
- Dates are numeric YYYYMMDD
- Quantities in basic U/M unless the column says alternate
Worked example: open order backlog
For a backlog report, select from OOLINE where OBCONO is your company and OBORST is below 66 (not yet delivered), join OOHEAD on OBCONO = OACONO and OBORNO = OAORNO to get the customer (OACUNO) and order type, and join OCUSMA on company and customer for the name. Sum OBRNQT for open quantity and use OBDWDT for the requested date. To add shipment detail, join MHDISL on URRIDN, URRIDL and URRIDX to the order line and then MHDISH on URDLIX = OQDLIX, filtering OQINOU = 1.
Version differences and gotchas
Infor adds columns between 13.x releases and cloud editions, so check MDP for yours. Forgetting OBPOSX in a join doubles lines after a split. OAORSL and OAORST are the lowest and highest line status, not a single order status. Reading tables directly is fine for reporting on a replica, but write through OIS100MI, never by SQL. Status codes are covered in the separate status reference; the field glossary covers four-letter field names in general.
Frequently Asked Questions
What are the main M3 customer order tables?
OOHEAD is the customer order header and OOLINE holds the order lines. Delivery data is in MHDISH and MHDISL for all order types, and ODHEAD and ODLINE for the customer order delivery and invoicing view. Customers are in OCUSMA and items in MITMAS.
How do I join OOHEAD and OOLINE?
Join on company and order number: OOHEAD.OACONO = OOLINE.OBCONO and OOHEAD.OAORNO = OOLINE.OBORNO. A line is identified by OBPONR and OBPOSX together, so include both when you join to delivery or allocation tables.
Why do M3 column names start with two letters like OA or OB?
Each M3 table has a two-letter prefix added to every field name: OA for OOHEAD, OB for OOLINE, MM for MITMAS, OK for OCUSMA. The four letters after the prefix are the field name used in MI APIs, such as CUNO or ITNO.
Where can I see the full M3 table structure?
Use M3 Metadata Publisher (MDP) for table and column definitions, indexes and descriptions for your release. Field help (F1) in programs such as OIS100 also shows which field you are looking at. This page highlights the columns used most for customer orders.
If you want sales and planning to ask M3 about orders in plain English on your own servers, we can build that on these tables with read-only access.
Related Tools
Infor M3 Core Database Tables Reference
Look up the main M3 tables, their two-letter column prefix and the key fields you join on. Searchable and exportable.
Infor M3 & CloudSuiteInfor M3 Field Name Glossary
Searchable list of common M3 field codes and what they mean, useful for MI APIs, reports and mapping documents.
Infor M3 & CloudSuiteInfor M3 Order Status Codes Reference (CO, PO, MO, DO)
Two-digit M3 status codes for customer order header, lines and deliveries that are confirmed in Infor documentation, with the program that sets each and the fields that hold PO and MO status.
Infor M3 & CloudSuiteInfor M3 Inventory and Allocation Tables Reference (MITBAL, MITLOC, MITALO, MITTRA)
Column-level reference for M3 stock, balance identity, allocation, material plan and transaction tables, with keys, joins and the programs that maintain them.
Infor M3 & CloudSuiteInfor M3 SQL Query Generator
Fill in company, warehouse and filters to get ready-to-adapt SQL against MITMAS, MITBAL, OOHEAD, OOLINE and MPLINE.
More Infor M3 & CloudSuite tools
See all- Infor M3 Program Reference (MMS001, OIS100, PMS100)
- Infor M3 MI API Transaction Call Generator
- Infor M3 Customer Order Status Tracking Worksheet
- Infor M3 Item Master Upload Worksheet
- Infor M3 MEC Mapping Design Template
- Infor M3 H5 Script Review Checklist
- Infor M3 Upgrade Test Checklist
- Infor M3 Facility and Warehouse Structure Worksheet
- Infor M3 Fit-Gap Analysis Worksheet
Keep exploring
Free tools
- Infor M3 SQL Query GeneratorFill in company, warehouse and filters to get ready-to-adapt SQL against MITMAS, MITBAL, OOHEAD, OOLINE and MPLINE.
- Infor M3 Core Database Tables ReferenceLook up the main M3 tables, their two-letter column prefix and the key fields you join on. Searchable and exportable.
- Infor M3 Customer Order Status Tracking WorksheetDocument what each customer order status means in your M3 setup, stage by stage, and share it with the order desk.
ERP fixes and how-tos
- Infor M3 order to cash: the flow and the programsInfor M3 order to cash end to end: customer order entry, allocation, picking, delivery, invoicing and AR, with typical line statuses and where it stalls.
- Private AI Layer for Infor M3 On-Prem: Reference ArchitectureReference architecture to add a private AI assistant to Infor M3 on-prem: data access paths, retrieval, permissions, sizing and rollout, no cloud needed.
Guides
- Infor M3 Distribution Management and Order Fulfillment SetupConfigure Infor M3 distribution management with order processing, warehouse allocation, shipping integration, and customer delivery scheduling best practices.
- Infor M3 Customer Order Management: OIS100 Configuration, Pricing, and ATPMaster Infor M3 customer order management. Configure OIS100 order entry, pricing, ATP checks, credit management, and delivery scheduling in M3 13.4+.
- Infor M3 Technical Architecture Explained Layer by LayerInfor M3 technical architecture explained: M3 Business Engine, Infor Grid, database tables, H5 client, and integration layers for on-prem and CloudSuite teams.
Integrations
- How to add an AI chatbot to Infor M3How to add an AI chatbot to Infor M3 for staff and customers: grounded in M3 data via the API, embedded in a portal or Teams, and able to run fully on-prem.
- How to add WhatsApp to Infor M3How to connect WhatsApp Business to Infor M3: M3 API (MI programs), ION events, template messages, opt-in rules and two-way replies, including on-prem M3 setups.