Edit an existing bill
If enabled, audits will be processed for the edited bill. If specified, any issues previously resolved will be reopened.
Below are some clarifications regarding the rules for editing an existing bill:
- Bills which are marked as “void” may not be edited
- Users without UpdateApprovedBills.Edit permission may not edit bills marked as “Approved”
- Users without ExportBills.Edit permission may not edit bills exported to AP or GL
- Bills must have at least one line item
- If configured, required bill headers will be enforced
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 |
|---|---|---|---|
| billId | integer (int32) | Required |
Request Body
BillEditV202604
| Property | Description | Type | ||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| accountBodyLines | The account line items Required (defined) | BillAccountBodyLineEdit[] | ||||||||||||||||||||||||||||||||||||
|
BillAccountBodyLineEdit properties
|
||||||||||||||||||||||||||||||||||||||
| accountId | The bill’s account Required | integer (int32) | ||||||||||||||||||||||||||||||||||||
| accountPeriod | The bill’s accounting period Depending on your settings you can have up to 13 accounting periods Must be between 190001 and 209913 Required (defined) | integer (int32) | ||||||||||||||||||||||||||||||||||||
| beginDate | The bill’s begin date Required Must be between 1899-12-31 and 3000-01-01 | string (date-time) | ||||||||||||||||||||||||||||||||||||
| billingPeriod | The bill’s billing period Required Must be between 190001 and 209912 | integer (int32) | ||||||||||||||||||||||||||||||||||||
| controlCode | The bill’s control code Must be between 0 and 255 characters Required (defined) | string | ||||||||||||||||||||||||||||||||||||
| dueDate | The date and time the bill is due Must be between 1899-12-31 and 3000-01-01 Required (defined) | string (date-time) | ||||||||||||||||||||||||||||||||||||
| endDate | The bill’s end date Required Must be greater than BeginDate Must be between 1899-12-31 and 3000-01-01 | string (date-time) | ||||||||||||||||||||||||||||||||||||
| estimated | Indicates if the bill is estimated Required (defined) | boolean | ||||||||||||||||||||||||||||||||||||
| invoiceNumber | The bill’s invoice number Must be between 0 and 32 characters Required (defined) | string | ||||||||||||||||||||||||||||||||||||
| meters | The meters with line items Required (defined) | BillMeterEdit[] | ||||||||||||||||||||||||||||||||||||
|
BillMeterEdit properties
|
||||||||||||||||||||||||||||||||||||||
| nextReading | The date and time the next reading Must be between 1899-12-31 and 3000-01-01 Required (defined) | string (date-time) | ||||||||||||||||||||||||||||||||||||
| note | The bill note Required (defined) | string | ||||||||||||||||||||||||||||||||||||
| rerunResolvedIssues | Required | boolean | ||||||||||||||||||||||||||||||||||||
| saveAsResolved | Required | boolean | ||||||||||||||||||||||||||||||||||||
| saveAsResolvedComment | Max length of 255 Required (defined) | string | ||||||||||||||||||||||||||||||||||||
| setToUnapproved | The bill’s “approval change flag”. If a bill is approved and the approval system is turned on: true = unapprove bill, false = don’t change bill’s approval status. If the approval system is not turned on: the bill’s approval status will not be changed regardless of this setting. Required (defined) | boolean | ||||||||||||||||||||||||||||||||||||
| statementDate | The date and time of the bill statement Must be between 1899-12-31 and 3000-01-01 Required (defined) | string (date-time) | ||||||||||||||||||||||||||||||||||||
Example Request Body
{ "accountBodyLines": [
{ "bodyLineId": 1, "caption": "string", "cost": 1.0, "costUnitId": 1, "observationTypeId": 1, "specialChargeId": 1
}
], "accountId": 1, "accountPeriod": 1, "beginDate": "2026-04-28", "billingPeriod": 1, "controlCode": "string", "dueDate": "2026-04-28", "endDate": "2026-04-28", "estimated": false, "invoiceNumber": "string", "meters": [
{ "bodyLines": [
{ "bodyLineId": 1, "caption": "string", "cost": 1.0, "costUnitId": 1, "observationTypeId": 1, "value": 1.0, "valueUnitId": 1
}
], "meterId": 1
}
], "nextReading": "2026-04-28", "note": "string", "rerunResolvedIssues": false, "saveAsResolved": false, "saveAsResolvedComment": "string", "setToUnapproved": false, "statementDate": "2026-04-28"
}
Responses
200
OK
The request succeeded and the response body contains the requested data.
Response Body Parameters
BillIdResponse
| Property | Description | Type |
|---|---|---|
| billId | The bill identifier | integer (int32) |
Example Response
{ "billId": 1
}