This process syncs completed or invoiced tickets in ConnectWise as service calls in e-automate. Billable and zero-dollar invoices can be brought over via the sync.
Jump to: Overview | Samples | Setup | Variables | Testing| Alert Functionality | Best Practices & Tips | Related Alerts
Click here for our ID965 Videos!
Overview
Overview
Service tickets from ConnectWise sync to e-automate as service calls. You can choose to sync tickets in a specific status or only tickets that have been invoiced (The invoiced only option is available starting in version 20230220). The calls can be created as Ok to Invoice or Pending. If the calls are created as OK to Invoice, they must have at least one time entry on the ticket in ConnectWise.
The information is a one-time pull from ConnectWise to e-automate. Tickets that can't be pushed to e-automate will be detailed in an error email that you will receive. Once a ticket has reported an error on the error email, all work to make the ticket sync has to be done in e-automate, as no changes that you make in ConnectWise will affect the information that the sync is using to insert the call. Additionally, if time entries are added to the ticket in ConnectWise after the ticket has synced to e-automate, those time entries will not sync and update the service call in e-automate. In order to sync these additional time entries you will need to be invoicing tickets in ConnectWise and running the sync in Invoice-Only mode.
Accurately calculating contract profitability in e-automate is the main reason for syncing both billable tickets and non-billable tickets. We would highly recommend running this sync in conjunction with the ID964 agreement sync, as that makes linking the service calls to the contracts much easier. (You can run the service call sync independent of the agreement sync if needed, attaching calls to contracts will work much smoother with it running.)
The sync will push in the call header information (contract, contact, call type, description) and the time entries from the ticket in ConnectWise. Each time entry on the ticket syncs as a separate labor entry on the service call. Billing amounts for each labor entry on the service call will be calculated by the bill code used on the service call.
You can have the billing amounts from ConnectWise override the bill code in e-automate and bill based on the hours and rates from the time entry in ConnectWise. In this mode, labor hours and rates will match between the two systems, regardless of bill code calculation. You must request this option be turned on and can ONLY invoice these calls with an e-agent task, as opening the service call to invoice may cause e-automate to recalculate the billing amount based on the bill code.
**If you are running both the ID965 ticket sync and the ID522 project ticket sync, both processes have to run in the same bill code mode (either e-automate bill codes or override bill code mode) and e-automate ticket mode (standard e-automate call number or combination of ConnectWise ticket number and ConnectWise invoice number.)
Run Schedule: Every 30 minutes
Type of Output: Sync/Email
* * *
Sample
Sample
Jump to: Call Header | Call Labor | Call Notes | Error Emails
Call Header
The call header information (the Call info tab of the service call) is pulled from the ticket information in ConnectWise. By default, the call number in e-automate is the next available call number. Starting with version 20230220, there is an option to have the call number in e-automate match the ticket number from ConnectWise, along with the invoice number if the sync is running in invoice-only mode. (Details on this here.)
e-automate service call:
ConnectWise ticket:
1. The customer matches the company, details on setting customer mapping here. If the sync can't find the matching customer to use in e-automate, the ticket will not be able to be created and you will see the ticket on the error email with a Customer not Assigned error.
2. The item CW-Service is used on all calls created by the sync instead of an equipment record. More details on this serviceable item here. If you are not using the ID964 agreement sync you will need to create this item in e-automate and add it to any contracts that will be used with calls created by the sync.
3. The location on the service call will always match the main customer on the call.
4. The sync will attempt to match the agreement used on the ticket in ConnectWise to a contract in e-automate, or find a matching contract based on contract type. For more details on how the contract is selected by the sync, see here.
5. The description on the service call will be the ticket number from ConnectWise along with the summary of the ticket.
6. The caller on the call will be the contact name on the ticket. Starting in version 20230820, the caller's email and phone number will be added to the caller field. (Note: we do not link contacts between the two systems.)
7. The call type will match the ticket type, see here for more details on matching call types. If there's no match between the ticket type and the call type, the default call type will be used.
8. The priority on the call is pulled from the priority on the call type.
9. The technician on the call will match the ticket owner, if there's no ticket owner, the technician will be the member from the last time entry in ConnectWise. You do have the option to use a default technician as the call header tech, instead of matching to the member from ConnectWise. Use variables 2 and 3 to set the sync to utilize a default tech at the header level.
10. The call received at time will match the entered time from ConnectWise, unless a time entry predates the entry time. Then the sync will roll this time back to match the first time entry on the ticket. More details on the call dates and times here.
11. If there is a customer PO on the ticket in ConnectWise, that information will be populated in the call PO, otherwise, this field will be blank. (Note: Versions prior to 20230220 will populate the CW ticket number in this field.)
12. The bill code on the service call will be pulled from the contract if there is one on the call. If there is no contract on the call, the default bill code set in variable 5 will be used. More details on how the bill code affects the billing amounts are here.
Call Labor
Each time entry on the ConnectWise ticket will create a labor entry on the service call in e-automate.
e-automate labor entry:
ConnectWise time entry:
1. The technician on the labor entry in e-automate will match the member from the time entry in ConnectWise. See details here on how to map members to technicians in e-automate. If the member on the time entry is not mapped to a technician in e-automate, the call will not be inserted.
2. The activity code on the labor entry will match the work type in ConnectWise, provided that there is an exact match. If there is no exact match, the default activity code set on the call type will be used. More details on activity codes are here.
3. The arrival time will match the start time on the time entry. If no start time is recorded on the time entry, the ticket will not be able to be imported into e-automate.
4. The departure time will match the end time on the time entry. If no end time is recorded on the time entry, the ticket will not be able to be imported into e-automate.
**Calls MUST have at least one labor entry to be synced to e-automate as Ok to Invoice calls!! ConnectWise allows for labor conflicts on time entries...this is a bad practice and you should not have overlapping time entries for the same technician!!
Call Remarks/Notes
The notes from the last resolution note are added to the call remarks in e-automate:
e-automate Remarks:
ConnectWise Notes:
**If there are no notes marked as a resolution, a default note of "Ticket #XXXXX closed" will be added starting with version 20241015.
e-automate Call Notes:
A note is added to the e-automate call with a summary of the time entries from ConnectWise. The note type will match the note type you've specified in Variable 7.
Error Emails
You'll receive two error emails, one indicating issues at the call header level and one indicating issues at the labor level.
Call Header Errors:
1. The total number of successful calls created is shown at the top of the error email.
2. Error(s): Listed in this column are the specific errors stopping the ticket from inserting. For more details on these errors, see here. **Starting with the 20230220 version, the errors column ONLY shows the errors stopping the call from being created.**
3. E-automate customer name, shows as Not Mapped if the sync is unable to match the company on the ticket to a customer in e-automate.
4. Ticket number from ConnectWise.
5. CW Company RecID: This is the company RecID from ConnectWise for the company on the ticket. If you have an error for "Customer Not Assigned" you will need to enter this number into the custom property on the customer in e-automate.
6. E-automate customer number.
7. Address of the company from ConnectWise.
8. City of the company from ConnectWise.
9. The call type from e-automate, will be blank if there's no match on the ticket type from ConnectWise.
10. CreateDate: This is the date the call was created in our background tables.
**Starting with the 20230220 version, calls will only report 2-3 times on the error email and then they will drop off. Corrections made for the tickets to sync will still allow the calls to be created. **
Call Labor Errors:
**Beginning with the 20241015 version of the sync, labor entries with no errors will be BLANK on the email.
1. The number of labor records created by ID965 for the day.
2. The error 'Call header exists but not imported' means that the issue is at the header level and NOT at the labor level. Go to the call header email to see what the error is.
3. Error: The issue stopping the ticket from importing. See details here on all the possible errors.
4. E-automate customer name.
5. ConnectWise ticket number.
6. The technician number from e-automate.
7. The technician name from ConnectWise.
8. The work type used on the time entry.
9. The work role used on the time entry.
10. The start time for the time entry. **If this field is blank the sync can not insert the call in e-automate**
11. The end time for the time entry. **If this field is blank the sync can not insert the call in e-automate**
12. If the time entry is set as billable.
13. Notes from the time entry.
14. CreateDate: This is the date that the ticket was created in our background tables. Starting with version 20230220, calls will only show on this email 2-3 time from the creation date and then drop off.
* * *
Set Up
Set Up
As you go through the setup for ID965, a few things to consider:
1. Are you invoicing tickets in ConnectWise? If you are, we'd recommend running the sync in invoice-only mode by setting Variable 4 to Yes.
2. Will your bill codes in e-automate bill service calls to match your billing setup in ConnectWise? Are you using the fixed fee billing method in ConnectWise? If the bill codes in e-automate won't bill to match ConnectWise, or you are using any of these billing methods, you'll need to run the sync in override bill code mode.
3. If you are running the sync in invoice-only mode, you have the option to use either the next e-automate call number or the combination of the ConnectWise ticket number and invoice number as the call number. Notes on the call number mode are here.
4. Do you have block of time agreements in ConnectWise? Syncing tickets applied against time block agreements requires manual review of the service calls in e-automate to ensure proper decrementing of time against the contract.
Jump to: EA-CW Mapping | EA Setting | CW Settings | Subscribe to Alerts
EA-CW Mapping
1. Map the technicians in e-automate to the members that will have time entries in ConnectWise. Details on how to do that are here.
2. Map customers and locations between the two systems, details on how to map customers here and locations here. You are required to have ID747 running which will automate most of the customer mapping.
3. Ticket types in ConnectWise map to call types in e-automate. See details on how to match those between the systems here.
4. Work types in ConnectWise map to activity codes in e-automate. See details on how to match those between the systems here.
5. Review how you are billing tickets in ConnectWise and e-automate, can you mimic your billing in ConnectWise using a bill code in e-automate? Are you using work roles to change the rate charged on a ticket, different billing methods such as fixed fee or routinely changing the billable field on time entries to Do Not Bill? You may need to run the sync in override bill code mode if you can't create bill codes in e-automate to match the billing from ConnectWise. Details on this mode are here.
EA Settings
1. Determine the e-automate call status to use for the imported calls. The options are either Pending (P) or Ok to Invoice (OKB). Calls that are imported as OK to Invoice must have at least one time entry from ConnectWise. This value is set in the Hidden2 variable.
2. A default bill code must be set, this bill code will be used on service calls that are not linked to a contract. The value is set in Variable 5, see details on bill codes here.
3. A default call type is also needed, this call type will be used on all calls where the ticket type from ConnectWise does not have a matching call type in e-automate. This code is set in variable W, you can also set variable X to Yes to always use this call type and not match to ConnectWise. More details on call types are here.
4. If you have agreements in ConnectWise that are not linked to contracts in e-automate via the ID964 agreement sync, you do have the option to match tickets to a contract in e-automate via a contract type. When a contract type is entered in Variable Z, the sync will check first for a linked contract based on the ID964 contracts and if no contract is found, the sync will check for one active contract of the specified type to use on the service call. You'll need to make sure that these contracts have the CW-Service item added, as you'll receive an error when attempting to bill the service call if the item doesn't exist on the linked contract.
5. There is the option to use the same technician at the header level of all imported tickets, if you'd like to use this option, enter the employee number from e-automate to use in variable 3 and set variable 2 to Yes.
6. The sync will add a note to the service call in e-automate showing the start time, end time, total hours, and rate from the time entries in ConnectWise. You can create a new note type for this, or use an existing note type. Add the note type to variable 7. Details on note types here.
7. We recommend that you enable the setting in e-automate to enable aggregate billing. More details on this option are here, additionally, you'll want to be sure that the option to allow serviceable items is checked. Details on serviceable item settings here.
8. All calls created by the sync use the item CW-Service as the item on the call instead of an equipment record. If you are using ID964, you can change the item number to use by updating variable W on the alert. If you are not using ID964, you must create the item CW-Service in e-automate.
9. In order to close calls created by ID965, you will need to have the e-automate option to require equipment records on service calls unchecked. More details on that option here.
10. To create a service call in e-automate, an SLA code is required, so you'll need to be sure that the default SLA code is set in e-automate. More details on that are here.
CW Settings
1. Determine the status of tickets in ConnectWise that will note that the ticket is ready to be synced to e-automate. Once a ticket in this status has synced to e-automate, no updates made to the ticket in ConnectWise will sync across. If you are running the sync in the invoice-only mode, you can set the sync to pick up tickets that have been invoiced, regardless of ticket status, by setting Variable 8 to (!).
2. If you are invoicing tickets in ConnectWise, you can choose to set the sync to not insert tickets until they have been invoiced. This is done by setting variable 4 to Yes. To sync tickets only based on the ticket status leave this variable set to No. If you choose to use the invoice-only mode, you have an additional option to sync based on the billing status of the invoice in ConnectWise. More details on the differences when syncing in invoice-only mode here.
3. There is the option to change the ticket status in ConnectWise once it has been synced to e-automate, this is helpful so that users in ConnectWise know not to make changes to the ticket. If you would like to use this option, you'll add it to variable 6. (If you are syncing invoiced tickets, the status you enter in Variable 6 is an invoice status, not a ticket status.)
4. If there are any boards in ConnectWise that should not sync tickets, enter the name of the boards into variable 1. These may be boards that get automated alerts or boards for internal tickets.
Subscribe to Alerts
1. Once you have the settings in ConnectWise and e-automate determined, subscribe to ID965 on our website. If you don't have a login to our subscription site, you can email help@ceojuice.com to have us set you up with a login.
2. If you are not already subscribed to ID747, you'll need to subscribe to that alert as well. See this link if you have questions on the variables for ID747.
3. ID964 is not required but is recommended as it makes linking agreements from ConnectWise to contracts in e-automate much easier. See this link if you have questions on the variables for ID964.
* * *
Variables
Variables
Variable 12: FixedFee across Call Materials - Enter an item number if you want all fixed fee tickets to carry the dollar amount on the ticket on one item. Leave blank to not add an item for fixed fee tickets. Only applies to fixed fee tickets.
Variable Hidden2: eAuto Call Status - The status of the calls when they are imported to e-automate. The default option is OKB, which is Ok to Invoice. Changing the variable to P will cause imported calls to have the status of Pending. **Required for sync to work correctly**
Variable W: Default Call type - Call type to use when the ticket type in Connectwise does not match the call type in e-automate. **Required for sync to work correctly**
Variable X: Always default call type - Yes/No, the default value is No. Setting this to yes will cause the sync to always use the call type specified in Variable W when importing calls. **Required for sync to work correctly**
Variable 2: Always Default Technician - Always use the default technician on all calls imported. The default value is no, switch to yes to always use the default technician and not the owner on the ticket. **The default technician only applies to the header technician, each labor entry on the call will map to the appropriate technician that completed the work in ConnectWise**
Variable 3: Default Technician - If you have set variable 2 to Yes, enter the technician to use on the calls. Enter the number from the e-automate employee record.
Variable 5: Default Bill Code - Enter the bill code to use if the service call is not attached to a contract. If left blank, calls not attached to a contract will import with no bill code and have to have the bill code added manually before the call can be invoiced. **Required if you are running the sync in override bill code mode**
Variable Z: Contract Types - Contract types normally associated with Managed IT contracts. If the sync doesn't find a matching contract based on the ID964 synced agreements AND the customer has one active contract of one of these types, that contract will be used on the service call.
Variable Y: On hold Code - On hold code to be used with any service calls that the sync needs to place on hold. See here for more details about calls placed on hold. **Required for sync to work correctly starting with version 20231106**
Variable 7: Note Type - NoteType in e-automate for note which will be written against each Call created, showing the raw data from Connectwise for HourlyRate and HoursBilled - required if someone touches the call in e-automate and forces an unintentional reconciliation against the BillCode.
Variable 8: Move calls when status - Enter the status from ConnectWise that indicates a call should be synced from ConnectWise to e-automate. Separate multiple statuses with commas. Starting with version 20230220 you can flip the functionality of this variable by beginning the string with (!), this will change the variable from including all listed statuses to including all statuses but the ones listed. Example: Closed = Only tickets in the status Closed will sync. (!) Closed will sync every status except for Closed.
Variable 4: Only Invoiced Tickets - If you are invoicing tickets in ConnectWise and want to only sync tickets once they have been invoiced, set this variable to Yes (Available starting with version 20230220). Otherwise, leave as No to sync tickets when put in the status specified in variable 8. **Required for sync to work correctly**
Variable 10: Invoice Statuses - If Variable 4 is set to Yes, you have the option to specify what invoice statuses should trigger the sync. Leave blank for all invoice statuses.
Variable 6: Post Sync Status - If you would like to have the ticket in ConnectWise updated to a certain status after the call has been synced to e-automate, enter that status here. Must be a valid status in ConnectWise. If the variable is left blank, no update to the status in ConnectWise will be made. If you are running the sync in Invoice-only mode (available starting with version 20230220) this status will be an invoice status, not a ticket status.
Variable 1: Ignore Board - Enter the board name from Connectwise of any boards you do not want to sync calls from. Separate multiple boards with a comma. Leaving blank will import all tickets from all boards. Starting with version 20230220 you can flip the functionality of this variable by beginning the string with (!), this will change the variable from ignoring the boards listed to only including those boards. Example: HelpDesk = tickets from all boards except for the HelpDesk board will sync. (!) HelpDesk = only tickets from the HelpDesk board will sync. See here for further details on service boards.
Variable 11: ConnectWise Credentials - If you have more than one set of API credentials entered on the CEOJuice website, specify which credential set to use.
* * *
Testing
There are two steps to testing the service call sync, setting up the testing environment and then syncing the test calls and verifying that everything is syncing correctly.
Jump to: Testing Setup | Testing Checklist
Testing Setup
1. API Keys in ConnectWise – These may already be in place if you are using other portions of the ConnectWise sync. New keys do not need to be created for the service sync. Details on creating API keys here.
2. ConnectWise test Database – If using a test ConnectWise database, you’ll need to create a set of API keys for that database. Details on creating API keys here.
3. e-automate test Database – A test database is required to sync calls initially for review. See this link for notes on creating a test e-automate database.
4. CEOJuice test database – If you have previously tested other parts of the ConnectWise integration, you may already have this in place. If not, see this link for notes on creating a test CEOJuice database.
Once these setup steps have been completed, please let us know and we will install the process for testing.
Testing Checklist
Testing Checklist
For testing, please verify these things:
- Import tickets for every technician that will be working in ConnectWise, and verify the labor records are coming across correctly. See how to map technicians here.
- Close several tickets of different billing rates to verify that the bill codes in e-automate bill as expected and match to ConnectWise. You may need to set up advanced bill codes to have the correct billing rates applied, see details on that here.
- If you use the billing options of Fixed Fee, Override Rate, or Not to Exceed, you'll need to request that the sync run in Override Bill Code mode. Then in testing, import at minimum one ticket of each billing method to verify the amounts come across correctly. More on the different billing methods here.
- If you are using block time contracts, import several service tickets to be applied against block time contracts in e-automate to ensure that the hours are decremented correctly. For additional information on block time contracts, click here.
- Verify that the labor entries have the correct activity code that matches the work type in ConnectWise. Do you need to add activity codes in e-automate or rename them to align with the work types in ConnectWise? Details on matching activity codes to work types are here.
- Close at minimum one call of every ticket type and check that the call has the correct type set in e-automate. Details on call types are here.
- Invoice all test calls to verify billing and workflow for handling invoicing service calls in e-automate.
- If you are going to use the e-agent task to invoice calls, run the task on the test database to verify it's invoicing correctly. Details on how to run the task in test are here.
- Review error emails to ensure understanding of the different error codes listed. Details on these errors are here.
Once all testing has been completed, please let us know and we can schedule moving the service call sync to point at your production database.
* * *
Alert Functionality
Alert Functionality
Jump to: Customers | Locations | Branch | Call Number | CW Service Item | Contracts | Deposit Based Contracts | Multiple Agreements | Call Types | Caller Contact | Technicians | Call Dates | Response/Repair Time | Bill Codes | Billing Methods | Activity Codes | Notes | Remarks | Ticket Status | Call Errors | Invoice Only Mode | On Hold Code | Fixed Fee Tickets | Parts | Override Bill Code Mode | Cloning | CW Service Boards
Customers
The service call sync uses custom properties to map companies from ConnectWise to e-automate.
The company RecID from ConnectWise is populated in the custom property ZCJ_CW_CompanyID in e-automate. This value must be populated for the service sync to find the customer match and create the service call. If the custom property is not populated, you'll receive an error for the call of "Customer Not Assigned".
The company RecID is found in ConnectWise in the company list view:
If you do not see this column in the list view, click on the gear icon in the upper right corner and move the Company_RecID from the hidden columns to the visible columns.
This value is entered into the custom property ZCJ_CW_CompanyID in e-automate:
If the customer mapping is not in place, the service sync will be unable to insert the service call and you will see the error "No Customer Assigned" on the call header error email. You will need to complete this mapping and the next time that the sync runs, the call will be inserted. Starting with the 20230220 version, the error email will have the ConnectWise Company RecID listed.
For details on how to automate linking the customers between the two systems, click here for an overview of the customer sync (ID747).
Locations
The location on the service ticket will always match the customer on the ticket.
Branch
Branch
Starting in version 20231106, there is an option to specify the branch to be used on all service calls. If you would like to use this setting, you will need to send an email to help@ceojuice.com with the branch number to be used, as this is not a variable setting. **This setting will also apply to ID522 Project Ticket Invoices if using that sync**
When set, the branch on the service call here will be set to the branch specified:
Call Number
There are two options in the service sync for how the call number is generated in e-automate:
1. EA Mode: The next e-automate call number is used, as tickets are synced, the next e-automate call number will be used for the service call. The next call number can be seen in Options - Service Calls - Next service call number:
2. CW Mode: The call number in e-automate will be a combination of the ConnectWise ticket number and the ConnectWise invoice number. This option is ONLY available when running the sync in invoice-only mode.
In the above example, the ticket number from ConnectWise is 13903 and the invoice number is 1219, for a combined call number of CW13903 CW1219.
**Whichever mode ID965 is running in will also be the mode used for ID522!!
CW Service Item
All service tickets created by the sync will have the serviceable item CW-Service added as the item on the call. If you are using ID964, this item number is set on variable W. If you are not using ID964, you'll need to manually create item CW-Service as a serviceable item in e-automate.
This item is used in place of an equipment record:
To invoice these calls, you'll need to have the option to require equipment records on calls unchecked in the Options screen:
Require EQP
Contracts created by the ID964 sync will automatically have this item added to the contract:
CW-Service on Contracts
If you are linking tickets from ConnectWise to contracts in e-automate that were not created by ID964, you will need to manually add the item CW-Service to the contracts. When this item is not present on the contract, you will get an error when invoicing the call.
You'll need to add the item CW-Service to the contract on the service call and then the call will invoice.
Contracts
Contracts assigned to the service calls are determined by this hierarchy:
1. Is the ticket applied against an agreement in ConnectWise (1)? If yes, the sync checks for that contract in the ID964 background table (2). If a match is found in the background tables for ID964, that contract will be used on the call (3).
2. If the ticket does not have an agreement, or there was no match in step 1, the sync can check for one active contract matching a type that is set in Variable Z. If one contract is found for the customer that matches the type set, that contract will be used on the service call. If there are no contract types listed in variable Z, this step will be skipped.
3. If a contract can't be found in either step 1 or 2, no contract will be assigned to the call. When no contract is assigned to the service call, the default bill code from variable 5 is used on the service call.
**There is an option to not insert tickets that have an agreement attached in ConnectWise, but no matching contract is found in e-automate. If you choose to turn this option on, you'll see these calls on the error report and they will not push until a linked contract is created in e-automate. You must ask to have this option turned on, as it is not a variable option. If you choose to turn on this option, it will apply to all project tickets created by ID522 as well.
Deposit Based Contracts
Deposit Based Contracts
Service calls attached to deposit-based contracts are handled differently based on the setup options in the sync and in e-automate:
1. If the sync is running in EA bill code mode, and the option 'Do not allow deposit-based contracts to go negative' is UNCHECKED, then calls against deposit-based contracts will be created as Ok to Invoice and will properly decrement the deposit-based contract as long as the right bill code is assigned to the service call.
2. If the sync is running in EA bill code mode, and the option 'Do not allow deposit-based contracts to go negative' is CHECKED, all calls created against deposit-based contracts will be placed on hold when created. Due to the fact that deposit-based contracts are not allowed to go negative, the service calls will need to be reviewed prior to invoicing to make sure that there are enough hours on the contract to cover the call.
3. If the sync is running in Override bill code mode, any calls created against deposit-based contracts will be placed on hold. This is done as the calls will need to have the labor hours manually reset to the actual hours so that the proper number of hours will be decremented from the contract. With the override bill code mode, the labor hours will show as zero since the hours show as covered in ConnectWise.
Multiple Agreements on Ticket
ConnectWise allows tickets to have an agreement assigned to the ticket and different agreements used on the individual time entries. Each time entry could have no agreement attached or be a different agreement than the one used at the "header" level.
A service call in e-automate only supports one contract per call, there is not an option to change the contract at the labor level. Tickets with multiple agreements attached can cause issues with the sync as multiple calls need to be created to account for each combination of agreement and time entries. Especially with invoices that have multiple tickets and agreement combinations, you may see issues with duplicate calls created, calls created with the native e-automate number, calls created with no labor records, or blank errors on the error reporting.
We recommend using the same agreement at the header level and the time entry level as often as is possible to avoid potential issues.
When the sync encounters a conflict between the agreement at the ticket header (1) and the time entry (2) the call created in e-automate will use the agreement at the time entry level as the contract to apply to the service call.
If there are multiple agreements used on the ticket, the sync will create individual calls in e-automate for each contract. Before version 20230220, the sync would create only one service call, using the agreement at the header level of the ticket in ConnectWise.
For example, if a ticket has two time entries, one associated with an agreement and one with no agreement, the sync will create two calls in e-automate. When running in invoice only mode, the sync will use the same call number format of Ticket Number Invoice Number, but will add a digit to the end. In e-automate you'd see call CW12345 CW1234 and CW12345 CW1234 1
Call Types
Call types must match precisely between e-automate and Connectwise, otherwise, the default call type will be used from Variable W. **If you do not want the response time on ConnectWise calls to affect your service call metrics (First call fix rate, average response time, etc), set the call types used to NOT be Corrective Maintenance category call types.
To see the types in Connectwise, go to Setup Tables > Service Board List and choose the correct board. Then click on the Types tab to see the list of types for that board:
The sync is pulling the information from the Type column, for example, A/V Projector.
The call types in e-automate are found by going to Tools > Lists and Codes and then choosing Call Types from the drop-down menu:
The sync is pulling the information from the Call Type column, for example, AV Issue.
Each field must be an exact match for the call type to populate correctly. If no match is found, the default call type is used. **There is a 15-character limit to call types in e-automate, ConnectWise allows for much longer call types. The sync will match call types based on the first 15 characters of the ticket type in ConnectWise.**
Call types also drive the priority used on the call:
Additionally, if there is no match between the work type set on the entry in ConnectWise and an activity code in e-automate, the sync will set the activity code on the labor record to the default set on the call type:
Caller Contact
Caller Contact
The sync will NOT link a contact on the service call, it will only update the caller field with the name, email address, and phone number if that information is available in ConnectWise.
Contact details in ConnectWise:
Caller contact on e-automate service call:
Technicians
Technicians are assigned at both the "header" level and the labor entry level on the service call in e-automate. For the mapping to work properly the employee in e-automate must be active, marked as a technician, and have the CW Member RecID added in the custom property.
The Member RecID is found in ConnectWise in the Member list view:
The value from the Member RecID column is entered into the custom property ZCJ_CW_EmpRecordID on the employee record in e-automate:
Additionally, each member completing time entries in ConnectWise will need to have their employee record in e-automate set as a technician:
Setting the employee record as a technician also requires the fields of Territory, Delivery method, Warehouse, and Bin to be filled out.
The header level technician is assigned per this hierarchy:
1. Is Variable 2 set to no?
Set header technician to the ticket owner on the ticket in ConnectWise.
If no ticket owner, the header technician is set to the member from the last time entry.
2. Variable 2 is set to yes, the header technician is set to the technician specified in variable 3.
At the labor level, the member on the time entry maps to the technician on the labor entry.
For both options when variable 2 is set to no, the technicians need to be mapped between Connectwise and e-automate.
Call Dates/Times
There are a few differences between what ConnectWise allows regarding call dates and times and what e-automate allows:
1. Time entries in ConnectWise can be entered with dates prior to the entered date of the ticket. In e-automate, the call received at time must be prior to any labor records added to the call.
The sync sets the call received at time in e-automate to match the entered date of the ticket in ConnectWise:
If a time entry on the ticket predates the entered time, the sync will roll the call received at time back to prior to the first time entry.
2. ConnectWise also allows time entries to overlap for the same technician, which is a practice that we DO NOT RECOMMEND, especially for billable time. Settings in e-automate drive whether these types of labor conflicts are allowed on service calls:
Invalid time
To allow for overlapping labor entries, the Labor conflicts needs to be set to Allow. If this setting is set to Warn or Prevent, you will not be able to invoice these calls via the e-agent task.
Additionally, ConnectWise has the option to require members to enter both a start time and an end time on all time entries. We recommend enabling this so that no time entries are created missing an end time, which can cause the sync to not enter the call in e-automate.
This option is set on the member record in ConnectWise:
Response/Repair Time
Response and repair time on service calls created by the sync follow the same rules as other calls created in e-automate, the sync does not override how e-automate calculates these two fields.
Response Time - The time between the Call received at time (1) and the arrival time of the first labor entry (2):
In the above example, the call was received on 2/15 at 9:34 AM and the first labor entry has an arrival time of 2/17 1:45 PM. The response time is calculated as the time the company is open, between these two times:
2/15 9:34 AM to 5:00 PM - 7.43 hours
2/16 8:00 AM to 5:00 PM - 9 hours
2/17 8:00 AM to 1:45 PM - 5.75 hours
Response time = 7.43 + 9 + 5.75 = 22.18 hours
Repair time - The sum of the actual times on the labor entries:
1. Actual hours on the first labor entry: 2.47
2. Actual hours on the second labor entry: 1.32
Total repair hours = 2.47 + 1.32 = 3.79
**We have seen a bug in e-automate that occasionally occurs when there is more than one labor record on the ticket, where the repair time is shown as the total time from the start of the first labor entry to the ending time of the last labor entry**
Bill Codes
Your bill code set up in e-automate is critical to ensuring that calls are billed correctly in e-automate!! If you are not already using the advanced bill codes in e-automate, you may need to set these up depending on your billing structure in ConnectWise. See details on setting up advanced bill codes here.
You'll want to review the bill codes you are currently using on your IT contracts...are you using an all-inclusive bill code? Are there certain types of work that are not covered by the agreement? How are you billing for increments of time? Do different work types have different billing rates?
**If you have a large variance in the rates used to bill calls, or depend on the work role in ConnectWise to change the rate on the calls, you may want to consider using the sync option to override the EA bill codes and have the sync pull the labor rate and hours billed from ConnectWise. If you are using the billing methods of fixed fee, override rate or not to exceed, you must use the override bill code mode. See further details on this here.**
Bill codes are assigned to the service call based on this hierarchy:
The sync was able to match a contract in e-automate to the service call:
1. Contract Equipment/Item Level:
2. If there is no bill code set at the equipment/item level, e-automate looks to the Contract Level:
3. If there is no contract attached to the service call, the default bill code set in variable 5 will be used.
**By default the CW-Service item is added to the contract with the contract bill code and so all service calls will use the bill code set on the contract. If for any reason you need the service calls on the contract to bill differently than the contract bill code is set at, you will need to manually add the correct bill code to the CW-Service item. If you are linking calls to contracts that were not created by the ID964 sync, you'll need to manually add the item CW-Service to those contracts.
Billing Methods
ConnectWise has several billing methods that can't be recreated in an e-automate bill code. If you are using any of these billing methods on time entries you'll need to use the override bill code mode on the service sync. The billing methods are:
Fixed Fee - regardless of the time entries, tickets with this billing method bill the amount specified
You can bring fixed fee tickets into e-automate with the fixed fee amount set on an item added to the service call by entering an item number in Variable 12. All fixed-fee tickets are placed on hold when created by the sync in e-automate.
*Fixed fee tickets must be billed separately from any other tickets for the customer.
Override Rate - This method allows you to specify the hourly rate to be used on the call and override any rates set at the work role or member level.
Not to Exceed - This billing method sets a cap on the amount that can be billed on the ticket.
**The not to exceed billing method CAN NOT be recreated in e-automate via the sync. The sync is unable to determine how to spread the labor amount billed across the labor entries on the service call. If you are using this method you will need to manually edit these calls to ensure the proper billing.
* Not to Exceed tickets must be billed separately from other tickets for the customer.
Additionally, if you are changing the billing option on the time entries to either Do Not Bill or No Charge you will need to use the override bill code mode to properly charge the matching amounts in e-automate. For both of these billing methods, in override bill code mode the sync will show the billing labor hours as 0.
Activity Codes
Activity codes in e-automate correlate to work types in ConnectWise. Work types in ConnectWise can alter the billing rates on agreements.
Work Types in ConnectWise are set in: Setup Tables > Work Types:
Activity codes in e-automate are used to define the kinds of activities that technicians can perform on service calls, record on time cards, and record as unavailable time on the employee record.
The activity code category is where you set the settings that will be used for all activity codes of that type. You create activity code categories in Tools - Lists and Codes - Activity Code Categories
Once the category is created, you assign the category to the activity code and set how that activity code will be taxed. Activity Codes are in Tools - Lists and Codes - Activity Codes:
To ensure proper billing in e-automate you should have the work types in ConnectWise correlated to Activity Codes in e-automate so that work that is billed in ConnectWise is also billed in e-automate. E-automate only allows for 15 characters in the activity code, while ConnectWise allows for more than 15. The sync will match work type to activity code based on the first 15 characters of the work type in ConnectWise.
A work type is set on each time entry on a call in ConnectWise:
When the call is pushed into e-automate by the sync, the matching activity code will be used on the labor entry:
If an exact match is not found between work type and activity code, the sync will set the activity code to the default from the call type.
Activity codes in e-automate can be used to override the standard labor rate used on the service call. For more details on how to set that up, see this post on advanced bill codes.
Call Notes
There are two call notes added by the sync when the call is created in e-automate, an Event type for the call creation and a note with the summary of the time entries from ConnectWise. The note type for this note is set in Variable 7. To create a new note type, go to Tools - Lists and Codes - Note Types:
In general, you'll see two call notes for each imported call that are added by the sync, one for when the call was created and one for the billing information from ConnectWise. Call notes are viewed by right-clicking on the service call and choosing the Call Notes option:
Double-click on the note to open and see the details.
Note Type EVENT:
Note Type CW Data:
Starting with version 20231106, the work type from ConnectWise will be added to the note.
Remarks
Remarks
**Beginning with version 20231106 notes that are marked as internal in ConnectWise will not sync to the call in e-automate.**
The last note from ConnectWise that is marked as a resolution will be added to the remarks section of the service call:
Discussion note from ConnectWise is marked as Resolution:
These notes will all be added to the remarks section of the service call:
If no notes on the service ticket are marked as a resolution, the sync will add the default note of 'Ticket # XXXXX Closed':
Starting with version 20231106, there is an option to suppress the resolution remarks from posting to the remarks on the service call. If you would like to enable this option, you'll need to email help@ceojuice.com and ask to have it turned on.
Invoice Remarks
All notes from time entries in ConnectWise will sync to e-automate and will show on the service invoice when the option to Show Details is chosen. Beginning with version 20231106, there is an option to suppress the labor remarks from showing on the call. To use this option, you will need to send an email to help@ceojuice.com letting us know to turn it on.
Ticket Status
The status set in variable 8 indicates the ticket status to be used to trigger the sync. In order for the sync to pick up the ticket to sync, it must be in this status. (Even when running in invoice-only mode, the ticket needs to be in this set status in order to trigger once invoiced. If you want to sync all ticket statuses, enter (!) in variable 8).
Status is set in ConnectWise per Service Board, you find the list of statuses per board in the setup tables:
You can select multiple statuses to use to trigger the sync.
If Variable 6 on the alert is set with a status that exists in ConnectWise, the sync will change the status of the ticket in ConnectWise once it has processed the ticket. There will be a 30-minute delay between when the sync pulls the information from ConnectWise and when the ticket status is flipped. (This update occurs on the next run of ID965, after the call has been created in e-automate.)
If you are running ID965 in invoice-only mode (Variable 4 set to Yes), the status entered into Variable 6 needs to be an invoice status as in this mode the sync will change the invoice status and NOT the ticket status. Invoice status is also set in the setup tables, under Invoicing - Billing Status:
Import Errors
Each time that the sync runs, you will receive two emails listing any tickets that didn't import, along with the error as to why the ticket didn't import. One for errors at the call header level and another for errors at the labor entry level.
Call Header Errors
Call Header Errors - Email Subject: ConnectWise Service Module Integration
Possible errors:
- Invalid BillCode - If the sync is running in override bill code mode, a bill code is required in variable 5. If there is no bill code set, all tickets will show this error until a valid bill code is added to variable 5.
- Invalid OnHoldCode - Beginning with version 20240207 an on-hold code is required. If there is not a valid on-hold code in variable Y, all tickets will receive this error until the variable is updated.
- No Customer Assigned - The customer from ConnectWise was not linked to e-automate company record and the call was not inserted. If you update the customer mapping (see here) the call should import on the next sync push.
- Duplicate Customer Mapping - The company on the ticket from ConnectWise is mapped to multiple customers in e-automate. Correct the duplicate mapping and the call will sync.
- No Labor Entries on Call - For a call in e-automate to be set to OK to Invoice, there must be at least one labor entry on the call. If there are no labor entries on the call in ConnectWise the ticket will not import into e-automate.
- Unmapped Labor Entries on Call - One or more time entries from ConnectWise have a member that is not linked to an employee record in e-automate that is active and marked as a technician. Check the tickets referenced to verify that the member on each time entry is active, marked as a technician, and has the member RecID from ConnectWise in the ZCJ_CW_EmpRecordID field.
- Invalid Labor Entries on Call - Indicates that one of the time entries on the ticket is missing either the start time or the end time. Check the labor level email for which time entry has the issue.
- Conflicting customer and site mapping - The customer record in e-automate has both the ZCJ_CW_CompanyID and ZCJ_CW_SiteAddressRecID custom properties populated. Parent customers only have ZCJ_CW_CompanyID and child locations only have ZCJ_CW_SiteAddressRecID. Correcting the mapping in e-automate will allow the call to insert.
- Other calls in invoiced set not valid - When running in invoice-only mode, all tickets attached to the invoice have to be error-free. This error indicates that one of the other tickets on the ConnectWise invoice has an error and can't insert.
- No Parts Template - There is a part to be added to the service call, but neither the item nor the matching item template are available in e-automate to add to the call. See more details on parts here.
- Invalid Header/Labor/Parts relationship - When syncing tickets with products attached, the agreement on the product must match at least one of the time entries on the ticket. If you come across this error, you'll need to email help@ceojuice.com so that we can remove the ticket from our background tables. You'll need to manually create the service call in e-automate.
Call Labor Errors
Call Labor Errors - Email Subject: CW Labor Issues
**Beginning with the 20241015 version of ID965, labor entries with no errors will show as BLANK on the error email and no longer display the "Call Header exists but not imported' error.
- No Associated Call Header - Call header was not created, so labor records can't be added.
- Call Header exists but not imported - The call header information was available but a call was not created, so labor records can't be added. Check the Call header email for the specific error on the ticket that needs to be corrected.
- Invalid Time Date - The time entry from ConnectWise lacks a Start or End timestamp and therefore cannot be imported. This error is one that we will have to correct for you, please send an email to help@ceojuice.com with the proper start or end time of the time entry if you see this on the error email. See here for how to force a member to enter start and end times on time entries to stop this problem from happening.
- EA Call is Invoiced or Canceled - for calls where ID912 created the ticket in ConnectWise and ID965 is attempting to update the call in e-automate with time entries. If the call in e-automate is canceled or invoiced the sync will not be able to update the call and you will see this error on the email.
- Custom Property Not Found - The custom property that holds the member RecID from ConnectWise is not found in e-automate. You will need to verify that the custom property exists and that the name exactly matches ZCJ_EmpREcordID.
- Agent Mapping Missing/Incorrect - The member on the time entry in ConnectWise is not mapped to a technician in e-automate. Check that the technician's employee record in e-automate has the member RecID filled in.
- Agent not active - The technician on the time entry is not marked as active. The employee record in e-automate needs to be made active and then the call will sync.
- Agent not marked as Technician - The technician's employee record in e-automate is not marked as a technician. This will need to be corrected so that the call can be inserted.
- See error on Call Header - The issue stopping the call from importing is at the header level, check that email for the specific issue that needs to be corrected.
Invoice Only Mode
**Invoice-only mode is available starting in version 20230220**
If you are invoicing tickets in ConnectWise you can choose to set the sync to not import the tickets until an invoice has been generated. This is done by setting variable 4 to Yes.
When running in invoice-only mode, there are a few differences in how the tickets will sync to e-automate:
1. Each ticket from ConnectWise will still create one service call in e-automate, but all tickets invoiced together will be attached to the same work order so that they can be invoiced together in e-automate.
2. When run in invoice-only mode, tickets that have additional labor added after the ticket has been invoiced can sync to e-automate automatically when the new time entries on the ticket are invoiced in ConnectWise.
Example: Ticket is invoiced with three time entries, two days later the client reopens the ticket and an additional time entry is billed against the ticket. The second invoice will sync to e-automate in invoice-only mode. When run in completed ticket status mode, the additional time entries added after the ticket has synced will NOT import to e-automate.
**If an invoice that has synced to e-automate is deleted in ConnectWise and a new invoice created, the new invoice CANNOT have the same invoice number as the invoice that previously synced!! This will cause failures in the sync as our logic expects each invoice ID from ConnectWise to be tied to a unique invoice number.**
On Hold Code
On Hold Code
Beginning with the 20231106 version, an on-hold code is required for the sync to work properly. If there is not a valid on-hold code in variable Y the sync will report an error on all tickets.
You can use an existing on-hold code, or create a new one specifically for the sync. On-hold codes are found in Tools - Lists and Codes:
The on-hold code that you want to use is entered into variable Y.
A service call will be placed on hold in one of the following situations:
- The billing method from ConnectWise is fixed fee.
- The contract the ticket is applied to is a deposit-based contract and the option to not allow deposit-based contracts to go negative is checked. (Details on deposit-based contracts here)
- A product was added to the ticket in ConnectWise and the sync was unable to add the matching item to the call in e-automate. In this scenario, the item template matching the product type from ConnectWise will be added as a placeholder to the service call.
When the call is placed on hold, the reason for the hold will be noted in the call note:
Fixed Fee Tickets
Fixed Fee Tickets
If you are using the fixed fee billing method in ConnectWise, you will need to be using the service sync in the override bill code mode. All tickets that have the fixed fee billing method will be placed on hold once created in e-automate, these tickets will need to be reviewed prior to invoicing to ensure that the billing amounts are posted as desired.
There is an option to add the fixed fee amount to the call as a part on the service call. To utilize this option, you will need to create an item record in e-automate and enter the item number in variable 12.
The item will need an expense code and a service code so that it can be added to the service call.
When the fixed fee call is created in e-automate, it will be placed on hold:
Included in the note added to the call will be the fixed fee amount to be billed:
If you have chosen to have the fixed fee added as a part, you will see that item on the Materials tab:
The item will show as a quantity of 1, with the price being the fixed fee amount. The item description will contain the ConnectWise ticket number and the summary of the ticket from ConnectWise.
If you do not choose to add the fixed fee amount as a part, you will need to edit the call to add the fixed fee billing amount.
The labor rate and labor hours for all labor entries will show as $0.00.
Parts
Parts on Service Calls
Beginning with version 20241015, the service sync has limited support for syncing products on tickets in ConnectWise to the service call in e-automate. In order to utilize this functionality, the following must be true:
- You are invoicing tickets in ConnectWise, and running the sync in invoice-only mode.
- The agreement applied against the product MUST MATCH THE AGREEMENT USED ON AT LEAST ONE TIME ENTRY.
Ideally, the same agreement is used at the header, time entry, and product level in ConnectWise to ensure the smooth creation of the call in e-automate. When there are multiple agreements in use on the time entries on the ticket, this can cause problems adding the products to the call in e-automate including adding the product to the call multiple times and failing to create a call in e-automate.
Other notes on products syncing:
-
Tickets that are billed in ConnectWise with only a part added and no time entries will not sync.
- You will need to either add a "dummy" time entry to the ticket, or bill the products on a sales order.
- Tickets created by ID912 that have a part added in ConnectWise will not sync the part back to e-automate.
- If there are multiple agreements used on the ticket in ConnectWise, at least one time entry must be assigned to the same agreement that the product is assigned to.
The product ID from ConnectWise must match exactly to the item number in e-automate to properly add the item to the call.
Product on ConnectWise ticket:
Item on e-automate service call:
If the product ID does not match an item number, the item template that matches the product type from ConnectWise will be added to the call. You will need to manually create the correct item in e-automate, remove the template item from the call, and then add the correct item to the service call.
Template item added to e-automate call:
The call will be placed on hold in e-automate so it won't invoice until the proper part is added.
If there is not an item template that matches the product type, the call will not insert and there will be an error for "No Part Template" on the call header error email. You'll need to either create the item in e-automate, or create the item template (notes here on creating item templates). Once one of these options has been completed in e-automate, the call will be created on the next run of ID965.
When the part is added to the call it will show as used from the Warehouse/Bin assigned to the technician assigned to the call here:
This technician matches the ticket owner on the ticket in ConnectWise. If the ticket in ConnectWise does not have a ticket owner, then the sync assigns the header level technician to be the technician from the last time entry on the ticket.
Override Bill Code Mode
While we recommend that you set up bill codes in e-automate to match how you are billing in ConnectWise, we understand that sometimes there are reasons why this is not feasible. If you use the work role to override the rate, use different billing methods (Fixed Fee, Override Rate or Not to Exceed) or use the billable drop down on the time entry to change how the ticket bills (Do Not Bill, No Charge) the override bill code mode will need to be used. Using the override bill code mode on ID965 will mean that the override bill code mode will also be used on ID522.
All calls will need to be billed via an e-agent task, to avoid e-automate recalculating the billing amounts based on the bill codes. See here for details on possible e-agent errors that you may run into.
When running in this mode, you are required to have a default bill code set on the sync to be used. Be aware that the sync is only overriding the labor hours and rates, if you have a default travel rate set or minimum hours to bill those will still be used by e-automate. Revenue will post to the GL account specified on the bill code and labor costs will be calculated based on the burden rate set in e-automate.
In this mode, the labor entry in e-automate is set to match what has been billed on the time entry in ConnectWise:
Labor Hours = Total hours (2) minus hours covered by the agreement (3).
**If you sync calls attached to time block contracts, the override bill code mode calculation of labor hours will cause no hours to be decremented from the deposit-based contract in e-automate. You will need to manually change the hours on these service calls. **
Labor Rate = Hourly rate (1) on the time entry. (Only hourly rate is pulled in the sync, the overage rate is not used)
**If you are on a version prior to 20241015, the invoice hours will NOT be used when creating the labor entries in e-automate. On the current version, the invoice hours will be used.
In the example below, the top section lists the labor entries in e-automate, the bottom section shows the invoiced time entries in ConnectWise. For each entry, the labor hours in e-automate equals the WIP hrs from ConnectWise and the Labor rate from e-automate equals the Rate from ConnectWise:
To turn on this option, you must send an email to help@ceojuice.com to request the feature be turned on, there is not a variable setting to control this.
Please be aware that you may have issues with e-automate recalculating the billing amount if you open the imported call and make any changes to the call. To view the labor hours and rate used on the calls, use the e-view Service Calls (Open) Labors instead of opening the call in e-automate. Details on those e-views here.
If you notice a discrepancy in e-automate in either the labor rate or labor hours, you can change those on the service call prior to invoicing, being very careful to make no other changes that may cause e-automate to recalculate the billing amount on the service invoice. Do not make any changes to the Activity code on the labor entry as this will cause the entry to recalculate based on the bill code.
The sync will add a note to the service call with the hours and billing rate from ConnectWise so you have that information if needed.
Cloning
Cloning
This alert can be cloned, which means creating multiple subscriptions of the same ID number. (ID965). this function will ONLY work if at lease ONE of the variables on each subscription is different.
Just select + sign to create multiple subscriptions.
See this link for an overview of cloning features.
CW Service Boards
CW Service Boards
Within ConnectWise, service tickets can be assigned to different service boards. Each service board has a unique set of statuses, types, and subtypes. Boards are created in the setup tables in ConnectWise:
Access to each service board within ConnectWise can be set on the board level or the member level. For the sync to properly process tickets from ConnectWise, our API member must have access to the board. See here for further details on security access to service boards.
If there are specific service boards that should not sync tickets to e-automate, you can specify the board names in variable 1. Any tickets assigned to the boards listed in this variable will not sync to e-automate. If you have multiple boards in ConnectWise and only want tickets to sync for a few boards, you can flip the functionality of this variable by adding (!) at the beginning to change the variable to only include boards that are specified after the (!).
* * *
Best Practices & Tips
Best Practices & Tips
Jump to: Burden Rate | Aggregate Billing | SLA Codes | Charge Method | e-agent Task | e-view | Parts on Tickets | e-agent Potential Errors | Custom Property | Rebill Process | Billing Zero Dollar Service Tickets
Burden Rate
To accurately calculate your labor costs, you need to have a burden rate loaded for each technician in e-automate. See this link for more information on the burden rate. The comparable field in ConnectWise is the hourly cost field on the member record.
The cost figure from ConnectWise does not sync across into e-automate, the labor amounts in e-automate are calculated based on the e-automate burden rate.
**If you are running the sync in Override Bill Code Mode, the cost amounts that post in e-automate will be based on the e-automate burden rate. This mode ONLY overrides the billing amount to the customer, not the internal burden rate for costing.**
Aggregate Billing
In the Tools \ Options menu, you'll need to check the option to Enable aggregate incremental billing on service calls:
Checking this option will allow you to group labor records by the rate, or the rate and activity code, before applying billing increments. In other words, by checking this box you can set the service calls to group all of the labor records billing the same rate (or rate and activity code) to sum the labor time for billing.
Once you've checked this option, you'll see this additional option on the billing labor codes:
You can choose to group the labor records by rate or by rate and activity code. Under the incremental billing section, select either Bill combined regular and overtime hours in increments or bill regular and overtime hours in separate increments. Then the check box next to Aggregate labor records before applying billing increments to enable the drop-down to group the labor records.
For example, a ticket in ConnectWise has three time entries, one for 14 minutes, one for 20 minutes, and one for 16 minutes. The bill code in e-automate is set with a one-hour minimum. Aggregating the labor entries will sum all three entries together for a total of 50 minutes of labor, and bill the customer the one-hour minimum. Not aggregating the labor entries will bill the customer for three hours, as each labor entry will qualify for the one-hour minimum.
SLA Codes
SLA Codes
When creating a service call in e-automate, an SLA code is automatically applied:
The sync checks for the SLA code to use on the service call first at the contract level, if a contract is applied on the call:
If no SLA code is assigned to the contract, the sync will use the default SLA code set in Options:
If you do not have an SLA code set on the contract used on the service call and there is no default SLA code set in Options, the sync will be unable to create the service calls.
Charge Method
Charge Method
When the charge method on a customer record is set, that charge method is automatically set on the service calls created for that customer.
Calls created by ID965 will pull the charge method from the customer record. These calls will NOT be able to be invoiced via an e-agent task and will need to be manually invoiced in e-automate.
This is due to security within e-automate that requires the selection of a credit card to apply to the call prior to invoicing. This prevents any automation, or a less-aware user, from pushing charges to a customer's credit card accidentally. When ID965 creates a service call, we are unable to select from the stored credit card options due to the encryption around credit cards and other financial account data.
A recommended work around for these service calls is to create a 'Net 0 Credit Card' term code to be used for these customers. This would allow the automation to create the service call and e-agent to automatically invoice the call. Once the call has been invoiced, the credit card payment can be applied.
e-agent task
We recommend that you set up an e-agent task to invoice the calls automatically, once you are comfortable with how they are coming in. If you are running the sync in override bill code mode you must use the e-agent task to invoice calls to avoid any recalculation by e-automate based on the bill code. You can filter the task to invoice calls by bill code, call type or customer to only pick up the ConnectWise calls. To create the task, open e-agent by going to the Tools menu and clicking on E-agent. Create a new task of the type Auto Invoice Service Calls.
1. Do not invoice if warnings exist - When this box is checked, the task will not invoice any calls where errors exist. You can see the full list of possible errors in the e-automate documentation.
2. Invoice zero dollar service calls - When this box is checked, the task will invoice all zero dollar service calls. Checking the box to send to the document queue will send the invoices there to be sent out to your customers.
3. Invoice non zero dollar service calls - When this box is checked, the task will invoice chargeable service calls. Checking the box to send to the document queue will send the invoices there to be sent out to your customers.
4. There are three different filters you can use to limit the calls that the task will invoice: bill code, call type or customer. Clicking on the Include all link will take you to the screen to set the filters:
e-agent tasks do not run on schedule in the test database, you must manually trigger the task to run it. **While in test, it's important to run the e-agent task at least once to verify the calls invoice properly!!
e-view
An e-view is the best way to review the data on the imported calls, you can use the Service Calls (Open) System view to see the list of calls that were entered by the sync. Filter the view by Entered by contains "965". You can use the system view Service Calls (Open) Labors to see all the labor records for the imported calls. Filter the view by Entered by contains "965".
Parts on Tickets
Starting with version 20241015, there is limited support for syncing products on tickets in ConnectWise to the service call in e-automate. If you are on a version before 20241015, the workaround below should be used:
1. Tickets that have products attached, or need to have items attached in e-automate, are closed with a specific ticket type in ConnectWise indicating that there are parts to be added.
2. The needed parts are noted in the resolution note on the ticket in ConnectWise:
3. A matching call type of Needs parts added is created in e-automate, when this ticket is synced, the time entries will sync over and the call type will be set to Needs parts added.
4. Set up a filter in the dispatch console to filter for the calls that need parts added.
5. The needed parts will be noted in the remarks field on the call in e-automate, and can be added to the service call.
Potential e-agent Errors
Below are some of the errors that you may see when using e-agent to invoice the service calls from ConnectWise
Charge account is required - Customers that have the charge method set to Credit Card/ACH can not have service calls billed via e-agent. These calls will need to be manually invoiced.
Labor conflicts exist - ConnectWise allows technicians to overlap their time on tickets, if you see this error you will have to update your e-automate settings under Labor conflicts to Allow. (required by e-agent to invoice the tickets, if this is set to Warn you will need to manually invoice these calls.) You may not want to allow most e-automate service calls to have conflicting labor, you can change the labor conflict setting to Allow, process the e-agent task for the ConnectWise calls and then flip the setting back to the original setting.
Change these settings in e-automate here:
Labor hours are less than the minimum hours for the selected bill code - This error indicates that the bill code on the service call has a minimum number of hours set and the labor hours on the call are below that number. The call will need to be manually invoiced.
The minimum billing period is set on advanced bill codes here:
and on standard bill codes here:
Custom Properties
To create the custom property in e-automate for the Member RecID:
Go to Tools - Lists and Codes - Attributes and then click on new:
Attribute name: ZCJ_CW_EmpRecordID
Description: ConnectWise Sync Member ID
Data type: Numeric
Add the custom property to the employee custom property configuration:
The value to be entered in the custom property is the Member RecID from ConnectWise:
Rebill Process
You may run into a situation where you need to void and rebill a service ticket that has been invoiced in ConnectWise. If you are running the sync in invoice-only mode, you can rebill the invoice in ConnectWise and sync it over to e-automate. If you are syncing tickets that are NOT invoiced, you will not be able to resync an existing ticket.
To resync the new invoice, follow these steps:
1. If the invoice has been invoiced in e-automate, void the service invoice and cancel the service call. If the call has not yet been invoiced, just cancel the service call.
2. In ConnectWise, void the invoice and make the needed corrections to the ticket to bill properly.
3. Invoice the ticket in ConnectWise.
4. The new combination of ticket number and invoice number will be picked up by the sync and a new call will be created in e-automate. Invoice this call at the new rates.
Zero Dollar Service Tickets
Billing Zero Dollar Service Tickets
In order to invoice zero dollar service tickets (time on ticket is covered by the agreement), there is a setting on the agreement that needs to be set. When this setting is unchecked, zero dollar invoices will not come into the queue to be invoiced in ConnectWise.
This setting is in the invoice pod on the agreement:
* * *
Related Alerts
Related Alerts
ID747 - Connectwise Customer Sync
ID964 - ConnectWise Agreement Sync
ID966 - ConnectWise Sales Order Sync
ID912 - Moving Calls from e-automate to ConnectWise
ID522 - ConnectWise Project Invoice Sync
* * *
0 Comments