QAD Core Tables Reference (pt_mstr, so_mstr, ld_det and more)
Anyone writing a QAD report, extract or migration mapping needs to know which table holds what. This reference lists the main EE tables with their purpose and typical keys, and is searchable by name, area or meaning.
| Table | Area | What it holds | Typical key |
|---|---|---|---|
pt_mstr | Item | Item master: description, unit of measure, product line, status | pt_domain, pt_part |
ptp_det | Item | Item-site planning data: lead times, order policy, safety stock | ptp_domain, ptp_site, ptp_part |
in_mstr | Inventory | Inventory master per item and site: on hand, allocated, on order | in_domain, in_part, in_site |
ld_det | Inventory | Location detail: quantity on hand by site, location, lot and reference | ld_domain, ld_site, ld_loc, ld_part, ld_lot, ld_ref |
tr_hist | Inventory | Inventory transaction history | tr_domain, tr_trnbr |
lad_det | Inventory | Location allocation detail for open demand | lad_domain, lad_dataset, lad_nbr, lad_line |
ps_mstr | Engineering | Product structure: parent and component bill of material links | ps_domain, ps_par, ps_comp, ps_ref, ps_start |
ro_det | Engineering | Routing operation detail | ro_domain, ro_routing, ro_op |
so_mstr | Sales | Sales order header | so_domain, so_nbr |
sod_det | Sales | Sales order line detail | sod_domain, sod_nbr, sod_line |
cm_mstr | Sales | Customer master | cm_domain, cm_addr |
ih_hist | Sales | Invoice history header | ih_domain, ih_inv_nbr |
idh_hist | Sales | Invoice history line detail | idh_domain, idh_inv_nbr, idh_line |
abs_mstr | Shipping | Shipper and container master used in shipments | abs_domain, abs_shipfrom, abs_id |
po_mstr | Purchasing | Purchase order header | po_domain, po_nbr |
pod_det | Purchasing | Purchase order line detail | pod_domain, pod_nbr, pod_line |
prh_hist | Purchasing | Purchase receipt history | prh_domain, prh_receiver, prh_line |
vd_mstr | Purchasing | Supplier master | vd_domain, vd_addr |
wo_mstr | Production | Work order header | wo_domain, wo_nbr, wo_lot |
wod_det | Production | Work order component detail | wod_domain, wod_nbr, wod_lot, wod_part, wod_op |
sct_det | Costing | Cost simulation detail by item and site | sct_domain, sct_sim, sct_part, sct_site |
ad_mstr | Common | Address master shared by customers, suppliers, sites | ad_domain, ad_addr |
code_mstr | Common | Generalized codes (validation lists and reason codes) | code_domain, code_fldname, code_value |
glt_det | Finance | General ledger transaction detail | glt_domain, glt_ref, glt_line |
Key lists are typical, not exhaustive. Confirm with the Progress data dictionary of your own database because versions and customisations differ. Domain fields apply to domain-enabled releases.
Need QAD data mapped for an AI or migration project?
Optional: send your table list and we will comment on the mapping.
Optional. The tool and every export work without this. No spam.
How to use the table
Type part of a table name or a business word, such as invoice or location, into the search box to filter the list. Use the Area column to see every table in a business domain at once, which is handy when scoping a data migration. Export the full list to Excel and add columns for record counts, owner and migration decision. The naming pattern helps: _mstr usually means a master or header table, _det a detail or line table, and _hist a history table.
Understanding the naming and keys
QAD field names start with a table prefix, so pt_part belongs to pt_mstr and sod_line to sod_det. Domain-enabled releases add a domain field as the first part of most keys, which is why queries should always filter on it. Header and detail tables are joined on the order or document number, then line. A few tables such as in_mstr and ptp_det are per site, so one item can have many rows in them but a single row in the item master.
Worked example: tracing an open order
To find what is holding a sales order line, start in sod_det for the line and quantities, join to so_mstr for the customer, read lad_det for the allocation against stock, then ld_det for the quantity on hand in the allocated location. If the stock sits in a location with a non-available inventory status, allocation will not satisfy the line. This chain of four tables answers most why is it not shipping questions.
Common mistakes
Do not assume pt_mstr holds quantities, as stock lives in ld_det and in_mstr. Do not join across domains by accident. Do not treat history tables as editable: corrections are made by new transactions. Finally, never write to tables directly from outside QAD, because the application maintains related records and audit trails that direct updates will bypass.
Frequently Asked Questions
Are these table names the same in every QAD version?
The core names have been stable for many releases, but fields and keys change, especially around domains. Always check the data dictionary of the database you are working with, and treat this list as a starting map.
Where do I find quantity on hand?
Quantity by location, lot and reference is in ld_det. Quantity totals per item and site are in in_mstr. Summing ld_det for an item and site should agree with the in_mstr figure unless there is a data problem.
What does the _hist suffix mean?
History tables hold posted records, such as invoices or receipts, and are generally not changed after posting. They are usually the right source for reporting on what actually happened.
Can I use this for Adaptive ERP?
Much of the structure carries over, but the cloud product may expose data through APIs and exports rather than direct database access. Use this list to understand concepts and map fields, then check the supported interfaces.
If you are mapping QAD tables for a migration or an AI layer, we can help review the mapping and the queries that depend on it.
Related Tools
QAD Progress 4GL Query Generator
Fill in domain, site and a part prefix to get ready-to-run, read-only Progress 4GL queries against common QAD EE tables.
ERP Migration & SelectionQAD Customization Inventory Worksheet
An editable list of customizations, reports and interfaces with a decision and effort estimate for each, to plan an upgrade or move.
Developer ToolsQAD Progress Connection Parameter File Generator
Generate .pf parameter files for connecting a Progress client to a remote QAD database over TCP.
MES & Shop FloorPlex Cloud MES Readiness Assessment
Ten questions to gauge whether your plant is ready to run on a cloud manufacturing platform such as Plex.
More Other ERPs tools
See all- QAD Menu Program Reference Worksheet
- Infor VISUAL Work Order Status and Structure Reference
- Infor VISUAL Manufacturing Scheduling Checklist
- Infor XA (MAPICS) Period End Close Checklist
- Infor VISUAL Database Table Reference
- Infor XA (MAPICS) Application Module Reference
- IBM i Commands for Infor XA Administrators Reference
- Acumatica Generic Inquiry Design Template
- Acumatica Manufacturing Edition Setup Checklist