An account in Etainabl represents a physical meter within a building. It can be either a primary meter or a sub-meter.
The Account object represents a utility meter or account in the Etainabl system.
Fields
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
_id | ObjectId | - | Auto | Unique identifier |
name | string | Yes | "" | Account/meter name |
group | string | No | - | Group name |
siteCode | string | No | "" | Site code |
type | string | Yes | - | Utility type. See Utility Types |
supplierRef | string | No | - | Supplier reference number |
financialCode | string | No | - | Financial code |
financialTransactionType | string | No | - | Financial transaction type |
propertyCode | string | No | - | Property code |
propertyScheduleCode | string | No | - | Property schedule code |
paymentSystem | string | No | - | Payment system |
meterPointNumber | string | No | - | Meter point number (MPAN/MPRN) |
meterSerialNumber | string | No | - | Meter serial number |
meterPointNumber2 | string | No | - | Secondary meter point number |
meterUnits | string | Yes | kwh | Meter units. See Units |
automaticMeterRead | boolean | No | false | Whether the meter has automatic reads |
status | string | No | active | active or inactive |
capacity | string | No | "" | Meter capacity |
meterOperator | string | No | "" | Meter operator name |
meterLocation | string | No | - | Physical location of the meter |
meterAreaServed | string | No | - | Area served by the meter |
meterOperatorType | string | No | - | lease or purchase |
meterOperatorExpiryDate | date | No | - | Meter operator contract expiry |
dataCollector | string | No | - | Data collector name |
registerIds | array[string] | No | [] | Register IDs |
parentAccountId | ObjectId | No | - | Parent account ID (for sub-meters) |
isVirtual | boolean | No | false | Whether this is an aggregated/virtual meter |
aggregatedMpans | array[string] | No | [] | Aggregated MPANs (when isVirtual is true, minimum 5 required) |
meterUser | string | No | landlord | Meter user |
isTrc | boolean | No | false | Is TRC (Tenant Recharge) |
floorArea | string | No | - | Floor area |
floorAreaUnit | string | No | metric | metric or imperial |
reportingType | string | No | - | Reporting type |
consumptionPriority | array[string] | No | [] | Data source priority order. Values: hh, reading, custom, invoice |
solarType | string | No | generation | generation, export, or both |
esec | string | No | - | ESEC code (a-u, excluding f, i, o) |
paymentTo | string | No | Property | Payment recipient |
deviceId | string | No | - | Device ID |
thirdParties | array[object] | No | - | Third party integrations. Each object has name (string) and deviceId (string) |
factor | number | No | - | Conversion factor |
supplierId | ObjectId | No | - | Supplier ID reference |
batchId | string | No | - | Batch ID (from data import) |
assetId | ObjectId | Yes | - | Associated asset (site) ID |
entityId | ObjectId | Yes | - | Entity ID |
companyId | ObjectId | Yes | - | Company ID |
userSub | string | Yes | - | User subject identifier |
tags | array[string] | No | [] | Tags for categorisation |
createdAt | date | - | Auto | Creation timestamp |
updatedAt | date | - | Auto | Last update timestamp |

