Skip to content

Elevate Product Inventory API (2.24)

Management of usage and rental inventory items

Product inventory controls the products and services that are assigned to Sites.

Rental Product Inventory

A Rental Product Inventory (RPI) is the assignment of a Rental Product to a Site, for example, a broadband service or connection charge Where Rental Products are sold to a Customer the creation of a Rental Product Inventory notifies Elevate that there is a billable asset Properties of an RPI include start and end dates, i.e. between which dates should Elevate create a charge

Usage Product Inventory

A Usage Product Inventory (UPI) is the assignment of a Usage Product to a Site Where Usage Products are sold to a Customer the creation of a UPI notifies Elevate that there is a billable asset Properties of UPI include start and end dates, i.e. between which dates Elevate will create a charge for any usage associated with that UPI

Unlike RPIs, the creation of charges for UPIs is dependent upon Elevate processing usage records (typically referred to as Call Detail Records or CDR) that are delivered by suppliers as files or some other mechanism. The usage records are associated with the correct UPI within Elevate

Usage Product Reference

A Usage Product Reference (UPR) is an identifier for a UPI. This 'product reference' could be a telephone number or other identifier depending on the Usage Product. A single UPI can have many UPRs. Typically one of these UPRs is marked as the 'primary' (e.g. a main billing number) for the UPI. Properties of UPR include start and end dates when they are associated to the UPI

Adhoc Inventory

An Adhoc Inventory is used to represent a charge, discount or refund that will be applied on an adhoc basis, for example, a charge for equipment/upfront costs or a discretionary payment. These can be part of the standard billing cycle or, unlike other inventory items, can be part of a dedicated adhoc bill run at any time

Provisioning Details

Once a Rental Product Inventory has been created it can have a phone line provisioned with a number of settings. Provisioning Details serve as a representation of these settings, showing active/suspended lines, subscribed data bundles or add-ons, and smart/international-barred numbers

Languages
Servers
https://rest.elevatebilling.com/v2

usage-product-inventories

A Usage Product Inventory (UPI) is the assignment of a usage product to a Site. A UPI has 1 or more product reference (UPR)

Operations

rental-product-inventories

A Rental Product Inventory (RPI) is the assignment of a rental product to a Site

Operations

Get a list of available rental product inventories

Request

Security
bearerAuth
Query
pageinteger(int32)(PageParam)>= 1required

Page of results to show

Example: page=1
pageSizeinteger(int32)(ResultsPerPageParam)[ 1 .. 1000 ]required

Results to return per page

Example: pageSize=100
sortstring(SortParam)

Comma-delimited list of the fields to sort by - defaults to ascending order, suffix :desc to change

Example: sort=id,name | name:desc
fieldsstring(FieldsParam)

Comma-delimited list of the field(s) to return if only a subset is required

Example: fields=id,name
invoicePresentationProductNamestring(StringFilterParam)

Filter by invoice presentation name

Example: invoicePresentationProductName=xyz | in:x,y | like:xyz
rentalProductIdstring(IdFilterParam)

Filter by rental product identifier

Example: rentalProductId=0
productReferencestring(StringFilterParam)

Filter by product reference

Example: productReference=xyz | in:x,y | like:xyz
additionalProductReferencestring(StringFilterParam)

Filter by additional product reference

Example: additionalProductReference=xyz | in:x,y | like:xyz
startDatestring(DateFilterParam)

Filter by start date

Example: startDate=yyyy-MM-dd | lt:yyyy-MM-dd | gt:yyyy-MM-dd | gtn:yyyy-MM-dd
endDatestring(DateFilterParam)

Filter by end date

Example: endDate=yyyy-MM-dd | lt:yyyy-MM-dd | gt:yyyy-MM-dd | gtn:yyyy-MM-dd
siteIdstring(IdFilterParam)

Filter by site

Example: siteId=0
supplierAccountIdstring(IdFilterParam)

Filter by supplier account

Example: supplierAccountId=0
labelstring(StringFilterParam)

Filter by label

Example: label=xyz | in:x,y | like:xyz
curl -i -X GET \
  'https://rest.elevatebilling.com/v2/rental-product-inventories?page=1&pageSize=100&sort=id%2Cname+%7C+name%3Adesc&fields=id%2Cname&invoicePresentationProductName=xyz+%7C+in%3Ax%2Cy+%7C+like%3Axyz&rentalProductId=0&productReference=xyz+%7C+in%3Ax%2Cy+%7C+like%3Axyz&additionalProductReference=xyz+%7C+in%3Ax%2Cy+%7C+like%3Axyz&startDate=yyyy-MM-dd+%2C+lt%3Ayyyy-MM-dd+%2C+gt%3Ayyyy-MM-dd+%2C+gtn%3Ayyyy-MM-dd&endDate=yyyy-MM-dd+%2C+lt%3Ayyyy-MM-dd+%2C+gt%3Ayyyy-MM-dd+%2C+gtn%3Ayyyy-MM-dd&siteId=0&supplierAccountId=0&label=xyz+%7C+in%3Ax%2Cy+%7C+like%3Axyz' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

