Data Export Entity Schema
The schema for the entities available for usage and operational data exports are given in the tables below.
For additional reference:
Data export records typically include all relevant fields for an entity returned by the API when retrieving the entity plus some additional fields only relevant for exports. Further details and descriptions of each field can be found in the corresponding sections of the m3ter API Reference documentation.
The Entity Relationship Diagram lays out the m3ter data entities and their relationships.
Account
Field Name | Data Type | Notes |
---|
id | string | uuid (primary key) |
version | integer | |
name | string | |
code | string | |
address | string | JSON object |
autoGenerateStatementMode | string | |
billEpoch | string | |
creditApplicationOrder | string | |
currency | string | |
emailAddress | string | |
parentAccountId | string | uuid (foreign key to parent account) |
purchaseOrderNumber | string | |
statementDefinitionId | string | uuid (foreign key to statement definition) |
customFields | string | JSON object |
dtCreated | string | |
dtLastModified | string | |
createdBy | string | |
lastModifiedBy | string | |
deleted | boolean | |
AccountPlan
Field Name | Data Type | Notes |
---|
id | string | uuid (primary key) |
version | integer | |
code | string | |
accountId | string | uuid (foreign key to account) |
billEpoch | string | |
childBillingMode | string | |
contractId | string | |
modifiedBy | string | |
planId | string | |
planGroupId | string | |
productId | string | |
startDate | string | |
endDate | string | |
customFields | string | JSON object |
dtCreated | string | |
dtLastModified | string | |
createdBy | string | |
lastModifiedBy | string | |
deleted | boolean | |
Aggregation
Field Name | Data Type | Notes |
---|
id | string | uuid (primary key) |
version | integer | |
name | string | |
code | string | |
rounding | string | |
quantityPerUnit | integer | |
unit | string | |
segments | string | JSON object |
meterId | string | uuid (foreign key to meter) |
targetField | string | |
aggregation | string | |
segmentedFields | string | JSON object |
defaultValue | integer | |
dtCreated | string | |
dtLastModified | string | |
createdBy | string | |
lastModifiedBy | string | |
deleted | string | |
Balance
Field Name | Data Type | Notes |
---|
id | string | uuid (primary key) |
version | integer | |
name | string | |
code | string | |
description | string | |
accountId | string | uuid (foreign key to account) |
amount | float | |
currency | string | |
startDate | string | |
endDate | string | |
rolloverAmount | float | |
rolloverEndDate | string | |
balanceDrawDownDescription | string | |
overageSurchargePercent | float | |
overageDescription | string | |
productIds | string | JSON object (list of uuids) |
lineItemTypes | string | JSON object |
dtCreated | string | |
dtLastModified | string | |
createdBy | string | |
lastModifiedBy | string | |
deleted | boolean | |
Bill
Field Name | Data Type | Notes |
---|
id | string | uuid (primary key) |
version | string | |
accountId | string | uuid (foreign key to account) |
startDateTimeUTC | string | |
endDateTimeUTC | string | |
billDate | string | |
dueDate | string | |
billingFrequency | string | |
billingFrequencyInterval | integer | |
timezone | string | |
currency | string | |
locked | boolean | |
createdDate | string | |
status | string | |
lastCalculatedDate | string | |
purchaseOrderNumber | string | |
externalInvoiceReference | string | |
billTotal | double | |
dtCreated | string | |
dtLastModified | string | |
createdBy | string | |
lastModifiedBy | string | |
deleted | boolean | |
Bill Line Item
Field Name | Data Type | Notes |
---|
id | string | uuid (primary key) |
version | integer | |
productId | string | uuid (foreign key to product) |
aggregationId | string | uuid (foreign key to aggregation) |
compoundAggregationId | string | uuid (foreign key to compound aggregation) |
counterId | string | uuid (foreign key to counter) |
segment | string | JSON Object |
meterId | string | uuid (foreign key to meter) |
planId | string | uuid (foreign key to plan) |
planGroupId | string | uuid (foreign key to plan group) |
commitmentId | string | uuid (foreign key to commitment) |
balanceId | string | uuid (foreign key to balance) |
billId | string | uuid (foreign key to bill) |
productName | string | |
productCode | string | |
description | string | |
quantity | float | |
units | float | |
unit | string | |
subtotal | float | |
currency | string | |
conversionRate | float | |
convertedSubtotal | float | |
creditTypeId | string | uuid (foreign key to credit type) |
lineItemType | string | |
pricingId | string | uuid (foreign key to pricing) |
bandUsage | string | JSON Object |
servicePeriodStartDate | string | |
servicePeriodEndDate | string | |
referenceBillId | string | |
referenceLineItemId | string | |
reasonId | string | uuid (foreign key to reason) |
contractId | string | uuid (foreign key to contract) |
averageUnitPrice | float | |
sequenceNumber | integer | |
dtCreated | string | |
dtLastModified | string | |
createdBy | string | |
lastModifiedBy | string | |
deleted | boolean | |
Commitment/Prepayment
Field Name | Data Type | Notes |
---|
id | string | uuid (primary key) |
version | integer | |
accountId | string | uuid (foreign key to account) |
billingPlanId | string | uuid (foreign key to billing plan) |
productIds | string | JSON Object |
startDate | string | |
endDate | string | |
currency | string | |
amount | float | |
amountPrePaid | float | |
amountFirstBill | float | |
amountSpent | float | |
overageSurchargePercent | float | |
separateOverageUsage | boolean | |
billingInterval | integer | |
billingOffset | integer | |
commitmentFeeDescription | string | |
commitmentUsageDescription | string | |
overageDescription | string | |
commitmentFeeBillInAdvance | boolean | |
billEpoch | string | |
contractId | string | uuid (foreign key to contract) |
accountingProductId | string | uuid (foreign key to accounting product) |
childBillingMode | string | |
lineItemTypes | string | JSON Object |
dtCreated | string | |
dtLastModified | string | |
createdBy | string | |
lastModifiedBy | string | |
deleted | boolean | |
Compound Aggregation
Field Name | Data Type | Notes |
---|
id | string | uuid (primary key) |
version | integer | |
name | string | |
code | string | |
rounding | string | |
quantityPerUnit | integer | |
unit | string | |
productId | string | uuid (foreign key to product) |
calculation | string | |
evaluateNullAggregations | boolean | |
customFields | string | JSON object |
dtCreated | string | |
dtLastModified | string | |
createdBy | string | |
lastModifiedBy | string | |
deleted | string | |
Contract
Field Name | Data Type | Notes |
---|
id | string | uuid (primary key) |
version | integer | |
accountId | string | uuid (foreign key to account) |
name | string | |
code | string | |
description | string | |
purchaseOrderNumber | string | |
startDate | string | |
endDate | string | |
customFields | string | JSON object |
dtCreated | string | |
dtLastModified | string | |
createdBy | string | |
lastModifiedBy | string | |
deleted | boolean | |
Meter
Field Name | Data Type | Notes |
---|
id | string | uuid (primary key) |
version | integer | |
name | string | |
code | string | |
productId | string | uuid (foreign key to product) |
dataFields | array of objects:
category; code; name; unit | JSON |
derivedFields | array of objects:
category; code; name; unit; calculation | JSON |
customFields | string | JSON object |
dtCreated | string | |
dtLastModified | string | |
createdBy | string | |
lastModifiedBy | string | |
deleted | boolean | |
Plan
Field Name | Data Type | Notes |
---|
id | string | uuid (primary key) |
version | integer | |
name | string | |
code | string | |
planTemplateId | string | uuid (foreign key to plan template) |
productId | string | uuid (foreign key to product) |
ordinal | integer | |
bespoke | boolean | |
minimumSpend | float | |
minimumSpendDescription | string | |
accountId | string | uuid |
standingCharge | float | |
standingChargeDescription | string | |
standingChargeBillInAdvance | boolean | |
minimumSpendBillInAdvance | boolean | |
customFields | string | JSON object |
dtCreated | string | |
dtLastModified | string | |
createdBy | string | |
lastModifiedBy | string | |
deleted | boolean | |
Plan Group
Field Name | Data Type | Notes |
---|
id | string | uuid (primary key) |
version | integer | |
name | string | |
code | string | |
standingCharge | float | |
standingChargeDescription | string | |
standingChargeBillInAdvance | boolean | |
standingChargeAccountingProductId | string | uuid (foreign key to standing charge accounting product) |
minimumSpend | float | |
minimumSpendDescription | string | |
minimumSpendBillInAdvance | boolean | |
minimumSpendAccountingProductId | string | uuid (foreign key to minimum spend accounting product) |
currency | string | |
accountId | string | uuid (foreign key to account) |
customFields | string | JSON object |
dtCreated | string | |
dtLastModified | string | |
createdBy | string | |
lastModifiedBy | string | |
deleted | boolean | |
Plan Group Link
Column A | Data Type | Notes |
---|
id | string | uuid (primary key) |
version | integer | |
planGroupId | string | uuid (foreign key to plan group) |
planId | string | uuid (foreign key to plan) |
dtCreated | string | |
dtLastModified | string | |
createdBy | string | |
lastModifiedBy | string | |
deleted | boolean | |
Plan Template
Field Name | Data Type | Notes |
---|
id | string | uuid (primary key) |
version | integer | |
name | string | |
code | string | |
productId | string | uuid (foreign key to product) |
currency | string | |
standingCharge | float | |
standingChargeDescriptioon | string | |
standingChargeInterval | integer | |
standingChargeOffset | integer | |
standingChargeBillInAdvance | boolean | |
billFrequency | string | |
billFrequencyInterval | integer | |
ordinal | integer | |
minimumSpend | float | |
minimumSpendDescription | string | |
minimumSpendBillInAdvance | boolean | |
customFields | string | JSON object |
dtCreated | string | |
dtLastModified | string | |
createdBy | string | |
lastModifiedBy | string | |
deleted | boolean | |
Pricing
Field Name | Data Type | Notes |
---|
id | string | uuid (primary key) |
version | boolean | |
code | string | |
description | string | |
planId | string | uuid (foreign key to plan) |
planTemplateId | string | uuid (foreign key to plan template) |
startDate | string | |
endDate | string | |
minimumSpend | float | |
minimumSpend Description | string | |
minimumSpendBillInAdvance | boolean | |
aggregationId | string | uuid (foreign key to aggregation) |
aggregationType | string | |
compoundAggregationId | string | uuid (foreign key to compound aggregation) |
cumulative | boolean | |
type | string | |
segment | string | JSON Object |
tiersSpanPlan | boolean | |
dtCreated | string | |
dtLastModified | string | |
createdby | string | |
lastModifiedBy | string | |
deleted | boolean | |
Pricing Band
Field Name | Data Type | Notes |
---|
id | string | uuid (primary key) |
version | integer | |
pricingId | string | uuid (foreign key to pricing) |
lowerLimit | float | |
fixedPrice | float | |
unitPrice | float | |
type | string | |
dtCreated | string | |
dtLastModified | string | |
createdBy | string | |
lastModifiedBy | string | |
deleted | boolean | |
Product
Field Name | Data Type | Notes |
---|
id | string | uuid (primary key) |
version | integer | |
name | string | |
code | string | |
customFields | string | JSON object |
dtCreated | string | |
dtLastModified | string | |
createdBy | string | |
lastModifiedBy | string | |
deleted | boolean | |
Usage (Measurements)
The Measurement schema for exported usage data is set out in the following tables:
Note that what is contained in a particular usage data export is dependent upon the configuration set up for the export. Some fields will be included in all usage exports but the inclusion of others will depend on selections made for aggregating usage data for the export. These dependencies are noted for the relevant fields in the following tables.
Raw
Field Name | Data Type | Notes |
---|
meter_id | string | uuid (foreign key to meter) |
timestamp | string | |
uid | string | uuid (primary key) |
ets | string | |
received_at | string | |
account_id | string | uuid (foreign key to account) |
FIELDS DEPENDENT ON METER CONFIG | | Both Dimension (String) and Fact or Measure (Numeric) Meter data fields are included for raw usage data exports. |
{field_name} (ORIGINAL) | string | General header format for both Dimension and Fact Meter Data Fields included for export. In any particular usage export, the fields included will be determined by the time period configured for the export. |
Aggregated
Field Name | Data Type | Notes |
---|
meter_id | string | uuid (foreign key to meter) |
timestamp | string | |
year | string | |
account_id | string | uuid (foreign key to account) Optional - only exported for export if filtering by Accounts. |
FIELDS DEPENDENT ON METER CONFIG | | Only Fact or Measure (Numeric) Meter data fields are included for aggregated usage data exports. |
{field_name} ({aggregation_type}) | string | General header format for Fact Meter Data Fields included for export. In any particular usage export, the fields included will be determined by the time period configured for the export. |
FIELDS DEPENDENT ON AGGREGATION CONFIG | | Inclusion in export depends on selected aggregation frequency. |
month | string | Included if frequency is, monthly, weekly, daily, or hourly. |
week | string | Included if frequency is weekly, daily, or hourly. |
day | string | Included if frequency is daily or hourly. |
hour | string | Included if frequency is hourly. |
Additional Support
Login to the Support portal for additional help and to send questions to our Support team.