The contracts module takes agreement invoices from ConnectWise and uses the data to create/update contracts in e-automate. The ConnectWise agreement is the master for the contract information; the contract in e-automate is updated when the agreement is invoiced.
Jump to: Overview | Samples | Setup | Variables | Testing | Move to Production | Alert Functionality | Best Practices & Tips | Related Alerts
Click here for our ID964 videos!
Overview
Overview
ConnectWise Manage and the RMM tools do an excellent job of tracking products included in agreements, so we recommend that the ConnectWise Agreement be the master for contract billing. This sync process will take the agreement invoices from ConnectWise and create matching contracts in e-automate. The base amount and additions from the ConnectWise agreement will push to e-automate and update the line items on the contract when the agreement is billed in ConnectWise. This sync has options for information to push back to ConnectWise, including the e-automate contract number, marking the invoice in ConnectWise as paid when the e-automate invoice is paid, and adding the invoice number from e-automate to the ConnectWise invoice.
**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 e-automate. For example, the ConnectWise invoice can have an item with a quantity and extended price and show a billed amount of zero. E-automate 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 e-automate, and create the items on the contract if they also do not exist. You can choose to create the contracts and items yourself in e-automate 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. Additionally, this ensures that the contracts are created with the proper parameters so that the sync can update the contracts with no issues each month.
We use "templates" in e-automate 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 e-automate to be added to the contract. We create these templates for you as part of the testing process for the sync.
Run Schedule: Every 15 minutes (Monday to Friday, 7 AM to 7:30 PM)
Type of Output: Data Push
* * *
Sample
Sample
Jump to: Contract Header | Contract Item Details | Contract Billing/Contact | Contract Message | Email Output
Contract Header
Contract Header
The contract header covers all of the fields in the top section of the contract and the fields on the Installment based billing tab.
1. The contract number will be the next number from e-automate, combined with the optional prefix from variable 9. The e-automate contract number posts back to ConnectWise in the custom field ZCJ_ContractNumber. Details on the contract number.
2. The customer on the contract will match the company from ConnectWise. The customer field is touched when the contract is created. Details on customer matching.
3. The contract type is copied from the contract template used to create the contract. This field is only touched when the contract is created. Details on the contract type.
4. The contract bill code is copied from the contract template. This field is only touched when the contract is created. Details on contract bill codes.
5. The status of the contract will be set to active.
6. The billing method will be copied from the contract template. This field is only touched when the contract is created. Once billed in e-automate, this field can not be changed.
7. The start date of the contract will always be the first day of the month of the initial billing period. In the example below, the start date is 1/22/2025; the start date in e-automate will be 1/1/2025.
8. If there is an end date set on the agreement in ConnectWise, that date will be used as the expiration date on the contract in e-automate. This field is updated when the sync updates the contract, so if an expiration date is added in ConnectWise, it will be updated on the contract.
9. The billing cycle on the contract will match the billing cycle from ConnectWise. The name of the billing cycle in ConnectWise must match exactly the name of the billing cycle in e-automate. If there is no match, the sync will use the default billing cycle of Monthly. This field is only touched when the contract is created. Details on billing cycles.
10. The sync will set the billing period on the contract to match the period from the ConnectWise invoice. This field is updated each time the sync updates the contract. Details on contract billing period.
11. The option to use equipment base rates is set when the contract is created by the sync. This field is only touched when the contract is created. This option can not be changed once the contract has been billed in e-automate. This field is required to be checked to allow for each item on the contract to bill at a specific price.
12. The base rate on the contract is set to the total amount billed in ConnectWise when the contract is created and on each update of the contract.
13. The contract base distribution code will be copied from the contract template. This field is only touched when the contract is created.
14. The activated on date will be set to match the contract start date when the contract is created. This field is only touched when the contract is created.
15. The terminated on date field is touched on contract updates if the agreement has been set to a status of Expired or Cancelled in ConnectWise.
16. If the terminated on date is set, the sync will apply the default termination code to the contract.
17. An accrual cycle is set on the contract if the billing period is greater than one month. This field is only touched when the contract is created. (If you have a practice of accruing all contracts regardless of the billing period length, there is an option to accommodate this in the sync. You'll need to email help@ceojuice.com and ask to have this option turned on)
Contract item Details
Contract Item Details
Each product from the additions tab of the agreement in ConnectWise will have a matching serviceable item on the Equipment/Items tab of the e-automate contract.
1. The item number on the contract will match the product ID from ConnectWise. The item number is only touched when the item is added to the contract.
2. The description of the item will match the invoice description from ConnectWise. This field is updated each time the sync touches the contract.
3. The quantity will match the quantity to bill in ConnectWise. This field is updated each time the sync touches the contract. (The only time this quantity won't match exactly is when the same item is listed multiple times on the ConnectWise agreement. Details on items listed multiple times on an agreement.)
4. The unit base rate is the unit price of the item from ConnectWise. This field is updated each time the sync touches the contract.
5. The base rate is the ext price for the item. This field is updated each time the sync touches the contract.
**Note that ConnectWise allows the unit price and ext price to have up to 6 decimal places, while e-automate only allows for 2. If you are using the full six decimal places in ConnectWise, you may see slight discrepancies where items are a penny or two off in the total amount.
6. The start coverage date is set to the first day of the month that the item is added to the contract. This date is only touched when the item is added to the contract. **If a contract was created for the wrong initial billing period, you will have to manually reset these dates for each item on the contract, as the sync will NOT make any updates to these dates.
7. If the product is canceled on the ConnectWise agreement, the end coverage date will be updated to the last day of the month for the previous billing period.
8. If the item is terminated, the default termination code will be applied.
9. The base distribution code is pulled from the item record. This field is updated each time the sync touches the contract and is always pulled from the item record in e-automate. More details on the item level distribution code.
10. The bill code is pulled from the bill code set on the contract. This field is only touched when the item is added to the contract.
11. The tax code is pulled from the customer record. This field is only touched when the item is added to the contract.
12. The option to override the taxable status is touched when the item is added to the contract and with each update. Details on setting tax options in ConnectWise
13. The branch on the item is pulled from the customer record and only touched when the item is added to the contract. If you need to set the branch to a specific value for all contracts, there is an option to accommodate that. You'll need to email help@ceojuice.com to let us know to enable that, along with the specific branch to be used on all contracts.
14. There is an option to link agreement additions to locations in e-automate. To do this, you'll need to add a custom field to the agreement additions in ConnectWise and then populate this field with the customer number from e-automate for that location. Details on how to set up location linking of additions.
Contract Billing/Contact
Contract Billing/Contact Tab
The Billing/Contact tab of the contract contains the bill to information, tax settings, report group, and contact name.
1. The bill to customer will match the bill to company from the ConnectWise agreement. If the bill to company can't be matched to a customer in e-automate, the contract will be created with the bill to customer set as the same customer on the contract. Details on the bill to customer. The bill to company is touched on the creation of the contract and subsequent updates. If the billing site on the agreement is linked to a customer in e-automate, that customer will be used as the bill to company.
2. The contact name will match the contact name from ConnectWise. This field is only touched when the contract is created.
3. The branch is pulled from the customer record in e-automate. This field is touched when the contract is created and subsequent updates. If you need to set the branch to a specific value for all contracts, there is an option to accommodate that. You'll need to email help@ceojuice.com to let us know to enable that, along with the specific branch to be used on all contracts.
4. If you have checked the option to Group invoices on the contract template, this option will be checked on the contract created by the sync. This field is only touched when the contract is created. Group billing invoices
5. The bill contract box is checked upon creation of the contracts. Once the contract invoice is created, the sync will uncheck this box so that the contract will not come into the billing queue again until the next time it is updated by the sync.
6. The billing group will be pulled from the contract template. This field is only touched when the contract is created. Details on billing groups.
7. The tax code on the contract will be pulled from the customer record. Contract tax details. (This field is not touched on contract updates. If you need to set the tax code to a different code than the one set on the customer, you just need to do that one time when the contract is created.)
8. The taxable check box is based on the taxable status of the customer on the contract. This field is touched when the contract is created and subsequent updates.
9. The option to use the equipment tax codes is set when the contract is created. If you do not want this option set, you can uncheck the box on the templates. With this option unchecked, the contract tax code will be used to calculate all tax on the contract invoice.
10. The terms on the contract will pull from the customer record. This field is only touched when the contract is created.
11. By default, the sales rep on the contract is not set. If you want a sales rep set, there are two options. The first option is to pull the sales rep from the customer record; the second option is to pull the sales rep from a custom field in ConnectWise. See details on sales rep linking here. Send an email to help@ceojuice.com if you want to enable one of these options.
12. The report group will be pulled from the contract template. This field is only touched when the contract is created. Report group options.
13. The invoice number from ConnectWise will sync to the PO field on the contract. This field is updated with the new invoice number from ConnectWise each time the sync updates the contract. You do have the option to post the invoice number to the contract remarks if needed. Pushing the invoice number to the remarks field. If you post the ConnectWise invoice number to the remarks field, and there is a PO number on the agreement, that will post to the PO field of the contract. If you do not want the PO field to update the contract when using the remarks field for the invoice number, there is an option to disable that. Just send an email to help@ceojuice.com with that request.
Contract Message
Contract Message
The messages tab of the contract contains the billing queue message, which appears in the billing queue and will need to be acknowledged during the billing process in e-automate.
1. The sync automatically adds a billing queue message with the next billing date from the ConnectWise agreement. Billing Queue message details.
2. This message is set to require acknowledgment in the billing queue.
Email Sample
Email Sample
There are a total of three different emails that the sync will send:
1. Default Template: When either the default item template or the default contract template is used.
2. Contract Creation or Update: When a contract is created or updated.
Note that this process does not notify you when contracts are terminated. We suggest using ID617 to be notified of that.
3. Errors: When the sync records an error in updating or creating a contract. **This email is available beginning with the 20250822 version of the sync.
Default Template
Default Template
Contract Updates
Contract Created or Updated
An email will be generated when a contract is added or updated by the sync:
Columns on email:
Contract Number - The contract number from e-automate.
Log Type - Either SYNC UPDATE (Sync updated an existing contract in e-automate) or SYNC ADD (Sync created a new contract in e-automate)
EA Base Amt - The base amount on the contract in e-automate.
EAActiveLineAmount - The sum of the active line items on the contract in e-automate.
The EA base amount may differ from the CW Invoice Amt when there are terminated items on the contract with an end date in the future. In these cases, the base amount may not match the CW invoice total, but the EAActiveLineAmount should. If you see discrepancies here, please send an email to help@ceojuice.com for clarification.
CW Invoice Amt - The invoice amount from ConnectWise, minus any tax charged.
CW Invoice # - The invoice number from ConnectWise that updated or created the contract.
RunMonth - The run month from the ConnectWise invoice.
RunYear - The run year from the ConnectWise invoice.
These two fields are used to set the billing period on the contract in e-automate. Click here for more details on the billing period on the contract in e-automate.
BaseBilledThruDate - The current billed through date on the contract in e-automate. If the contract in e-automate has not been billed, this field will be blank.
In general, the combination of Run Month and Run Year should reflect the billing period AFTER the date in the BaseBilledThruDate. If the run month and year on the ConnectWise invoice are 6/2026, the base billed through date should reflect 5/31/2026.
Field | Now | Previous - This column shows changes made to the contract in e-automate compared to the previous values. This column will be blank when the contract is created.
Errors
Errors
Beginning with the 20250822 version of ID964, an email will be sent when the sync encounters an error.
Error messages that you will see in the ErrorType column:
Customer not found error - The company on the agreement in ConnectWise is not mapped to a customer in e-automate. The CWCompany column shows the company name from ConnectWise, and the CWCompanyID column has the Company RecID that should be placed in the custom property on the e-automate customer record. Customer mapping details.
Item not found error - This error indicates an issue updating or adding an item to the contract. Email help@ceojuice.com to resolve the error.
Error connecting to CEO Juice - This error indicates that the sync can not connect from your server to the CEO Juice server to obtain the API credentials. This error should self-resolve. If this error is repeating, please email help@ceojuice.com.
Unspecified error - This type is for any issue that does not fall into the other error types. When you see this error, reach out to help@ceojuice.com to have us check the error.
* * *
Set Up
Set Up
Jump to: EA-CW Mapping | EA Setting | CW Settings | Subscribe to Alerts
EA-CW Mapping
EA-CW Mapping
1. The ID747 sync is required to be running, so that all companies in ConnectWise are mapped to the proper customer record in e-automate. Details on ID747.
2. The billing cycles need to match between the two systems. The sync is checking for a match on the description from e-automate matching the description from ConnectWise. When no match is found, the sync uses the default billing cycle of Monthly.
Billing cycles in e-automate are found in Tools/Lists and Codes/Billing Cycles:
Billing cycles in ConnectWise are found in the setup tables/Billing Cycle
The sync is matching the billing cycle description from e-automate to the description in ConnectWise. See this link for the full billing cycle details.
EA Settings
EA Settings
1. Verify that the option to add items to service contracts is enabled. This option is located under Tools, Options, and then the Contract section. Be sure that the 'Allow items on contracts and service calls' setting is checked:
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 it to see the change.
2. The sync needs a default termination code to use when items on the contract are canceled. You'll enter this default in variable 11. The list of contract termination codes is found by going to the Tools menu, then Lists and codes, and then selecting 'Contract termination codes - standard' from the drop-down list:
CW Settings
CW Settings
1. There are a few custom fields that need to be created in ConnectWise:
ZCJ_ContractNumber – On the agreement, to store the contract number from e-automate.
ZCJ_ItemNumber – On the product ID, to store the item number from e-automate.
ZCJ_EASalesRep - Optional field to link a sales rep on the agreement to a sales rep in e-automate.
ZCJ_EALocation - Optional field to link additions to location customers in e-automate.
Instructions on how to create custom fields in CW
2. Review the Product types you currently have in ConnectWise. You will have one item template for each product type in ConnectWise. You'll need one product type for each GL code you want revenue to post to. Product types can be found in ConnectWise by going to the setup tables, selecting products from the category list, and then selecting Product Type:
3. Review the Agreement types you currently are using in ConnectWise. Do you wish to sync all agreement types or only a few? You will have one contract template for each agreement type that exists in ConnectWise. Agreement types can be found in ConnectWise by going to the setup tables, selecting agreements from the category list and then Agreement type:
We recommend having one agreement type for every 'flavor' of billing that you do.
Subscribe to Alerts
Subscribe to Alerts
1. Once you have the settings in ConnectWise and e-automate determined, subscribe to ID964 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.
* * *
Variables
Variables
All variables can be updated on the CEO Juice website. Use this link to get to the subscription for ID964 and then click on the variables tab to make your updates. Be sure to click the green save button when finished.
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, see CW service item for details. **Required, the default value is CW-Service; we will create this item during the preflight process.
Variable Z: Mark Invoices Paid - Option to mark invoices as paid in ConnectWise when the invoice is paid in e-automate. The default option is No. Switch to Yes if you want the sync to update the invoices in ConnectWise and mark them as paid.
Variable 4: Default Contract Template - the name of the default contract template in e-automate. 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 e-automate contract number. See this link for how to set up custom fields in ConnectWise. The default value is ZCJ_ContractNumber. **Required.
Variable 5: Default Item Template - the name of the default item template in e-automate. This template would be used if there is no matching item template for the product type in ConnectWise. The default is **CWJuiceDefault. **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 e-automate item number. See this link for how to setup custom fields in ConnectWise. The default value is ZCJ_ItemNumber. When the sync creates an item, it will add the item number to this field. **Required.
Variable 11: Default Term Code - Termination code to use when a contract detail line item is terminated on the e-automate contract. See details on terminating items for further details on the termination code. **Required**
Variable 1: ConnectWise Credentials - Select the credentials to use from the drop-down. Only needed if you have more than one set of API credentials on the CEOJuice website.
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. You can flip the functionality of this variable by beginning the string with (!). For example, entering Managed Services in this variable will ONLY sync agreements with the type of Managed Services. If you enter (!) Managed Services, then ALL agreement types EXCEPT for Managed Services will sync.
Variable 7: Exclude Product Types - If there are specific product types in ConnectWise that you do not want to sync over to e-automate, 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 e-automate, enter the product type of those items here to exclude them.)
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. Leave blank to use the default contract number. See here for more details on the contract number.
Variable 8: Renumber Invoices - You have the option to renumber the contract invoices in e-automate to match the invoice number in ConnectWise. Set this variable to Yes to renumber the invoices or No to not renumber the invoices. See here for more details on the invoice renumbering process.
Variable 12: Invoice Renumber Prefix - If you choose to have the invoices in e-automate 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 e-automate. See here for more details on the invoice renumbering process.
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. How to find the invoice status list in ConnectWise.
Variable X: Push Invoice # to CW after billing - After the contract invoice is created in e-automate, the invoice number will push to the invoice in ConnectWise. Not needed if you are using the invoice renumber option, see here for more details on pushing the e-automate invoice number to ConnectWise.
Variable Y: Invoice # Field - ConnectWise custom field to hold the e-automate invoice number. Only needed if Variable X is set to yes and the invoice renumber option is not used.
* * *
Testing
Testing
The first step in testing the agreement sync is to set up the testing environment. ID964 must be tested from your production ConnectWise database to a TEST e-automate database. Agreement invoices created in ConnectWise can be deleted after testing.
Once the testing environment is set up, we will run our preflight process to create the item and contract templates for you. You'll then update the coding on each template. Once that is done, we can sync agreement invoices to the test database to create contracts for testing.
Jump to: Testing Setup | Contract Templates | Item Templates | Testing Checklist
Testing Setup
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 contract sync. Details on creating API keys.
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.
3. e-automate test Database – A test database is required to sync contracts initially for review. See this link for notes on creating a test e-automate database. **It's very important that this test database is NOT updated while the sync is being tested, as this will overwrite the item and contract templates**
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 sync for testing and run the preflight process to create the item and contract templates.
Contract Templates
Contract Templates
You will have one contract template for each agreement type that you have in ConnectWise, plus one default contract template. You want to be sure to have at least one agreement type for every "flavor" of billing that you do.
Updates needed on the contracts:
1. Contract type - More details on the contract types in e-automate are here.
2. Contract bill code - More details on the contract bill code in e-automate are here.
3. Contract status - This is a required field on the contract that will need to be set. We'd recommend setting the status to Active.
4. Billing method - This is determined by the option set on the contract type. Be sure that any block of time agreement types are set to deposit-based and not installment-based.
5. Billing cycle - Do NOT set a billing cycle on the templates.
6. Base distribution code - This is a required field on the contract; it's only used when items added to the contract do not have a distribution code set. See more details on the base distribution code here.
**You can check either the bill in arrears (1) or bill in advance (2) options on the template. To do so, you'll first need to add a billing cycle:
The contract sync will automatically force the billing period to match the billing period from ConnectWise, so these settings are NOT required. More details on the billing period are here. If you do check either of these options, remove the billing cycle after you have set them.
On the Billing/Contact tab of the contract, these codes need to be set:
1. Group invoices - If you would like to group bill contracts in e-automate, check this option on the template. See notes on group billing here.
2. Billing group - This is not a required field, but we do recommend setting up a billing group to be used on all contracts created by the sync. See more details on the billing group here.
3. Tax code - The tax code is a required field, and so you must set a tax code on the template. This tax code DOES NOT transfer to the contracts created by the sync; the tax code is pulled from the customer on each contract created.
4. Report group - The report group is a required field. We will add several report group options for you to use. Details on report groups are here.
Item Templates
Item Templates
You'll have one item template for each product type in ConnectWise; these item templates all begin with **CW and then the product type. You want to have at least one product type for each GL account that you want revenue to post to. Additionally, you'll have one item template for each agreement type. These item templates will start with **CWBase and then the agreement type. These base templates are only used if you are billing a base amount on the agreement in ConnectWise. See here for more details on base charges on the contract.
These codes need to be updated on the item templates:
1. Description - The description will default to ID964 Item Template; you can leave this as is or change it. When the sync creates an item, it will use the description from the product in ConnectWise.
2. Category - This is a required field on the item; the sync will create the template with the first category option it finds, so you'll most likely want to change it.
3. Unit of measure - This is a required field on the item; the default when the item is created is EA. You can change the unit of measure or leave it as is.
4. Contract base distribution code - This is the most important code to set on each item template, as this determines what revenue account will be used when the item is billed on a contract. More details on the distribution code are here.
If you are going to be using the sales order sync with ConnectWise (ID966), these same templates will be used to create items and will need additional codes added. See the documentation here on the other codes you'll need to set.
**If you have items already set up in e-automate 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 e-automate, 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).
If you do not use base amounts on the agreements in ConnectWise, you do not need to update the base item templates. If you do use a billing amount on the ConnectWise agreement, you'll need to code the distribution code on the base templates to the appropriate revenue account, and you will want to change the description of the item, as that will show on the invoice from e-automate. See here for more details on the base billing amount.
Testing Checklist
Testing Checklist
Once the templates have been updated, you're ready to begin syncing invoices to the test database for review. Verify the following are all working as expected:
- 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.
- Bill an additional month in ConnectWise to verify that the contract is updated properly with the next month's invoice.
- Terminate an agreement and additions from the agreement to verify the termination code is applied properly in e-automate.
After confirming that everything is syncing properly, we will move the templates to your production e-automate and repoint the sync to production to push in the agreement invoices.
* * *
Move to Production
Move to Production
Once you are finished testing, the process to move the sync to production is shown below:
- Review the variables on your ID964 subscription to verify that all is set correctly.
- Select the go-live date for the move to production. Since ConnectWise agreements all bill on the first of the month, the go-live date for ID964 is usually the first of the month.
- If you have any existing contracts in e-automate, terminate those as of the day BEFORE the go-live date. (If the go-live date is May 1st, all existing contracts in e-automate will have a termination date of April 30th.) This allows e-automate to automatically calculate the prorated amount to bill through the end of the month, and then the sync will create new contracts that start billing on the first of the month. (See notes here on why we don't recommend syncing to existing contracts in e-automate.)
- CEO Juice will review the coding on the item and contract templates in test and advise on any codes that don't exist in production.
- If there are any product or agreement types that created templates in test and do NOT need to be created in the production e-automate, mark those as inactive in ConnectWise. Inactive types won't be created as part of the preflight process.
- Once any needed codes have been created in test, CEO Juice will run the preflight process on the production database to create the item and contract templates.
- CEO Juice will copy over the coding on the item and contract templates to the production database, along with the report groups and e-views.
- Once everything is ready to run in production, CEO Juice will advise on any existing invoices that will be pushed to the production database. On the first production run, the sync will check for agreement invoices updated in the past seven days. If any of those invoices should not sync to production, the invoices will need to be deleted or have the billing status updated in ConnectWise.
- After CEO Juice has received confirmation that the invoices in ConnectWise are ready, we will enable the process to run on production.
* * *
Alert Functionality
Alert Functionality
The sync is triggered by the agreement invoice in ConnectWise. Changes made to the agreement in ConnectWise over the course of the month do not update the contract in e-automate until the agreement invoice is generated.
Once a new agreement invoice is created, the sync will check:
1. Is the customer linked in ConnectWise? If a customer match can't be found, the invoice will not import.
2. Is the agreement in ConnectWise linked to a contract in e-automate? This can be done manually via the custom field in ConnectWise or automatically by the sync from a previous invoice. If the agreement is linked to a contract in e-automate, that contract will be updated by the sync.
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 e-automate will also be created based on the item templates.
4. After the contract is updated in e-automate, you'll need to cycle the contract through the contract billing queue to create the contract invoice. The sync sends an email with a list of contracts updated and created so you know when the contracts have been updated.
5. Once the contract has been billed in e-automate, the sync will uncheck the Bill contract box on the contract. This will stop the contract from coming into the billing queue. When the next invoice is generated in ConnectWise, the sync will check this box to enable the contract to be billed. This process is done to stop contracts from being billed in e-automate prior to the sync updating the contract.
Important notes:
- Tax is not synced between ConnectWise and e-automate. The tax for the contract is calculated in e-automate based on the tax codes assigned to the contract/item. Full notes on tax setup for the sync.
- Proration should be calculated in ConnectWise; dates on items are purposefully set to the first date of the billing month on the e-automate contract so that e-automate does not try to prorate billing amounts that have already been prorated in ConnectWise. Full notes on proration and the sync.
Jump To: Matching between EA and CW | Contract Header Fields | Contract Line Item Details | Invoice Processing | ConnectWise Fields
Matching between e-automate and ConnectWise
How the sync identifies and connects records between e-automate and ConnectWise, including customer mapping and billing cycles.
Jump to: Customer Mapping | Bill to Customer | Billing Cycles
Customer Mapping
Customer Mapping
ID747, the customer sync, is required for ID964. You do have the option to use ID747 in No Update mode, which will only update the background mapping in the custom property in e-automate and not make any changes in ConnectWise. Details on ID747 are here.
The agreement sync matches customers based on the ConnectWise company recID being in the custom property ZCJ_CW_CompanyID on the customer record in e-automate:
Additionally, the agreement sync will check for customer matches based on the e-automate customer number in the Account ID, Company ID, or the custom field ZCJ_CustomerNumber. (Note: The service sync (ID965) and sales order sync (ID966) match customers solely on the custom property in e-automate.)
If the sync is unable to match the company from ConnectWise to one in e-automate, the invoice will not be inserted. If the sync creates a contract under the wrong customer, stop and review the customer mapping and make any needed corrections to the company mapping. Changes to the customer on the contract in e-automate should not be changed by future updates of the contract, but if you have any issues with the customer on the contract in e-automate, please reach out to help@ceojuice.com.
Bill To Customer
Bill To Customer
The bill to company from the agreement in ConnectWise will be used as the bill to customer on the contract in e-automate. The sync uses the same matching criteria for the bill to company as it does for the main customer on the contract. If the sync can not match the bill to company to a customer in e-automate, the contract will be created with the customer from the contract header as the Bill to.
If the billing address on the customer record in e-automate is not the same as the physical address, the sync will pull the address from the Billing Address field on the customer record:
If the Billing Site on the agreement is NOT the main site, the sync can link the billing site on the ConnectWise agreement to the bill to on the contract in e-automate:
In order for this to work, you'll need to be sure that the site in ConnectWise is linked to the proper location record in e-automate:
The bill to company on the contract is touched on contract updates, so if the Bill to in ConnectWise is changed, that change will be reflected in e-automate when the next invoice from ConnectWise is synced.
Billing Cycles
Billing Cycles
The billing cycles that are set in ConnectWise must match the billing cycle options you have for the contracts in e-automate exactly.
Billing cycles in e-automate are found in Tools/Lists and Codes/Billing Cycles:
Billing cycles in ConnectWise are found in the setup tables/Billing Cycle
The sync is matching the billing cycle description from e-automate to the description in ConnectWise. If the sync can't find an exact match for the billing cycle, it will use the default of Monthly. If your monthly billing cycle in e-automate doesn't have the description of 'Monthly', please let us know so that we can update the name of the default billing cycle to use. If the billing cycle in ConnectWise doesn't match one in e-automate, and the default billing cycle doesn't match a billing cycle in e-automate, the invoice will fail to sync, and you'll receive an email with 'Unspecified error'.
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. You will need to manually terminate this contract once it has been billed in e-automate.
Contract Header Fields in e-automate
Fields the sync creates and maintains on the e-automate contract header.
Jump to: Contract Number | Contract Branch | Contract Type | Contract Bill Code | Contract Status | Contract Billing Method | Contract Dates | Contract Billing Period | Contract Accruals | Contract Base Distribution Codes | Contract Base Amount | Contract PO | Contract Remarks | Contract Message | Contract Tax | Use Equipment Tax Code | Billing Groups | Sales Reps | Report Groups | Bill Contract Checkbox | Expired and Canceled Agreements | Attachments
Contract Number
Contract Number
The sync will use the next contract number from e-automate. This is found in e-automate by going to the Tools menu and selecting options. Then click on Contracts, and you'll see the next contract number that will be assigned in e-automate.
You do have the option to add a prefix to all contracts created by the sync, which we recommend doing. This allows for easy filtering in the contracts screen for the contracts created by the sync. This prefix is set in variable 9. In the example below, variable 9 is set to CW-
You can change the contract number after the sync has created the contract; this will not affect the linking of the agreement to the contract. Creating a new revision of the contract in e-automate will not cause the sync to update the revised contract; it will continue to update the initial contract that was linked by ID964. We do not recommend using the contract revision process in e-automate for contracts created by ID964.
If you need to break the linking in our background tables between an agreement in ConnectWise and a contract in e-automate, you will need to email help@ceojuice.com with the contract number from e-automate.
Contract Branch
Contract Branch
The branch assigned to the contract will be pulled from the customer record in e-automate.
This field is not touched on updates to the contract, so if you need to change the branch on the contract after it is created, you can do that, and it won't be changed the next time the sync updates the contract.
If needed, there is an option to specify which branch to assign to every contract created by the sync. With this option, you will specify ONE branch that will be assigned to EVERY contract created by the sync. If you are using this option and change the branch number on a contract, the next time that the sync updates the contract, it will set the branch back to the specified branch to use on all contracts.
If this is an option that you want to use, please send an email to help@ceojuice.com requesting that this be turned on with the name of the branch to be used.
Contract Type
Contract Type
Contract types in e-automate are used to set the defaults used when a contract is created. These are similar to agreement types in ConnectWise, though you do not need to have the contract types match exactly to the agreement types.
When creating a contract type in e-automate, go to Lists and Codes, then Contract Types.
There are four fields required on the contract type:
1. Contract type - The name of the contract type.
2. Description - A description of the contract type.
3. Base distribution code - The default distribution code used at the contract level when this contract type is used on a contract.
4. Billing method - The contract type determines if the billing method will be installment-based or deposit-based. Billing method details.
The remaining fields are optional when setting up the contract type. You may want to set a default bill code (5) or a report group (6).
**When setting the contract type on the contract templates, you can override the defaults for everything except the contract type name and the billing method.**
Contract Bill Code
Contract Bill Code
The contract bill code will determine what is billable and what is covered for service tickets applied against the contract. When the sync creates a new contract, it sets each item added to the contract with the contract bill code on the template.
Contract level bill code:
Item level bill code:
If the bill code at the header level is later changed on the contract, that change DOES NOT push to the items existing on the contract and will need to be manually changed. The bill code at both the header level and item level is not touched on updates, so any changes you make to the bill code once the contract has been created will not be changed.
Depending on how you are billing for service, you may need to set up advanced bill codes so that what's billable in ConnectWise is also billable in e-automate. See how to setup advanced bill codes in e-automate. See the documentation How bill codes function in relation to the ID965 service call sync for more details on how bill codes are used with ID965.
Contract Status
Contract Status
By default, the sync will set the contract status in e-automate to Active and will sync all agreements that have a status of either Active or Inactive.
If you would like to have the contract have a status of inactive when the agreement in ConnectWise is inactive, there is an option to do that; you'll need to reach out to help@ceojuice.com to enable that option.
Contract Billing Method
Contract Billing Method
Contracts in e-automate have two billing methods:
- Installment: Services or charges that are billed on a regular billing cycle: monthly, quarterly, or annually. These can be either serviceable items, such as license counts, or equipment billing for usage.
- Deposit: A block of either hours or dollars sold to a customer for service. As service calls are created and applied against a deposit-based contract, the hours or dollars on the contract are decremented.
Once a contract has been billed in e-automate, the billing method can not be changed. This is why it is important to be sure that the contract templates have the proper billing method set, to avoid having to terminate and redo contracts that are not created with the proper billing method.
In e-automate, it is not possible to have a contract that bills BOTH a block of time AND monthly services. This IS possible in ConnectWise, and therefore it is important to keep these types of contracts separate in ConnectWise so that each contract will sync to e-automate properly.
For further details, see syncing time block contracts with ID964.
Contract Dates
Contract Dates
The sync will populate the start date of the contract to match the start date in ConnectWise:
On the e-automate contract:
The only time the start date in e-automate will not match the start date in ConnectWise is if the agreement is set to start billing mid-month. Then the sync will set the start date of the contract back to the first of the month to avoid e-automate attempting to prorate the billing amount.
Examples:
1. The start date of the agreement is 1/22/25 and the agreement has a billing start date of 2/1/25: The start date in e-automate will be 1/22/25, all items added to the contract will have a start coverage date of 2/1/25.
2. Both the start date AND billing start date in ConnectWise are set to 1/22/25: The start date of the contract in e-automate will show as 1/1/25, and all items added to the contract will have a start coverage date of 1/1/25.
Contract Billing Period
Contract Billing Period
ConnectWise contracts only allow for billing on the first of the month through the end of the month.
Each month, when the sync updates the contract, it takes the billing period from the ConnectWise invoice and sets the e-automate contract to match that billing period. You can check the ConnectWise billing period by going to the Invoices tab of the agreement:
The sync uses the Month and Year for the invoice to set the billing period in e-automate:
Due to the sync matching the billing period from ConnectWise, it's not necessary to have the bill base rate in arrears or bill base in advance options set, as the sync will force the billing period to match regardless of those settings.
One of the reasons that it is VERY important that you do not bill the contract prior to the sync updating the contract is due to the sync resetting the billing period when it touches the contract. The sync will uncheck the bill contract box once the contract has been invoiced to prevent the contract from billing prior to the next invoice from ConnectWise.
In e-automate, once you have billed the contract, the billing period is automatically rolled forward. If the sync updates the contract AFTER it has been billed for the period, the billing period will get rolled back, and the contract will go back to showing in the billing queue.
To correct this issue, you need to manually reset the billing period on the contract by clicking on the pencil edit button and then clicking on the green arrow to reset the period:
After you click on the OK button, you'll need to make another change to the contract so that the OK button on the contract is not greyed out. Adding a space in the remarks section should be enough to get e-automate to recognize that changes were made.
Contract Accruals
Contract Accruals
When the billing cycle on the contract is greater than one month, the sync will automatically use the accrual settings for the contract, which are set in Options here:
To make sure that an accrual cycle is added to the contracts, the base distribution code on the installment-based billing tab of the contract must be set to use accruals:
Any contract with an accrual cycle set will not have the Bill contract box unchecked when the contract is invoiced.
If the billing cycle is one month, the sync will default to NOT setting an accrual cycle on the contract. If, for any reason, you need contracts with monthly billing cycles to accrue, you'll need to send an email to help@ceojuice.com to request that the sync be modified to always set an accrual cycle.
Contract Base Distribution Code
Contract Base Distribution Code
The base distribution code determines whether the contract will accrue and sets the GL account that revenue will post to; the distribution code is set on the contract type and will automatically update when you update the contract type.
1. The check box Use accruals needs to be checked if the contract should accrue.
2. Revenue account - The GL account that the revenue will be posted to.
3. Revenue department - The GL department that the revenue will be posted to.
4. Revenue distribution - The percentage of revenue to be posted to the account. You can split the revenue among several accounts; the total distribution needs to add up to 100%.
When posting revenue, e-automate checks for the distribution at the item level; if no code is found there, the code at the contract level is used.
The contract base distribution code on the item template is copied to each item created by the sync, and therefore will be used at the item level of the contract (1). You'll want to check for any existing items in e-automate where the item number matches a product number in ConnectWise and verify that these items all have a base distribution code set. If existing items do not have a base distribution code set, the base distribution code from the contract header will be used.
Contract Base Amount
Contract Base Amount
If you are billing a base amount on the ConnectWise contract, that amount will show as a serviceable item on the contract in e-automate. ConnectWise allows you to bill both a base rate and additions, but e-automate does not have the same functionality; contracts either bill a contract base rate or a base rate by equipment/item.
The base amount on the ConnectWise agreement shows in the Recurring Invoice Parameters pod as the Billing Amount:
**The logic in ID964 expects that this amount will ALWAYS be positive. If you enter a negative amount in this field, the sync will NOT pick it up and add it to the contract in e-automate.**
This amount will show on the e-automate contract as a line item, using the **CWBase template that matches the agreement type:
Contract Blanket PO
Contract Blanket PO
The invoice number from ConnectWise will post to the blanket PO field on the contract in e-automate. This allows for easy searching in the contract list for a specific invoice from ConnectWise that has synced to e-automate.
Contract Remarks
Contract Remarks
If you do not want the ConnectWise invoice number to post to the Blanket PO field on the contract, there is an option to have the invoice number from ConnectWise post to the remarks field.
You will need to contact CEOJuice by emailing help@ceojuice.com to have this switched. The sync will add the invoice number before any existing content in the remarks section. The invoice number will be updated each month and replaced with the current invoice number.
Contract Message
Contract Message
The sync will populate a message on the contract with the next billing date from ConnectWise (1). This message is set to require acknowledgment in the billing queue (2).
The date that is added to the billing queue message is pulled from the next invoice date in ConnectWise for the invoice:
If this date is not populated for annual agreements, see the notes here on how to correct that in the ConnectWise settings.
The message is intended to be used as a way to confirm that the contract has been updated by the sync prior to invoicing the contract in e-automate. If the next invoice date in the message matches the billing period date, the invoice has not been updated by the sync and should not be billed. In the above example, the message on the contract indicates that the next billing date in ConnectWise is 8/1/23, meaning that in e-automate, the contract should be billing for the 7/1-7/31 period. If the contract in e-automate is billing for the 8/1/8/31 period, the contract has not been updated by the sync and should not be billed in e-automate.
Contract Tax Code
Contract Tax 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.
These two settings will default to the customer settings when the contract is created. These settings are not touched on updates by the sync, so if they need to be changed, you can do so.
Use Equipment Tax Codes
Use Equipment Tax Codes
The option for 'Use equipment tax codes' is copied from the contract template used to create the contract in e-automate. When the contract templates are created during the preflight process, this option is checked by default. If you do not want to bill tax based on each item on the contract, you can uncheck this option on the template, and it will not be copied over to the contract created from that template.
If this option is unchecked, the tax code set on the contract will be applied to all items on the contract.
Billing Groups
Billing Groups
If you want IT contracts to have a separate billing group, you can add one to the contract templates. It is not required, just a way to segregate the IT contracts into a separate group, and something we recommend doing.
To create a billing group in e-automate, go to Lists and Codes and select Contract bill groups from the drop-down list:
Assign the bill group to the contract templates, and it will then be copied over to contracts created from that template.
Sales Reps
Sales Reps
By default, the sales rep on the contract is not updated. If this is a field that you would like updated, there are two options:
1. Pull the sales rep from the customer record in e-automate.
2. Pull the sales rep from a custom field on the agreement in ConnectWise.
For option one, if there is a sales rep assigned to the main customer on the contract, that sales rep will populate the sales rep field on the contract.
For option two, you'll first need to create a custom field in ConnectWise on the agreement overview called ZCJ_EASalesRep. This field will be populated with the employee number from e-automate for the sales rep:
**If using this feature, this field must be filled in with a valid e-automate employee number. If the field is blank or the employee number is not valid, the sync will report an error and will not be able to update the contract.
You'll need to be sure to use the employee number from e-automate, and that the employee record is set as a sales rep:
To enable either of these options, you'll need to email help@ceojuice.com and specify which option you want to use to update the sales reps.
Report Groups
Report Groups
The report group on the contract determines what invoice format is used when printing/viewing the invoice in e-automate. We have a total of six different report groups that we will create for you as part of the preflight process. How to create report groups in e-automate.
The report groups are listed below. Click on the report group name to see a sample of the invoice for that group.
A. CW No Base Rate: Shows line items, with no pricing. This invoice template shows the quantity and description of each item on the contract invoice, but does not show the individual line item pricing:
B. CW Details: This invoice template shows the line item description on the contract, the quantity, and the line item total charge.
C. CW No Details: Only shows the billed amount. The last option does not show any of the line items on the invoice, just the total amount charged.
D. CW Full Details: Shows the full details of each item pulled from the ConnectWise agreement. This format is best used when you have multiple items of the same product ID on an agreement, as this invoice will show each item description instead of the one rolled-up item from the EA contract. **This is a newer format; please email help@ceojuice.com to get it installed for you.
E. CW Rollup: Shows the full details of each item pulled from the ConnectWise agreement; items that have a billing amount of zero only show the description. **This is a newer format; please email help@ceojuice.com to get it installed for you.
F. CW Details with Price: Shows the item description, quantity, unit price, and total charge for the item. **This is a newer format; please email help@ceojuice.com to get it installed for you.
Bill Contract Checkbox
Bill Contract Checkbox
Once the contract invoice has been created, the sync will uncheck the bill contract box on the contract in e-automate.
When this box is unchecked, the contract will not pull into the contract billing queue. When a new invoice is created in ConnectWise, and the sync updates the contract in e-automate, it will check the Bill contract box so that the contract will pull into the billing queue.
This is intended to stop contracts from getting billed in e-automate before the next invoice from ConnectWise updates the contract. If you need to void and reset an invoice in e-automate and will NOT be creating a new invoice in ConnectWise, you will need to manually check this box on the contract to bill the contract.
Expired and Canceled Agreements
Expired and Canceled Agreements
The sync will also check for agreement updated in the last 30 days that are in the status of either Expired or Canceled, and update the linked contracts to be terminated. The terminated on date will reflect the date that the sync updated the contract, and the default term code will be applied to the contract. (You can use ID617 to see a list of contracts canceled each day.)
**If an invoice is created in ConnectWise for an expired or canceled agreement, the sync will NOT update an existing contract or create a new contract in e-automate.**
Any terminations of contracts must begin in ConnectWise so that the sync will update the linked contract in e-automate. If there are contracts that should be terminated and are not showing as terminated in e-automate, open the agreement and then click on the Save and Close button to update the 'last update time'.
If an invoice is generated in ConnectWise for an agreement that has a status of cancelled or expired, the sync will not process that invoice.
Attachments
Attachments
Any attachments to the agreement in ConnectWise will sync to the contract in e-automate. By default, attachments will sync to e-automate. If you do not want to sync attachments, please email help@ceojuice.com to have this option turned off.
Attachments in ConnectWise are on the Attachments tab of the agreement:
The files attached to the agreement will be visible on the attachments screen for the linked contract in e-automate:
Contract Line Item Details
How ConnectWise agreement additions become contract detail lines in e-automate.
Jump to: CW-Service Item | Items on Contract | Item Dates | Item Level Base Distribution Code | Item Tax Settings | Locations | Invoice Item Sequence | Billable Options in CW | Terminating Items
CW-Service Item
CW-Service Item
Every contract created by the sync will have the item CW-Service added to the contract.
This item is created as part of the preflight process, the default description is ConnectWise, and the item is created as an expense item:
This item is used in conjunction with the ID965 service call sync as a way to link service calls to the contract. This item is added with a price of $0.00 and is suppressed from showing on the custom invoice formats we provide.
Items
Items on Contract
Each product that is listed as an addition on the agreement in ConnectWise will be listed as a serviceable item on the contract in e-automate.
To add the items properly to the contract, you will need to have the option to add items to contracts checked in e-automate.
When the sync processes the additions on the ConnectWise invoice, it checks for a match between the product ID from ConnectWise and an item number in e-automate. If there is an exact match between the product ID and the item number, the sync will use that item. If you have products in ConnectWise that do not exactly match the item number in e-automate, you can manually link those items together using the custom field ZCJ_ItemNumber and entering the e-automate number in that field on the product in ConnectWise.
For the above product, when the addition 'Managed Workstation' is added to a ConnectWise agreement, the sync will add the item 'Mngd WkSt' to the e-automate contract instead of creating a new item in e-automate with the item number 'Managed Workstation'.
Details on how to create this custom field in ConnectWise.
If there is no match between the product ID and item number, and no value is populated in the ZCJ_ItemNumber custom field, the sync will create a new item in e-automate using the item template that matches the product type from ConnectWise for that product.
Note: once the item is created in e-automate, no changes made in ConnectWise to the linked product or product type will sync to the item record in e-automate.
Dates on Items
Dates on Items
When the item is added to the contract, it will set the start coverage date and the start base billing date to the first day of the month for the billing period on the ConnectWise invoice.
These dates do not match the effective date for the addition in ConnectWise; setting these dates to match the effective date from ConnectWise will cause e-automate to automatically prorate the billing amount. These dates are NOT touched on updates to the contract, as changing the start coverage dates can have unintended consequences. If you have a contract that was initially created for the wrong billing period, you will need to manually reset these dates on the contract in e-automate.
Item Level Base Distribution Code
Item Level Base Distribution Code
The base distribution code on the contract item determines where the revenue posts when that item is billed. When the sync creates an item, it copies the base distribution code from the item template to the new item, and that is the distribution code used on the contract item.
The base distribution code on the contract item is updated each time the item is updated. If the base distribution code is changed on the item record, when the sync updates that item on a contract AFTER that change, the new distribution code will be used. The update to the code on the contract item will NOT happen until the sync updates the contract with a new invoice.
If the item does not have a contract base distribution code, e-automate uses the contract level base distribution code to determine what account to post the revenue to.
Inherit Base Distribution Code
In e-automate version 21 and higher, there is an option for the serviceable item to inherit the base distribution code from the contract level:
When the sync adds an item to the contract and the item record has a base distribution code added, this option will be unchecked, and the distribution code from the item will be used. If the item added to the contract does not have a distribution code, then this option will be checked, and the distribution code from the contract level will be used. This is functionality within e-automate and not something that the sync is updating.
There are two scenarios where an item added by the sync will not have a distribution code: 1) There is an existing item in EA where the item number = product ID, and this item does not have a distribution code set. 2) The template used to create the item does not have a distribution code set.
For items that do not have a base distribution code and have this option checked, when a base distribution code is added to the item record, this option will be unchecked on the next contract update, and the base distribution code from the item record will be added.
Contract Item Tax Settings
Contract Item Tax Settings
For items to be eligible to be taxed in e-automate, the additions on the agreement all need to be checked as Taxable:
If this option is NOT checked on the Addition product ID, the sync will check the Override taxable check box on the item on the contract in e-automate:
When the Override taxable option is checked on the line item, no tax will be charged for that item, regardless of the other tax settings in e-automate. To make sure that this box is unchecked in e-automate, you'll need to make sure that the taxable option on the addition in ConnectWise is selected. (The taxable default for a product is set on the product; this can be overridden on the addition.)
Location Linking
Location Linking
There is an option to link the additions on the agreement in ConnectWise to a location in e-automate. This will allow you to properly charge tax based on the location of the item, as the tax code on the line item will pull from the location customer record. If you want to add the locations to the line items on the contract, you MUST use this process. Manually updating the location on the contract line items will cause the sync to terminate those items and add new items at the main customer when a new invoice is synced from ConnectWise.
To add this option, you'll first need to create a custom field in ConnectWise named ZCJ_EALocation for the agreement additions. In this field, you'll enter the exact customer number from e-automate that the product should be linked to:
When the contract is updated in e-automate, the sync will set the location on the item to match the customer number in the custom field:
To enable this option, you'll need to email help@ceojuice.com and ask to have this feature enabled.
If you are using this option and have the same product ID listed more than once on the agreement in ConnectWise, with the products set to different locations, the product description for each item must be unique. This will ensure that the sync will add the items to the contract in e-automate as two separate items.
Invoice Item Sequence
Invoice Item Sequence
If you need to control the order in which the items appear on the invoice, you can use the sequence field in ConnectWise to control this.
As additions are added to the agreement, the sequence is automatically set in numerical order. You can open the addition and manually change this number if needed:
The order of the line items on the custom reports will follow this order. This will only work if you are using one of the custom Crystal reports installed as part of ID964. The native contract reports in e-automate will not work this way.
Billable options in CW
Billable Options in ConnectWise
There are three billable options that can be set on the addition on the ConnectWise agreement:
- Billable - The addition will bill to the customer and show on the ConnectWise invoice. These additions will sync to e-automate.
- No Charge - If an addition is set as no charge, it will show on the ConnectWise with a billing amount of $0.00. These items will sync to e-automate and show with a base rate of $0.00.
- Do Not Bill - Additions that are set as not billable do not show on the ConnectWise invoice and will not sync to the e-automate contract.
Terminating items
Terminating Items
The sync will use the default termination code in variable 11 to terminate items that are no longer on the contract. When the item is no longer billed on the contract, the sync will use this termination code and show the item as canceled:
The sync will set the end coverage date and end base billing date to the base billed through date:
This is done to stop e-automate from automatically prorating the billing amount for the item, as that proration has already been done in ConnectWise.
If an item is terminated PRIOR to being billed in e-automate, and there is no base billed through date set on the item, the sync will use the base billed through date for the CONTRACT as the end coverage date.
Invoice Processing
Invoice-related items for the sync between ConnectWise and e-automate.
Jump to: CW Invoice # | CW Invoice Status | Invoice Renumber | EA Invoice # to CW | Invoice Paid in CW | Invoice Samples
ConnectWise Invoice Number
ConnectWise Invoice Number
The ConnectWise invoice number will post in the PO field on the contract in e-automate. You can see the last invoice number for the agreement in the Agreement Recap pod:
This number posts to the PO field of the contract:
You do have the option to instead post the invoice number in the remarks field if you have customers who need to populate the PO field.
You will need to contact CEOJuice by emailing help@ceojuice.com to have this switched. The sync will add the invoice number before any existing content in the remarks section. The invoice number will be updated each month and replaced with the current invoice number.
CW Invoice Status
ConnectWise Invoice Status
Variable 10 Invoice Status
Variable 10 allows you to specify an invoice status in ConnectWise to use to trigger the sync. When this variable is blank, agreement invoices are synced on the first run of ID964 after the invoice is created. If you want to review the invoice in ConnectWise prior to syncing it, using an invoice status to trigger the sync allows you to do that.
To use this option, you'll need to update the variable with a valid billing status from ConnectWise. To find the billing status list, go to Setup Tables and under Category select Invoicing and then select the Billing Status table:
Select an existing status from the list or create a new status to use specifically with ID964. If using an existing status, enter the Name of the status in the variable. Or click on the plus sign to create a new status to use.
Post-Sync Invoice Status
There is an option to update the status of the invoice in ConnectWise after it has synced into e-automate. There is no variable option for the name of the status to use; you will need to reach out to us to set this up by emailing help@ceojuice.com with the name of the status that you wish to use. The sync will process the invoice from ConnectWise, and then on the next run of the sync (approximately 15 minutes later), the status of the invoice in ConnectWise will be updated.
If you have the invoice status update set, but you notice invoices that are not updating, check that the company in ConnectWise for those invoices has an Account ID set. ConnectWise does not allow the status to change on invoices where the company record does not have an Account ID set.
To correct this, go to the finance details section of the company record and add the Account ID:
Invoice Renumber
Invoice Renumber
The sync does offer the option to renumber the invoices in e-automate to match the invoice number from ConnectWise. This is recommended only if you are sending the invoice to the customer from ConnectWise; if you are sending the invoice from e-automate, there is no reason to renumber the invoices.
When the invoice renumber option is enabled, the sync will renumber the contract invoice in e-automate to match the invoice number from ConnectWise. If the invoice numbers in ConnectWise are numeric only, you'll also need to enter a prefix option to ensure that the sync doesn't try to renumber the invoice to a number that already exists in e-automate.
A few things to keep in mind when using the invoice renumber:
1. You MUST wait until the sync has updated the contract with the new invoice number from ConnectWise prior to billing the contract in e-automate. If the contract is billed prior to the sync updating the contract with the new invoice number from ConnectWise, the sync WILL NOT renumber the invoice in e-automate.
2. If you are sending invoices from e-automate and using the renumbering process, you must wait at least 15 minutes after creating the invoices before sending them to the customer. If you send the invoices immediately after creating them, the sync will not have time to renumber the invoices and they will send with the original e-automate invoice number.
3. Contracts that are set to group bill will not have the invoices renumbered.
4. When a contract invoice is voided in e-automate, the sync will renumber the voided invoice to be the CW invoice number with a -V1 at the end. The new invoice will be renumbered to the original ConnectWise invoice number.
EA Invoice Number to CW
EA Invoice Number to CW
If you are not using the invoice renumber functionality, you do have the option to push the e-automate contract invoice number to a custom field in ConnectWise. To use this option, set variable X to Yes and then enter the name of the custom field to be used in variable Y. Once the contract invoice has been created in e-automate, the sync will push the invoice number to the custom field in ConnectWise.
The custom field will need to be created in the notes section of the invoice:
The field caption should be entered into variable Y.
Once the invoices are created in e-automate, this field will be updated in ConnectWise:
Invoice Paid in CW
Invoice Paid in CW
The sync has the option to update the invoice in ConnectWise and show it as paid when the invoice in e-automate is paid in full. To utilize this option, set variable Z to yes. When the invoice in e-automate is paid in full:
The sync will then update the invoice in ConnectWise to show that it has been paid in full:
This piece of the integration only works when the invoice has $0.00 due in e-automate. The sync will not post partial payments to the invoice, nor will it remove paid amounts if the payment on the invoice in e-automate is voided.
Invoice Samples
Invoice Samples
CW No Base Rate:
CW Details
CW No Details
CW Full Details
CW Rollup
CW Details with Price
ConnectWise Fields
There are a couple of optional fields from the ConnectWise agreement that can be synced to the contract in e-automate.
Jump to: Custom Property Agr Type | CW Agreement Name | CW Agreement PO
Custom Property - CW Agreement Type
ConnectWise Agreement Type
Beginning in the 20250422 version, there is an option to sync the agreement name from ConnectWise to a custom property on the contract in e-automate. To utilize this new feature, you must create a custom property named ZCJ_CW_AgrType and add it to your contract's custom property configuration. The sync is unable to add a custom property configuration to the contract when the contract is created. After the contract has been created, you will need to manually update the contract and add the configuration. Once the configuration is added, the custom property will update with the agreement type from ConnectWise.
ConnectWise Agreement Name
ConnectWise Agreement Name
Beginning in version 20250822 of ID964, there is an option to sync the agreement name from ConnectWise to the remarks on the contract in e-automate. The sync will add the agreement name to the beginning of the Recurring remark field:
To enable this feature, you must email help@ceojuice.com and request that the feature be turned on. The sync will only add the agreement name to new contracts created once the change has been made. If you'd like a one-time update done to existing contracts, please let us know.
Agreement PO
Agreement PO
If you utilize the PO field on the agreement in ConnectWise, you can choose to have the invoice number from ConnectWise post to the remarks field. When the ConnectWise invoice posts to the remarks field, anything from the agreement PO will post to the PO field on the contract in e-automate.
The PO field on the agreement in ConnectWise has a character limit of 50, while the PO field on the contract in e-automate has a character limit of 32. If you have POs in ConnectWise that are longer than 32 characters, and the sync is posting the ConnectWise invoice number in the remarks field of the contract, the sync will fail to create or update contracts in e-automate. You'll need to truncate the PO number on the agreement in ConnectWise, or there is an option to not sync the PO field for any contracts. If you'd like to turn off updating the PO field in e-automate with the data from the agreement PO, please send an email to help@ceojuice.com to have us update the sync.
* * *
Best Practices & Tips
Best Practices & Tips
Jump to: Annual Agreements | Customer Mapping Errors | Existing Contracts | Renewing Contracts | Multiple Items | EA Version 25 | Billing Multiple Months | Rebilling Contract | Contract Not Updated | Viewing Invoices in CW | Zero Dollar Invoices in EA | Invoice Renumber Issues | Bundled Agreements | Custom Fields
Annual Agreements
Annual Agreements
To ensure that annual agreements sync properly, update the Batch settings in ConnectWise from 90 (default) to 400. In ConnectWise, go to System > Setup Tables > Batch:
Customer Mapping Errors
Customer Mapping Errors
If the company on the agreement in ConnectWise is not properly mapped to a customer in e-automate, the sync will be unable to process the invoice and create a new contract. To resolve the issue, first find the Company RecID for the company on the agreement:
Then, verify that the company RecID is populated in e-automate on the custom property on the customer record:
If the custom property in e-automate is blank, add the Company RecID from ConnectWise to the custom property and then wait for the next run of ID964 to create the contract now that the company is mapped.
If the custom property is populated with a different Company RecID than the company on the agreement, you'll need to reach out to help@ceojuice.com so that we can fix the customer mapping and get the contract created.
Existing Contracts
Existing Contracts
The agreement sync can be set to push CW agreement invoices to existing contracts in e-automate, though we do not recommend this practice. 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. (If the contract number is not an exact match, the sync will create new contracts.) See this post for further details on syncing to existing contracts.
Renewing Contracts
Renewing Contracts
The agreement sync DOES NOT support renewing contracts in e-automate! If a contract that is linked to an agreement is renewed in e-automate, subsequent invoices from ConnectWise will NOT update the renewed contract, but continue to update the original contract. If a contract must be renewed, you will need to send an email to help@ceojuice.com with the contract number so that we can break the background linking and allow the agreement to update the renewed contract.
The majority of MNS contracts are set with no end date and are allowed to keep billing until the contract is canceled. If an agreement in ConnectWise is set with an expiration date, the best practice to renew the contract is to simply update the end date on the agreement in ConnectWise. When this date is updated, the expiration date on the linked contract in e-automate will be updated when the next invoice is generated.
Multiple Items
Multiple Items
ConnectWise allows you to put the same item on an agreement multiple times, this is not supported on contracts in e-automate. 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 e-automate contract as one line item. The line item description will show all descriptions from ConnectWise.
In ConnectWise, you'll see the same product listed twice:
In e-automate, there will be one item on the contract, with a quantity of 1 and the base rate will be the sum of the price from ConnectWise:
EA Version 25
EA Version 25
Updating e-automate to the current 25 version will require that ID964 also be updated. There are changes in this version of e-automate that will break the sync's ability to fully update the contracts. If you are updating to this version, please send an email to help@ceojuice.com to have us update the sync for you.
Billing Multiple Months
Billing Multiple Months
If you need to roll back invoices in e-automate to bill a missed month, or have several months to bill to 'catch-up' ConnectWise billing, follow these steps below:
**Anytime that you need to roll back billing in e-automate, you MUST void and reset each invoice until you get back to the billing period you want to start billing. This is the ONLY way that e-automate will allow billing of previous periods.**
1. Void and reset needed invoices in e-automate.
2. Bill the first month in ConnectWise and allow that invoice to sync over to e-automate.
3. Bill the contract in e-automate, then go back to ConnectWise and bill the next month.
4. Repeat the process for as many months as you need to bill. If the sync picks up multiple invoices for one agreement in the same 'batch', it will only process the first invoice chronologically by billing month and skip the remaining invoices for that agreement. **If you need to go back several months, the contract amount doesn't change month to month, and you are not sending the new invoices to your customer, it may be best to bill each month in e-automate WITHOUT creating new invoices in ConnectWise. You will need to wait after each billing in e-automate for the sync to run and pick up the new invoice.**
Notes on this process:
1. Be sure that each invoice created for the agreement in ConnectWise has a different date. If multiple invoices are created for the same agreement with the same invoice date, the sync will only process the first and then ignore any other invoices. By default, ConnectWise will use the current date as the invoice date. You can change that date here prior to creating the invoices:
You can also change the date on the specific invoice after it has been created here:
E-views
E-views
There are four custom e-views available in the System section. These views can be used to verify that contracts have been updated by the sync and also to check amounts between ConnectWise and e-automate.
Jump to: Contract Invoice Log | Contract Details | Contracts Created | Items Created
Contract Invoice Log
CEO Juice ID964 Contract Invoice Log
This e-view shows a log of every time the sync creates or updates a contract in e-automate and the history of any invoice renumbering that was done.
This e-view contains some columns pulled from the CEO Juice background tables:
[Log Type] - This column indicates if the contract was created (SYNC ADD) or if the contract was updated (SYNC UPDATE). This column also indicates when the billing is matched between e-automate and ConnectWise.
[UsePONumber_CWInvoice] - If the ConnectWise invoice number posts to the PO Number field on the contract, this column will have Yes.
[UseRemarks_CWInvoice] - If the ConnectWise invoice number posts to the remarks field on the contract, this column will have Yes.
[OrgInvoiceNumber] - The original invoice number from e-automate.
[NewInvoiceNumber] - The updated invoice number in e-automate.
[CWInvoiceNumber] - The invoice number from ConnectWise.
[LastSync] - Last sync date for contract/invoice.
[ErrorLog] - Any errors logged for the invoice renumber.
Contract Details
CEO Juice ID964 Contract Details
This e-view shows the line item details for contracts updated by the sync.
Contracts Created
CEO Juice ID964 Contracts Created
This e-view shows the contract header level details for the contracts updated by the sync.
Item Created
CEO Juice ID964 Items Created
This e-view shows all items created by the sync.
Billing Cycle
Billing Cycle - ConnectWise to e-automate
The process to get your contracts billed properly in ConnectWise and e-automate:
1. Agreements are invoiced in ConnectWise, the sync pulls the invoice information into the CEO Juice background tables.
*If you are using variable 10 to only import agreement invoices of a certain status, review the agreement invoices and update the status. Then the sync will pull the agreement invoices into e-automate and update the contracts.
2. The sync will attempt to match the company and bill to company on the agreement to customer records in e-automate. If the sync is unable to match these customers, the invoice will not import and you'll see either customer not found or bill to customer not found on the ID954 error report.
3. Once the customer is matched, the sync will check to see if the agreement is linked to an existing contract in e-automate (1. In the CEOJuice background tables, 2. Via the ZCJ_EAContractNumber custom field on the agreement). If an existing contract is found, that contract will be updated. If there's not an existing contract, the sync will create a new one based on the matching agreement type template.
4. The sync will go through and set the items on the contract in e-automate to match the ConnectWise billing.
5. The contract will need to be cycled through the contract billing queue to generate a contract invoice and post the revenue. This step is NOT done by the sync and will need to be managed internally to ensure that all contracts are invoiced.
6. Once the contract invoice has been created in e-automate, the sync will uncheck the Bill contract box so that the contract will not pull into the billing queue again until the next time it is updated by the sync.
CREATING THE CONTRACT INVOICE IN E-AUTOMATE PRIOR TO BILLING THE NEXT MONTH IN CONNECTWISE IS THE MOST IMPORTANT THING THAT NEEDS TO BE DONE IN THIS PROCESS!!
**If you need to make corrections to invoices you'll need to void the invoice in e-automate first, then rebill in ConnectWise and let the sync update the contract in e-automate with the new invoice. Then bill the contract in e-automate.
Rebilling Invoices
Rebilling Invoices
If you need to make changes to an invoice in ConnectWise that has already synced to e-automate and been billed in e-automate, follow these steps:
1. Void and Reset the invoice in e-automate, being sure to select the invoice for the billing period that needs to be rebilled.
2. Delete the invoice in ConnectWise, make changes to the agreement, and rebill.
3. If you are using an invoice status to sync to e-automate, update the new invoice in ConnectWise to that status.
4. The new invoice will sync to e-automate and update the contract to match the adjusted billing from ConnectWise. (When updating the contract in e-automate with the new invoice, the sync will check the Bill contract box on the contract so that it will come into the billing queue to be billed.)
5. Bill the contract in e-automate.
Contract not Updated
Troubleshooting a contract that didn't update
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 e-automate 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:
3. Check to see if the billing cycle used on the agreement in ConnectWise exactly matches the billing cycle in e-automate. Details on matching the billing cycles.
4. Have the default item or contract templates been made inactive or deleted? Those default templates need to be in place in order for the sync to function properly.
5. Check that the company on the agreement in ConnectWise is mapped to a customer record in e-automate.
6. Try updating the invoice in ConnectWise to get it to sync again. The sync checks for invoices that have been updated in ConnectWise since the last time that the sync ran. Updating the invoice in ConnectWise moves the Last Updated date forward and causes the sync to "see" the invoice again. The easiest way to do this is to change the billing status on the invoice (1) and click on the save button (2):
You can then switch the billing status back to what it was to begin with and save and close the invoice.
If none of these tips get the invoice to sync, please send the invoice number to help@ceojuice.com.
Viewing Invoices in CW
Viewing Invoices in CW
Once you have created the agreement invoices in ConnectWise, you can view the invoices by going to Finance and then selecting Invoice Search. You can also select My Invoices from the Finance menu, which will only show the invoices that you have created in ConnectWise.
You can use the top section to filter to just the invoices that you want to review. Once the filters are set, click on the Search button to return the list of invoices.
To update the invoice status on the invoices that you want to sync, click on the first box next to the invoice number. You can select invoices one at a time, or select all invoices in the list by clicking on the box next to Open/Closed in the header row:
Once the invoices are selected, click on the Actions menu and select Change Billing Status:
In the pop-up window, select the billing status from the drop-down that matches the status you have set in Variable 10. Then click OK to update the invoices.
On the next run of ID964, the updated invoices in the status set in Variable 10 will sync into e-automate and update the contracts.
Zero Dollar Invoices
Zero Dollar Invoices
If you are billing contract invoices in e-automate and notice that the invoice shows for zero dollars, the most likely reason is that the contract was billed in e-automate before the sync updated the contract. To check for this, open the contract and see if the Billed through date is AFTER the billing on date:
If the Billed through date is AFTER the billing on date, this indicates that the contract was invoiced in e-automate for the billing period, and then updated by the sync. In the example above, the contract was billed for the 11/1 to 11/30 period and then updated by the sync. The sync will set the billing period back to match the billing period on the ConnectWise invoice. For more details on the billing period, see this link.
Check the contract invoices for the contract and see if there are multiple invoices for the same billing period.
These invoices will all need to be voided and reset, then the contract can be billed with the correct information to match ConnectWise.
Invoice Renumber Issues
Invoice Renumber Issues
If the invoice renumber process didn't change the invoice number in e-automate, the most likely reason is that the contract was billed in e-automate prior to the sync updating the contract. To check for this, open the invoice that didn't renumber and check the PO number:
Is the PO number the current invoice number from ConnectWise, or is it the previous month's invoice number? If the PO number is the previous month's invoice number, the sync will be unable to renumber the invoice as it's trying to renumber to an invoice number that already exists in e-automate.
If you are not sure, check the PO number that is currently on the contract:
If the PO number on the contract does not match the PO number on the invoice, that means that the sync has updated the contract since the invoice was created. This usually indicates that the contract was billed prior to being updated by the sync.
To correct this issue, you will need to void and reset the invoice in e-automate and then rebill the contract. The new invoice should be generated with the new invoice number in the PO field, and the sync will be able to renumber the invoice.
If the contract invoice that didn't renumber does show the current invoice number from ConnectWise, please send an email to help@ceojuice.com with the invoice number from e-automate.
Child Agreements
Bundled Agreements/Group Billing
ConnectWise allows you to bundle agreements together so that your customer will only receive one invoice. To bundle the agreements together, they must have the same billing cycle, tax code, and terms. You'll have one parent agreement and then assign other agreements to be billed with that agreement. The bundled agreements will be child agreements to the main agreement.
To bundle the agreements in ConnectWise, go to the agreement that will be the parent agreement and click on the Agreements tab. This will show you all agreements for the company:
Select the agreements that will become the child agreements by checking the box in the Attach column. Once the agreements are set as a child agreement, you'll see that the additions from the child agreements show on the Addititions tab:
The level column will show the specific agreement name for any child agreements. The level column will be blank for any additions that are on the parent agreement.
Once an agreement is set as a child agreement, it will no longer show in the main agreement search.
When this agreement is billed in ConnectWise, the additions from all agreements will bill on one invoice. The sync will then create ONE contract in e-automate, with the additions from all child agreements listed. (Everything from the ConnectWise invoice will match to the items on the e-automate contract.)
If you have agreements in ConnectWise that can't be bundled, you can also group bill the contracts in e-automate so that your customer will only receive one invoice. Contracts in e-automate can be group billed as long as they have the same customer (1), bill to customer (2), and billing group (3). The contracts must all have the same billing cycle. To group bill, you'd check the option to Group invoices according to customer, bill to, etc (4):
To use the group billing in e-automate, you would keep each agreement in ConnectWise separate and bill them on separate invoices. The sync would create individual contracts for each agreement in e-automate, when the contracts are processed in the billing queue, one invoice would be created for all contracts that are grouped together.
If you use the group billing option in e-automate, the invoice renumber process and invoice paid process will not work.
**One thing to note, e-automate will not allow block time (deposit) contracts to be group billed with recurring monthly (installment) contracts.
Custom Field Setup
Custom Field Set-Up
There are two required custom fields: ZCJ_ContractNumber and ZCJ_ItemNumber and two options fields ZCJ_EASalesRep and ZCJ_EALocations.
To create the custom fields, go to the Setup Tables and choose Custom Fields from the list:
ZCJ_ContractNumber
ZCJ_ContractNumber
Section: Agreement Overview
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
ZCJ_EASalesRep
ZCJ_EASalesRep
Section: Agreement Overview
Click on the plus icon to create a new custom field
1. Enter ZCJ_EASalesRep in the Field Caption.
2. Check the box for Display on Screen?
3. Check the box for Include on List View?
ZCJ_EALocation
ZCJ_EALocation
Section: Agreement Additions
Click on the plus icon to create a new custom field
1. Enter ZCJ_EALocation in the Field Caption.
2. Check the box for Display on Screen?
3. Check the box for Include on List View?
ZCJ_ItemNumber
ZCJ_ItemNumber
Section: Product Overview
Click on the plus sign by Custom Fields to add a new field and use the Field Caption ZCJ_ItemNumber:
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
ID966 - Connectwise Sales Order Sync
* * *
0 Comments