Billing price list entries

A billing price list entry contains the pricing for a single item within a specified billing price list. A contract specifies a billing price list, and items from contract lines are priced according to the associated price list.

List billing price list entries

get/objects/contracts/billing-price-list-entry

Returns up to 100 object references from the collection with a key, ID, and link for each entry. This operation is mostly for use in testing; use query to find objects that meet certain criteria and to specify properties that are returned.

SecurityOAuth2
Responses
200

OK

400

Bad Request

Request samples
Response samples
application/json
{
  • "ia::result": [
    • {
      • "key": "300",
      • "id": "300",
      • "href": "/objects/contracts/billing-price-list-entry/300"
      },
    • {
      • "key": "296",
      • "id": "296",
      • "href": "/objects/contracts/billing-price-list-entry/296"
      },
    • {
      • "key": "298",
      • "id": "298",
      • "href": "/objects/contracts/billing-price-list-entry/298"
      }
    ],
  • "ia::meta": {
    • "totalCount": 3,
    • "start": 1,
    • "pageSize": 100,
    • "next": null,
    • "previous": null
    }
}

Create a billing price list entry

post/objects/contracts/billing-price-list-entry

Creates a new billing price list entry.

SecurityOAuth2
Request
Request Body schema: application/json
required

Billing price list entry to create

required
object

Billing price list that the entry belongs to.

key
string

Billing price list key.

Example: "1"
id
string

Billing price list ID.

Example: "SoftwarePackagePL"
required
object

The item that this price list entry is for.

key
string

Item key.

Example: "13"
id
string

Item ID.

Example: "ID3614"
priceType
required
string or null

Price type.

  • range - Use this option for items with high-volume quantities, such as items measured in CPM. You set pricing for groups of thousands, hundreds, dozens, and so on. For example, say you are selling ad clicks. Each group of 1000 ad clicks will be priced at 20.00.
  • tiered - Use this option to define price tiers. Use the tieredPricingType to set the type of tiered pricing and an array of billing-price-list-entry-line-tier objects to specify the tiers.
Enum: null "range" "tiered"
Example: "range"
variableUnitDivisor
required
string

Variable unit divisor to apply to all lines. This field is only applicable if priceType = range.

Example: "1000"
object
exchangeRateDate
string <date>

Exchange rate date

Example: "2014-01-08"
exchangeRateTypeId
string

Exchange rate type

Example: "Intacct Daily Rate"
exchangeRate
number

Exchange rate

Example: 0.78
baseCurrency
string

Base currency

Example: "USD"
txnCurrency
string

Transaction currency

Example: "GBP"
flatAmountFrequency
string or null

How often the flatAmount from a billing-price-list-entry-line should be invoiced during the contract term.

  • oneTime - The flat amount should only be invoiced once.
  • useBillingTemplate - The flat amount should be divided into more than one invoice.
  • includeWithEveryInvoice - The flat amount should be included in every invoice. This value is used for evergreen contract lines.
Enum: "includeWithEveryInvoice" null "oneTime" "useBillingTemplate"
Example: "oneTime"
usageQuantityResetPeriod
string or null
Default: "afterEachRenewal"

Indicates when the usage quantity should be reset to 0 to start the pricing structure over.

On quantity-based evergreen contract lines, this field defaults to afterEachInvoice and cannot be changed.

Enum: "afterEachInvoice" "afterEachRenewal" null
Example: "afterEachRenewal"
roundingType
string or null
Default: "standard"

Indicate how you want the total usage to be rounded after the total usage quantity is divided by the variableUnitDivisor. Only applicable if priceType = range.

Enum: null "roundDown" "roundUp" "standard"
Example: "standard"
isQuantityRecurring
boolean
Default: false

Indicates whether the quantity is recurring.

Example: false
tieredPricingType
string
Default: "volume"

Tiered pricing type.

  • volume - The total quantity will be priced at the rate in the tier in which the quantity falls.
  • step - The item will be priced at the successive tiers in which the quantity falls.
  • absolute - Set a specific amount to be charged when the quantity falls within a tier.

This field is only applicable if priceType = tiered.

Enum: "absolute" "step" "volume"
Example: "step"
Array of objects

Billing price list entry lines.

Array
startDate
string <date>

The date on which the price becomes effective.

Example: "2024-01-01"
flatAmount
string <decimal-precision-2>

Flat amount.

  • The established amount to bill each period. For example, if the item is text message, 5,000 text messages are included for a Flat amount of 10.00. Set this field to 0 to price the item only by the contracted quantity or quantity used.
  • The fixed price for items that don't include pricing by contracted quantity or quantity used. For example, the item is a service plan that is 300.00 for a one-year term.
Example: "999.99"
variableUnitRate
string or null

The amount to charge for each quantity range beyond the included units. Only applicable if priceType = range.

Example: "11.99"
includedUnits
string or null

The item quantity included in the flatAmount.