OK

Bodyapplication/jsonArray [
idinteger(int64)read-only

Rental product inventory identifier

Example: 1
siteIdinteger(int64)required

Site identifier

Example: 1
rentalProductIdinteger(int64)required

Rental product identifier

Example: 1
parentRentalProductInventoryIdinteger(int64)

Parent product identifier

Example: 1
invoicePresentationProductNamestring[ 1 .. 255 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...required

Product name as presented on invoice

supplierAccountIdinteger(int64)required

Supplier account identifier

Example: 1
startDatestring(date)required

Rental product inventory start date

endDatestring(date)

Rental product inventory end date

invoiceFrequencyinteger(int32)required

The rental records will be generated on every invoice per period (day/week/month) depending on the billing cycle with which the customer is associated. However you may wish to group the charges so they are included a frequency per period. So you might set the frequency to 3 and on the monthly cycle it would have a line item on the invoice for this RPI that covers three months. The next two months no line item on the invoice will be listed

quantityinteger(int32)[ 1 .. 1000000 ]required

Quantity

productReferencestring[ 1 .. 100 ] characters

Product reference. Extra validations may be applied depending on product configurations

additionalProductReferencestring[ 1 .. 100 ] characters

In the case of an ISDN service, this reference can be used to link the usage product inventory (UPI) and the Rental Product Inventory (RPI) since a main billing number (MBN) would not be available. Extra validations may be applied depending on product configurations

labelstring[ 1 .. 255 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...

Label

treatStartAsWholePeriodboolean

If enabled this property will stop pro-rated charges being calculated at the start of the rental product inventory

Default false
treatEndAsWholePeriodboolean

If enabled this property will stop pro-rated charges being calculated at the end of the rental product inventory

Default false
userIdstring[ 1 .. 255 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...

User Id

userEmailstring[ 1 .. 255 ] characters[a-zA-Z0-9.!#$%&'\*\+\/=?^_`{|}~-]+@[a-zA-Z0-...

User email address

costCentreCodestring[ 1 .. 255 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...

Cost centre code

departmentCodestring[ 1 .. 500 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...

Department code

featureNumberstring[ 1 .. 100 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...

Feature number

nominalCodestring[ 1 .. 100 ] characters^[\w\p{L}\s%£@&#=':;,`’|!_—–()/\-+.?*$\[\]€^{...

Nominal code

Example: "SALES-01QTR2"
notesstring>= 0 characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...

Notes

billableboolean

Is this rental product inventory to be billed now? If it is un-ticked then it will not appear on an invoice

Default true
inFlightOrderboolean

If selected this property denotes that the order has not yet completed

Default false
billInitialChargesImmediatelyboolean

When enabled, the initial rental charge (usually a part-period charge) will be billed immediately via an adhoc bill run

Default false
alignedToStartboolean

The Rental Product Inventory (RPI) will align to the anniversary of the start date as opposed to pro-rating to align with the billing period. For example, if the start date is the 10th, the RPI will bill every month, every quarter, and every year from the 10th with no pro-rating. This feature is particularly useful for annual charges to ensure that only 12 months are billed and that the charge will recur every 12 months on the anniversary of the start date

Default false
alignedToBillPeriodboolean

Where Rental Product Inventory (RPI) are added with start dates that are in the past, the default behaviour is to pro-rate multiple months up to the current bill period and then bill the required frequency. For example, this could result in 2.5 months pro-rated plus the next quarter being charged. Using this feature ensures that the RPI will pro-rate a maximum of one part month and then bill the required frequency. For example, a quarterly charge with a start date 2.5 months in the past will pro-rate the 0.5 month and then bill a full quarter. Note that this feature should only be used where start dates are in the past AND the billing frequency is not monthly

Default false
externalOrderReferencestring[ 0 .. 100 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...

Unique reference for the external order. Buyer's side reference

externalNetworkOrderReferencestring[ 0 .. 100 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...

Unique reference for the external order. Seller's side reference

pendingEndDatestring(date)

Inflight order pending end date

forceBillingboolean

When this flag is set the rental product inventory will be rated if the start date is less than the billing run end date + the pricing frequency. So if you add an RPI to start at the start of the next bill run it will be rated in that bill run rather than in the next. The default value, if not specified, is defined by the contract owner's forceBillingDefault flag. If you specify just the forceBilling = true then this is the same as forceBillPeriods = 1 and if you specify the forceBilling = false then this is the same as forceBillPeriods = 0

forceBillPeriodsinteger(int32)[ 0 .. 731 ]

Number of bill periods to force. ForceBillPeriods is ignored when forceBilling is false

Example: 1
installationAddressobject(Address)
customFieldsArray of objects(CustomField)
contractStartDatestring(date)Deprecated

Contract start date

]
Response
application/json
[ { "id": 1, "siteId": 1, "rentalProductId": 1, "parentRentalProductInventoryId": 1, "invoicePresentationProductName": "string", "supplierAccountId": 1, "startDate": "2019-08-24", "endDate": "2019-08-24", "invoiceFrequency": 0, "quantity": 1, "productReference": "string", "additionalProductReference": "string", "label": "string", "treatStartAsWholePeriod": false, "treatEndAsWholePeriod": false, "contractStartDate": "2019-08-24", "userId": "string", "userEmail": "string", "costCentreCode": "string", "departmentCode": "string", "featureNumber": "string", "nominalCode": "SALES-01QTR2", "notes": "string", "billable": true, "inFlightOrder": false, "billInitialChargesImmediately": false, "alignedToStart": false, "alignedToBillPeriod": false, "externalOrderReference": "string", "externalNetworkOrderReference": "string", "pendingEndDate": "2019-08-24", "forceBilling": true, "forceBillPeriods": 1, "installationAddress": {}, "customFields": [] } ]

Create a new rental product inventory

Request

Security
bearerAuth
Headers
disable_adding_linked_rentalsstring(BooleanFilterParam)

A boolean flag to specify that any rental product inventories set to auto-generate (for the child rental products of the rental product assigned to this RPI) should be skipped

Example: true | false
Bodyapplication/jsonrequired

New rental product inventory

siteIdinteger(int64)required

Site identifier

Example: 1
rentalProductIdinteger(int64)required

Rental product identifier

Example: 1
parentRentalProductInventoryIdinteger(int64)

Parent product identifier

Example: 1
invoicePresentationProductNamestring[ 1 .. 255 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...required

Product name as presented on invoice

supplierAccountIdinteger(int64)required

Supplier account identifier

Example: 1
startDatestring(date)required

Rental product inventory start date

endDatestring(date)

Rental product inventory end date

invoiceFrequencyinteger(int32)required

The rental records will be generated on every invoice per period (day/week/month) depending on the billing cycle with which the customer is associated. However you may wish to group the charges so they are included a frequency per period. So you might set the frequency to 3 and on the monthly cycle it would have a line item on the invoice for this RPI that covers three months. The next two months no line item on the invoice will be listed

quantityinteger(int32)[ 1 .. 1000000 ]required

Quantity

productReferencestring[ 1 .. 100 ] characters

Product reference. Extra validations may be applied depending on product configurations

additionalProductReferencestring[ 1 .. 100 ] characters

In the case of an ISDN service, this reference can be used to link the usage product inventory (UPI) and the Rental Product Inventory (RPI) since a main billing number (MBN) would not be available. Extra validations may be applied depending on product configurations

labelstring[ 1 .. 255 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...

Label

treatStartAsWholePeriodboolean

If enabled this property will stop pro-rated charges being calculated at the start of the rental product inventory

Default false
treatEndAsWholePeriodboolean

If enabled this property will stop pro-rated charges being calculated at the end of the rental product inventory

Default false
userIdstring[ 1 .. 255 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...

User Id

userEmailstring[ 1 .. 255 ] characters[a-zA-Z0-9.!#$%&'\*\+\/=?^_`{|}~-]+@[a-zA-Z0-...

User email address

costCentreCodestring[ 1 .. 255 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...

Cost centre code

departmentCodestring[ 1 .. 500 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...

Department code

featureNumberstring[ 1 .. 100 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...

Feature number

nominalCodestring[ 1 .. 100 ] characters^[\w\p{L}\s%£@&#=':;,`’|!_—–()/\-+.?*$\[\]€^{...

Nominal code

Example: "SALES-01QTR2"
notesstring>= 0 characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...

Notes

billableboolean

Is this rental product inventory to be billed now? If it is un-ticked then it will not appear on an invoice

Default true
inFlightOrderboolean

If selected this property denotes that the order has not yet completed

Default false
billInitialChargesImmediatelyboolean

When enabled, the initial rental charge (usually a part-period charge) will be billed immediately via an adhoc bill run

Default false
alignedToStartboolean

The Rental Product Inventory (RPI) will align to the anniversary of the start date as opposed to pro-rating to align with the billing period. For example, if the start date is the 10th, the RPI will bill every month, every quarter, and every year from the 10th with no pro-rating. This feature is particularly useful for annual charges to ensure that only 12 months are billed and that the charge will recur every 12 months on the anniversary of the start date

Default false
alignedToBillPeriodboolean

Where Rental Product Inventory (RPI) are added with start dates that are in the past, the default behaviour is to pro-rate multiple months up to the current bill period and then bill the required frequency. For example, this could result in 2.5 months pro-rated plus the next quarter being charged. Using this feature ensures that the RPI will pro-rate a maximum of one part month and then bill the required frequency. For example, a quarterly charge with a start date 2.5 months in the past will pro-rate the 0.5 month and then bill a full quarter. Note that this feature should only be used where start dates are in the past AND the billing frequency is not monthly

Default false
externalOrderReferencestring[ 0 .. 100 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...

Unique reference for the external order. Buyer's side reference

externalNetworkOrderReferencestring[ 0 .. 100 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...

Unique reference for the external order. Seller's side reference

pendingEndDatestring(date)

Inflight order pending end date

forceBillingboolean

When this flag is set the rental product inventory will be rated if the start date is less than the billing run end date + the pricing frequency. So if you add an RPI to start at the start of the next bill run it will be rated in that bill run rather than in the next. The default value, if not specified, is defined by the contract owner's forceBillingDefault flag. If you specify just the forceBilling = true then this is the same as forceBillPeriods = 1 and if you specify the forceBilling = false then this is the same as forceBillPeriods = 0

forceBillPeriodsinteger(int32)[ 0 .. 731 ]

Number of bill periods to force. ForceBillPeriods is ignored when forceBilling is false

Example: 1
installationAddressobject(Address)
customFieldsArray of objects(CustomField)
contractStartDatestring(date)Deprecated

Contract start date

curl -i -X POST \
  https://rest.elevatebilling.com/v2/rental-product-inventories \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'disable_adding_linked_rentals: true | false' \
  -d '{
    "siteId": 1,
    "rentalProductId": 1,
    "parentRentalProductInventoryId": 1,
    "invoicePresentationProductName": "string",
    "supplierAccountId": 1,
    "startDate": "2019-08-24",
    "endDate": "2019-08-24",
    "invoiceFrequency": 0,
    "quantity": 1,
    "productReference": "string",
    "additionalProductReference": "string",
    "label": "string",
    "treatStartAsWholePeriod": false,
    "treatEndAsWholePeriod": false,
    "contractStartDate": "2019-08-24",
    "userId": "string",
    "userEmail": "string",
    "costCentreCode": "string",
    "departmentCode": "string",
    "featureNumber": "string",
    "nominalCode": "SALES-01QTR2",
    "notes": "string",
    "billable": true,
    "inFlightOrder": false,
    "billInitialChargesImmediately": false,
    "alignedToStart": false,
    "alignedToBillPeriod": false,
    "externalOrderReference": "string",
    "externalNetworkOrderReference": "string",
    "pendingEndDate": "2019-08-24",
    "forceBilling": true,
    "forceBillPeriods": 1,
    "installationAddress": {
      "businessName": "string",
      "address1": "string",
      "address2": "string",
      "address3": "string",
      "town": "string",
      "county": "string",
      "postcode": "string",
      "country": "GB"
    },
    "customFields": [
      {
        "label": "string",
        "value": "string"
      }
    ]
  }'

Responses

OK

Bodyapplication/json
idinteger(int64)read-only

Rental product inventory identifier

Example: 1
siteIdinteger(int64)required

Site identifier

Example: 1
rentalProductIdinteger(int64)required

Rental product identifier

Example: 1
parentRentalProductInventoryIdinteger(int64)

Parent product identifier

Example: 1
invoicePresentationProductNamestring[ 1 .. 255 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...required

Product name as presented on invoice

supplierAccountIdinteger(int64)required

Supplier account identifier

Example: 1
startDatestring(date)required

Rental product inventory start date

endDatestring(date)

Rental product inventory end date

invoiceFrequencyinteger(int32)required

The rental records will be generated on every invoice per period (day/week/month) depending on the billing cycle with which the customer is associated. However you may wish to group the charges so they are included a frequency per period. So you might set the frequency to 3 and on the monthly cycle it would have a line item on the invoice for this RPI that covers three months. The next two months no line item on the invoice will be listed

quantityinteger(int32)[ 1 .. 1000000 ]required

Quantity

productReferencestring[ 1 .. 100 ] characters

Product reference. Extra validations may be applied depending on product configurations

additionalProductReferencestring[ 1 .. 100 ] characters

In the case of an ISDN service, this reference can be used to link the usage product inventory (UPI) and the Rental Product Inventory (RPI) since a main billing number (MBN) would not be available. Extra validations may be applied depending on product configurations

labelstring[ 1 .. 255 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...

Label

treatStartAsWholePeriodboolean

If enabled this property will stop pro-rated charges being calculated at the start of the rental product inventory

Default false
treatEndAsWholePeriodboolean

If enabled this property will stop pro-rated charges being calculated at the end of the rental product inventory

Default false
userIdstring[ 1 .. 255 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...

User Id

userEmailstring[ 1 .. 255 ] characters[a-zA-Z0-9.!#$%&'\*\+\/=?^_`{|}~-]+@[a-zA-Z0-...

User email address

costCentreCodestring[ 1 .. 255 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...

Cost centre code

departmentCodestring[ 1 .. 500 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...

Department code

featureNumberstring[ 1 .. 100 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...

Feature number

nominalCodestring[ 1 .. 100 ] characters^[\w\p{L}\s%£@&#=':;,`’|!_—–()/\-+.?*$\[\]€^{...

Nominal code

Example: "SALES-01QTR2"
notesstring>= 0 characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...

Notes

billableboolean

Is this rental product inventory to be billed now? If it is un-ticked then it will not appear on an invoice

Default true
inFlightOrderboolean

If selected this property denotes that the order has not yet completed

Default false
billInitialChargesImmediatelyboolean

When enabled, the initial rental charge (usually a part-period charge) will be billed immediately via an adhoc bill run

Default false
alignedToStartboolean

The Rental Product Inventory (RPI) will align to the anniversary of the start date as opposed to pro-rating to align with the billing period. For example, if the start date is the 10th, the RPI will bill every month, every quarter, and every year from the 10th with no pro-rating. This feature is particularly useful for annual charges to ensure that only 12 months are billed and that the charge will recur every 12 months on the anniversary of the start date

Default false
alignedToBillPeriodboolean

Where Rental Product Inventory (RPI) are added with start dates that are in the past, the default behaviour is to pro-rate multiple months up to the current bill period and then bill the required frequency. For example, this could result in 2.5 months pro-rated plus the next quarter being charged. Using this feature ensures that the RPI will pro-rate a maximum of one part month and then bill the required frequency. For example, a quarterly charge with a start date 2.5 months in the past will pro-rate the 0.5 month and then bill a full quarter. Note that this feature should only be used where start dates are in the past AND the billing frequency is not monthly

Default false
externalOrderReferencestring[ 0 .. 100 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...

Unique reference for the external order. Buyer's side reference

externalNetworkOrderReferencestring[ 0 .. 100 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...

Unique reference for the external order. Seller's side reference

pendingEndDatestring(date)

Inflight order pending end date

forceBillingboolean

When this flag is set the rental product inventory will be rated if the start date is less than the billing run end date + the pricing frequency. So if you add an RPI to start at the start of the next bill run it will be rated in that bill run rather than in the next. The default value, if not specified, is defined by the contract owner's forceBillingDefault flag. If you specify just the forceBilling = true then this is the same as forceBillPeriods = 1 and if you specify the forceBilling = false then this is the same as forceBillPeriods = 0

forceBillPeriodsinteger(int32)[ 0 .. 731 ]

Number of bill periods to force. ForceBillPeriods is ignored when forceBilling is false

Example: 1
installationAddressobject(Address)
customFieldsArray of objects(CustomField)
contractStartDatestring(date)Deprecated

Contract start date

Response
application/json
{ "id": 1, "siteId": 1, "rentalProductId": 1, "parentRentalProductInventoryId": 1, "invoicePresentationProductName": "string", "supplierAccountId": 1, "startDate": "2019-08-24", "endDate": "2019-08-24", "invoiceFrequency": 0, "quantity": 1, "productReference": "string", "additionalProductReference": "string", "label": "string", "treatStartAsWholePeriod": false, "treatEndAsWholePeriod": false, "contractStartDate": "2019-08-24", "userId": "string", "userEmail": "string", "costCentreCode": "string", "departmentCode": "string", "featureNumber": "string", "nominalCode": "SALES-01QTR2", "notes": "string", "billable": true, "inFlightOrder": false, "billInitialChargesImmediately": false, "alignedToStart": false, "alignedToBillPeriod": false, "externalOrderReference": "string", "externalNetworkOrderReference": "string", "pendingEndDate": "2019-08-24", "forceBilling": true, "forceBillPeriods": 1, "installationAddress": { "id": 1, "businessName": "string", "address1": "string", "address2": "string", "address3": "string", "town": "string", "county": "string", "postcode": "string", "country": "GB" }, "customFields": [ {} ] }

Check if rental product inventory exists

Request

Security
bearerAuth
Query
invoicePresentationProductNamestring(StringFilterParam)

Filter by invoice presentation name

Example: invoicePresentationProductName=xyz | in:x,y | like:xyz
rentalProductIdstring(IdFilterParam)

Filter by rental product identifier

Example: rentalProductId=0
productReferencestring(StringFilterParam)

Filter by product reference

Example: productReference=xyz | in:x,y | like:xyz
additionalProductReferencestring(StringFilterParam)

Filter by additional product reference

Example: additionalProductReference=xyz | in:x,y | like:xyz
startDatestring(DateFilterParam)

Filter by start date

Example: startDate=yyyy-MM-dd | lt:yyyy-MM-dd | gt:yyyy-MM-dd | gtn:yyyy-MM-dd
endDatestring(DateFilterParam)

Filter by end date

Example: endDate=yyyy-MM-dd | lt:yyyy-MM-dd | gt:yyyy-MM-dd | gtn:yyyy-MM-dd
siteIdstring(IdFilterParam)

Filter by site

Example: siteId=0
supplierAccountIdstring(IdFilterParam)

Filter by supplier account

Example: supplierAccountId=0
labelstring(StringFilterParam)

Filter by label

Example: label=xyz | in:x,y | like:xyz
curl -i -X HEAD \
  'https://rest.elevatebilling.com/v2/rental-product-inventories?invoicePresentationProductName=xyz+%7C+in%3Ax%2Cy+%7C+like%3Axyz&rentalProductId=0&productReference=xyz+%7C+in%3Ax%2Cy+%7C+like%3Axyz&additionalProductReference=xyz+%7C+in%3Ax%2Cy+%7C+like%3Axyz&startDate=yyyy-MM-dd+%2C+lt%3Ayyyy-MM-dd+%2C+gt%3Ayyyy-MM-dd+%2C+gtn%3Ayyyy-MM-dd&endDate=yyyy-MM-dd+%2C+lt%3Ayyyy-MM-dd+%2C+gt%3Ayyyy-MM-dd+%2C+gtn%3Ayyyy-MM-dd&siteId=0&supplierAccountId=0&label=xyz+%7C+in%3Ax%2Cy+%7C+like%3Axyz' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Exists

Body

Get a specific rental product inventory

Request

Security
bearerAuth
Path
rental_product_inventory_idinteger(int64)(IdParam)>= 1required

Rental product identifier

Example: 1
curl -i -X GET \
  https://rest.elevatebilling.com/v2/rental-product-inventories/1 \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Rental product inventory found

Bodyapplication/json
idinteger(int64)read-only

Rental product inventory identifier

Example: 1
siteIdinteger(int64)required

Site identifier

Example: 1
rentalProductIdinteger(int64)required

Rental product identifier

Example: 1
parentRentalProductInventoryIdinteger(int64)

Parent product identifier

Example: 1
invoicePresentationProductNamestring[ 1 .. 255 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...required

Product name as presented on invoice

supplierAccountIdinteger(int64)required

Supplier account identifier

Example: 1
startDatestring(date)required

Rental product inventory start date

endDatestring(date)

Rental product inventory end date

invoiceFrequencyinteger(int32)required

The rental records will be generated on every invoice per period (day/week/month) depending on the billing cycle with which the customer is associated. However you may wish to group the charges so they are included a frequency per period. So you might set the frequency to 3 and on the monthly cycle it would have a line item on the invoice for this RPI that covers three months. The next two months no line item on the invoice will be listed

quantityinteger(int32)[ 1 .. 1000000 ]required

Quantity

productReferencestring[ 1 .. 100 ] characters

Product reference. Extra validations may be applied depending on product configurations

additionalProductReferencestring[ 1 .. 100 ] characters

In the case of an ISDN service, this reference can be used to link the usage product inventory (UPI) and the Rental Product Inventory (RPI) since a main billing number (MBN) would not be available. Extra validations may be applied depending on product configurations

labelstring[ 1 .. 255 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...

Label

treatStartAsWholePeriodboolean

If enabled this property will stop pro-rated charges being calculated at the start of the rental product inventory

Default false
treatEndAsWholePeriodboolean

If enabled this property will stop pro-rated charges being calculated at the end of the rental product inventory

Default false
userIdstring[ 1 .. 255 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...

User Id

userEmailstring[ 1 .. 255 ] characters[a-zA-Z0-9.!#$%&'\*\+\/=?^_`{|}~-]+@[a-zA-Z0-...

User email address

costCentreCodestring[ 1 .. 255 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...

Cost centre code

departmentCodestring[ 1 .. 500 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...

Department code

featureNumberstring[ 1 .. 100 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...

Feature number

nominalCodestring[ 1 .. 100 ] characters^[\w\p{L}\s%£@&#=':;,`’|!_—–()/\-+.?*$\[\]€^{...

Nominal code

Example: "SALES-01QTR2"
notesstring>= 0 characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...

Notes

billableboolean

Is this rental product inventory to be billed now? If it is un-ticked then it will not appear on an invoice

Default true
inFlightOrderboolean

If selected this property denotes that the order has not yet completed

Default false
billInitialChargesImmediatelyboolean

When enabled, the initial rental charge (usually a part-period charge) will be billed immediately via an adhoc bill run

Default false
alignedToStartboolean

The Rental Product Inventory (RPI) will align to the anniversary of the start date as opposed to pro-rating to align with the billing period. For example, if the start date is the 10th, the RPI will bill every month, every quarter, and every year from the 10th with no pro-rating. This feature is particularly useful for annual charges to ensure that only 12 months are billed and that the charge will recur every 12 months on the anniversary of the start date

Default false
alignedToBillPeriodboolean

Where Rental Product Inventory (RPI) are added with start dates that are in the past, the default behaviour is to pro-rate multiple months up to the current bill period and then bill the required frequency. For example, this could result in 2.5 months pro-rated plus the next quarter being charged. Using this feature ensures that the RPI will pro-rate a maximum of one part month and then bill the required frequency. For example, a quarterly charge with a start date 2.5 months in the past will pro-rate the 0.5 month and then bill a full quarter. Note that this feature should only be used where start dates are in the past AND the billing frequency is not monthly

Default false
externalOrderReferencestring[ 0 .. 100 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...

Unique reference for the external order. Buyer's side reference

externalNetworkOrderReferencestring[ 0 .. 100 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...

Unique reference for the external order. Seller's side reference

pendingEndDatestring(date)

Inflight order pending end date

forceBillingboolean

When this flag is set the rental product inventory will be rated if the start date is less than the billing run end date + the pricing frequency. So if you add an RPI to start at the start of the next bill run it will be rated in that bill run rather than in the next. The default value, if not specified, is defined by the contract owner's forceBillingDefault flag. If you specify just the forceBilling = true then this is the same as forceBillPeriods = 1 and if you specify the forceBilling = false then this is the same as forceBillPeriods = 0

forceBillPeriodsinteger(int32)[ 0 .. 731 ]

Number of bill periods to force. ForceBillPeriods is ignored when forceBilling is false

Example: 1
installationAddressobject(Address)
customFieldsArray of objects(CustomField)
contractStartDatestring(date)Deprecated

Contract start date

Response
application/json
{ "id": 1, "siteId": 1, "rentalProductId": 1, "parentRentalProductInventoryId": 1, "invoicePresentationProductName": "string", "supplierAccountId": 1, "startDate": "2019-08-24", "endDate": "2019-08-24", "invoiceFrequency": 0, "quantity": 1, "productReference": "string", "additionalProductReference": "string", "label": "string", "treatStartAsWholePeriod": false, "treatEndAsWholePeriod": false, "contractStartDate": "2019-08-24", "userId": "string", "userEmail": "string", "costCentreCode": "string", "departmentCode": "string", "featureNumber": "string", "nominalCode": "SALES-01QTR2", "notes": "string", "billable": true, "inFlightOrder": false, "billInitialChargesImmediately": false, "alignedToStart": false, "alignedToBillPeriod": false, "externalOrderReference": "string", "externalNetworkOrderReference": "string", "pendingEndDate": "2019-08-24", "forceBilling": true, "forceBillPeriods": 1, "installationAddress": { "id": 1, "businessName": "string", "address1": "string", "address2": "string", "address3": "string", "town": "string", "county": "string", "postcode": "string", "country": "GB" }, "customFields": [ {} ] }

Delete rental product inventory

Request

Security
bearerAuth
Path
rental_product_inventory_idinteger(int64)(IdParam)>= 1required

Rental product inventory identifier

Example: 1
Headers
force_cascadestring(BooleanFilterParam)

A boolean flag to specify it will delete any associated feature or event rental product inventories

Example: true | false
curl -i -X DELETE \
  https://rest.elevatebilling.com/v2/rental-product-inventories/1 \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'force_cascade: true | false'

Responses

Accepted

Body

Update a rental product inventory

Request

Security
bearerAuth
Path
rental_product_inventory_idinteger(int64)(IdParam)>= 1required

Rental product inventory identifier

Example: 1
Bodyapplication/json-patch+jsonrequired

A set of JSONPatch operations to be performed

Array [
opstringrequired

The JSON Patch operation to be performed

Enum"add""remove""replace""move""copy""test"
pathstringrequired

A JSON-Pointer

valueobject

The value to be used within the operations

fromstring

A string containing a JSON Pointer value

]
curl -i -X PATCH \
  https://rest.elevatebilling.com/v2/rental-product-inventories/1 \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json-patch+json' \
  -d '[
    {
      "op": "replace",
      "path": "/startDate",
      "value": "2023-01-13"
    }
  ]'

Responses

Success

Bodyapplication/json
idinteger(int64)read-only

Rental product inventory identifier

Example: 1
siteIdinteger(int64)required

Site identifier

Example: 1
rentalProductIdinteger(int64)required

Rental product identifier

Example: 1
parentRentalProductInventoryIdinteger(int64)

Parent product identifier

Example: 1
invoicePresentationProductNamestring[ 1 .. 255 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...required

Product name as presented on invoice

supplierAccountIdinteger(int64)required

Supplier account identifier

Example: 1
startDatestring(date)required

Rental product inventory start date

endDatestring(date)

Rental product inventory end date

invoiceFrequencyinteger(int32)required

The rental records will be generated on every invoice per period (day/week/month) depending on the billing cycle with which the customer is associated. However you may wish to group the charges so they are included a frequency per period. So you might set the frequency to 3 and on the monthly cycle it would have a line item on the invoice for this RPI that covers three months. The next two months no line item on the invoice will be listed

quantityinteger(int32)[ 1 .. 1000000 ]required

Quantity

productReferencestring[ 1 .. 100 ] characters

Product reference. Extra validations may be applied depending on product configurations

additionalProductReferencestring[ 1 .. 100 ] characters

In the case of an ISDN service, this reference can be used to link the usage product inventory (UPI) and the Rental Product Inventory (RPI) since a main billing number (MBN) would not be available. Extra validations may be applied depending on product configurations

labelstring[ 1 .. 255 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...

Label

treatStartAsWholePeriodboolean

If enabled this property will stop pro-rated charges being calculated at the start of the rental product inventory

Default false
treatEndAsWholePeriodboolean

If enabled this property will stop pro-rated charges being calculated at the end of the rental product inventory

Default false
userIdstring[ 1 .. 255 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...

User Id

userEmailstring[ 1 .. 255 ] characters[a-zA-Z0-9.!#$%&'\*\+\/=?^_`{|}~-]+@[a-zA-Z0-...

User email address

costCentreCodestring[ 1 .. 255 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...

Cost centre code

departmentCodestring[ 1 .. 500 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...

Department code

featureNumberstring[ 1 .. 100 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...

Feature number

nominalCodestring[ 1 .. 100 ] characters^[\w\p{L}\s%£@&#=':;,`’|!_—–()/\-+.?*$\[\]€^{...

Nominal code

Example: "SALES-01QTR2"
notesstring>= 0 characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...

Notes

billableboolean

Is this rental product inventory to be billed now? If it is un-ticked then it will not appear on an invoice

Default true
inFlightOrderboolean

If selected this property denotes that the order has not yet completed

Default false
billInitialChargesImmediatelyboolean

When enabled, the initial rental charge (usually a part-period charge) will be billed immediately via an adhoc bill run

Default false
alignedToStartboolean

The Rental Product Inventory (RPI) will align to the anniversary of the start date as opposed to pro-rating to align with the billing period. For example, if the start date is the 10th, the RPI will bill every month, every quarter, and every year from the 10th with no pro-rating. This feature is particularly useful for annual charges to ensure that only 12 months are billed and that the charge will recur every 12 months on the anniversary of the start date

Default false
alignedToBillPeriodboolean

Where Rental Product Inventory (RPI) are added with start dates that are in the past, the default behaviour is to pro-rate multiple months up to the current bill period and then bill the required frequency. For example, this could result in 2.5 months pro-rated plus the next quarter being charged. Using this feature ensures that the RPI will pro-rate a maximum of one part month and then bill the required frequency. For example, a quarterly charge with a start date 2.5 months in the past will pro-rate the 0.5 month and then bill a full quarter. Note that this feature should only be used where start dates are in the past AND the billing frequency is not monthly

Default false
externalOrderReferencestring[ 0 .. 100 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...

Unique reference for the external order. Buyer's side reference

externalNetworkOrderReferencestring[ 0 .. 100 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...

Unique reference for the external order. Seller's side reference

pendingEndDatestring(date)

Inflight order pending end date

forceBillingboolean

When this flag is set the rental product inventory will be rated if the start date is less than the billing run end date + the pricing frequency. So if you add an RPI to start at the start of the next bill run it will be rated in that bill run rather than in the next. The default value, if not specified, is defined by the contract owner's forceBillingDefault flag. If you specify just the forceBilling = true then this is the same as forceBillPeriods = 1 and if you specify the forceBilling = false then this is the same as forceBillPeriods = 0

forceBillPeriodsinteger(int32)[ 0 .. 731 ]

Number of bill periods to force. ForceBillPeriods is ignored when forceBilling is false

Example: 1
installationAddressobject(Address)
customFieldsArray of objects(CustomField)
contractStartDatestring(date)Deprecated

Contract start date

Response
application/json
{ "id": 1, "siteId": 1, "rentalProductId": 1, "parentRentalProductInventoryId": 1, "invoicePresentationProductName": "string", "supplierAccountId": 1, "startDate": "2019-08-24", "endDate": "2019-08-24", "invoiceFrequency": 0, "quantity": 1, "productReference": "string", "additionalProductReference": "string", "label": "string", "treatStartAsWholePeriod": false, "treatEndAsWholePeriod": false, "contractStartDate": "2019-08-24", "userId": "string", "userEmail": "string", "costCentreCode": "string", "departmentCode": "string", "featureNumber": "string", "nominalCode": "SALES-01QTR2", "notes": "string", "billable": true, "inFlightOrder": false, "billInitialChargesImmediately": false, "alignedToStart": false, "alignedToBillPeriod": false, "externalOrderReference": "string", "externalNetworkOrderReference": "string", "pendingEndDate": "2019-08-24", "forceBilling": true, "forceBillPeriods": 1, "installationAddress": { "id": 1, "businessName": "string", "address1": "string", "address2": "string", "address3": "string", "town": "string", "county": "string", "postcode": "string", "country": "GB" }, "customFields": [ {} ] }

adhoc-inventories

An Adhoc Inventory is used to represent a charge, discount or refund that will be applied on an adhoc basis

Operations

provisioning-details

A group of settings which detail the provisioning state of a rental product inventory

Operations