Version 1.117

Validation for Client on Job Order and Placement must match
Partial Re-Invoice
Send Secondary Approver when Scheduled Send Approver Emails method is in use
Process Invoice VF Page – Transaction Filters radio option
Timesheet visibility for Candidates Communities Portal
Invalid Time Popup on Timesheet Entry pages of Candidate Communities Portal
General bug fixes and improvements

Version 1.117

 

Validation for Client on Job Order and Placement must match

Validation has been added to ensure that once a Job Order has one or more related Placements, the Client on the Job Order can not be changed. Likewise the Client on the Placement must remain the same as the Client on the related Job Order.

 

Partial Re-Invoice  

Critical setup required

When completing credit / re-invoice activities, previously the re-invoice could only be completed once. If the User removed Transactions from the list during the re-invoice activity there was no avenue for them to be able to re-invoice the removed Transactions once the Consolidated Invoice was generated.

New functionality has been added to enable the re-invoice of the previously removed Transactions. Once the initial re-invoice is created, if the User clicks the Re-Invoice button, they will be presented with a list of all the Transactions related to the credit note. The Transactions that have already been re- invoiced will be displayed as ‘Invoiced’ and can not be edited. The previously removed Transactions can be edited as needed and then a new invoice generated. This activity can be completed as many times as needed until all Transactions have been invoiced.

This functionality can be particularly useful when a User needs to split an invoice into multiple invoices after the initial generation.

To set up –

Provide profile access to the below listed fields. Users who create credit notes and re-invoice will require read/write access:

  • Has been reinvoiced (tc9_ti__Has_been_reinvoiced__c) on the Transaction (tc9_ti__Transaction__c) object
  • Has been reinvoiced (tc9_ti__Has_been_reinvoiced__c) on the Fee (tc9_ti__Fee__c) object

Run the below scripts in the Developer Console to ensure  the “Has been reinvoiced” field on historic credit note related Transactions has been populated.

Navigate to Set up > Developer Console > Debug > Open Execute Anonymous Window 

Then insert the following script:

// SCRIPT TO UPDATE TRANSACTIONS' HAS BEEN REINVOICED FIELD
List<tc9_ti__Transaction__c> transList = new List<tc9_ti__Transaction__c>();

List<tc9_ti__Consolidated_Invoice__c> conInvIdList = [select id,recordtypeid from tc9_ti__Consolidated_Invoice__c where recordtype.developerName like 'Credit%' LIMIT 10000];
integer totalInv = [Select Count() From tc9_ti__Consolidated_Invoice__c Where recordtype.developerName like 'Credit%' LIMIT 10000];

if (!conInvIdList.isEmpty()) {
 system.debug('Total invoices found: ' + totalInv);
 for(tc9_ti__Transaction__c trans:[select tc9_ti__Has_been_reinvoiced__c from tc9_ti__Transaction__c where tc9_ti__Has_been_reinvoiced__c = false and tc9_ti__Consolidated_Invoice__c in: conInvIdList]){
 trans.tc9_ti__Has_been_reinvoiced__c = true;
 transList.add(trans);
 }
}

// please uncomment the following line for DML operation
// update transList;

Run the below scripts in the Developer Console to ensure  the “Has been reinvoiced” field on historic credit note related Fees has been populated.

Navigate to Set up > Developer Console > Debug > Open Execute Anonymous Window 

Then insert the following script:

//SCRIPT TO UPDATE FEES' HAS BEEN REINVOICED FIELD
List<tc9_ti__fee__c> feeList = new List<tc9_ti__fee__c>();
List<Id> feeidList = new List<Id>();
List<Id> conInvIdList = new List<Id>();

for(tc9_ti__Consolidated_line__c conInv:[select id,tc9_ti__Invoice__c from tc9_ti__consolidated_line__c where tc9_ti__consolidated_invoice__r.recordtype.developerName like 'Credit_Fee'])
  conInvIdList.add(conInv.tc9_ti__Invoice__c);

for(tc9_ti__InvoiceItem__c inv:[Select tc9_ti__fee__c From tc9_ti__InvoiceItem__c where tc9_ti__Invoice__c in:conInvIdList])
  feeidList.add(inv.tc9_ti__fee__c);

for(tc9_ti__fee__c fee:[select id,tc9_ti__has_been_reinvoiced__c from tc9_ti__fee__c where tc9_ti__has_been_reinvoiced__c = false and id in: feeidList]){ //Add 'limit 1000' to this query if timeout errors occur
 fee.tc9_ti__has_been_reinvoiced__c = true;
 feeList.add(fee);
}
update feeList;

 

