PUT /api/v3/account/{accountId}/meter/{meterId}/billSplit/{versionId}

Manage details for a bill split distribution

ManageBillSplitDetailsV3 Permissions: Chargebacks (Manage)

Request Headers

Header Value Required Description
ECI-ApiKey string Yes Your API key. See Authentication.
Content-Type application/json Yes All requests must specify JSON content type, including the request body.

Path Parameters

Name Description Type Required
accountId ID of the master account integer (int32) Required
meterId ID of the master meter integer (int32) Required
versionId ID of the version to update bill split details integer (int32) Required

Request Body

BillSplitDetailsRequest
Property Description Type
dynamicPercentageSplit DynamicPercentageBillSplit
DynamicPercentageBillSplit properties
Property Description Type
destinationMeterGroupId ID of a meter group to receive the results of the split bill. Required integer (int32)
destinationShareValue Value to define how dynamic percentages are calculated. Required One of ‘use’, ‘cost’ string
sourceValueToSplit Value to distribute to the destination meters. Required One of ‘use’, ‘cost’, ‘useAndCost’ string
fixedPercentageSplit Populate if setting up a fixed percentage split. You cannot split to the same account and meter combination multiple times within a single version. The destination account cannot be the same as the master account Cannot be Empty NULL Valid Required (defined) Only one of FixedPercentageSplit, FloorAreaSplit, DynamicPercentageSplit can be set FixedPercentage[]
FixedPercentage properties
Property Description Type
destinationAccountId Destination account ID Required Topmost (CostCenter) integer (int32)
destinationMeterId Destination meter ID The DestinationMeterId commodity must match the commodity Required Topmost (LogicalDevice) integer (int32)
splitPercentage Fixed percentage to apply in bill split for this account and meter Pass the percentage value For example 50.5% should be 50.5 Max scale of 8 Required number (double)
floorAreaSplit Populate if setting up a dynamic percentage split based on the building floor area with weighting factor applied. You cannot split the same account and meter multiple times within a single version. You cannot split to the same account and meter combination multiple times within a single version. The destination account cannot be the same as the master account Cannot be Empty NULL Valid Required (defined) Only one of FixedPercentageSplit, FloorAreaSplit, DynamicPercentageSplit can be set FloorAreaSplit[]
FloorAreaSplit properties
Property Description Type
destinationAccountId Destination account ID There must be an existing relationship between the DestinationAccountId and DestinationMeterId Required Topmost (CostCenter) integer (int32)
destinationMeterId Destination meter ID There must be an existing relationship between the DestinationAccountId and DestinationMeterId Required Topmost (LogicalDevice) integer (int32)
weightingFactor Weighting factor to apply in floor area bill split for this account and meter Max scale of 8 Required Must be between 0 and 1.7976931348623157E+308 number (double)
Example Request Body application/json
{  "dynamicPercentageSplit": {    "destinationMeterGroupId": 1,    "destinationShareValue": "string",    "sourceValueToSplit": "string"
  },  "fixedPercentageSplit": [
    {    "destinationAccountId": 1,    "destinationMeterId": 1,    "splitPercentage": 1.0
  }
  ],  "floorAreaSplit": [
    {    "destinationAccountId": 1,    "destinationMeterId": 1,    "weightingFactor": 1.0
  }
  ]
}

Responses

200 OK The request succeeded and the response body contains the requested data.

Response Body Parameters

