# Centerbase
This plugin will periodically query the Centerbase API for new and updated matters based on the last run date/time. For each matter found, the plugin maps Centerbase fields to SharePoint client/matter fields and writes the result to the monitor directory for processing by the provisioning service.
Copy the dll files from the Plugins\Centerbase directory to the site provisioning directory.
Restart the service to activate the plugin.
Start the configurator and browse to CustomSettings to configure the Centerbase plugin.
Specify the Url
The base URL of the Centerbase instance.
Example: https://epona.centerbase.com (opens new window)
Specify the Username
The Centerbase username used to authenticate. The value is stored encrypted and can also be provided via Azure Key Vault (secret name: Centerbase.Username).
Specify the Password
The Centerbase password used to authenticate. The value is stored encrypted and can also be provided via Azure Key Vault (secret name: Centerbase.Password).
Enable the Centerbase Schedule
Configure the interval schedule and set Enabled to true. The plugin will not start unless the schedule is enabled.
The following optional properties can be set:
TestMapping
If enabled, move the parsed json to the Test subfolder of the monitor directory and don't update the last run datetime.
Client Id
Centerbase field or template expression to match the SharePoint client id field.
Example: {item-id}
Client Code
Centerbase field or template expression to match the SharePoint client code field.
Example: Client Number
Client Name
Centerbase field or template expression to match the SharePoint client name field.
Example: Name
Client Field Mapping
Optional field that maps Centerbase client properties to SharePoint fields with syntax: sharepointname1=name1;sharepointname2=name2.
Use the character | for "or" conditions if null.
Example: ClientStatus=Matter Status;ClientNumber=Client Number
Matter Id
Centerbase field or template expression to match the SharePoint matter id field.
Example: {item-id}
Matter Code
Centerbase field or template expression to match the SharePoint matter code field.
Example: Matter Number
Matter Name
Centerbase field or template expression to match the SharePoint matter name field.
Example: Matter Name
Matter Field Mapping
Optional field that maps Centerbase matter properties to SharePoint fields with syntax: sharepointname1=name1;sharepointname2=name2.
Use the character | for "or" conditions if null.
Example: MatterOpenDate=Matter Open Date;PracticeArea=Practice Area;ResponsibleAttorney=Responsible Attorney;MatterStatus=Matter Status
Requested Fields
Semicolon-separated list of Centerbase field IDs to include in the API response. Fields use the format <item-type>:<field-id> (e.g. 1001:1026 for Matter Name). Only the fields listed here are returned by the API. See the Matter Field Reference below for available field IDs.
Example: 1001:1026;1001:1083;1001:1000022;1001:1000049;1001:1055
Active Status
Specifies which matters are returned: Active, Inactive, or Both. Defaults to Active when not set.
Matter Filter
Optional. Specify one or more filters in the format <centerbaseApiField>=<value>;. These filters are applied client-side after fetching from the API — matters not matching the filter are skipped before export.
Example: Practice Area=Litigation;
# Field Mapping Syntax
Field values in Client Id, Client Code, Client Name, Matter Id, Matter Code, Matter Name, Client Field Mapping, and Matter Field Mapping support the following syntax.
Simple field reference
Use the field label as returned by the Centerbase API:
Example: Matter Number
Fallback with pipe |
Try the first value; if empty, fall back to the next:
Example: Matter Name|name
Literal string
Wrap a value in double-quotes to use it as a fixed value:
Example: "Active"
Template variables
Use {fieldName} to compose a value from multiple fields:
Example: {Client Number}-{Matter Number}
Zero-padding
Use <padChar>:<length>{field} to left-pad a field value with a character:
Example: 0:4{Matter Number} — produces 0042 when Matter Number is 42
Arrays
When a Centerbase field returns an array of values (e.g. responsible attorneys), the values are joined with a semicolon (;) into a single string.
# Matter Field Reference
The plugin queries Centerbase item type 1001 (Matter). Fields are identified as <item-type>:<field-id>. The following are the standard Matter fields available from Centerbase. For the full list of all item types and field IDs see Centerbase Item Types (opens new window).
| Field ID | Field Name |
|---|---|
1001:1026 | Matter Name |
1001:1027 | Billing Partner |
1001:1045 | Bill to Email Address(s) |
1001:1047 | Inherit Client Email Billing Settings |
1001:1048 | Client Accepts Bill by Email? |
1001:1050 | Matter Open Date |
1001:1051 | Matter Close Date |
1001:1052 | Referral Source Text |
1001:1053 | Referral Type |
1001:1054 | Practice Area |
1001:1055 | Responsible Attorney |
1001:1056 | Bill To Contact Name |
1001:1057 | Bill To Company Name |
1001:1058 | Bill To Address |
1001:1059 | Bill To Phone |
1001:1060 | Inherit Bill To Settings From Client |
1001:1070 | Claim Number |
1001:1071 | Claim Representative |
1001:1072 | Client Matter Id |
1001:1073 | Splits Bill |
1001:1074 | Billing is Split To? |
1001:1075 | LawToolBox State Code |
1001:1076 | LawToolBox ToolSetID |
1001:1077 | Referral Source |
1001:1083 | Matter Number |
1001:4000 | Key |
1001:1000013 | Alternate Address |
1001:1000014 | Matter Detailed Description |
1001:1000022 | Client |
1001:1000049 | Matter Status |
1001:1000087 | Matter # |
1001:1000399 | Primary Email |
1001:1000400 | Phone |
1001:1000429 | Trust Balance |
1001:1000508 | Conflict Check |
1001:1000558 | Quick Notes |
1001:1000572 | Custom Text 5 |
1001:1000850 | Last Bill |
1001:1000852 | Last Slip |
1001:1000912 | Referred By |
1001:1000955 | Last Payment |
1001:1000965 | Paralegal |
1001:1000971 | Fee Discount % |
1001:1000985 | Admin |
1001:1000986 | Other Staff |
1001:1000987 | Associate |
1001:1001000 | Matter Short Description |
1001:1001009 | Formula - Total Fees Received |
The default RequestedFields also includes 1001:1, 1001:2, 1001:3, and 1001:4. These are low-numbered system fields whose labels are not listed in the Centerbase item types reference. Field 1001:4 is used internally as the modification date for incremental sync (the criteria filter). Their labels are resolved at runtime from the field-info returned by the API.
Custom fields defined in the firm's Centerbase configuration have IDs starting from 1001:1000000.
# Centerbase API
The plugin uses the following Centerbase REST API endpoints. For the full API reference see Centerbase Public API (opens new window) or the live API help page (opens new window). All calls go to:
https://epona.centerbase.com/mobile/api.svc/json/
Login (POST /mobile/api.svc/json/login)
Authenticates using username and password. Returns a session-id required by all subsequent calls.
Item Exists (PUT /mobile/api.svc/json/item/exists) — API reference (opens new window)
Returns a list of matters of item type 1001 that were created or modified since the last run date. Supports filtering, pagination (500 records per page), and field selection via requested-fields. On the first page, a criteria filter on field 1001:4 (Date Modified) is applied. Subsequent pages use the results-id from the previous response to continue the query.
# Retry Behavior
If the API call times out due to a socket exception, the plugin automatically retries up to 10 times, logging a warning on each retry. Any other exception stops retrying immediately.
# Error Handling
The Centerbase API returns HTTP 200 even when an error occurs. All responses include an error-code and error-message. If error-code is not 0, the plugin throws an exception with the returned message.
| Code | Name | Description |
|---|---|---|
| 32 | Validation exception | One or more input parameters are not valid. |
| 42 | Security exception | The current user does not have rights to perform the requested operation. |
| 52 | Not logged in | The session ID is no longer valid. |
| 62 | Invalid login | The username/password combination is invalid. |
| -1 | Operation failed | Any other error condition. |
# Extension Point: IConvertFromCenterbase
The plugin exposes the IConvertFromCenterbase interface for custom post-processing of mapped matter data before export:
public interface IConvertFromCenterbase {
CreateUpdateClientMatterSimple Execute(
CreateUpdateClientMatterSimple info,
Connection connection,
JObject matter
);
}
Register your implementation with StructureMap in a companion plugin assembly. The method receives the mapped client/matter data (info), the active Centerbase connection, and the raw Centerbase matter JSON (with fields already resolved to their labels). Return the modified info object.
← CaseManager Cicero →