You are here

Phone Call Billing and Cost Recovery

Facebook LinkedIn Google+ Twitter

Professional firms that bill clients for time and services such as law offices, accountants, architects, etc. may have a requirement to assign a client’s account number to some or all calls that occur on behalf of the particular client. This is usually to bill back the cost of the call and/or the cost of the professional’s time during the call.

Account Code Feature

The ability to use Account Codes is built into the ShoreTel system.

In ShoreTel Director, you need to set pertinent User Group “Account Code Collection” to “Optional” or “Forced”, and also set the User Group “Call Permissions” so the calls that you set as restricted will prompt for an Account Code. The set of valid Account Codes are configured in ShoreTel Director. They can be individual codes or wildcards which match any code of a particular length. Each Account Code is a single name and either a single number or a wildcard entity.

A disadvantage is that automatically importing account codes is not possible. They must be entered or updated manually via ShoreTel Director. If the customer does not mind that calls may be marked with potentially invalid codes, the codes can be configured as wildcards. This would save time in configuring the codes, especially if there were a large number or they were created or changed often.

Of course allowing wildcards allows invalid codes (not associated with any real client) to be entered accidentally and somewhere, outside of ShoreTel, those are either handled or ignored with regard to billing for them. Not allowing wildcards means all client/matter codes must be individually entered and changed manually via Director.

As far as reading the coded call records, if the customer already has a legacy PBX, the billing or cost recovery vendor may already have provided the equipment for buffering data from SMDR COM ports (they call them buffer boxes). They may also be able to read the ShoreTel CDR DB directly, as an alternative to SMDR.

Users will enter an account code via the phone keypad or via Call Manager/Communicator. Codes must be entered before or, using Call Manager/Communicator, during the call.

Cost Recovery Integration

This feature is an add-on feature. Check QMS for current cost. There is a server component and a client component.

It must be noted that Cost Recovery Integration is not a “turnkey” solution for integration with any billing or cost recovery vendors (popular cost recovery vendors are Equitrac and Copitrak). Cost Recovery Integration does not explicitly connect to any other system but provides generic ways to import codes and keeps a DB for code records so any system may, generically, read them. External vendors must be able to export client/matter codes to a file for Cost Recovery to read and be able to read coded call records from Cost Recovery’s MS Access DB to account for calls and bill the end clients.

In implementing Cost Recovery Integration, the User Group would still need the appropriate ShoreTel Director configuration as with the built-in Account Code feature (the “Account Code Collection” setting and the “Call Permissions”). The codes themselves, however, are not maintained via ShoreTel Director.

With Cost Recovery the codes are called client/matter codes because this is how most law firms refer to them. There can be multiple client codes and within each client code, multiple matter codes. Cost Recovery can concatenate matter codes to client codes or show them separately.

The Cost Recovery server configuration allows for importing client/matter codes up to once per day, automatically, from a text file (offering various configurable formats). The customer’s billing or cost recovery system must be able to export to a compatible text file for this to work. Cost Recovery does not allow wildcards so codes are either valid and allowed or invalid and rejected. No invalid codes can be used (although if “Account Code Collection” is set for optional, codes may be omitted if desired by user).

As far as reading the coded call records, the billing or cost recovery vendor’s system must be able to read a separate DB which is outside the core ShoreTel CDR DB. The Cost Recovery call records are in a Microsoft Access DB in the file system of the ShoreTel Director server. There is also a System DSN configured in that server’s Window’s ODBC Data Source Administrator.

With Cost Recovery there is no option for using SMDR for reading the call records.

Users will enter a client/matter code via the phone keypad or via the optional Cost Recovery client component which appears as a Windows tray icon. The client program makes it easier to enter codes by “remembering” them per user per Caller ID and popping up to confirm. It also allows the user to search by name or number. The code can be entered even after the call has disconnected (it keeps calls available for a configurable number of days), but this only applies if the “Account Code Collection” setting is “optional” rather than “forced” (if “forced”, they won’t be able to make a call unless/until a valid code is entered “up front”).

With Cost Recovery, only users wishing to enter the client/matter codes via their computer need the client component. Sometimes no client licenses are needed if every user remembers their client/matter codes and/or wishes to enter only via the phone keypad when making a call.

Comparison Chart

                Account Code Feature  

Cost Recovery Integration

Included with ShoreTel system Additional cost (see QMS)
Codes maintained manually in Director Daily import/update of codes from file
Allows wildcard (non-validated) codes No wildcards, only valid codes as imported
Codes entered via keypad or Communicator Codes entered via keypad or CRI client program
Codes must be entered before or during call Codes can also be entered long after call is terminated
No memory of prior codes used Client program “remembers” last codes used by Caller ID
Call records available via CDR DB or SMDR Call records available by separate MS Access DB
Account Code server can be “distributed” CRI server must reside on Director server