CARES ACT Payroll Setup for Sage 300 Construction and Real Estate


At a recorded event on CARES Act Payroll setup for Sage 300 CRE, attendees lobbed some really great questions about the at Sage Certified Senior Consultant, Kyle Zeigler — who had some really great answers. During these highly unusual circumstances, the ethical thing to do would be to share this information with the Sage Construct community. You can watch the recorded event on the ETHOSystems Video Gallery.

Questions and Answers from Users

We have already paid employees for COVID sick time or FMLA time on a different Pay ID, but now we would like to use the COVID Pay IDs.  How can we correct the posted checks?

Unfortunately, the only way to reverse the gross pay and tax amounts for hours paid on the original Pay ID and then calculate the gross pay and taxes associated with a COVID Pay ID is to void and reissue the checks.  See Knowledgebase article 54808, “How to correct a Pay ID on a printed check.”

We have employees who consistently work overtime and want to pay them an average rate of pay per U.S. Department of Labor guidelines for calculating average rate of pay.  How should we set up Sage 300 CRE to do this?

Use reports to determine the total regular and overtime hours and total regular and overtime wages for the look-back period.  Calculate the average rate of pay using this information.  Once the average rate of pay has been determined, modify the Employee Pay setup to enter the average rate of pay on the applicable COVID pay line.  When payroll is processed, the formula in the COVID Pay ID will be ignored and the pay rate will instead be retrieved from the employee pay setup.  Please note that the rate entered on the COVIDFMLA pay line should be the calculated average rate of pay multiplied by .667 (75% of the average rate).

We use hh2 for time entry and the COVID hours are included in our import from hh2.  How can we issue separate checks for COVID in this case?

According to Kevin Hadley at hh2, you can do multiple uploads in hh2 Remote Payroll to Sage.  The workflow for this would be as follows:

  • In hh2, approve any time that is coded to the COVID Pay Types in hh2 and then export only those approved hours and import into Sage.
  • Process and print those checks and/or generate direct deposits for the COVID paychecks.  You do not need to post the checks immediately.
  • In hh2, approve all of the other regular hours like you would do normally and then do a second export from hh2 and import those hours into Sage.  If the prior checks were not posted, this import will create a second check record for the same pay period.  Kevin assures us that Hh2 WILL NOT duplicate any time that has already been exported.
  • Process and print the second set of checks/direct deposits.
  • Post all checks when ready.

You could alternately approve all of the other regular hours first, export from hh2 and import into Sage, and process and print those checks first, then approve the COVID hours, export from hh2 and import into Sage, process and print those checks after.

A note from Kevin:  You can learn more about how hh2 suggests you set up the CARES Act Pay Types in Sage and then sync them over to hh2 by clicking here on our website:  This is simply a suggestion that was put together by our CEO.  Since Sage is so configurable, each company will need to decide what is best for them.

Can we use the Limit features on the Employee Pay setup to limit the total amount paid to an employee for each of the COVID Pay IDs?

In testing the use of the Limit and Limit Period settings on the COVID Pay IDs, I was unable to prevent the system from exceeding the limit with the Pay IDs set up as recommended by Sage.  Therefore, a more reliable method may be to modify the formulas used to retrieve the pay rate such that once the number of hours reaches the desired limit, hours will continue to be tracked, but no dollars will be calculated.

For example, if the desired hours limit is 80, the following formula will first look up the YTD Units on the COVIDSICK employee pay and add to that the number of hours entered on the check being processed.  If the total YTD Units including the current check are greater than or equal to 80, the formula returns a rate of zero.  If the total YTD Units are less than 80, the formula returns the value in the Amount field on the REG employee pay.

IF(LOOKUP(YTD Units (PR Employee Pay), Employee (PR Check), 3, “COVIDSICK”) > 80, 0, LOOKUP(Amount (PR Employee Pay), Employee (PR Check), 1, “REG”))

Please note:  You must still pay attention to the number of hours being paid to the employee until the employee reaches the limit!  Because the system will add the hours in the current check to the YTD Units already posted on the COVID Pay, if the employee already has 75 hours posted and you enter 10 hours on the current check, no pay amount will calculate because the total hours are 85.  In this case, you may need to enter the number of hours to reach the limit, process the check so that the rate and amount are calculated, and then enter a second line with the additional hours to be tracked with no rate and no amount.

We work with unions and would like to retrieve the pay rate from the Union Pay Rate Table.  Can we create a formula to do this?

Yes.  Some examples for these formulas are below.  The assumptions for these formulas are:

Union rates are in a Pay Rate Table named “UNION”, with a rate key of Union, Local, and Class

The default employee pay ID is entered on the employee setup

Set up the following Public formulas in the order shown below.  Please note that the abbreviation “Ck” is used in the name of the first three formulas to distinguish between lookups based on the PR Check record and other formulas that are set up based on the Employee record.

PR_CkEmp Rate-Union – This formula retrieves the Union rate of pay from the Pay Rate Tables

LOOKUP(Rate (PR Pay Rate Table), “UNION”, JOIN(LOOKUP(Union ID (PR Employee), Employee (PR Check)), LOOKUP(Union Local (PR Employee), Employee (PR Check)), LOOKUP(Union Class (PR Employee), Employee (PR Check))))

PR_CkEmp Rate-Emp Rec – This formula retrieves the Employee rate of pay from the Employee Pay table

LOOKUP(Amount (PR Employee Pay), Employee (PR Check), 1, LOOKUP(Pay ID (PR Employee), Employee (PR Check)))

PR_CkEmp Rate of Pay – This formula checks if the employee is Union and compares formula #1 and #2 and uses the higher of the two

IF(LOOKUP(Union ID (PR Employee), Employee (PR Check)) <> “”, IF(PR_CkEmp Rate-Emp Rec (Public Formula) > PR_CkEmp Rate-Union (Public Formula), PR_CkEmp Rate-Emp Rec (Public Formula), PR_CkEmp Rate-Union (Public Formula)), PR_CkEmp Rate-Emp Rec (Public Formula))

PR_COVIDFMLA Hourly Rt – this formula goes on the COVIDFMLA pay ID

IF(LOOKUP(Salary (PR Pay),LOOKUP(Pay ID (PR Employee), Employee (PR Check))), PR_CkEmp Rate of Pay (Public Formula) / 40, PR_CkEmp Rate of Pay (Public Formula)) * 0.667

PR_COVIDSICK Hourly Rt – this formula goes on the COVIDSICK pay ID

IF(LOOKUP(Salary (PR Pay),LOOKUP(Pay ID (PR Employee), Employee (PR Check))), PR_CkEmp Rate of Pay (Public Formula) / 40, PR_CkEmp Rate of Pay (Public Formula))

Leave a Comment

Your email address will not be published.

error: Content is protected !!
Scroll to Top