Page tree
Skip to end of metadata
Go to start of metadata


Can I use a SQL script to restamp historical labor with a different Labor Cost Element?


The Unanet Support team ( can provide/run a SQL script to restamp historical labor entries with a new Labor Cost Element. This process is more complicated than the process for restamping expenses. The following prerequisite information must be provided and the caveats need to be understood and accepted.

  1. Prerequisite - Which Cost Structure/Labor Cost Elements do you want to use for the restamping?
    1. The combination of Cost Structure/Labor Cost Element to be used needs to be specified by the script requestor. Unlike restamping ODCs, where the "correct" ODC Cost Structure can always be determined based on two characteristics of the expense item (the project and the expense type), restamping labor is more complicated. The "correct" Labor Cost Element cannot be easily determined based on the time cell's characteristics, because this stamping was originally done by complex logic contained within the Unanet application that looks at project and task assignments, person rate rows, overrides, etc. Therefore, when restamping labor via a script, the value must be explicitly specified. Options are:
      • Specify based on the Time Cell's Person. Examples might be:
        • Most popular: Stamp time cells with the Person's Cost Structure/Labor Cost Element contained in the Person's rate row with the date range corresponding to the work date.
        • For all time cells for Persons with UDF1 = X, restamp them with Cost Structure A/Labor Cost Element B.
        • For all time cells for Persons with Employee Type "CONSULT," restamp them with Cost Structure A/Labor Cost Element B.
      • Specify based on the Time Cell's Project. Examples might be:
        • For all time cells for Projects associated with Cost Structure A, restamp them with Cost Structure B/Labor Cost Element C.
        • For all time cells for Projects X,Y, and Z, restamp them with Cost Structure 1/Labor Cost Element A, but for all others, restamp with Cost Structure 2/Labor Cost Element B.
        • For all time cells for Projects starting with "INT," restamp them with Cost Structure A/Labor Cost Element D.
      • Specify based on Person and Project. Combinations of the above logic can be used.
      • Specify based on Project's new Cost Structure + Old Cost Element combination. If creating new Cost Structures, or associating projects with new Cost Structures, then can stamp labor with new cost structure + old cost element combination.
  2. Please note the following caveats:
    1. If you are running Unanet billing processes (and even if you are not actually billing clients through Unanet, but you are running Unanet billing processes for other reasons), then there is data in your journal tables related to the costs of these projects. When you run Billing Post, the system goes back to the beginning dates of the project to calculate total project costs. Upon restamping, offsetting entries would be created in the journal tables because the cost of the project has changed. You would need to determine whether that is acceptable.
    2. It is recommended that someone create new assignments to cover the historical date range (or update existing old assignments), so that the Cost Structure Labor Key (Cost Structure combined with the Labor Cost Element) matches what we have set in the script. If you do not set up such assignments, then editing old timesheets will cause timesheet adjustments to be generated. If you don’t mind these adjustments, then you could skip this effort.

Once the above information is determined and understood, a script can be written that sets historical labor data with a Cost Structure Labor Key as specified above.

For internal Unanet employees and partners, please request your script using the templates on the SQL Script Requests page.

Additional Information

KC - FAQ - Restamp - Can I use a SQL script to restamp expenses with a different ODC Cost Element?

Write a comment…