Orders and Order Flow

Orders are used to initiate service provisioning process. In Billing, there are orders of the following types:

  • A sales order is created when customer orders services from online store, their control panel, or when vendor orders services on behalf of customer.
  • A renewal order is created when a customer (or a provider on a customer's behalf) renews a subscription for another subscription period.
  • A billing order is created regularly as a result of customer billing. Billing order does not provide any services, its provisioning item becomes completed independently from the credit limit or any other factors. Basically, billing order is needed to get an invoice that is expected to be paid.
  • A change order is created when customer purchases additional resources, changes subscription period to a longer one, or changes subscription service plan to a more expensive one. Another case for creating a change order is when customer decides not to use some resources further, changes subscription period to a shorter one, or changes subscription service plan to a cheaper one. Change Order can haveboth positive (in case of a downgrade) and negative (in case of anupgrade) amount.
  • A payment order is used as supplementary order for payment processing. This type of order is visible only by the Payment Order ID link within a respective payment details.
  • A cancellation order is created when a subscription is canceled and in case provider owes money to customer.
  • A cancellation charge order is created when a subscription is canceled and in case customer owes money to provider.
  • A resource order is created in case a subscription was synchronized with the plan it is based on, and there are some resources that require additional provisioning in external system (for example, if included amount in plan has changed comparably to that when subscription was provisioned). Customer is not billed, the order has zero amount and is required only for provisioning and monitoring.
  • A transfer order is created when you transfer a subscription between customer accounts or you transfer a customer account between distributors.

Each order type has its own order flow. An order flow consists of order statuses, transitions from one status to another, and order flow handlers, where decisions are made as to which transition to follow. Order type status is a stage of order processing. To make order status used in order processing, transitions are to be configured for it. Order flow transition defines what actions are to be performed when order gets from one status to another. Namely, flow handler call and notification sending. Flow handler is a plug-in that can perform special operations such as fraud screening, submitting credit card for processing, etc.

Several different order flows can be configured in Billing; each distributor (provider or reseller) can use them independently. Provider can view and manage all order flows in the system, while a reseller can only customize its own order flow. Each vendor can view and create his own customizations of the order flow he uses: i.e., only transitions of current order flow can be customized.

Order flow customization is created whenever any order flow transition is modified. Billing utilizes Global customizations and Per distributor customizations. For more details, refer to Order Flow and Customizations.