...
Step 1 - Identify your source object in the mapping. For this example, we have created a custom object Timesheet to better illustrate the mapping setup. The Timesheet object will be the source object.
Salesforce Data | Xero | Description |
---|---|---|
Timesheet__c.Resource_Xero_Id__c | EmployeeId | This provides reference for the Xero employee in the timesheet. This recordId is available in Xero. When you have connected your salesforce org to Xero, the information can be retrieved from the Xero Setting tab. Open the App Launcher, search for “Xero Setting List” tab, click the the “Employee List” Tab |
Timesheet__c.Date_From__c | StartDate | Identifies the start date of the payperiod of the timesheet. This is defined in Xero. |
Timesheet__c.Date_To__c | EndDate | Identifies the end date of the payperiod of the timesheet. This is defined in Xero. |
Time_Log__c.Earnings_Rate_Id__c | EarningRateID | Identifies the Earning Rate ID for the time log. This information is available in the Xero Settings. When you have connected your salesforce org to Xero, the information can be retrieved from the Xero Setting tab. Open the App Launcher, search for “Xero Setting List” tab, click the the “Earning Rates” Tab |
Time_Log__c.Date__c | This is the date when the resource/employee log the number of hours. This will not be sent to Xero, however, the date will be used for aggregrating the total hours for each dates. | |
Time_Log__c.Hours_Worked__c | NumberOfUnits | The number of hours for the time log |
Step 2 - When the mapping is ready, navigate to Setup - > Custom MetaData Types - > Managed Records Next to XeroAutoCreate TimeSheet Mapping.
...
Step 4 - After the mapping is created, define a trigger on when to send the timesheet to Xero. For this example, we are going to use a process builder. When the timesheet is approved, we are going to call a an apex class to pass the record Id of the timesheet record. In the Apex class search field, type in “Push Record to Xero”. Set the following parameters for the Set Apex Variables.
Parameter Name | Value | Description |
---|---|---|
XeroObject | Timesheet | This is the standard value. |
SourceObject | Timesheet__c | This is the the API Name of the source object of our timesheet data |
recordId | Timesheet__c.Id | This is the field reference for the record Id of the timesheet record |
Step 5 - Activate the process builder.