Infor Lawson S3 HR and Payroll Table Reference
This reference lists the Lawson S3 HR, Personnel Administration, Payroll, Benefits and Time Accrual tables that HRIS analysts and developers query most, checked against the Lawson Applications 9.0 data dictionary. Each row gives the field prefix, the primary index keys, the columns used most in reports and the usual join.
| Table | System | Description | Field prefix | Primary index keys | Key reporting columns | Common join |
|---|---|---|---|---|---|---|
EMPLOYEE | HR | Employee | EMP- | EMPSET1: COMPANY, EMPLOYEE | LAST-NAME, FIRST-NAME, EMP-STATUS, PROCESS-LEVEL, DEPARTMENT, JOB-CODE, DATE-HIRED, TERM-DATE, PAY-RATE | PAEMPLOYEE on COMPANY, EMPLOYEE |
PAEMPLOYEE | PA | Employee Personnel Information | PEM- | PEMSET1: COMPANY, EMPLOYEE | BIRTHDATE, SEX, EEO-CLASS, SENIOR-DATE, LOCAT-CODE, WK-PHONE-NBR | EMPLOYEE on COMPANY, EMPLOYEE |
PAEMPPOS | PA | Employee Multiple Positions, Jobs | PEP- | PEPSET1: COMPANY, EMPLOYEE, POS-LEVEL, EFFECT-DATE | POSITION, JOB-CODE, PROCESS-LEVEL, DEPARTMENT, FTE, END-DATE, PAY-RATE | PAPOSITION on COMPANY, POSITION |
PAPOSITION | PA | Positions | POS- | POSSET1: COMPANY, POSITION, EFFECT-DATE | DESCRIPTION, POSIT-STATUS, JOB-CODE, PROCESS-LEVEL, DEPARTMENT, END-DATE | JOBCODE on COMPANY, JOB-CODE |
JOBCODE | HR | Job Code Parameters | JBC- | JBCSET1: COMPANY, JOB-CODE | DESCRIPTION, JOB-CLASS, EEO-CAT, PAY-GRADE, EXEMPT, ACTIVE-FLAG | EMPLOYEE on COMPANY, JOB-CODE |
DEPTCODE | HR | Department | DPT- | DPTSET1: COMPANY, PROCESS-LEVEL, DEPARTMENT | NAME, ACTIVE-FLAG, DEP-ACCT-UNIT, DEP-ACCOUNT | EMPLOYEE on COMPANY, PROCESS-LEVEL, DEPARTMENT |
PRSYSTEM | HR | HR Company and Process Levels | PRS- | PRSSET1: COMPANY, PROCESS-LEVEL | NAME, PAYROLL-YEAR, BANK-CODE, ACTIVE-FLAG | EMPLOYEE on COMPANY, PROCESS-LEVEL |
HRSUPER | HR | Supervisors | HSU- | HSUSET1: COMPANY, CODE | DESCRIPTION, EMPLOYEE, SUPER-RPTS-TO, ACTIVE-FLAG | EMPLOYEE on COMPANY and EMPLOYEE.SUPERVISOR = HRSUPER.CODE |
PCODES | HR | Human Resource Code | PCO- | PCOSET1: TYPE, CODE | DESCRIPTION, ACTIVE-FLAG | Code fields on EMPLOYEE or PAEMPLOYEE, filtered by TYPE |
PERSACTION | PA | Personnel Action (pending) | PCT- | PCTSET1: COMPANY, ACTION-TYPE, EFFECT-DATE, ACTION-CODE, EMPLOYEE, ACTION-NBR | REASON, NEW-VALUE, POSITION, JOB-CODE, USER-ID, APPROVAL-FLAG | EMPLOYEE on COMPANY, EMPLOYEE |
PERSACTHST | PA | Personnel Action History | PAH- | PAHSET1: COMPANY, EMPLOYEE, EFFECT-DATE, ACTION-CODE, ACTION-NBR | ACTION-TYPE, REASON, USER-ID, DATE-STAMP, OBJ-ID | HRHISTORY on COMPANY, EMPLOYEE and ACT-OBJ-ID = OBJ-ID |
HRHISTORY | HR | HR History (field-level change history) | HRH- | HRHSET1: COMPANY, EMPLOYEE, OBJ-ID, FLD-NBR, BEG-DATE, SEQ-NBR | FLD-NBR, BEG-DATE, A-VALUE, N-VALUE, D-VALUE, ACT-OBJ-ID, USER-ID | PERSACTHST on ACT-OBJ-ID |
HREMPUSF | HR | Employee/Applicant User Fields | HEU- | HEUSET1: COMPANY, EMP-APP, EMPLOYEE, FIELD-KEY | FIELD-KEY, A-FIELD, N-FIELD, D-FIELD | EMPLOYEE on COMPANY, EMPLOYEE |
PAYMASTR | PR | Employee Payment Master | PYM- | PYMSET1: COMPANY, EMPLOYEE, CHECK-ID | CHECK-DATE, PER-END-DATE, GROSS-PAY, NET-PAY-AMT, CHECK-TYPE, CHECK-NBR, STATUS | PRTIME and PAYDEDUCTN on COMPANY, EMPLOYEE, CHECK-ID |
PRCHECK | PR | Employee Payment | PCH- | PCHSET1: BNK-ACCT-NBR, PRINT-TYPE, CHECK-NBR, CHECK-ID | CHECK-DATE, CHECK-AMOUNT, STATUS, RECON-DATE, VOID-IND | PAYMASTR on COMPANY, CHECK-ID |
PRTIME | PR | Employee Pay/Hours History | PRT- | PRTSET1: COMPANY, EMPLOYEE, CHECK-ID, PAY-SUM-GRP, TIME-SEQ | HOURS, RATE, WAGE-AMOUNT, TR-DATE, PAYROLL-YEAR, QUARTER, JOB-CODE, DEPARTMENT | PAYMASTR on COMPANY, EMPLOYEE, CHECK-ID |
PRDISTRIB | PR | Employee Payment Distribution | PRD- | PRDSET1: COMPANY, EMPLOYEE, CHECK-ID, OBJ-ID | DIST-COMPANY, DST-ACCT-UNIT, DST-ACCOUNT, DST-SUB-ACCT, DIST-AMT, HOURS, GL-DATE | PAYMASTR on COMPANY, EMPLOYEE, CHECK-ID |
PAYDEDUCTN | PR | Employee Payment Deductions | PYD- | PYDSET1: COMPANY, EMPLOYEE, CHECK-ID, DED-CODE, EDM-SEQ-NBR, REPORT-ENTITY, BUS-NBR-GRP, QC-ENT-NBR-GRP, PROCESS-LEVEL, WORK-STATE | DED-AMT, TAX-WAGES, WAGE-AMOUNT, CHECK-DATE, PAYROLL-YEAR, QUARTER | DEDCODE on COMPANY, DED-CODE |
TIMERECORD | PR | Employee Time Records (not yet paid) | TRD- | TRDSET1: COMPANY, EMPLOYEE, TIME-SEQ | PAY-CODE, HOURS, RATE, WAGE-AMOUNT, TR-DATE, STATUS, BATCH-NBR | PRPAYCODE on COMPANY, PAY-CODE |
PRPAYCODE | PR | Pay Code | PCD- | PCDSET1: COMPANY, PROCESS-LEVEL, JOB-CODE, PAY-CODE | DESCRIPTION, CALC-TYPE, PAY-SUM-GRP, NORM-RATE | TIMERECORD on COMPANY, PAY-CODE |
DEDCODE | PR | Deduction | DDC- | DDCSET1: COMPANY, DED-CODE | DESCRIPTION, CALC-TYPE, DED-CLASS, TAX-CATEGORY, EFFECT-DATE, END-DATE | EMDEDMASTR on COMPANY, DED-CODE |
EMDEDMASTR | PR | Employee Deduction | EDM- | EDMSET1: COMPANY, EMPLOYEE, DED-CODE, SEQ-NBR | EFFECT-DATE, END-DATE, NEXT-AMOUNT, BALANCE-AMT, DED-CYCLE | DEDCODE on COMPANY, DED-CODE |
BENEFIT | BN | Employee Benefit | BEN- | BENSET1: COMPANY, PLAN-TYPE, EMPLOYEE, START-DATE, PLAN-CODE | STOP-DATE, COV-OPTION, COVER-AMT, EMP-PRE-CONT, EMP-AFT-CONT, COMP-CONT | EMPLOYEE on COMPANY, EMPLOYEE |
TAEMPTRANS | TA | Time accrual plan transactions per employee | TTR- | TTRSET1: COMPANY, EMPLOYEE, PLAN, EMPLOYEE-GROUP, POSITION, DATE, SEQ-NBR | TRAN-TYPE, TA-HOURS, BALANCE-TYPE, STATUS | EMPLOYEE on COMPANY, EMPLOYEE |
Tables, prefixes and index keys checked against the LawsonGuru data dictionary for Lawson Applications 9.0. Screen tokens in the page text were checked against the same dictionary's program list. In the database, columns usually drop the prefix and use underscores (EMP-LAST-NAME becomes LAST_NAME). Confirm on your own product line, because Apps 10 and local changes can add fields.
Get an HR and payroll query pack for your Lawson system
Tell us your Lawson version and database, and we will send headcount, pay history and personnel action audit queries using your column names.
Optional. The tool and every export work without this. No spam.
Where employee data lives
Core employee data is split across two tables keyed by COMPANY and EMPLOYEE. EMPLOYEE holds name, address, status, process level, department, job code, pay rate and hire and termination dates. PAEMPLOYEE holds personnel details such as birth date, EEO class, seniority date and phone numbers. Most HR reports start with EMPLOYEE joined to PAEMPLOYEE on both keys. Position data sits in PAEMPPOS, effective-dated by POS-LEVEL and EFFECT-DATE, so filter for the current row with END-DATE or the latest effective date. Codes used on employee records, such as location or EEO values, are described in PCODES by TYPE and CODE.
Personnel actions and history
Personnel actions entered on PA52.1 Individual Action are held in PERSACTION while they are pending, keyed by company, action type, effective date, action code, employee and action number. When an action is processed, it is recorded in PERSACTHST, and the field-level before and after values go to HRHISTORY, linked through ACT-OBJ-ID. To audit a pay change, start from PERSACTHST for the employee and action code, then read HRHISTORY rows with the matching ACT-OBJ-ID. HR11.1 Employee is the main employee maintenance screen. It updates EMPLOYEE and PAEMPLOYEE directly, which is why some changes appear in HRHISTORY without a personnel action.
- HR11.1 Employee: EMPLOYEE, PAEMPLOYEE
- PA52.1 Individual Action: PERSACTION, then PERSACTHST
- PA02.1 Position: PAPOSITION
- HR04.2 Human Resource Codes: PCODES
- PR14.1 Employee Deduction: EMDEDMASTR
Payroll history vs time records
TIMERECORD holds time that has been entered but not yet paid. PR36.1 Time Record Entry and interfaces write to it, and the payroll cycle reads it. After PR140 Earnings and Deductions Calculation and PR197 Payroll Close, paid history lives in PAYMASTR (one row per payment, keyed by COMPANY, EMPLOYEE and CHECK-ID), PRTIME (pay and hours lines), PAYDEDUCTN (deduction amounts) and PRDISTRIB (GL distribution). PRCHECK holds the payment record, which PR160 Payment Print updates. For year-to-date earnings, sum PRTIME by PAYROLL-YEAR. For net pay and payment dates, use PAYMASTR.
Employee Self Service and common mistakes
Employee Self Service pages read and update the same tables through Lawson forms and data calls, so the data an employee sees comes from EMPLOYEE, PAEMPLOYEE, EMDEDMASTR, BENEFIT and payroll history. A self-service change usually goes through the same validation as the matching form. The most common reporting mistakes are ignoring effective dating on PAEMPPOS and PAPOSITION, reading TIMERECORD as paid history, and joining PRTIME to PAYMASTR without CHECK-ID, which duplicates amounts. Payroll tables hold sensitive data, so use a read-only account and limit columns to what the report needs.
Frequently Asked Questions
What is the difference between EMPLOYEE and PAEMPLOYEE in Lawson?
Both are keyed by COMPANY and EMPLOYEE. EMPLOYEE holds core HR and payroll attributes such as name, status, process level, department, job code and pay rate. PAEMPLOYEE holds personnel details such as birth date, EEO class, seniority date and phone numbers. Most reports join the two.
Where does Lawson store paycheck history?
Each payment is a row in PAYMASTR keyed by COMPANY, EMPLOYEE and CHECK-ID, with check date, gross and net pay. Pay and hours lines are in PRTIME, deductions in PAYDEDUCTN, and GL distributions in PRDISTRIB, all joined on the same three keys. PRCHECK holds the payment record.
What data does Infor Lawson Employee Self Service use?
Employee Self Service works on the same S3 tables as the HR and payroll forms: EMPLOYEE and PAEMPLOYEE for personal data, EMDEDMASTR for deductions, BENEFIT for benefits and PAYMASTR and PRTIME for pay history. Changes made in self service pass through the normal application validation.
How do I find who changed an employee's pay rate?
Read PERSACTHST for the employee and the action code your site uses for pay changes, then read HRHISTORY rows where ACT-OBJ-ID matches the action's OBJ-ID. HRHISTORY holds the field number, effective date, new value and USER-ID. Direct changes on HR11.1 can also appear in HRHISTORY.
If HR or payroll wants answers from Lawson in plain English without exporting sensitive data, we can set up a private assistant on your servers that respects Lawson security.
Related Tools
Infor Lawson S3 GL and AP Table Reference (GLTRANS, GLAMOUNTS, APINVOICE)
The Lawson S3 General Ledger, Accounts Payable and Cash Ledger tables report writers use, with field prefixes, primary index keys and common joins.
Developer ToolsInfor Lawson S3 DME Data Query URL Generator
Fill in product line, file, fields, index, key and select condition to get a working Lawson DME data query URL, with curl and PowerShell versions.
Developer ToolsInfor Lawson S3 AGS Transaction Call Generator
Fill in the product line, form token, event, function code and form fields to get a Lawson Transaction (AGS) call URL you can test in a non-production product line.
More Other ERPs tools
See all- 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
- Sage X3 Import Template Worksheet
Keep exploring
Free tools
- Infor Lawson S3 GL and AP Table Reference (GLTRANS, GLAMOUNTS, APINVOICE)The Lawson S3 General Ledger, Accounts Payable and Cash Ledger tables report writers use, with field prefixes, primary index keys and common joins.
- Infor Lawson S3 DME Data Query URL GeneratorFill in product line, file, fields, index, key and select condition to get a working Lawson DME data query URL, with curl and PowerShell versions.
- Infor Lawson S3 AGS Transaction Call GeneratorFill in the product line, form token, event, function code and form fields to get a Lawson Transaction (AGS) call URL you can test in a non-production product line.
Runs with your ERP
- ADP SmartCompliance and Infor: HR, payroll and compliance syncHow ADP SmartCompliance syncs HR, payroll and post-payroll compliance data with Infor, what flows, what breaks, and where a private AI layer helps on-prem.
- ADP Payroll with Infor SyteLine: External Payroll InterfaceHow SyteLine's External Payroll Interface form imports ADP payroll records and error results: data flow, setup steps, pitfalls and a private AI layer.
- Paymate Clarity / Harmony Payroll and SAP Business OneHow Paymate Clarity and Harmony payroll connects to SAP Business One (and S/4HANA) for US and Canadian payroll, GL and job-cost postings, with setup, pitfalls.