# Sage 300 Database Table Reference

> Source: https://netray.co/tools/sage-300-database-table-reference
> Publisher: Netray (netray.co), AI and integration engineering for ERP and manufacturing systems.
> Section: Free Tools

## Short answer

A quick lookup of well-known Sage 300 SQL table names, the module they belong to and what each stores, for reports and integrations.

## Category

other-erp

## Erp

Sage 300

## Audience

- Sage 300 developer
- Report writer
- Database administrator

## Tool

**Kind:** worksheet

**Mode:** reference

**Columns:**

#### Table

**Key:** table

**Type:** text

#### Module

**Key:** module

**Type:** text

#### What it stores

**Key:** purpose

**Type:** text

**Rows:**

**Table:** ARCUS

**Module:** Accounts Receivable

**Purpose:** Customer master records

**Table:** ARIBH

**Module:** Accounts Receivable

**Purpose:** Invoice batch headers

**Table:** ARIBD

**Module:** Accounts Receivable

**Purpose:** Invoice detail lines

**Table:** APVEN

**Module:** Accounts Payable

**Purpose:** Vendor master records

**Table:** APIBH

**Module:** Accounts Payable

**Purpose:** Invoice batch headers

**Table:** GLAMF

**Module:** General Ledger

**Purpose:** Account master file

**Table:** ICITEM

**Module:** Inventory Control

**Purpose:** Item master records

**Table:** ICILOC

**Module:** Inventory Control

**Purpose:** Item quantities and costs by location

**Table:** OEORDH

**Module:** Order Entry

**Purpose:** Order headers

**Table:** OEORDD

**Module:** Order Entry

**Purpose:** Order detail lines

**Table:** POPORH1

**Module:** Purchase Orders

**Purpose:** Purchase order headers

**Table:** POPORL

**Module:** Purchase Orders

**Purpose:** Purchase order lines

**Table:** CSCCD

**Module:** Common Services

**Purpose:** Currency codes

**Table:** BKACCT

**Module:** Bank Services

**Purpose:** Bank account definitions

**Table:** TXAUTH

**Module:** Tax Services

**Purpose:** Tax authorities

**Notes:** 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.

## Content

**Intro:** 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.

**Sections:**

#### How to use the lookup

**Body:** 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

**Body:** 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.

**Bullets:**

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

#### Common mistakes

**Body:** 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.

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

**Faq:**

#### Can I query Sage 300 tables directly?

**Answer:** 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?

**Answer:** 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?

**Answer:** 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?

**Answer:** 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.

## Search terms

sage 300 database tables, sage 300 arcus table, sage 300 sql table list, sage 300 oeordh, sage 300 icitem, sage 300 crystal reports tables, sage 300 erp table names

---
Talk to an engineer: https://netray.co/contact?intent=erp_ai | Machine catalog: https://netray.co/agent/catalog.json
