Energy · Automation

BillSender: electricity and gas bills delivered on WeCom

An electricity and gas supplier sends hundreds of PDF bills every month to its customers' WeCom groups. BillSender does this work instead of a person, with one rule above all: better not to send than to send to the wrong customer.

At a glance

Sector
Energy (electricity and gas)
Client
An electricity and gas supplier (name not published)
Status
In testing, before the first full send
How it works
Windows app that uses WeCom desktop the way a person would

The problem

Every month hundreds of bills must be sent one by one to the right customer's WeCom group: find the group, open it, write the message, attach the PDF. WeCom offers no interface to do this from a program, so the only way is to use the app the way a person would.

Why the first attempt wasn't enough

An earlier tool recognised the screen by comparing images and, when a customer's group was missing from the list, tried to guess it from the name. The result was wrong groups opened and bills never sent, found out only afterwards by going through an Excel sheet.

What we built

BillSender works everything out before touching WeCom: who receives which bill, with which message and which PDF, in a plan that can be checked. Then it finds each group, checks the title before sending and logs every step.

Where it stands

It is being tested on the client's computer. The test mode looks for the groups without sending anything and is used to fix the customer list before the first full send.

The project's rules

Don't guess

A group is accepted only if its name matches exactly and only once; otherwise the tool stops and reports it.

Better not to send than to send wrongly

If the title of the group that opened isn't the expected one, nothing goes out. A missed send can be recovered; a wrong one can't.

No sensitive data in the message

The text contains no amounts, due dates or names, so even a mistake would not expose another customer's data.

A log of everything

Every send is logged before and after. If the program stops halfway, that bill must be checked by hand and is never resent automatically.

Exclusions come first

Customers marked “do not send” are excluded before any other check.

Tests stay tests

The test modes write to a separate log and cannot send anything.

Got a repetitive send to automate?

Tell us about the process: we'll tell you whether and how it can be automated safely.