Automatically push emailed meter readings into eAuto
Dealers have lots of options for getting meters needed for billing, here is one more! This process automates entry of meter readings sent by devices as well as your eAgent emailed meter requests.
This process will check your mailbox for new emails, parse them, insert meter readings into eAuto, mark the emails as "read", then move them to a destination folder. Any email that cannot be processed (i.e. body doesn't match format expected, serial number can't be found) will remain in the InBox for someone to handle exceptions daily.
We install this in Test Mode first for your review. You control which meters go into eAuto via our Meter Mapping App. Your IT Dept will need to provide us ability to access mailbox directly for initial set up/installation. Please be sure to read our requirements/prerequisites HERE.
As of June 2022, we can parse meters for Brother, Copystar, eAgent, Konica, Kyocera, Lanier, Lexmark, Oki, Savin/Ricoh, Sharp, Toshiba, and Xerox.
**Requires MINIMUM .Net version 4.7 on server for CEO Juice.**
Run Schedule: Daily Early AM
Limited in time and frequency we can run as either the process gets locked out and fails to complete because there’s so much competition for users in the meter tables, or worse, it locks out users and even remote tech connections by taking priority over those things.
Type of Output: Email/APP/On Demand Report
* * *
Action Items - shows devices we could not push the meter into eAuto for, their eAuto meter info, and why:
No Action Needed - shows devices we did push meter readings in for along with the meter details:
* * *
**Every variable is required, you will need your IT Dept to help with these:
Variable 12: Enter the unique Meter Source you've created that will be set on any meters entered in eAuto by this alert
Variable 1: Name of Custom Property available at either Customer (location) or individual Equipment level to EXCLUDE from this process altogether
Variable 2: DNS Name or IP Address for your mail server (URL we need to access mailbox on the server we have access to)
Variable 3: The email address the meter will be sent TO (will need to be unique for each manufactuer if multiple manufacturer emails going to the same email box).
Variable 4: Port to be used when connecting to the mail server (i.e. 587)
Variable 5: Mail Server use SSL? 1=Yes, 0=No
Variable 6: Username for connecting to the mail server
This MUST correspond to the email address your equipment uses to send meter requests FROM since that's where the responses will be sent
Variable 7: Password for connecting to the mail server
Variable 8: Template Parser Type, use dropdown to select options (multiple eAgent options available for those running differently for different branches)
Variable 9: Delete emails after successfully inserting a meter reading? 1 = yes, 0 = no
Variable 10: Move emails after successfully inserting a meter reading? 1= yes, 0 = no
Variable 11: If moving processed emails, to what folder? When possible, we will create the folder if it doesn't exist. However, not all email server types or connection types will allow this, so it is best if you manually create the folder in advance.
Top level folders are specified with just the folder name, ie. "processed"
Subfolders are specified with their parent folder name as well, ie. "inbox/processed"
Variable Y: Move emails unable to process to folder specified in VariableZ? 1 = Yes, 0 = No
Variable Z: Name of email Failure Folder
Variable X: Enter your Mail Server Connection Type
THESE TWO VARIABLES SHOULD BE CLOSELY CONSIDERED AND REVIEWED:
Variable Hidden2: Date Limiter - Do not import a new meter read unless it has been X days since last Valid meter read (set to -2 to completely suppress since-last-read functionality and use ONLY due-to-bill per next variable). Defaults to 15 if left blank.
Variable W: Billing Limiter - Import meter reads if no read in last X days AND meter is inside a Billing window (due to bill soon per the Billing Tolerance settings in e-automate). Set to -2 to suppress this functionality and use only days-since-last-read functionality in variable above. Defaults to 15 if left blank.
Meter tolerance set via Tools / Options / Contracts / MetersOverages:
* * *
-This integration runs on your ceojuice server, so the communication is accessed and parsed inside your network.
-This process will check your mailbox for new emails, parse them, insert meter readings into eAuto, mark the emails as "read", then move them to a destination folder. Any email that cannot be processed (i.e. body doesn't match format expected, serial number can't be found) will remain in the In Box for someone to handle exceptions daily.
-Any email unread in your In Box will NOT be considered by our process.
-Please be sure to set a mailbox rule to clean up/move emails after 30 days to a subfolder; otherwise, our process will review each and every unread email EVERY time it runs (adding potential hours and room for issues to process).
-We can read emails sent by device and/or from your meter requests sent via eAgent. HOWEVER, we can only "read" meters placed in highlighted area shown here (not anywhere else):
-The MOST MOST IMPORTANT (did we mention MOST IMPORTANT?) part of this entire process is the email address these emails are sent to (not from). The email box collecting these meter reading responses will need to be unique for each manufacturer or for eAgent. We CANNOT scroll through an email box with varying types of emails in it (i.e. toner orders, junk mail) and filter through them to determine if a meter reading.
We suggest, if needed, create a rule in your general email box moving/redirecting the meter reading responses to its own unique mailbox by manufacturer (i.e. KonicaMinolta, Sharp). That unique mailbox will be where our alert will go to per your Variable3 settings.
-If you wish for us to push in different manufacturer's and/or eAgent meters, then you will need to subscribe to a clone (additional) subscription for each so your Variable3 MUST be different for each. This can be done by selecting the plus (+) sign (after you have successfully subscribed to one ID398):
Use Custom Property to turn this integration OFF at either Equipment or Customer Level. We build this Custom Property for you and default to ON so this process is effectively ON for everything. You can set the exceptions to OFF at either Equipment or Customer Record level, as needed.
**Please note, setting to OFF at Customer Level will turn off for all Equipment Records showing that customer as Main Customer. For example, if Equipment Custom Property is set to ON and Customer Custom Property is set to OFF, the alert will NOT consider any of the equipment.
Creating the Custom Property if you are missing in eAuto:
Create Custom Property Attribute via Tools / Lists & Codes / Attributes:
Attribute name = ZCJ_DCAMeterImport
Description = ZCJ_DCAMeterImport for ID311/ID968
Data type = User-Defined Lookup
Lookup List = On / Off
Add Custom Property Attribute to both your Customer and Equipment Record Configurations via Tools / Lists & Codes / Configurations (custom properties):
Select New for Group Customer Properties:
Search Available attribute(s) for ZCJ_DCAMeterImport, check off Default value and select ON, then select QuickAdd - don't forget to hit OK to save:
Do the same for Group Equipment Properties:
Now you have this Custom Property available on Customer Record:
and Equipment Record:
* * *
You will need to tell our app which eAuto Meters correspond to the DCA Meters, so we know which meters to insert where in eAuto.
**DO NOT USE INTERNET EXPLORER AS YOUR BROWSER! IE is no longer supported and our Apps do NOT working in the IE environment.
Go to your CEO Juice apps (if you don't know the URL use http://localhost:8888)
The two hyper links at top take you to
(2) Meter Mappings
Metertypes shows the Emailed Meter Type names (based on our parser) and eAuto Meter Type names, indicating if mapped and/or if ignored for mapping:
To get started go to Meter Mappings to start mapping your MP Monitor or HP Action Center (DCA) Meter Types to eAuto Meter Types:
Once you have mapped all your meters, the app can determine which meters to insert into eAuto.
When you select Add Mapping you are essentially telling us which eAuto Meter Types match the DCA Meter Type.
Within this 'Create Mapping' tool, the DCA Source is driving the DCA MeterType and DCA Fallback to ensure you don't map a DCA Source of Konica to Toshiba, for example.
The 'Fallback DCA Metertype (optional)' is only needed when the same EA Metertype applies to more than one DCA Metertype.
B\W only device has DCA Metertype of Total Meter which needs to be mapped to EA Metertype of B\W. But a color device has DCA Metertypes of Total Total Meter, Total B\W, and Total Color. You don't want DCA Metertype of Total Meter to go into eAuto as Total B\W clicks.
So you want the DCA Metertype = Total B\W and the Fallback DCA Metertype = Total Meter
Essentially you are telling the app, if Total B\W from DCA does NOT exist, then use DCA Metertype of Total Meter for my eAuto B\W meter.
Example below, shows various mappings that include multiple Meter Types and Fallback Meter:
* * *
Test vs. Live Mode
While in Test Mode, we will consider EVERY device regardless of your variable settings for Billing and Date Limiter (Variables Hidden2 and W). This is to provide you as many devices for mapping meters as we can to help ensure your mapping is as completed as can be. (Test mode looks back 45-days in DCA for meters to report on.)
Once process is running live, then we will only report daily on those meters qualified for consideration based on your variable settings for Billing and Date Limiter (Variables Hidden2 and W).
Billing and Date Limiter
These variables effect whether a device's meter is considered by our process. When alert is running live, any device not meeting your Billing and Date Limiter settings, will NOT show on your daily report BUT will still go to your processed folder.
VariableHidden2: Date Limiter - Do not import a new meter read unless it has been VariableHidden2 days since last Valid meter read (set to -2 to completely suppress since-last-read functionality and use ONLY due-to-bill per VariableW)
VariableW: Billing Limiter - Import meter reads if no read in last VariableW days AND meter is inside a Billing window (due to bill soon per the Billing Tolerance settings in e-automate). Set to -2 to suppress this functionality and use only days-since-last-read functionality in VariableHidden2 above.
Meter tolerance set via Tools / Options / Contracts / MetersOverages:
Once running live, this process ignores meter reads received more than 3 days ago and they will not show on your daily report. This limitation is in place because users were seeing meters with errors persisting on the report for far too long with basically ‘unsolvable’ problems, or at least problems no one was interested in solving. Now meters will show on the report for three days throwing their error and then they go away unless we have a newer read for that meter, one which hopefully there are no problems with. This function does NOT interact with the VariableW Billing Delimiter at all – the meter won’t have a chance to be considered for billing (or for Hidden2 non-billing Delimiter) once the three days are up.
Required Meters and Considering Valid:
Our integration will only consider meters set as required on Equipment Record AND due for billing today or past due per Contract Record.
We then use your eAuto Meter Validation Buffer to check the meter is valid:
This can be seen via Tool / Options / Equipment:
Devices with more than one meter:
We look for the serial number in eAuto and the meters required to compare what DCA meters are being pushed in. IF at least one of the required meters is greater than previous, we will push in ALL meters. If all meters are less than previous, NONE of the meters will push into eAuto.
Mapping Errors Explained:
Negative value indicates mapping not found: the DCA meter has not been mapped to an eAuto meter. Use the MeterType Mapping App to set.
read Invalid due to less or equal to previous: the meter from DCA is less than or equal to the previous meter in eAuto.
read Invalid due to validation buffer: reading failed validation buffer test by eAuto per your eAuto validation buffer %.
read Invalid due to other missing required reads: indicates a required meter (per eAuto Equipment Record) is either not mapped or not being pushed in from the DCA.
read Invalid due to other Invalid reads in required set: indicates there are required meters for this device that are invalid (for one of the reasons above)
Actual updated based on previous Meter Reset Invalidated by Native Sanity Check: this is two different flags which almost always appear together. 'Actual updated based on previous Meter Reset' means that there is a meter reset somewhere in the past, which means EA will calculate a true 'Actual' to the best of its ability. 'Invalidated by Native Sanity Check' means exactly that, because parts of the sanity check rely on the Actual meter and it usually takes a long while after a reset before the historical data looks solid enough for the sanity check to give it a pass.
* * *
You also have an On Demand SSRS Report to review what has pushed in that day and what has had errors that day. Select on Incoming Source at a time, can not run report for multiple. This is essentially a duplicate to the daily email sent to those emails listed on your ID398 subscription.
Report shows on Page 1, any meters unable to push into eAuto due to error indicated:
Page 2 shows what meters have been pushed into eAuto:
* * *
ID311 - HP SDS Action Center & MPS Monitor Integration
ID396 - Emails tech when there is a new service call for equipment with previous meter reading of "estimate/other"
ID968 - Advanced meters & DCA data
* * *
Before subscribing to this alert, please review these STRICT REQUIREMENTS/PREREQUISITES for this alert:
- Net 4.7 or higher MUST be installed on the CEO Juice server
- Email box must be set that CEO Juice can login and access for initial installation (please ensure two-factor authentication is turned off, for example)
- The email box collecting these meter reading responses will need to be unique for each manufacturer. We can't access an email box with varying types of emails in it and filter through them. We suggest, if needed, please create a rule in your general email box moving/redirecting these devices reported meter reading responses to its own unique mailbox by manufacturer (i.e. KonicaMinolta, Sharp). That unique mailbox will be where our alert will go to per your variable settings. We will need to create an alert for each manufacturer.
- The setup of this alert process will need to involve IT department and your meter reading department for this process to work for such things as email box access, passwords, review, etc.
- An important aspect to this alert process is there is always still requirement of staff to watch the email mailbox daily, human oversight is still required. Staff will need to monitor the email box daily to catch errors and unread emails daily (perhaps at end of day). The alert process ONLY considers unread emails.
- Since the device is reporting the meter reading(s), it is not CEO Juice responsibility to ensure these meter readings are correct. Devices are programmed to report meter readings and it is not CEO Juice responsibility to ensure the meter reading(s) parsed from the emailed report are calculated correctly. You will need to verify the meters entered in eAuto through our alert process in fact are correctly calculating (i.e. adding multiple reported color meters to determine total color meter count). CEO Juice is not held liable for any meters reported through this process that are incorrectly reported to you. It is imperative your staff review meter readings and ensure your meter reading validation set up in eAuto is in place to meet your meter billing requirements.
- Meter types set as virtual can not be handled by this alert process.
- Please note, this alert process is not like automated meter capture software (i.e. FM Audit, PrintFleet) as there is NO direct link between the machine and our alert process. We are just picking up emails and the content within that email.
- Emails are parsed daily.
**Please also note if meters do come through via our alert process, but come through as not billable, eAuto is likely catching them through its meter validation buffer. For example, meters reported frequently may not pass eAuto's validation buffer because eAuto will recalculate the average monthly volume based on days in between meters. So when meters get pushed in often, it can make eAuto think the device is averaging more copies than usual if they do a lot of copies within a couple days. (We recommend meters only come from the device weekly, not daily.)**
* * *
Access/Permissions for Gmail Accounts:
Effective May 30, 2022, Google discontinued the use of “Less Secure App,” a feature allowing third-party apps to connect to your Google account, in an effort to make the Google platform more secure.
1. G Suite Admin needs to login to the Google Admin Console. https://admin.google.com/
2. Choose ‘Security -> Access and Data Control -> API Controls:
3. From API Controls screen, choose ‘Manage Domain Wide Delegation’ on the bottom right hand of screen:
4. On API Clients screen, click ‘Add New’ hyperlink which will open a popup window:
5. Enter ‘102441935245555878964’ as the Client ID (CEO Juices registered ClientID)
6. Enter Scope: ‘https://mail.google.com/’ which will allow us access to and the ability to manipulate the mailbox. I.e., read emails, then move to failed and/or passed folders if needed. Also, if failed/passed folders are not created, this gives the permissions to do so.