BillSplitDetailsResponse
Property Description Type
dynamicPercentageSplit DynamicPercentageBillSplitResponse
DynamicPercentageBillSplitResponse properties
Property Description Type
destinationMeterGroup MeterGroupChild
MeterGroupChild properties
Property Description Type
autoGroup Indicates if this meter group is an autogroup boolean
meterGroupCode The meter group code string
meterGroupId The meter group identifier integer (int32)
meterGroupInfo The meter group info string
userDefinedAutoGroup Indicates if this meter group is an user defined auto group boolean
destinationShareValue Value to define how dynamic percentages are calculated. “use” or “cost” string
sourceValueToSplit Value to distribute to the destination meters “use”, “cost”, or “useAndCost” string
fixedPercentageSplit Populate if setting up a fixed percentage split. FixedPercentageResponse[]
FixedPercentageResponse properties
Property Description Type
destinationAccount AccountChildWithType
AccountChildWithType properties
Property Description Type
accountCode string
accountId integer (int32)
accountInfo string
accountType AccountTypeChild
AccountTypeChild properties
Property Description Type
accountTypeCode The account type code string
accountTypeId The account type identifier integer (int32)
accountTypeInfo The account type info string
active boolean
hasCalculatedMeter boolean
hasSplitChildMeter boolean
hasSplitParentMeter boolean
hasSubAccount boolean
isSubAccount boolean
vendor VendorChild
VendorChild properties
Property Description Type
vendorCode The vendor code string
vendorId The vendor identifier integer (int32)
vendorInfo The vendor info string
destinationMeter MeterChild
MeterChild properties
Property Description Type
active Indicates whether the Meter is Active boolean
commodity CommodityChild
CommodityChild properties
Property Description Type
commodityCode The commodity code Required (defined) string
commodityIcon Icon
Icon properties
Property Description Type
code The icon code Must be between 0 and 64 characters Required when Color is set string
color The icon color Must be between 0 and 32 characters Required when Code is set string
commodityId The commodity identifier Required (defined) integer (int32)
commodityInfo The commodity info Required (defined) string
isCalculatedMeter Indicates whether the meter is a calculated meter boolean
isEsaCalculatedMeter Indicates whether the meter is an ESA calculated meter boolean
isSplitChildMeter Indicates whether the meter is a child of a split boolean
isSplitParentMeter Indicates whether the meter is a parent of a split boolean
meterCode The meter code string
meterId The meter identifier integer (int32)
meterInfo The meter info string
meterType MeterTypeChild
MeterTypeChild properties
Property Description Type
meterTypeCode string
meterTypeId integer (int32)
meterTypeInfo string
serialNumber The meter’s current serial number string
destinationPlace PlaceChildWithFloorArea
PlaceChildWithFloorArea properties
Property Description Type
currentFloorArea BillSplitPlaceSizeChild
BillSplitPlaceSizeChild properties
Property Description Type
beginDate string (date-time)
endDate string (date-time)
placeSizeId integer (int32)
unit UnitChild
UnitChild properties
Property Description Type
unitCode The unit code string
unitId The unit identifier integer (int32)
unitInfo The unit info string
value number (double)
isDataRolledUp Tells whether or not the place’s data is rolled up to its parents. boolean
placeCode The place code string
placeId The place identifier integer (int32)
placeInfo The place info string
placeType PlaceTypeResponse
PlaceTypeResponse properties
Property Description Type
icon Icon
Icon properties
Property Description Type
code The icon code Must be between 0 and 64 characters Required when Color is set string
color The icon color Must be between 0 and 32 characters Required when Code is set string
isSystemPlaceType Flag to indicate if the place type is a system-level place type boolean
placeEntityType PlaceEntityTypeV202406
PlaceEntityTypeV202406 properties
Property Description Type
placeEntityTypeId The place entity type identifier integer (int32)
placeEntityTypeInfo The place entity type name string
placeTypeCode The place type code string
placeTypeId The place type identifier integer (int32)
placeTypeInfo The place type info string
structure Indicates if the place is a structure boolean
splitPercentage Fixed percentage to apply in bill split for this account and meter number (double)
floorAreaSplit Populate if setting up a dynamic percentage split based on the building floor area with weighting factor applied. FloorAreaSplitResponse[]
FloorAreaSplitResponse properties
Property Description Type
destinationAccount AccountChildWithType
AccountChildWithType properties
Property Description Type
accountCode string
accountId integer (int32)
accountInfo string
accountType AccountTypeChild
AccountTypeChild properties
Property Description Type
accountTypeCode The account type code string
accountTypeId The account type identifier integer (int32)
accountTypeInfo The account type info string
active boolean
hasCalculatedMeter boolean
hasSplitChildMeter boolean
hasSplitParentMeter boolean
hasSubAccount boolean
isSubAccount boolean
vendor VendorChild
VendorChild properties
Property Description Type
vendorCode The vendor code string
vendorId The vendor identifier integer (int32)
vendorInfo The vendor info string
destinationMeter MeterChild
MeterChild properties
Property Description Type
active Indicates whether the Meter is Active boolean
commodity CommodityChild
CommodityChild properties
Property Description Type
commodityCode The commodity code Required (defined) string
commodityIcon Icon
Icon properties
Property Description Type
code The icon code Must be between 0 and 64 characters Required when Color is set string
color The icon color Must be between 0 and 32 characters Required when Code is set string
commodityId The commodity identifier Required (defined) integer (int32)
commodityInfo The commodity info Required (defined) string
isCalculatedMeter Indicates whether the meter is a calculated meter boolean
isEsaCalculatedMeter Indicates whether the meter is an ESA calculated meter boolean
isSplitChildMeter Indicates whether the meter is a child of a split boolean
isSplitParentMeter Indicates whether the meter is a parent of a split boolean
meterCode The meter code string
meterId The meter identifier integer (int32)
meterInfo The meter info string
meterType MeterTypeChild
MeterTypeChild properties
Property Description Type
meterTypeCode string
meterTypeId integer (int32)
meterTypeInfo string
serialNumber The meter’s current serial number string
destinationPlace PlaceChildWithFloorArea
PlaceChildWithFloorArea properties
Property Description Type
currentFloorArea BillSplitPlaceSizeChild
BillSplitPlaceSizeChild properties
Property Description Type
beginDate string (date-time)
endDate string (date-time)
placeSizeId integer (int32)
unit UnitChild
UnitChild properties
Property Description Type
unitCode The unit code string
unitId The unit identifier integer (int32)
unitInfo The unit info string
value number (double)
isDataRolledUp Tells whether or not the place’s data is rolled up to its parents. boolean
placeCode The place code string
placeId The place identifier integer (int32)
placeInfo The place info string
placeType PlaceTypeResponse
PlaceTypeResponse properties
Property Description Type
icon Icon
Icon properties
Property Description Type
code The icon code Must be between 0 and 64 characters Required when Color is set string
color The icon color Must be between 0 and 32 characters Required when Code is set string
isSystemPlaceType Flag to indicate if the place type is a system-level place type boolean
placeEntityType PlaceEntityTypeV202406
PlaceEntityTypeV202406 properties
Property Description Type
placeEntityTypeId The place entity type identifier integer (int32)
placeEntityTypeInfo The place entity type name string
placeTypeCode The place type code string
placeTypeId The place type identifier integer (int32)
placeTypeInfo The place type info string
structure Indicates if the place is a structure boolean
splitPercentage Fixed percentage to apply in bill split for this account and meter number (double)
weightingFactor Weighting factor to apply in floor area bill split for this account and meter number (double)
version DistributionVersionResponse
DistributionVersionResponse properties
Property Description Type
account AccountChildWithType
AccountChildWithType properties
Property Description Type
accountCode string
accountId integer (int32)
accountInfo string
accountType AccountTypeChild
AccountTypeChild properties
Property Description Type
accountTypeCode The account type code string
accountTypeId The account type identifier integer (int32)
accountTypeInfo The account type info string
active boolean
hasCalculatedMeter boolean
hasSplitChildMeter boolean
hasSplitParentMeter boolean
hasSubAccount boolean
isSubAccount boolean
vendor VendorChild
VendorChild properties
Property Description Type
vendorCode The vendor code string
vendorId The vendor identifier integer (int32)
vendorInfo The vendor info string
beginPeriod Begin period for the version integer (int32)
chargebackType The chargeback type. Either “Split” or “Calculation” string
endPeriod End period for the version null value means continuing indefinitely integer (int32)
hasBills Do any bills exist that were created by this version? A version cannot be deleted if there are any existing bills that were created using this version boolean
meter MeterChild
MeterChild properties
Property Description Type
active Indicates whether the Meter is Active boolean
commodity CommodityChild
CommodityChild properties
Property Description Type
commodityCode The commodity code Required (defined) string
commodityIcon Icon
Icon properties
Property Description Type
code The icon code Must be between 0 and 64 characters Required when Color is set string
color The icon color Must be between 0 and 32 characters Required when Code is set string
commodityId The commodity identifier Required (defined) integer (int32)
commodityInfo The commodity info Required (defined) string
isCalculatedMeter Indicates whether the meter is a calculated meter boolean
isEsaCalculatedMeter Indicates whether the meter is an ESA calculated meter boolean
isSplitChildMeter Indicates whether the meter is a child of a split boolean
isSplitParentMeter Indicates whether the meter is a parent of a split boolean
meterCode The meter code string
meterId The meter identifier integer (int32)
meterInfo The meter info string
meterType MeterTypeChild
MeterTypeChild properties
Property Description Type
meterTypeCode string
meterTypeId integer (int32)
meterTypeInfo string
serialNumber The meter’s current serial number string
versionId Identifier for the version integer (int32)
versionInfo Name given to a version string
workflow ChargebackWorkflowStepChild
ChargebackWorkflowStepChild properties
Property Description Type
chargebackWorkflow ChargebackWorkflowBase
ChargebackWorkflowBase properties
Property Description Type
chargebackWorkflowId Identifier for the chargeback workflow integer (int32)
chargebackWorkflowInfo Name given to the chargeback workflow string
chargebackWorkflowStepDescription Description for the chargeback workflow step string
chargebackWorkflowStepId Identifier for the chargeback workflow step integer (int32)
chargebackWorkflowStepInfo Name given to the chargeback workflow step string
chargebackWorkflowStepOrder The order for this step within the chargeback workflow integer (int32)
chargebackWorkflowStepType The chargeback type that can be assign to this chargeback workflow step. One of ‘Split’, ‘Calculation’ One of ‘Split’, ‘Calculation’ string
Example Response application/json
{  "dynamicPercentageSplit": {    "destinationMeterGroup": {      "autoGroup": false,      "meterGroupCode": "string",      "meterGroupId": 1,      "meterGroupInfo": "string",      "userDefinedAutoGroup": false
    },    "destinationShareValue": "string",    "sourceValueToSplit": "string"
  },  "fixedPercentageSplit": [
    {    "destinationAccount": {      "accountCode": "string",      "accountId": 1,      "accountInfo": "string",      "accountType": {},      "active": false,      "hasCalculatedMeter": false,      "hasSplitChildMeter": false,      "hasSplitParentMeter": false,      "hasSubAccount": false,      "isSubAccount": false,      "vendor": {}
    },    "destinationMeter": {      "active": false,      "commodity": {},      "isCalculatedMeter": false,      "isEsaCalculatedMeter": false,      "isSplitChildMeter": false,      "isSplitParentMeter": false,      "meterCode": "string",      "meterId": 1,      "meterInfo": "string",      "meterType": {},      "serialNumber": "string"
    },    "destinationPlace": {      "currentFloorArea": {},      "isDataRolledUp": false,      "placeCode": "string",      "placeId": 1,      "placeInfo": "string",      "placeType": {}
    },    "splitPercentage": 1.0
  }
  ],  "floorAreaSplit": [
    {    "destinationAccount": {      "accountCode": "string",      "accountId": 1,      "accountInfo": "string",      "accountType": {},      "active": false,      "hasCalculatedMeter": false,      "hasSplitChildMeter": false,      "hasSplitParentMeter": false,      "hasSubAccount": false,      "isSubAccount": false,      "vendor": {}
    },    "destinationMeter": {      "active": false,      "commodity": {},      "isCalculatedMeter": false,      "isEsaCalculatedMeter": false,      "isSplitChildMeter": false,      "isSplitParentMeter": false,      "meterCode": "string",      "meterId": 1,      "meterInfo": "string",      "meterType": {},      "serialNumber": "string"
    },    "destinationPlace": {      "currentFloorArea": {},      "isDataRolledUp": false,      "placeCode": "string",      "placeId": 1,      "placeInfo": "string",      "placeType": {}
    },    "splitPercentage": 1.0,    "weightingFactor": 1.0
  }
  ],  "version": {    "account": {      "accountCode": "string",      "accountId": 1,      "accountInfo": "string",      "accountType": {},      "active": false,      "hasCalculatedMeter": false,      "hasSplitChildMeter": false,      "hasSplitParentMeter": false,      "hasSubAccount": false,      "isSubAccount": false,      "vendor": {}
    },    "beginPeriod": 1,    "chargebackType": "string",    "endPeriod": 1,    "hasBills": false,    "meter": {      "active": false,      "commodity": {},      "isCalculatedMeter": false,      "isEsaCalculatedMeter": false,      "isSplitChildMeter": false,      "isSplitParentMeter": false,      "meterCode": "string",      "meterId": 1,      "meterInfo": "string",      "meterType": {},      "serialNumber": "string"
    },    "versionId": 1,    "versionInfo": "string",    "workflow": {      "chargebackWorkflow": {},      "chargebackWorkflowStepDescription": "string",      "chargebackWorkflowStepId": 1,      "chargebackWorkflowStepInfo": "string",      "chargebackWorkflowStepOrder": 1,      "chargebackWorkflowStepType": "string"
    }
  }
}