Enter 0 in this field to:

  • Price the item only by the contracted quantity or quantity used
  • Set a fixed fee
  • Use the item with committed quantity billing. Included units must be 0.00 to save a committed quantity contract line.
Example: "2000"
memo
string or null

Notes.

Example: "note to save"
Array of objects

Pricing tiers. Only applicable if priceType = tiered.

status
string
Default: "active"

Object status. Active objects are fully functional. Inactive objects are essentially hidden and cannot be used or referenced.

Enum: "active" "inactive"
Example: "active"
Responses
201

Created

400

Bad Request

Request samples
application/json
{
  • "status": "active",
  • "billingPriceList": {
    • "key": "1"
    },
  • "item": {
    • "id": "SUBPACKPROJ"
    },
  • "currency": {
    • "txnCurrency": "CAD"
    },
  • "priceType": "tiered",
  • "flatAmountFrequency": "useBillingTemplate",
  • "variableUnitDivisor": "1",
  • "usageQuantityResetPeriod": "afterEachRenewal",
  • "isQuantityRecurring": false,
  • "tieredPricingType": "volume",
  • "lines": [
    • {
      • "startDate": "2015-01-01",
      • "flatAmount": "5900.00",
      • "variableUnitRate": "1",
      • "includedUnits": "1000",
      • "tiers": [
        ]
      },
    • {
      • "billingPriceListEntry": {
        },
      • "startDate": "2015-06-01",
      • "flatAmount": "5900.00",
      • "variableUnitRate": "1",
      • "includedUnits": "1000",
      • "tiers": [
        ]
      }
    ]
}
Response samples
application/json
{
  • "ia::result": {
    • "key": "525",
    • "id": "525",
    • "href": "/objects/contracts/billing-price-list-entry/525"
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 1,
    • "totalError": 0
    }
}

Get a billing price list entry

get/objects/contracts/billing-price-list-entry/{key}

Returns detailed information for a specified billing price list entry.

SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned unique key for the billing price list entry.

Example: 425
Responses
200

OK

400

Bad Request

Request samples
Response samples
application/json
{
  • "ia::result": {
    • "id": "477",
    • "key": "477",
    • "audit": {
      • "createdDateTime": "2024-08-01T20:24:31Z",
      • "modifiedDateTime": "2024-08-01T20:29:54Z",
      • "createdByUser": {
        },
      • "createdBy": "1",
      • "modifiedByUser": {
        },
      • "modifiedBy": "1"
      },
    • "status": "active",
    • "item": {
      • "key": "2539",
      • "id": "01",
      • "name": "Text messages",
      • "href": "/objects/inventory-control/item/2539"
      },
    • "billingPriceList": {
      • "key": "26",
      • "id": "UseCaseScenarios",
      • "href": "/objects/contracts/billing-price-list/26"
      },
    • "currency": {
      • "txnCurrency": "USD"
      },
    • "priceType": "range",
    • "flatAmountFrequency": "includeWithEveryInvoice",
    • "variableUnitDivisor": "1000",
    • "roundingType": "standard",
    • "usageQuantityResetPeriod": "afterEachInvoice",
    • "isQuantityRecurring": false,
    • "tieredPricingType": "volume",
    • "lines": [
      • {
        }
      ],
    • "href": "/objects/contracts/billing-price-list-entry/477"
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 1,
    • "totalError": 0
    }
}

Update a billing price list entry

patch/objects/contracts/billing-price-list-entry/{key}

Updates an existing billing price list entry by setting field values. Any fields not provided remain unchanged.

SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned unique key for the billing price list entry.

Example: 425
Request Body schema: application/json
object

Billing price list that the entry belongs to.

key
string

Billing price list key.

Example: "1"
id
string

Billing price list ID.

Example: "SoftwarePackagePL"
object
exchangeRateDate
string <date>

Exchange rate date

Example: "2014-01-08"
exchangeRateTypeId
string

Exchange rate type

Example: "Intacct Daily Rate"
exchangeRate
number

Exchange rate

Example: 0.78
baseCurrency
string

Base currency

Example: "USD"
txnCurrency
string

Transaction currency

Example: "GBP"
priceType
string or null

Price type.

  • range - Use this option for items with high-volume quantities, such as items measured in CPM. You set pricing for groups of thousands, hundreds, dozens, and so on. For example, say you are selling ad clicks. Each group of 1000 ad clicks will be priced at 20.00.
  • tiered - Use this option to define price tiers. Use the tieredPricingType to set the type of tiered pricing and an array of billing-price-list-entry-line-tier objects to specify the tiers.
Enum: null "range" "tiered"
Example: "range"
flatAmountFrequency
string or null

How often the flatAmount from a billing-price-list-entry-line should be invoiced during the contract term.

  • oneTime - The flat amount should only be invoiced once.
  • useBillingTemplate - The flat amount should be divided into more than one invoice.
  • includeWithEveryInvoice - The flat amount should be included in every invoice. This value is used for evergreen contract lines.
