<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://in.compucrete.com/index.php?action=history&amp;feed=atom&amp;title=Payroll%3A_Form_Versions</id>
	<title>Payroll: Form Versions - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://in.compucrete.com/index.php?action=history&amp;feed=atom&amp;title=Payroll%3A_Form_Versions"/>
	<link rel="alternate" type="text/html" href="http://in.compucrete.com/index.php?title=Payroll:_Form_Versions&amp;action=history"/>
	<updated>2026-05-15T17:06:06Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>http://in.compucrete.com/index.php?title=Payroll:_Form_Versions&amp;diff=460&amp;oldid=prev</id>
		<title>WikiAdmin: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="http://in.compucrete.com/index.php?title=Payroll:_Form_Versions&amp;diff=460&amp;oldid=prev"/>
		<updated>2023-07-14T13:00:34Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 13:00, 14 July 2023&lt;/td&gt;
				&lt;/tr&gt;
&lt;!-- diff cache key my_wiki:diff::1.12:old-459:rev-460 --&gt;
&lt;/table&gt;</summary>
		<author><name>WikiAdmin</name></author>
	</entry>
	<entry>
		<id>http://in.compucrete.com/index.php?title=Payroll:_Form_Versions&amp;diff=459&amp;oldid=prev</id>
		<title>Intra&gt;Chanson at 12:59, 21 January 2021</title>
		<link rel="alternate" type="text/html" href="http://in.compucrete.com/index.php?title=Payroll:_Form_Versions&amp;diff=459&amp;oldid=prev"/>
		<updated>2021-01-21T12:59:16Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[CATEGORY: FORMS]]&lt;br /&gt;
