Follow

ID964 - Connectwise Manage Agreement Sync - Overview

This integration syncs agreement invoices from Connectwise Manage to eAutomate as contracts. 

Jump to Overview | Samples | Variables | Set UpAlert Functionality | Best Practices & Tips |  Related Alerts 

Click to Subscribe 

Overview

Overview

Connectwise (CW) Manage and the RMM tools do an excellent job of tracking software etc included on the contract, so we recommend that the CW Agreement be the master for contract billing. This sync process will take the agreement invoices from CW and create matching contracts in eAutomate. The base amount and additions from the Connectwise agreement will push to eAutomate and update the line items on the contract when the agreement is billed in Connectwise. This sync does not push any information from eAutomate to Connectwise.

 

**It's important to note that Connectwise Manage is not an accounting software and therefore things do not have to balance in the same way that they do in eAutomate. For example, the Connectwise invoice can have an item with a quantity and extended price and show a billed amount of zero. EAutomate will not allow this, the software automatically calculates the billed amount as the quantity times the extended price. 

 

This process will create the contract if it does not exist in eAutomate, and create the items on the contract if they also do not exist. You can choose to create the contracts and items yourself in eAutomate and link them to the agreements and products in Connectwise, but we recommend allowing the sync to create these for you. This way requires the least manual intervention by your team and therefore saves you the most time.

 

We are using "templates" in eAutomate to create both the contracts and the items. A contract template is simply a non-billing contract, with the customer as your dealership, that the sync will copy, update the customer, and add the line items to match the Connectwise agreement invoice. Similarly, item templates are simply items that the sync copies when creating new items in eAutomate to be added to the contract. We create these templates for you as part of the testing process for the sync.

 

The trigger for the sync is the creation of the agreement invoice in Connectwise. Once a new agreement invoice is created, the sync will check:

1. Is the customer linked in Connectwise? (This is done either through a custom field in CW for the eAutomate customer number, or if you already track the eAutomate customer number in an existing field, we can use that. Invoices, where the customer/bill to customer/ship to customer is not found, will error and not import)