Enum: "includeWithEveryInvoice" null "oneTime" "useBillingTemplate"
Example: "oneTime"
usageQuantityResetPeriod
string or null
Default: "afterEachRenewal"

Indicates when the usage quantity should be reset to 0 to start the pricing structure over.

On quantity-based evergreen contract lines, this field defaults to afterEachInvoice and cannot be changed.

Enum: "afterEachInvoice" "afterEachRenewal" null
Example: "afterEachRenewal"
roundingType
string or null
Default: "standard"

Indicate how you want the total usage to be rounded after the total usage quantity is divided by the variableUnitDivisor. Only applicable if priceType = range.

Enum: null "roundDown" "roundUp" "standard"
Example: "standard"
isQuantityRecurring
boolean
Default: false

Indicates whether the quantity is recurring.

Example: false
variableUnitDivisor
string

Variable unit divisor to apply to all lines. This field is only applicable if priceType = range.

Example: "1000"
tieredPricingType
string
Default: "volume"

Tiered pricing type.

  • volume - The total quantity will be priced at the rate in the tier in which the quantity falls.
  • step - The item will be priced at the successive tiers in which the quantity falls.
  • absolute - Set a specific amount to be charged when the quantity falls within a tier.

This field is only applicable if priceType = tiered.

Enum: "absolute" "step" "volume"
Example: "step"
object

The item that this price list entry is for.

key
string

Item key.

Example: "13"
id
string

Item ID.

Example: "ID3614"
Array of objects

Billing price list entry lines.

Array
startDate
string <date>

The date on which the price becomes effective.

Example: "2024-01-01"
flatAmount
string <decimal-precision-2>

Flat amount.

  • The established amount to bill each period. For example, if the item is text message, 5,000 text messages are included for a Flat amount of 10.00. Set this field to 0 to price the item only by the contracted quantity or quantity used.
  • The fixed price for items that don't include pricing by contracted quantity or quantity used. For example, the item is a service plan that is 300.00 for a one-year term.
Example: "999.99"
variableUnitRate
string or null

The amount to charge for each quantity range beyond the included units. Only applicable if priceType = range.

Example: "11.99"
includedUnits
string or null

The item quantity included in the flatAmount.

Enter 0 in this field to:

  • Price the item only by the contracted quantity or quantity used
  • Set a fixed fee
  • Use the item with committed quantity billing. Included units must be 0.00 to save a committed quantity contract line.
Example: "2000"
memo
string or null

Notes.

Example: "note to save"
Array of objects

Pricing tiers. Only applicable if priceType = tiered.

status
string
Default: "active"

Object status. Active objects are fully functional. Inactive objects are essentially hidden and cannot be used or referenced.

Enum: "active" "inactive"
Example: "active"
Responses
200

OK

400

Bad Request

Request samples
application/json
{
  • "status": "active",
  • "currency": {
    • "txnCurrency": "CAD"
    },
  • "priceType": "tiered",
  • "flatAmountFrequency": "includeWithEveryInvoice",
  • "variableUnitDivisor": "1",
  • "roundingType": "standard",
  • "usageQuantityResetPeriod": "afterEachInvoice",
  • "isQuantityRecurring": true,
  • "tieredPricingType": "step",
  • "lines": [
    • {
      • "key": "572",
      • "startDate": "2016-01-01",
      • "flatAmount": "0",
      • "variableUnitRate": "1",
      • "includedUnits": "9",
      • "memo": null,
      • "tiers": [
        ]
      }
    ]
}
Response samples
application/json
{
  • "ia::result": {
    • "key": "525",
    • "id": "525",
    • "href": "/objects/contracts/billing-price-list-entry/525"
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 1,
    • "totalError": 0
    }
}

Delete a/an billing price list entry

delete/objects/contracts/billing-price-list-entry/{key}

Deletes a billing price list entry.

SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned unique key for the billing price list entry.

Example: 425
Responses
204

No Content

400

Bad Request

Request samples
Response samples
application/json
{
  • "ia::result": {
    • "ia::error": {
      • "code": "invalidRequest",
      • "message": "A POST request requires a payload",
      • "errorId": "REST-1028",
      • "additionalInfo": {
        },
      • "supportId": "Kxi78%7EZuyXBDEGVHD2UmO1phYXDQAAAAo"
      }
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 0,
    • "totalError": 1
    }
}

Query billing price list entries

post/services/core/query

Use the query service to find billing price list entries that meet certain criteria and to specify the properties that are returned.

SecurityOAuth2
Responses
200

OK

400

Bad Request

Request samples
Response samples
application/json
{
  • "ia::result": {
    • "ia::error": {
      • "code": "invalidRequest",
      • "message": "A POST request requires a payload",
      • "errorId": "REST-1028",
      • "additionalInfo": {
        },
      • "supportId": "Kxi78%7EZuyXBDEGVHD2UmO1phYXDQAAAAo"
      }
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 0,
    • "totalError": 1
    }
}