==Syntax Versions==&lt;br /&gt;
&lt;br /&gt;
In Keystone Payroll, there are two syntax versions for forms (paychecks, direct deposit stubs, W-2 and W-3 forms.) The differences occur in how fields are referenced on the form.&lt;br /&gt;
&lt;br /&gt;
To indicate which syntax version to use, put the following line anywhere in the FORM section:&lt;br /&gt;
*VERSION 1 &lt;br /&gt;
*VERSION 2&lt;br /&gt;
&lt;br /&gt;
(Note that version 1 is implied if not specified.)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Version 2===&lt;br /&gt;
&lt;br /&gt;
Syntax: [Group] . [Def Type Suffix] . [Period Type Suffix] . [Group Seq]&lt;br /&gt;
&lt;br /&gt;
Examples: &lt;br /&gt;
*'''PAY.HRS.YTD.01'''&lt;br /&gt;
*'''PAY.LBL.01'''&lt;br /&gt;
*'''PAY.RATE.01'''&lt;br /&gt;
*'''DED.DED.CUR.01'''&lt;br /&gt;
*'''DED.FACT.AMOUNT.01'''&lt;br /&gt;
*'''PAY.HRS.CUR.*''' The total of all hours not printed (as a .01, .02 etc)&lt;br /&gt;
*'''PAY.PAY.CUR.*SUM''' The total of all PAY (as a .01, .02 etc)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
''Group''&lt;br /&gt;
&lt;br /&gt;
The Group represents the Check Group defined in Company Setup (PRTLINKS).  Most commonly these groups will be &amp;quot;PAY&amp;quot; for pay and &amp;quot;DED&amp;quot; for deductions etc.  Taxes may all be setup as Group &amp;quot;TAX&amp;quot; or may be separated by tax types such as &amp;quot;FIT&amp;quot; for Federal Income tax and &amp;quot;SIT&amp;quot; for state income tax.&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
''Def Type Suffixes''&lt;br /&gt;
&lt;br /&gt;
There are three suffixes with special meanings:&lt;br /&gt;
*FACT - the value of the category company/employee factor specified in Period Type Suffix &lt;br /&gt;
*LBL - the category label&lt;br /&gt;
*RATE - calculates the hourly rate for the pay category&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
{| border=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; &lt;br /&gt;
! Description&lt;br /&gt;
! Def Type&lt;br /&gt;
! Suffix&lt;br /&gt;
|- &lt;br /&gt;
| Hours&lt;br /&gt;
| H&lt;br /&gt;
| HRS&lt;br /&gt;
|-&lt;br /&gt;
| Pay&lt;br /&gt;
| P&lt;br /&gt;
| PAY&lt;br /&gt;
|-&lt;br /&gt;
| Tax Gross&lt;br /&gt;
| G&lt;br /&gt;
| GRS&lt;br /&gt;
|-&lt;br /&gt;
| Tax&lt;br /&gt;
| T&lt;br /&gt;
| TAX&lt;br /&gt;
|-&lt;br /&gt;
| Check&lt;br /&gt;
| C&lt;br /&gt;
| CHK&lt;br /&gt;
|-&lt;br /&gt;
| Direct Deposit&lt;br /&gt;
| A&lt;br /&gt;
| DD&lt;br /&gt;
|-&lt;br /&gt;
| Deduction&lt;br /&gt;
| D&lt;br /&gt;
| DED&lt;br /&gt;
|-&lt;br /&gt;
| Pre-tax Deduction&lt;br /&gt;
| X&lt;br /&gt;
| CALC&lt;br /&gt;
|-&lt;br /&gt;
| Working&lt;br /&gt;
| W&lt;br /&gt;
| WRK&lt;br /&gt;
|-&lt;br /&gt;
| Net Pay&lt;br /&gt;
| N&lt;br /&gt;
| NET&lt;br /&gt;
|-&lt;br /&gt;
| Gross Pay&lt;br /&gt;
| Z&lt;br /&gt;
| GPY&lt;br /&gt;
|-&lt;br /&gt;
| Reimbursement&lt;br /&gt;
| R&lt;br /&gt;
| REM&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
''Period Type Suffixes''&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; &lt;br /&gt;
! Period&lt;br /&gt;
! Suffix&lt;br /&gt;
|- &lt;br /&gt;
| Current&lt;br /&gt;
| CUR&lt;br /&gt;
|-&lt;br /&gt;
| Month&lt;br /&gt;
| MTD&lt;br /&gt;
|-&lt;br /&gt;
| Quarter&lt;br /&gt;
| QTD&lt;br /&gt;
|-&lt;br /&gt;
| Year&lt;br /&gt;
| YTD&lt;br /&gt;
|-&lt;br /&gt;
| Forever&lt;br /&gt;
| ATD&lt;br /&gt;
|-&lt;br /&gt;
| Balance&lt;br /&gt;
| BAL&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Group Sequence''&lt;br /&gt;
*'''00-99''' represent the first though 99th matching items.  Applies to values, labels, rates, factor amounts etc.&lt;br /&gt;
*'''*''' represents the total of all remaining items.  Applies to values only.&lt;br /&gt;
*'''*SUM''' represents the total for all items.  (New for 3.1.99.19) Applies to values only.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Version 1 ('''Deprecated - DO NOT USE''')===&lt;br /&gt;
&lt;br /&gt;
Syntax: [Group] [Def Type Suffix] _ [Period Type Suffix] _ [Group Seq]&lt;br /&gt;
&lt;br /&gt;
Examples: REGHRS_YTD_01, REGLBL_01, REGRATE_01, DED_01, DEDFACT_AMOUNT_01&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
''Def Type Suffixes''&lt;br /&gt;
&lt;br /&gt;
There are three suffixes with special meanings:&lt;br /&gt;
*FACT - the value of the category company/employee factor specified in Period Type Suffix &lt;br /&gt;
*LBL - the category label&lt;br /&gt;
*RATE - calculates the hourly rate for the pay category&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
{| border=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; &lt;br /&gt;
! Description&lt;br /&gt;
! Def Type&lt;br /&gt;
! Suffix&lt;br /&gt;
|- &lt;br /&gt;
| Hours&lt;br /&gt;
| H&lt;br /&gt;
| HRS&lt;br /&gt;
|-&lt;br /&gt;
| Pay&lt;br /&gt;
| P&lt;br /&gt;
| PAY&lt;br /&gt;
|-&lt;br /&gt;
| Tax Gross&lt;br /&gt;
| G&lt;br /&gt;
| GRS&lt;br /&gt;
|-&lt;br /&gt;
| Tax&lt;br /&gt;
| T&lt;br /&gt;
| TAX&lt;br /&gt;
|-&lt;br /&gt;
| Check&lt;br /&gt;
| C&lt;br /&gt;
| CHK&lt;br /&gt;
|-&lt;br /&gt;
| Direct Deposit&lt;br /&gt;
| A&lt;br /&gt;
| DD&lt;br /&gt;
|-&lt;br /&gt;
| Deduction*&lt;br /&gt;
| D&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Pre-tax Deduction*&lt;br /&gt;
| X&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Working*&lt;br /&gt;
| W&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Net Pay*&lt;br /&gt;
| N&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Gross Pay*&lt;br /&gt;
| Z&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Reimbursement*&lt;br /&gt;
| R&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(*These definitions are lumped together when no suffix is specified.)&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
''Period Type Suffixes''&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; &lt;br /&gt;
! Period&lt;br /&gt;
! Suffix&lt;br /&gt;
|- &lt;br /&gt;
| Current*&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Month&lt;br /&gt;
| MTD&lt;br /&gt;
|-&lt;br /&gt;
| Quarter&lt;br /&gt;
| QTD&lt;br /&gt;
|-&lt;br /&gt;
| Year&lt;br /&gt;
| YTD&lt;br /&gt;
|-&lt;br /&gt;
| Forever&lt;br /&gt;
| ATD&lt;br /&gt;
|-&lt;br /&gt;
| Balance&lt;br /&gt;
| BAL&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(*Current is implied when no period suffix is specified.)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Conversion==&lt;br /&gt;
&lt;br /&gt;
The first thing to know about paycheck form version 2 is … You do not need to convert existing systems unless there is a problem!  It is here to solve problems.  But in making this format we didn’t want to either mess with the original format (too easy to make a devastating mistake) or force our support team to change existing systems.   Having said that you don’t need to convert an existing form, once a customer has any strange problem such as 2 defs adding together unexpectedly it’s time to convert.&lt;br /&gt;
&lt;br /&gt;
The second thing to know is … Make sure all new systems and newly created forms are version 2.  Yes this is a bit of a hassle, but it will result in higher quality installations with fewer surprises down the road.&lt;br /&gt;
&lt;br /&gt;
Attached is a sample of an old form converted to  version 2.&lt;br /&gt;
&lt;br /&gt;
A sample section like this:&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
LINE +1 COLUMN 2     BOLD ON&lt;br /&gt;
     COLUMN 3   Left 10                    FIELD PAYLBL_01&lt;br /&gt;
                BOLD OFF&lt;br /&gt;
        COLUMN 14    FORMAT ###.00        FIELD PAYHRS_01&lt;br /&gt;
        COLUMN 23    FORMAT ###.00        FIELD PAYRATE_01&lt;br /&gt;
        COLUMN 30       FORMAT ######.00   FIELD PAYPAY_01&lt;br /&gt;
        COLUMN 38       FORMAT #######.00  FIELD PAYPAY_YTD_01&lt;br /&gt;
                BOLD ON&lt;br /&gt;
     COLUMN 51  LEFT 10              FIELD DEDLBL_01&lt;br /&gt;
               BOLD OFF&lt;br /&gt;
     column 58  FORMAT ######.00;;#  FIELD DED_01&lt;br /&gt;
     column 67  FORMAT #######.00;;# FIELD DED_YTD_01&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Becomes:&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
LINE +1 COLUMN 2     BOLD ON&lt;br /&gt;
     COLUMN 3   Left 10                    FIELD PAY.LBL.01&lt;br /&gt;
                BOLD OFF&lt;br /&gt;
        COLUMN 14    FORMAT ###.00        FIELD PAY.HRS.CUR.01&lt;br /&gt;
        COLUMN 23    FORMAT ###.00        FIELD PAY.RATE.01&lt;br /&gt;
        COLUMN 30       FORMAT ######.00   FIELD PAY.PAY.CUR.01&lt;br /&gt;
        COLUMN 38       FORMAT #######.00  FIELD PAY.PAY.YTD.01&lt;br /&gt;
                BOLD ON&lt;br /&gt;
     COLUMN 51  LEFT 10              FIELD DED.LBL.01&lt;br /&gt;
               BOLD OFF&lt;br /&gt;
     column 58  FORMAT ######.00;;#  FIELD DED.DED.CUR.01&lt;br /&gt;
     column 67  FORMAT #######.00;;# FIELD DED.DED.YTD.01&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When converting a form, a good place to start is looking at the existing check setup in the links and company defs table.  This query shows all of the check groups the form def type, and how the items within the check group are sequenced:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
select l.check_group,l.check_group_seq,cd.link_sequence,cd.def_type,&lt;br /&gt;
case def_type &lt;br /&gt;
WHEN 'H' THEN CHECK_GROUP||'.'||'HRS'||'.'&lt;br /&gt;
WHEN 'P' THEN CHECK_GROUP||'.'||'PAY'||'.'&lt;br /&gt;
WHEN 'G' THEN CHECK_GROUP||'.'||'GRS'||'.'&lt;br /&gt;
WHEN 'T' THEN CHECK_GROUP||'.'||'TAX'||'.'&lt;br /&gt;
WHEN 'C' THEN CHECK_GROUP||'.'||'CHK'||'.'&lt;br /&gt;
WHEN 'A' THEN CHECK_GROUP||'.'||'DD'||'.'&lt;br /&gt;
WHEN 'D' THEN CHECK_GROUP||'.'||'DED'||'.'&lt;br /&gt;
WHEN 'X' THEN CHECK_GROUP||'.'||'CALC'||'.'&lt;br /&gt;
WHEN 'W' THEN CHECK_GROUP||'.'||'WRK'||'.'&lt;br /&gt;
WHEN 'N' THEN CHECK_GROUP||'.'||'NET'||'.'&lt;br /&gt;
WHEN 'Z' THEN CHECK_GROUP||'.'||'GPY'||'.'&lt;br /&gt;
WHEN 'R' THEN CHECK_GROUP||'.'||'REM'||'.'&lt;br /&gt;
END FORM_REF&lt;br /&gt;
,l.link_type,l.link_id,cd.def_id,cd.description,l.CHECK_LABEL&lt;br /&gt;
from prtcompdef cd&lt;br /&gt;
inner join prtlinks l on l.link_id=cd.link_id&lt;br /&gt;
order by check_group,check_group_seq,cd.link_sequence,cd.def_type&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Which results in something like this:&lt;br /&gt;
 &lt;br /&gt;
[[Image:PRFormV2Query.png|Payroll V2 Form Conversion Query Output]]&lt;br /&gt;
&lt;br /&gt;
I’ve started a search and replace list to help speed up this conversion.   This of course would need to be adjusted for specifics of a form.  This list covers the case where all Pay types are in the check group “PAY” and deductions are in the check group “DED”.   You still need to apply common sense and take care of other check groups like REG and SAL.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
Search	Replace&lt;br /&gt;
DEDS_	DEDS.WRK.CUR.&lt;br /&gt;
TAXES_	TAXES.WRK.CUR.&lt;br /&gt;
PAY_YTD_	.PAY.YTD.&lt;br /&gt;
HRS_YTD_	.HRS.YTD.&lt;br /&gt;
GRS_YTD_	.GRS.YTD.&lt;br /&gt;
TAX_YTD_	.TAX.YTD.&lt;br /&gt;
PAY_	.PAY.CUR.&lt;br /&gt;
HRS_	.HRS.CUR.&lt;br /&gt;
TAX_	.TAX.CUR.&lt;br /&gt;
GRS_	.GRS.CUR.&lt;br /&gt;
LBL_	.LBL.&lt;br /&gt;
BAL_	.BAL.&lt;br /&gt;
RATE_	.RATE.&lt;br /&gt;
GROSS_	GROSS.GPY.CUR.&lt;br /&gt;
DD_YTD_	.DD.YTD.&lt;br /&gt;
DD_	.DD.CUR.&lt;br /&gt;
NETPAY_	NETPAY.NET.CUR.&lt;br /&gt;
DED_YTD_	DED.DED.YTD.&lt;br /&gt;
DED_	DED.DED.YTD.&lt;br /&gt;
REIMBURSE_YTD_	REIMBURSE.REM.YTD.&lt;br /&gt;
REIMBURSE_	REIMBURSE.REM.CUR.&lt;br /&gt;
MATCH_YTD_	MATCH.DED.YTD.&lt;br /&gt;
MATCH_	MATCH.DED.CUR.&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
:[[Keystone_Forms]]&lt;/div&gt;</summary>
		<author><name>Intra&gt;Chanson</name></author>
	</entry>
</feed>