2. Is the agreement in Connectwise linked to a contract in eAutomate? (This is done by a custom field in CW. If the contract was created by the sync, the field will be automatically updated by the sync. If you want to sync to existing EA contracts, you'll need to manually fill in these custom fields with the EA contract number).

3. If the contract does not exist, the sync will create the contract by copying the appropriate contract template, then add the line items from the agreement invoice to the contract as serviceable items. Items that don't already exist in eAutomate will also be created based on the item templates.

4. If the contract does exist, the sync will update the existing contract to match the agreement invoice from Connectwise.

Once the contract is updated by the sync, you will need to cycle the contract in eAutomate and bill the contract.

 

Prerequisites:

  • Must be on Connectwise 2015.3 or later, REST API was introduced in 2015.3. On-Premise or Hosted will both work.
  • Must be on eAutomate 8.7 or later, Serviceable items added then. Will work with either ECI Hosted or On-Premise.
  • Not required, but we do suggest you enable the "HelpDesk Button" in eAutomate.
  • .NET Framework on the server must be version 4.6.1 or higher.
  • Must be subscribed to ID747 
  • Serviceable items must be enabled in eAutomate (see here for where to turn that on)

 

Run Schedule: Every 15 minutes

Type of Output: Sync/Email

*  *  *

Sample

Sample

Contract_sample_1.jpg

The blue shaded areas on the contract are information pulled from ConnectWise:

  • Customer - The customer from the ConnectWise agreement.
  • Start date - Start date will match ConnectWise agreement start date UNLESS agreement started mid-month. Those contracts will import showing a start date of the first of the month. This is due to how the proration calculations work in eAutomate. The line item amount coming in from ConnectWise has already been prorated, if the line item is added in eAutomate with a partial month, eAutomate will prorate the amount again. 
  • Expiration date - Expiration date of agreement in ConnectWise.
  • Billing cycle - Will match from ConnectWise as long as billing cycles are set to match exactly between CW and EA. Details on that here.

The green shaded areas on the contract are pulled from the template used to create the contract:

  • Contract type
  • Contract bill code
  • Status
  • Base distribution code

The yellow shaded areas are automatically generated by eAutomate:

  • Contract number - The new contract created by the sync will use the next auto-generated number. If you have set something in variable 9 on the alert, those characters will be added at the beginning of the contract number.

On the Equipment/Items tab of the contract:

contract_sample_2.jpg

The blue shaded areas on the contract are information pulled from ConnectWise:

  • The items listed will match the addition products on the agreement in ConnectWise
  • Item number - pulled from ConnectWise, item is created by sync if doesn't already exist.
  • Description - description from ConnectWise, if there are multiple line items on the ConnectWise agreement of the same item number, all will be rolled up together and description will contain information from all items. (eAutomate doesn't allow the same item to be listed on the contract more than once.)
  • Quantity
  • Unit base rate - amount from ConnectWise
  • Base rate - total billed in ConnectWise

The green shaded areas on the contract are pulled from the template used to create the contract:

  • Base distribution code - code from the item record, which would match the code on the item template for that product type.

On the Billing/Contact Tab:

contract_sample_3.jpg

The blue shaded areas on the contract are information pulled from ConnectWise:

  • Bill to - matches bill to customer in ConnectWise
  • Name - contact name on the ConnectWise agreement
  • Blanket PO - ConnectWise invoice number

The green shaded areas on the contract are pulled from the template used to create the contract:

  • Billing group - if set on the template
  • Report group

The yellow shaded areas are automatically pulled from the customer record in eAutomate:

  • Branch
  • Tax code
  • Taxable
  • Sales rep 

The messages tab:

contract_example_messages.jpg

The blue shaded areas on the contract are information pulled from ConnectWise:

The sync adds a billing queue message noting when the next bill date of the agreement in ConnectWise is, this pulls from the next bill date in ConnectWise. If no date is shown in ConnectWise in this field, the message will indicate that ConnectWise didn't provide a date. This message will need to be acknowledged before billing the contract.

 

*  *  *

Variables

Variables

ID964_var_w.jpg

Variable W: Serviceable Item - Enter the item number to be added to the contract that will be used on all service calls generated by ID965 integration. This item will be added to all contracts created by the sync. **Required, the default value is CW-Service.

ID964_variables_1.jpg

Variable 4: Default Contract Template - the name of the default contract template in eAutomate. This template would be used if there is no matching contract template for the agreement type from Connectwise. The default is **CWAgreement.  **Required, we will create this template for you during the preflight process.

Variable 3: Contract # Field - the name of the custom field in Connectwise used to store the eAutomate contract number. See this link for how to set up the custom field in Connectwise. The default value is ZCJ_ContractNumber. **Required.

Variable 5: Default Item Template - the name of the default item template in eAutomate. This template would be used if there is no matching item template for the product type in Connectwise. The default is **CWNonInventory. **Required, we will create this template for you during the preflight process.

Variable 6: Item # Field - the name of the custom field in Connectwise to store the eAutomate item number. See this link for how to set up the custom field in Connectwise. The default value is ZCJ_ItemNumber, when the sync creates an item it will add the item number to this field. 04.02.21 Please note in the current version of the sync, if you pre-populate this field with an item number in EA, the sync will still create a new item if the two item numbers are not an exact match. **Required. 

ID964_variables_2.jpg

Variable 11: Default Term Code - Termination code to use when a contract detail line item is terminated on the eAutomate contract. Needs to be the code, not the description. **Required**

Variable 1: Agreement Status - If you would only like to sync agreements with a specific status, enter those statuses here. Leave blank to sync all agreement statuses.

Variable 2: Agreement Type - If you would only like to sync agreements of a specific agreement type, enter the specific agreement types to sync here. Leave blank to sync all agreements.

Variable 7: Exclude Product Types - If there are specific product types in Connectwise that you do not want to sync over to eAutomate, enter those here. Leave blank to sync all product types. (For example, if you have cost items on the Connectwise agreement and do not want those products to sync over to eAutomate, enter the product type of those items here to exclude them.)

ID964_variables_3.jpg

Variable 9: Contract #  Prefix - If you would like the contracts created by the sync to have a specific prefix (CW, MNS, IT, etc) enter that here. When the contract is created by the sync, it will add the letters from this variable to the beginning of the contract number. Leave blank to use the default contract number.

Variable 8: Renumber Invoices - You have the option to renumber the contract invoices in eAutomate to match the invoice number in Connectwise. Set this variable to Yes to renumber the invoices, choose No to not renumber the invoices. (Example, the invoice number in Connectwise is CW1234 and the invoice number in eAuomate for the contract invoice is INV123456. If you choose yes here, we will install a process that will change the invoice number in eAutomate from INV123456 to CW1234. This is especially helpful if you are sending the invoice from Connectwise, but applying the payment in eAutomate.)

Variable 12: Invoice Renumber Prefix - If you chose to have the invoices in eAutomate renumbered, you will need to select a prefix to use on the invoice. The default value is CW. If your invoices in Connectwise are ONLY numeric, you must select a prefix to add to the invoice number in eAutomate. (Example, your Connectwise invoice is 1234, to avoid possible duplicate invoice numbers in eAutomate, you must choose a prefix to add to the invoice so that the renumbering process will change the invoice number to CW1234 or MNS1234)

Variable 10: Invoice Status Trigger - If you only want agreement invoices in a specific status (Closed, for example) to sync over, enter that status in this variable. Leave blank to sync all agreement invoices regardless of invoice status.

*  *  *

Set Up

Set Up

1. Subscribe to both ID747 and ID964, being sure to update the variables as needed. 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. 

These next three steps may need an IT person with admin access to ConnectWise and eAutomate

2. Create API keys for CEO Juice in ConnectWise and enter them on the CEO Juice website (See this link for instructions on how to do that)  

3. We do require that the initial sync goes from your production ConnectWise database to a Test/Development EA database, so you will need to have a test eAutomate database set up for this process. If you have a test ConnectWise database, we can initially sync from that, but it is not required.   (This sync process only pushes information from ConnectWise to eAutomate while in test)

 4. We also require a test copy of our CEO Juice database to be created for the testing phase. See this link for details on how to do that.  

The next set of steps revolve around your setup in ConnectWise and will involve users who know how agreements and customer information is set up in ConnectWise and how the contracts should bill in eAutomate.

5. Do you currently track the eAutomate customer number on the company record in ConnectWise?   

        If yes, enter the field name on variable 5 of alert ID747.  

        If not, you’ll need to create a custom field to track this. See these instructions on how to do that.  The default custom field is ZCJ_CustomerNumber

6. There are also a few other custom fields that need to be created in ConnectWise:

        ZCJ_ContractNumber – On the agreement, to store the contract number from eAutomate.  

        ZCJ_ItemNumber – On the product ID, to store the item number from eAutomate.  

    See instructions on how to create these custom fields in CW here.

7. Review the Product types you currently have in ConnectWise, these will translate to items in eAutomate. We highly recommend that you have one product type per GL code.  

 8. Review the Agreement types you currently are using in ConnectWise, do you wish to sync all agreement types or only a few?  

Once all the above steps are completed, please let us know. We will then run our PreFlight app that will create the contract and item templates in your test eAutomate database.

9. After the templates are created, you will need to code the templates with the proper codes. Go here for notes on coding the item templates and here for coding the contract templates.

Once you have notified us that the templates are all coded properly, we will run the sync and pull all agreement invoices in the past 45 days into your test eAutomate database.

10. You will then review the contracts that were created, bill the contracts, and verify all information synced correctly from ConnectWise. A few things to note:

  • Review the contracts that were created, checking dates, base rate amounts, and item amounts.
  • Preview the next invoice, confirm that the totals match and that the tax status is in line.
  • Invoice contract and review the GL entries to verify that the amounts all posted to the correct accounts.

After confirming that everything is syncing properly, we will move the templates to your production eAutomate and repoint the sync to production to push in the agreement invoices.

*  *  *

Alert Functionality

Alert Functionality

The agreement sync can be set to push CW agreement invoices to existing contracts in eAutomate. If you would like to do this, please be aware that the sync cannot update existing line items on the contract. All existing line items will be terminated the first time that the contract syncs with a CW invoice. Additionally, you will need to manually enter the contract numbers in the custom field in CW, being sure to match the contract numbers exactly.

Connectwise allows you to put the same item on an agreement multiple times, this is not supported on contracts in eAutomate. When an invoice has the same item number multiple times, the sync will roll up the price from each of the items and add it to the eAutomate contract as one line item. The line item description will show all descriptions from Connectwise.

To determine if an agreement should update an existing contract or insert a new one, the sync first looks to our internal tables; if the agreement has already been synced to a contract, that contract will be updated by this agreement. If there is no sync record for this agreement, the sync app will look to the ZCJ_Contract Number custom field for a value. If there is a value here, the sync will attempt to sync to this contract. If this number does not exist in eAutomate the sync will fail and not insert this agreement invoice. If there is no sync record and the custom field is not populated, the sync will insert a new contract into eAutomate. **Very important to note that once the sync record is created in our internal tables, you can not change the value in the custom field!! Doing so will cause the sync to fail on this agreement.

Please note that you will not be able to bill an agreement in ConnectWise for multiple months at once and have each invoice sync properly over to eAutomate. If you are billing multiple months you will need to bill the first month and allow that invoice to sync over to eAutomate. Bill the contract in eAutomate, then go back to ConnectWise and bill the next month. Repeat the process for as many months as you need to bill.

 

Please review the needed set up in each of the below areas for the agreement sync to properly work:

Billing Cycles

Billing Cycles

Billing Cycles - Must Match between Connectwise and eAutomate!

The billing cycles that are set in Connectwise must match to the billing cycle options you have for the contracts in eAutomate exactly, both the code and the description. 

Billing cycles in eAutomate are found in Tools/Lists and Codes/Billing Cycles:

billing_cycles_EA.jpg

Billing cycles in Connectwise found in setup tables/Billing Cycle

billing_cycles_CW.jpg

If you look at the quarterly billing cycle in the above examples, quarterly is shown as Quarterly in eAutomate and QU in Connectwise. This mismatch will cause an issue when the agreement invoice syncs to the contract in eAutomate. It doesn't matter what the billing cycle is named, as long as they match exactly in both systems. (Most likely, it is easier to change the Connectwise billing cycles to match what you have in eAutomate, though the Bill Cycle ID in Connectwise can only have a max of five digits.)

If the agreement in ConnectWise does not have a billing cycle (one-time bill agreement), the sync will create the contract with the default billing cycle of Monthly. 

 

Serviceable as an Item

Serviceable as an Item

The sync process will add the base and additions from the Connectwise agreement invoice to the eAutomate contract as individual line items. In order to add these items to the service contracts in eAutomate, you will need to enable the option to Allow items to contracts and service calls.

This option is located in Tools\Options:

serviceable_as_an_item.jpg

Click on Contracts (1) and then check the option for Allow items on contracts and service calls (2). You will need to close eAutomate and reopen to see the change. 

Contract Tax

Contract Tax

The tax billed on the EA contract invoice is tied to the tax authority on the contract and the tax category that is on the contract base distribution code.

On the contract, the tax code is set on the Billing/Contact tab. For the contract to bill tax, there needs to be a billable tax code entered and the Taxable box must be checked. 

ID964_tax_1.jpg

These two settings will default to the customer settings when the contract is created. 

Every tax code in eAutomate is made up of tax authorities, you can have multiple tax authorities on one tax code. The tax authority determines what to charge tax on, based on the tax flags that are added:

ID964_tax_2.jpg

Each contract distribution code has a tax category listed:

ID964_tax_3.jpg

 

In order for the contract to charge tax, the tax category on the base distribution code needs to match one of the categories to tax that is listed on the tax authority. For example, if the base distribution code is set with a tax category of MISC and that is NOT a category listed on the tax authority, eAutomate will not charge tax on the contract invoice.

Agreements/Contract Templates

Agreement/Contract Templates

Connectwise Agreements = eAutomate Contracts

Agreement Type in Connectwise = Contract Template in eAutomate

Contract # in eAutomate = **CW AgreementType  We will create these initial templates for you in the testing phase, if you create new agreement types in Connectwise after the sync moves to production you will need to create a new template for the new agreement type.

You can see the list of agreement types that you have in Connectwise in the setup tables:

CW_Agreement_list.jpg

The preflight process will take every agreement type that you have in Connectwise and create a corresponding contract template in eAutomate. When reviewing your agreement types in Connectwise, things to consider:

1. Do you want every agreement type from Connectwise to sync to eAutomate? You can specify on variable 2 only the agreement types you want to sync.

2. Are there any agreement types that you are not using and could remove from Connectwise?

Every template in eAutomate will be created with the format **CW AgreementType. The contract templates in eAutomate will be "shells" that are used to create contracts by the sync process. Once the contracts have been created in eAutomate, you'll need to update the contracts with the correct codes to be used.

You will need to update each contract with the following information:

Contract_template_1.jpg

1. Contract type - The contract type will drive whether the contract accrues and will automatically update the bill-code when chosen.

2. Contract bill code - The bill-code will come into play for service calls applied to the contract. 

3. Status - The sync will set the eAutomate contract status to equal the Connectwise agreement status, anytime that the status exists in both systems. If Connectwise has a status that doesn’t exist in eAutomate, the Sync will use the template’s status for inserts and just leave the status alone on updates.

4. Base distribution code - The base distribution code is required; the distribution code used on the items added to the contracts is the primary driver of the revenue buckets. (The contract base distribution code would only be used if there is no distribution code on the items that are added to the contract.)

On the Billing/Contact tab of the contract:

contract_template_2.jpg

1. Billing group: If you want IT contracts to have a separate billing group, you can add that here. It is not required, just a way to segregate the IT contracts into a separate group and something we recommend doing.

2. Tax code: You must choose a tax code for the template. When a contract is created from this shell, the tax code will be updated to match the tax code on the customer.

3. Report group: If you currently have (or would like to have) a different invoice template used for the IT contracts created by the sync, update the report group used for the template. **We do recommend sending the invoice from eAutomate**

We have two different invoice templates that we can install for you:

A. CW_Contract Invoice-NoBase: This invoice template shows the quantity and description of each item on the contract invoice, but does not show the individual line item pricing:

invoice_option_one.jpg

B. CW_Contract Invoice-WithBase: This invoice template shows the line items on the contract, the quantity, and the line item pricing:

invoice_option_two.jpg

We can install either or both of these invoice templates for you to use, you would need to create a separate report group for each invoice template and then assign the report group to the contract template. Once assigned to the contract template then all contracts created from that template will have the same report group.

 

Product/Item Templates

Product/Item Templates

Product IDs in Connectwise = Items in eAutomate

Product Type in Connectwise = Item Template in eAutomate

eAutomate item number = **CW ProductType. We will create these initial templates for you in the testing phase, you would only need to create new templates if you add additional product types to Connectwise.

You can see the list of product types that you have in Connectwise in the setup tables:

CW_product_type_list.jpg

Each product type in Connectwise equates to one item template in eAutomate. The distribution code selected on the item template will drive the GL bucket used when the item is added to the contract. It's important to determine what GL breakout you want from the Connectwise items, and then make sure that you have one product type in Connectwise for each GL code to be used in eAutomate.

**The templates created by the sync default to Inventory items, though you can change these to expense items. Be aware that if you are going to use ID966 (Sales Order Sync) and use items on sales order with the same product type as an item used on an agreement, that you will need to fill in several more fields on the item templates. See this ID966 documentation for those additional fields needed.

On each template, you'll need to update the following items:

item_template.jpg

1. Category: Set the category as needed

2. Unit of Measure: Set the UM as needed

3. Contract base distribution code: This code will direct all revenue for items created of this product type when used on the contract.

 

base_distribution_code.jpg

1. Revenue account: The revenue account that will be used for the contract revenue when this product type is used.

2. Revenue department: Department that will be used

3. Revenue distribution: Default is set to 100%, to drive all revenue for the time to one revenue account. You can add multiple revenue accounts if you want to distribute the revenue across multiple accounts.

4. Tax category: Sets if the item will be taxed when used on a contract, very important that this is set correctly to ensure the contract is billing tax correctly.

**If you have items already set up in eAutomate that match a product ID in Connectwise, please review these items and verify that all have the correct contract base distribution code in place. If the sync finds a matching item already in eAutomate, it will use that item on the contract. If the distribution code is not set on the item, the revenue from that item will default to the GL account used on the contract distribution code (code set on the contract template).

Agreement Base Charge Item Templates:

In addition to the item templates for the product types, the preflight process will also add an item template for each agreement type. Agreements in Connectwise can have both a base amount and line items, contracts in eAutomate can only have one or the other. In order to add the base amount charged on the Connectwise agreement, that amount will be added to the eAutomate contract as a line item.

You will see these templates in eAutomate with the format "**CWBase AgreementType". These item templates are only needed if you are charging base amounts on the agreement in CW, if you are using an addition item to charge a base, then these can be skipped.

 

 

*  *  *

 

Best Practices & Tips

Best Practices & Tips

If you invoiced in Connectwise and don't see the contract updated in eAutomate:

1. Check the ID954 report for any errors. The ID954 report is accessed via the SSRS console, see here for more details on this report.

2. Sometimes the contract in eAutomate is marked as inactive or terminated, and therefore will not show up in the billing queue. Go to the contract list and search for the CW invoice in the Blanket PO field:

blanket_PO_field_search.jpg

Suggested Product Types

Financial Code       Description

5200 IT Related Hardware
5210 PCs & Laptops
5215 Servers
5220 BDR Hardware
5225 Datto Service
5230 Switches, Routers, Infrastructure Hardware
5240 Miscellaneous Hardware & Accessories
5250 Microsoft 365
5260 3rd Party Hardware
5265 3rd Party Software
5275 Extended Warranty
5280 Cloud-Based Services

 

Suggested Agreement Types

Financial Code       Description

4300 Professional Services IT & Support
4310 Project-Based IT Services
4320 Block of Time IT Services
4330 Fee-Based IT Services
4340 3rd Party IT Services
4350 Managed Services 24/7
4360 Managed Services Business Hours
4370 Managed Services Monitoring Only
4380 Total Managed Care 24/7
4380 Managed PC/Server
4410 Monthly Disaster Recovery/Backup
4420 Monthly Host Services
4430 Backup Services (BDR)
4440 Security Services (SOC)
4450 SecureTide Spam Protection
4460 Subscriptions
4470 User-Based
4480 Microsoft 365 Licenses
4490 Help Desk Services (HD)
4510 Externally Hosted Cloud (Azure, AWS, Etc.)
4520 Internally Hosted Cloud
4600 Telephony

 

See this post for how to set up an agreement in Connectwise with a minimum base.

Custom Field Setup

Custom Field Set-Up

To create the needed custom fields in Connectwise, first go to the Setup Tables and choose Custom Fields from the list:

CW_custom_fields_1.jpg

For the custom field ZCJ_ContractNumber (used to store the EA contract number) enter "agreement" in the Screen column and then click Overview from the Pod Description column:

cw_custom_fields_2.jpg

Click on the plus sign next to Custom Fields to add a new custom field:

cw_custom_fields_3.jpg

1. Enter ZCJ_ContractNumber in the Field Caption.

2. Check the box for Display on Screen? 

3. Check the box for Include on List View?

4. Click the Save and Close button

cw_custom_fields_4.jpg

To create the custom field ZCJ_ItemNumber (Used to store the EA item number), go back to Setup Tables > Custom Fields. Select Product Setup under the screen menu and then click on Overview:

cw_custom_fields_5.jpg

Click on the plus sign by Custom Fields to add a new field and use the Field Caption ZCJ_ItemNumber:

cw_custom_fields_6.jpg

Again, select the checkboxes for Display on Screen? and Include on List View?. Then click on the save and close button to save the new record.

 

 

*  *  *

Related Alerts

Related Alerts

ID747 - Connectwise Customer Sync

ID954 - SSRS Report for Agreement Sync details

ID965 - Connectwise Service Call Sync *In Beta

ID966 - Connectwise Sales Order Sync *In Beta

 

*  *  * 

Was this article helpful?
0 out of 0 found this helpful
Have more questions? Submit a request

0 Comments

Please sign in to leave a comment.
Powered by Zendesk