# Create a new rental product inventory Endpoint: POST /rental-product-inventories Version: 2.24 Security: bearerAuth ## Header parameters: - `disable_adding_linked_rentals` (string) 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" ## Request fields (application/json): - `siteId` (integer, required) Site identifier Example: 1 - `rentalProductId` (integer, required) Rental product identifier Example: 1 - `parentRentalProductInventoryId` (integer) Parent product identifier Example: 1 - `invoicePresentationProductName` (string, required) Product name as presented on invoice - `supplierAccountId` (integer, required) Supplier account identifier Example: 1 - `startDate` (string, required) Rental product inventory start date - `endDate` (string) Rental product inventory end date - `invoiceFrequency` (integer, 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 - `quantity` (integer, required) Quantity - `productReference` (string) Product reference. Extra validations may be applied depending on product configurations - `additionalProductReference` (string) 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 - `label` (string) Label - `treatStartAsWholePeriod` (boolean) If enabled this property will stop pro-rated charges being calculated at the start of the rental product inventory - `treatEndAsWholePeriod` (boolean) If enabled this property will stop pro-rated charges being calculated at the end of the rental product inventory - `userId` (string) User Id - `userEmail` (string) User email address - `costCentreCode` (string) Cost centre code - `departmentCode` (string) Department code - `featureNumber` (string) Feature number - `nominalCode` (string) Nominal code Example: "SALES-01QTR2" - `notes` (string) Notes - `billable` (boolean) Is this rental product inventory to be billed now? If it is un-ticked then it will not appear on an invoice - `inFlightOrder` (boolean) If selected this property denotes that the order has not yet completed - `billInitialChargesImmediately` (boolean) When enabled, the initial rental charge (usually a part-period charge) will be billed immediately via an adhoc bill run - `alignedToStart` (boolean) 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 - `alignedToBillPeriod` (boolean) 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 - `externalOrderReference` (string) Unique reference for the external order. Buyer's side reference - `externalNetworkOrderReference` (string) Unique reference for the external order. Seller's side reference - `pendingEndDate` (string) Inflight order pending end date - `forceBilling` (boolean) 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 - `forceBillPeriods` (integer) Number of bill periods to force. ForceBillPeriods is ignored when forceBilling is false Example: 1 - `installationAddress` (object) - `installationAddress.businessName` (string) Business name - `installationAddress.address1` (string, required) Address line 1 - `installationAddress.address2` (string) Address line 2 - `installationAddress.address3` (string) Address line 3 - `installationAddress.town` (string, required) Town - `installationAddress.county` (string) County - `installationAddress.postcode` (string, required) Postcode - `installationAddress.country` (string, required) ISO 3166 alpha-2 code representing country Example: "GB" - `customFields` (array) - `customFields.label` (string, required) Custom field label - `customFields.value` (string, required) Custom field value - `contractStartDate` (string) Contract start date ## Response 200 fields (application/json): - `id` (integer) Rental product inventory identifier Example: 1 - `siteId` (integer, required) Site identifier Example: 1 - `rentalProductId` (integer, required) Rental product identifier Example: 1 - `parentRentalProductInventoryId` (integer) Parent product identifier Example: 1 - `invoicePresentationProductName` (string, required) Product name as presented on invoice - `supplierAccountId` (integer, required) Supplier account identifier Example: 1 - `startDate` (string, required) Rental product inventory start date - `endDate` (string) Rental product inventory end date - `invoiceFrequency` (integer, 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 - `quantity` (integer, required) Quantity - `productReference` (string) Product reference. Extra validations may be applied depending on product configurations - `additionalProductReference` (string) 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 - `label` (string) Label - `treatStartAsWholePeriod` (boolean) If enabled this property will stop pro-rated charges being calculated at the start of the rental product inventory - `treatEndAsWholePeriod` (boolean) If enabled this property will stop pro-rated charges being calculated at the end of the rental product inventory - `userId` (string) User Id - `userEmail` (string) User email address - `costCentreCode` (string) Cost centre code - `departmentCode` (string) Department code - `featureNumber` (string) Feature number - `nominalCode` (string) Nominal code Example: "SALES-01QTR2" - `notes` (string) Notes - `billable` (boolean) Is this rental product inventory to be billed now? If it is un-ticked then it will not appear on an invoice - `inFlightOrder` (boolean) If selected this property denotes that the order has not yet completed - `billInitialChargesImmediately` (boolean) When enabled, the initial rental charge (usually a part-period charge) will be billed immediately via an adhoc bill run - `alignedToStart` (boolean) 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 - `alignedToBillPeriod` (boolean) 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 - `externalOrderReference` (string) Unique reference for the external order. Buyer's side reference - `externalNetworkOrderReference` (string) Unique reference for the external order. Seller's side reference - `pendingEndDate` (string) Inflight order pending end date - `forceBilling` (boolean) 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 - `forceBillPeriods` (integer) Number of bill periods to force. ForceBillPeriods is ignored when forceBilling is false Example: 1 - `installationAddress` (object) - `installationAddress.id` (integer) Internal identifier for address entry Example: 1 - `installationAddress.businessName` (string) Business name - `installationAddress.address1` (string, required) Address line 1 - `installationAddress.address2` (string) Address line 2 - `installationAddress.address3` (string) Address line 3 - `installationAddress.town` (string, required) Town - `installationAddress.county` (string) County - `installationAddress.postcode` (string, required) Postcode - `installationAddress.country` (string, required) ISO 3166 alpha-2 code representing country Example: "GB" - `customFields` (array) - `customFields.id` (integer) Custom field identifier Example: 1 - `customFields.label` (string, required) Custom field label - `customFields.value` (string, required) Custom field value - `contractStartDate` (string) Contract start date ## Response 201 fields (application/json): - `id` (integer) Rental product inventory identifier Example: 1 - `siteId` (integer, required) Site identifier Example: 1 - `rentalProductId` (integer, required) Rental product identifier Example: 1 - `parentRentalProductInventoryId` (integer) Parent product identifier Example: 1 - `invoicePresentationProductName` (string, required) Product name as presented on invoice - `supplierAccountId` (integer, required) Supplier account identifier Example: 1 - `startDate` (string, required) Rental product inventory start date - `endDate` (string) Rental product inventory end date - `invoiceFrequency` (integer, 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 - `quantity` (integer, required) Quantity - `productReference` (string) Product reference. Extra validations may be applied depending on product configurations - `additionalProductReference` (string) 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 - `label` (string) Label - `treatStartAsWholePeriod` (boolean) If enabled this property will stop pro-rated charges being calculated at the start of the rental product inventory - `treatEndAsWholePeriod` (boolean) If enabled this property will stop pro-rated charges being calculated at the end of the rental product inventory - `userId` (string) User Id - `userEmail` (string) User email address - `costCentreCode` (string) Cost centre code - `departmentCode` (string) Department code - `featureNumber` (string) Feature number - `nominalCode` (string) Nominal code Example: "SALES-01QTR2" - `notes` (string) Notes - `billable` (boolean) Is this rental product inventory to be billed now? If it is un-ticked then it will not appear on an invoice - `inFlightOrder` (boolean) If selected this property denotes that the order has not yet completed - `billInitialChargesImmediately` (boolean) When enabled, the initial rental charge (usually a part-period charge) will be billed immediately via an adhoc bill run - `alignedToStart` (boolean) 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 - `alignedToBillPeriod` (boolean) 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 - `externalOrderReference` (string) Unique reference for the external order. Buyer's side reference - `externalNetworkOrderReference` (string) Unique reference for the external order. Seller's side reference - `pendingEndDate` (string) Inflight order pending end date - `forceBilling` (boolean) 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 - `forceBillPeriods` (integer) Number of bill periods to force. ForceBillPeriods is ignored when forceBilling is false Example: 1 - `installationAddress` (object) - `installationAddress.id` (integer) Internal identifier for address entry Example: 1 - `installationAddress.businessName` (string) Business name - `installationAddress.address1` (string, required) Address line 1 - `installationAddress.address2` (string) Address line 2 - `installationAddress.address3` (string) Address line 3 - `installationAddress.town` (string, required) Town - `installationAddress.county` (string) County - `installationAddress.postcode` (string, required) Postcode - `installationAddress.country` (string, required) ISO 3166 alpha-2 code representing country Example: "GB" - `customFields` (array) - `customFields.id` (integer) Custom field identifier Example: 1 - `customFields.label` (string, required) Custom field label - `customFields.value` (string, required) Custom field value - `contractStartDate` (string) Contract start date ## Response 400 fields ## Response 401 fields ## Response 404 fields ## Response 412 fields ## Response 500 fields ## Response 501 fields