# Sage X3 Table Dictionary: How to Browse Tables and What PAYMENTD Holds

> Source: https://netray.co/erp-help/sage-x3-table-dictionary-and-paymentd
> Publisher: Netray (netray.co), AI and integration engineering for ERP and manufacturing systems.
> Section: ERP Help

## Short answer

Sage X3 keeps its table definitions in a data dictionary you browse from the development area of the application. Tables are named in short uppercase codes, live in the folder's schema (often a schema named like the folder, such as SEED), and columns carry a numeric suffix like _0. PAYMENTD holds the line-level detail of payment entries, paired with a header table.

## Kind

how-to

## System

sage

## Erp

Sage X3

## Module

Data dictionary / Tables

## Query

sage x3 table dictionary

## Alternate Queries

- sage x3 paymentd table
- sage x3 database tables list
- sage x3 data dictionary lookup

## Applies To

Sage X3 V7, V11, V12 and later on SQL Server or Oracle; table and column lists vary by version and customization, so verify in your own dictionary

## Steps

### How to look up an X3 table

**Items:**

- Open the data dictionary functions in the development menu of the web client with a user that has development rights.
- Search the tables list by code or description, for example payment, to find PAYMENT-related tables.
- Open the table to see its columns with labels, types, lengths and links to menus or lists of values.
- Check the indexes and the key columns before writing any query that joins it.
- Note the activity codes and the module that owns the table, because it may be empty if the module is not used.
- Connect to the database with a read-only account and query the table in the folder schema, using its column names with suffixes.
- Cross-check results against the screen that displays the same data, to confirm you read it correctly.

## Sections

### How X3 names things

**Body:**

X3 tables use short uppercase codes, for example ITMMASTER for items, SORDER for sales orders and BPCUSTOMER for customers. In the database each column is the field name plus a suffix, commonly _0 for the first dimension, and some arrays add _1, _2 and so on. Every table also has a unique row identifier column used by the platform.

Use the dictionary rather than memory for table names. Verticals and customizations add tables and columns, and renamed or restructured tables appear between versions.

### Payment tables and PAYMENTD

**Body:**

Payment entries in accounting are stored with a header record and line records. PAYMENTD is the detail table, holding the lines of a payment, such as the documents settled and the amounts, while the paired header table holds the payment's top-level data like the bank, date and number. Join them on the payment key columns shown in the dictionary.

Before reporting on payments, read how your folder uses them: settlement against invoices, on-account payments and bank reconciliation can sit in several related tables. Reconcile your query totals to a standard X3 report or screen first.

**Code:**

- -- Illustrative pattern: confirm table and column names in your dictionary
SELECT TOP 100 *
FROM SEED.PAYMENTD
ORDER BY CREDATTIM_0 DESC;

### Staying safe in the database

**Body:**

Query with a read-only database user, preferably on a reporting copy. Do not update X3 tables directly, because business logic, audit information and consistency across tables are maintained by the application. For writes, use the application, representations or web services.

## Pitfalls

- Updating tables with SQL, which bypasses X3 logic and breaks consistency.
- Forgetting the column suffixes (_0) in queries.
- Assuming a table name from another version or from a blog post.
- Joining without checking keys and activity codes, which duplicates rows.
- Running heavy queries on the production database in working hours.

## Ai Angle

Report writers lose hours translating a business question into joins across terse X3 tables. A private AI layer such as ERPray can read the dictionary, build the query for a question like open payments by supplier, show the SQL it ran, and respect X3 roles. It can run next to your database without sending schema data outside.

## Faq

### Where is the Sage X3 data dictionary?

**Answer:** In the development area of the application, under data and parameters functions for tables, with access limited to users with development rights. It lists tables, columns, types and indexes for your own folder.

### What does the _0 suffix mean on X3 columns?

**Answer:** It is the dimension index of the field in the database. Single-value fields end in _0, while array fields add further suffixes like _1 and _2. Always include the suffix when writing SQL.

### What is the PAYMENTD table?

**Answer:** It holds the detail lines of payment entries in X3, linked to a header table. Use the dictionary in your version to confirm columns, and reconcile your totals against standard payment screens or reports.

### Can I update X3 data with SQL?

**Answer:** It is not recommended. Direct updates skip application logic and can break consistency and audit trails. Use X3 functions, representations or web services for any write.

## Search terms

sage x3 table dictionary, sage x3 paymentd table, sage x3 database tables, sage x3 data dictionary, sage x3 sql query, sage x3 column suffix _0, sage x3 payment tables, sage x3 report writing

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