Billing To Milan is able to provide both wide-ranging support for billing and accounting systems and unparalleled customization through the use of SQL scripts.
Depending on the operation to perform, Billing To Milan uses one of the following seven scripts:
Script Name | Function |
---|---|
MatterInput.sql | Creates and updates workspaces |
BillingActivity.sql | Adds workspace shortcuts to users' My Matters in WorkSite based on the number of hours billed for a particular matter. |
ArchiveInput.sql | Moves or archives workspaces from one WorkSite library to another |
SubscriptionInput.sql | Creates a subscription for a specified user to the My Matters of another WorkSite user |
MoveDocumentInput.sql | Moves documents within the same library |
PolicyInput.sql | Creates policies to apply ethical walls using Security Center |
PolicyInputEx.sql | Creates policies to apply ethical walls using Policy Center |
Examples scripts are provided in C:\Program Files\Prosperoware.Milan\billingtomilan\SQL.
Note: All scripts require some customization before they can be successfully used.
Before running Billing To Milan, you must create a connection string via Administration → Application Configuration → Connection Strings for each SQL script that you intend to use. If you run Billing To Milan without any command line options, it will look for a connection string named Billing; if no such connection string exists, Billing To Milan will return an error. In order for Billing To Milan to be able to create Provisioning Service jobs, a properly configured MatterInput or BillingActivity script must also exist in C:\Program Files\Prosperoware.Milan\billingtomilan\SQL.
Billing To Milan looks for the following connection strings when running each script.
Script | Connection String Name |
---|---|
MatterInput | Billing |
BillingActivity | Billing |
ArchiveInput | Archive |
SubscriptionInput | Security |
PolicyInput | PolicyInput |
PolicyInputEx | PolicyInputEx |
For the sake of readability, Billing To Milan scripts are allowed to return metadata values in columns with descriptive names such as ClientId or MatterName. However, when Milan creates Provisioning Service jobs that specify metadata, the fields must be referenced by their WorkSite metadata attribute IDs.
In order to reconcile the columns names with attribute IDs, Billing To Milan refers to an XML file in Prosperoware.Milan\billingtoMilan\data named mapping.xml that defines the column/attribute relationship for each WorkSite metadata field.
The contents of the file are structured as follows:
<?xml version="1.0" encoding="utf-8" ?>
<fields>
<field dbCol="C1ALIAS" name="ClientID" custom="imProfileCustom1"/>
<field dbCol="C1ALIASDESCRIPTION" name="ClientName" custom="imProfileCustom1Description" />
...
</fields>
Metadata mappings are defined within the <fields></fields>
tags as <field />
elements with three attributes: dbCol, name, and custom.
If you would like to write Billing To Milan scripts using metadata names similar to those displayed to users (i.e., "captions"), you must edit the name attributes for all relevant fields.
Warning: Editing the dbCol or custom attributes will prevent Billing To Milan from correctly mapping values to the correct attribute ID.
By default, Billing To Milan is configured to accept metadata values in the following columns.
Column Name | Database Column | Attribute ID (Custom) |
---|---|---|
ClientID | C1ALIAS | imProfileCustom1 |
ClientName | C1ALIASDESCRIPTION | imProfileCustom1Description |
MatterID | C2ALIAS | imProfileCustom2 |
MatterName | C2ALIASDESCRIPTION | imProfileCustom2Description |
MatterName2 | C3ALIASDESCRIPTION | imProfileCustom3Description |
imProfileCustom3 | C3ALIAS | imProfileCustom3 |
imProfileCustom4 | C4ALIAS | imProfileCustom4 |
imProfileCustom5 | C5ALIAS | imProfileCustom5 |
imProfileCustom6 | C6ALIAS | imProfileCustom6 |
imProfileCustom7 | C7ALIAS | imProfileCustom7 |
imProfileCustom8 | C8ALIAS | imProfileCustom8 |
imProfileCustom9 | C9ALIAS | imProfileCustom9 |
imProfileCustom10 | C10ALIAS | imProfileCustom10 |
imProfileCustom11 | C11ALIAS | imProfileCustom11 |
imProfileCustom12 | C12ALIAS | imProfileCustom12 |
imProfileCustom13 | C13ALIAS | imProfileCustom13 |
imProfileCustom14 | C14ALIAS | imProfileCustom14 |
imProfileCustom15 | C15ALIAS | imProfileCustom15 |
imProfileCustom16 | C16ALIAS | imProfileCustom16 |
imProfileCustom17 | CDBL1 | imProfileCustom17 |
imProfileCustom18 | CDBL2 | imProfileCustom18 |
imProfileCustom19 | CDBL3 | imProfileCustom19 |
imProfileCustom20 | CDBL4 | imProfileCustom20 |
OpenDate | CDATE1 | imProfileCustom21 |
imProfileCustom22 | CDATE2 | imProfileCustom22 |
imProfileCustom23 | CDATE3 | imProfileCustom23 |
imProfileCustom24 | CDATE4 | imProfileCustom24 |
imProfileCustom25 | CBOOL1 | imProfileCustom25 |
imProfileCustom26 | CBOOL2 | imProfileCustom26 |
imProfileCustom27 | CBOOL3 | imProfileCustom27 |
imProfileCustom28 | CBOOL4 | imProfileCustom28 |
imProfileCustom29 | C29ALIAS | imProfileCustom29 |
imProfileCustom30 | C30ALIAS | imProfileCustom30 |