Sage 100 Table and Module Prefix Reference
Sage 100 tables are named with a module prefix, an underscore and a descriptive name, which makes them easy to read through ODBC. This lookup lists the prefixes and the tables people search for most.
| Table or prefix | Module | What it stores |
|---|---|---|
AR_ | Accounts Receivable | Prefix for receivables tables |
AP_ | Accounts Payable | Prefix for payables tables |
GL_ | General Ledger | Prefix for general ledger tables |
CI_ | Common Information | Prefix for shared item, code and master tables |
IM_ | Inventory Management | Prefix for warehouse level inventory tables |
SO_ | Sales Order | Prefix for sales order tables |
PO_ | Purchase Order | Prefix for purchase order tables |
BM_ | Bill of Materials | Prefix for bill of materials tables |
SY_ | System | Prefix for system level tables such as company and user |
CI_Item | Common Information | Item master |
AR_Customer | Accounts Receivable | Customer master |
AP_Vendor | Accounts Payable | Vendor master |
GL_Account | General Ledger | Chart of accounts |
IM_ItemWarehouse | Inventory Management | Item quantities and costs by warehouse |
SO_SalesOrderHeader | Sales Order | Sales order headers |
SO_SalesOrderDetail | Sales Order | Sales order lines |
PO_PurchaseOrderHeader | Purchase Order | Purchase order headers |
PO_PurchaseOrderDetail | Purchase Order | Purchase order lines |
BM_BillHeader | Bill of Materials | Bill headers |
BM_BillDetail | Bill of Materials | Bill component lines |
Sage 100 data is normally read through the Sage 100 ODBC driver, which exposes these names. Table availability depends on your edition and installed modules, and names can vary slightly by version. Confirm in your own dictionary before building reports, and do not write through ODBC.
Sage 100 reporting and migration review
Optional: a short expert review of your Sage 100 reporting setup.
Optional. The tool and every export work without this. No spam.
How to use the lookup
Filter by module or by a word like order or bill to find the table you need, then use that name in Crystal Reports, Excel or an ODBC query. Exporting to Excel is useful when you build a mapping for a migration. The first rows show the module prefixes themselves, which helps when you meet an unfamiliar table in a report written years ago.
Reading the structure
Headers and details are separate tables, joined by the document number. Item data is split between the shared CI_Item master and warehouse level tables in Inventory Management. Because Sage 100 data can be exposed through ODBC, reporting tools connect easily, but the driver is a read channel for reports rather than a safe way to update data.
- Join header and detail on the document number
- CI_Item is the shared item master
- Use business objects for any updates
Common mistakes
Frequent errors are reporting on warehouse quantities without a warehouse filter, ignoring edition differences when a module is not installed, and relying on a table name that was renamed in a newer version. Test every query against a copy and keep the ODBC login read only.
Frequently Asked Questions
How do I connect to Sage 100 data?
Most reporting tools connect through the Sage 100 ODBC driver, set up as a data source on the server or workstation. Use a dedicated read-only user.
Where are item quantities stored?
Item definitions are in CI_Item, and quantities and costs by warehouse are in the Inventory Management warehouse table. Always filter by warehouse in reports.
Are these table names guaranteed?
They are widely used, but modules, editions and versions differ. Verify in your own installation before relying on a name in production reports.
Can I write to these tables?
Not safely. Use Sage 100 business objects, Visual Integrator or supported import tools so validation and related updates run.
Many Sage 100 users reach a point where reports and integrations need rethinking. We can help assess the options.
Related Tools
Sage 300 Database Table Reference
A quick lookup of well-known Sage 300 SQL table names, the module they belong to and what each stores, for reports and integrations.
Other ERPsSage Intacct Objects and Standard Dimensions Reference
A searchable lookup of common Sage Intacct API object names and the standard dimensions used to tag transactions.
ERP Migration & SelectionSage 300 vs Acumatica Manufacturing Fit Assessment
Score how well your current Sage system supports your manufacturing process and see whether it is time to evaluate alternatives.
More Other ERPs tools
See all- Sage 100 ProvideX Error Codes Reference (Error 12, 43, 65, 88, 200)
- Sage 100 User-Defined Script Generator (VBScript UDS)
- Sage 100 Business Object Interface (BOI) Sales Order Script Generator
- Sage 100 Year-End Close Checklist (Module Order SO, PO, IM, AR, AP, GL)
- Sage 100 Version Upgrade and Data Migration Checklist (2023 to 2025)
- 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
New to Sage X3 and Sage 100? Start with the Sage X3 and Sage 100 guide and toolkit.
Keep exploring
Free tools
- Sage 100 and Sage 300 Private AI Layer Blueprint GeneratorGenerate an architecture plan for a private AI assistant on on-prem Sage 100 or Sage 300: reporting copy or ODBC extract, Web API or BOI, retrieval, local GPU model and audit.
- Sage 100 to Cloud Migration AssessmentA 10-question readiness score for companies on Sage 100 deciding when and how to move to a cloud ERP, with recommendations by result band.
- Sage 100 Year-End Close Checklist (Module Order SO, PO, IM, AR, AP, GL)Step-by-step year-end list for Sage 100 2022 to 2025: what to back up, which reports to keep, how to handle 1099s and the order to close each module.
ERP fixes and how-tos
- How to Add AI to Sage 100 and Sage 300 On-PremPrivate AI architecture for on-prem Sage 100 and Sage 300: ODBC or SQL extracts, Sage 300 Web API, Sage 100 BOI, local GPU model, permissions and audit log.
- How to Add User Defined Fields (UDFs) in Sage 100How to add a user defined field in Sage 100 with Custom Office, place it on a panel, and expose it to reports, ODBC and imports, with the usual UDF pitfalls.
- Sage X3 Production Planning, Scheduling and TrackingHow Sage X3 production planning works: master data, MRP, work orders, scheduling and shop floor tracking, and what to set up first. Practical overview.
AI on your ERP
- AI for Sage 100, Grounded in Your MAS90/200 DataPut AI on Sage 100 and the Sage 100 Manufacturing (MRP) data set without sending data to a public model. Private LLMs and agents grounded in your MAS90/200 tables.
- AI for Sage 100 Small Manufacturers: Practical Answers From Work Orders, BOMs and InventoryPractical AI for small manufacturers on Sage 100: ask about work orders, BOMs, stock and shortages in plain English via ODBC or SQL, kept on a small server.
Integrations
- How to use ChatGPT with Sage 100How to use ChatGPT with Sage 100: exports versus live access, custom GPT actions, enterprise data controls, and when a private model is the safer choice.
- How to use Claude with Sage 100How to use Claude with Sage 100 through an MCP connector, the Anthropic API, Bedrock or Vertex, and what to do when the data must stay on-prem.