Send Secondary Approver when Scheduled Send Approver Emails method is in use

Optional setup required

Previously when an Organisation is sending timesheet approver emails via the scheduled method the Send Secondary Approver button on Placement could not be used to send approver emails to the Secondary Approver.

A new workflow, SendApproverEmailRuleForScheduledSend, has been introduced for use when the scheduled method of sending approver emails is in use which will also allow the successful use of the Send Secondary Approver button on Placement.

To set up (optional) –

Only to be used when the scheduled method of sending approver emails is in use within an organisation.

  • Navigate to the SendApproverEmailRuleForScheduledSend workflow
Setup > Create > Workflow Rules > SendApproverEmailRuleForScheduledSend

Note, the Workflow Rule has an immediate workflow action of ‘SendApprovalEmail’. This Email Alert is set to send the packaged ‘NotifyTimeSheetApproverTimeSheetReady’ Email Template. In the instance where an Organisation is using custom Email Templates for their Approver Emails, the Email Alert should be updated to point to the desired Email Template.

  • Activate the SendApproverEmailRuleForScheduledSend workflow

 

Process Invoice VF Page – Transaction Filters radio option

Optional setup required

Previously, on the Process Invoice page the Standard Invoice Filters / Transaction Filters radio option would default to have Standard Invoice Filters selected when the page opens. Now, for Organisations that use Transaction Filters as their preferred method of filtering, we have introduced a custom setting that allows them to set Transaction Filters as the default when the page loads.

The setting can be found in the Timecards Config and is called Default Transaction Filters Invoicing. If unchecked (False), the page will open with Standard Invoice Filters selected. If checked (True), the page will open with Transaction filters selected.

To set up (optional) –

Set the Process Invoice page to open with Transaction Filters defaulted via the Custom Setting

Setup > Custom Setting > TimeCards Config > Default Transaction Filters Invoicing = True (ticked)

 

Timesheet visibility for Candidates Communities Portal

Optional setup required

Previously a timesheet would become visible on the Timesheet Submission pages of the Candidate Communities Portal on the Start Date of the Timesheet. For the duration of the Timesheet (Start Date to End Date) it would be listed under the Current Tab and then move to the Overdue Tab on the day following the End Date.

Now, at an Organisation level, delays can be set for when Timesheets will appear on the portal as well as how long it will remain on the Current tab before moving to Overdue. This is enabled by two fields within the TimeCards Config custom settings. Days til Current Timesheet Visible defines how many days after the Timesheet Start Date before the timesheet will become visible. For example if the timesheet period was 24th July to the 30th July and the Days til Current Timesheet Visible is set as 5 then the Timesheet would not become visible on the Current Tab until 28 July.

Days Until Timesheet Overdue defines how many days after the Timesheet End Date a timesheet will remain on the Current Tab before moving to the Overdue Tab. For example, if the timesheet period was 24th July to the 30th July and Days Until Timesheet Overdue is set as 3 then the Timesheet would remain on the Current Tab up to and including the 2nd August and move to the Overdue Tab on the 3rd August.

These are optional settings, and if nothing is defined, Timesheets will become visible on the Timesheet Start Date and move to the Overdue Tab the day following the Timesheet End Date.

To set up (optional) –

  • To set a delay on when the Timesheet will become visible on the Timesheet Entry pages of the Candidate Communities Portal
Setup > Custom Setting > TimeCards Config > Days til Current Timesheet Visible = enter the number of days required
  • To define how long the Timesheet will remain on the Current Tab after the Timesheet End Date
Setup > Custom Setting > TimeCards Config > Days Until Timesheet Overdue = enter the number of days required

 

Invalid Time Popup on Timesheet Entry pages of Candidate Communities Portal

A number of Organisations have advised of issues with not being able to close the Invalid Time popup on the Timesheet Entry pages of Candidate Communities Portal. To resolve this persistent issue, the invalid time popup has been removed and instead an error message will be displayed directly on the screen.

 

General bug fixes and improvements

General bug fixes and improvements have been applied to the following:

  • Debug log reporting and error messages
  • Improvement to the Create Consolidated Invoice Transactional Invoicing page layout
  • Invoice Template Pagination
  • Ordering of pay codes in Timesheet Manager picklists to be alphabetical
  • User interface improvement on the Preview Payrun page