Finance Contract Offers

A finance contract provides an installment plan for purchase of an entity such as a device. This allows a subscriber or group to purchase an entity and pay for it over time with periodic installments. A finance contract offer defines the pricing components required to set up the contract. A finance contract cannot be purchased by a device.

The finance contract product offer defines the pricing components required to set up the contract. The finance contract purchase components specify the following.

  • Charge — Original principal of the mobile or login device.
  • Discount — Applicable discounts for the mobile or login device being purchased.
    Note: Discount pricing components can be selected from offers owned by objects in the hierarchy (device, subscription, group) and the global offers. For more information about applying the scope of a discount to a product offer, see the discussion about discount component selection.

The finance contract offer does not have any recurring pricing components explicitly configured. When the offer is purchased, the installment amount is calculated based on the original principal in the offer and the terms of the finance contract. The recurring installment payments are charged implicitly based on the periodicity in the finance contract product offer.

When a finance contract product offer is purchased, the financed amount is calculated based on the purchase charges and down payment, if any. The finance amount is credited to either a post-paid or pre-paid main balance, and a new event, MtxContractFinanceEvent, is generated with the financed amount. The finance contract is activated at the time of purchase. The down payment is applied and the first installment is charged at the time of purchase. If the installment payment fails, late charges are incurred according to the terms of the contract.

A finance contract cannot be purchased as a pre-active purchased item.

You can optionally override the down payment at the time of purchase. The override amount must be greater than the default down payment amount specified in the finance contract.

Note: A finance contract offer is purchased as a separate catalog item and cannot be part of a bundle.

Renegotiate End Date

A finance contract end date can be modified through the ModifyOffer SubMan API to either shorten or extend the contract. The new end date specified in the modify offer request must be after the end of the current cycle and does not have to align with the offer cycle. For example, if the contract offer is on a calendar-monthly cycle, the new end date can be specified as the 15th of the month.

As part of the modify offer request, the outstanding principal, including the current cycle charge if unpaid, is redistributed based on the new end date, and a new installment amount is calculated. Both the contract end time in the contract state of the offer and the offer end time are set to the new end date. The updated contract state, including the new installment information, is returned in the modify offer response. The ModifyOffer SubMan API can be called in advice mode (Advice of Charge) to find the new installment amount for the given end date. To terminate the contract in the current cycle, the IsWaiveEarlyTerminationCharge in the SubMan Cancel API must be used at the end of the current cycle.

When a finance contract expires on a renegotiated date, it is possible that there might be outstanding principal at the time of expiration. Therefore, the finance contract offer is canceled on expiration so that any outstanding principal that is not already in the debt balance is moved into the debt balance (cancelation happens even if the expiration policy is not set to do so). For this cancelation, the mode is set to pay_none so that the accumulated debt remains in the debt balance.

Events and Notifications

Finance contract offer events and notifications are generated when processing finance contracts. For example, an event is generated with an updated contract state. When you renegotiate a contract, an MtxPurchasedItemModifyEvent Event Detail Records (EDRs) is generated that includes the owner ID of the owner of the contract and arrays of offers and bundles that have been modified. For information about finance contract events, see the discussion about event fields in MATRIXX Integration. For information about finance contract notifications, see the discussion about notification message fields in MATRIXX Integration.