Other ERPsFree referencePDF, Excel, Word exportSage 300

Sage 300 Database Table Reference

Sage 300 uses short table names built from a two letter module prefix. This lookup collects the tables report writers and integrators ask about most.

Download:
TableModuleWhat it stores
ARCUS
Accounts Receivable
Customer master records
ARIBH
Accounts Receivable
Invoice batch headers
ARIBD
Accounts Receivable
Invoice detail lines
APVEN
Accounts Payable
Vendor master records
APIBH
Accounts Payable
Invoice batch headers
GLAMF
General Ledger
Account master file
ICITEM
Inventory Control
Item master records
ICILOC
Inventory Control
Item quantities and costs by location
OEORDH
Order Entry
Order headers
OEORDD
Order Entry
Order detail lines
POPORH1
Purchase Orders
Purchase order headers
POPORL
Purchase Orders
Purchase order lines
CSCCD
Common Services
Currency codes
BKACCT
Bank Services
Bank account definitions
TXAUTH
Tax Services
Tax authorities

Table prefixes follow the module (AR, AP, GL, IC, OE, PO, CS, BK, TX). Exact table names, especially for headers and optional fields, can differ between versions, so check the data dictionary of your own database. Query a reporting copy, not the live database, and never write directly to Sage 300 tables.

Reporting layer review

Optional: an expert opinion on moving away from ad hoc SQL.

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

How to use the lookup

Search by table name, module or keyword such as invoice. Use the module column to learn which prefix belongs to which application. Export the filtered list to Excel as a starting point for a data map. For anything beyond the master tables, open the data dictionary in the Sage 300 database setup tools or your reporting tool, because header, detail and optional field tables vary.

Reading the naming pattern

The first two letters identify the module, such as AR for Accounts Receivable and OE for Order Entry. Header tables often end in H and detail tables in D or L. Optional fields live in separate tables with an extra suffix. Because the schema is compact, joining a header to its detail is usually a straightforward key match on the document unique number.

  • Prefix identifies the module
  • Optional fields are held in separate tables
  • Unique keys link headers to details

Common mistakes

People write to tables directly, which bypasses business logic and can corrupt the company database. Others report on a table that only holds open documents and miss history, or forget that amounts may be stored in both source and functional currency. Use the Sage 300 views, the SDK or import tools for any writes.

Frequently Asked Questions

Can I query Sage 300 tables directly?

Reading is common practice for reports, ideally from a copy or with read-only access. Writing directly is unsupported because it skips validation and can damage data.

What does the table prefix mean?

It is a two letter module code, for example AR for Accounts Receivable, AP for Accounts Payable, GL for General Ledger and IC for Inventory Control.

Where is the full table list?

Use the database dictionary available through Sage 300 tools and the developer documentation for your release. This page lists only the commonly used tables.

Are table names the same in every version?

The core master tables have been stable for many releases, but headers, optional fields and new features can change names, so confirm against your own database.

If your reports depend on hand-written SQL against Sage 300, we can help build a cleaner, governed reporting layer.