# 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.

Last Updated: 3/3/2026, 10:41:25 AM