How-toBilling

Activate and manage a billing contract

Review a draft, grant and approve discounts, activate billing, and use suspend, resume, or terminate at the correct lifecycle stage.

This workflow moves an approved contract from a frozen draft into active billing and manages later service changes without bypassing commercial controls.

Before you begin

You need manage-Billing authority, a draft with a Billing start date and at least one line, an approved commercial review, and a second authorized person for any discount approval. Confirm that no recurring line’s cadence is faster than the selected billing period.

Review the frozen lines

  1. Open Accounts, select the billing account, and open the draft contract.
  2. Confirm Seller, Customer, Billing period, and Bills from.
  3. Review Lines against the signed or approved commercial terms.
  4. Confirm the visible charge, type, cadence, amount, annual rate, minimum, and currency values.
  5. If the snapshot is wrong, do not activate it. Correct the Products configuration and create the appropriate new draft contract.

Grant and approve a discount

The maker and checker must be different signed-in users.

  1. As the grantor, select Grant discount.
  2. Choose Kind: Percentage, Fixed amount, Rate override, or Waiver.
  3. Enter Value where required. Percentage values use a fraction, so 0.1 means 10%.
  4. For a fixed amount, enter the matching Currency.
  5. Optionally enter comma-separated Charge keys; leave the field empty to apply to all charges.
  6. Choose Duration: Evergreen, Date range, First N periods, or Until renewal.
  7. Complete the applicable dates or Number of periods. Date range requires Effective from. Optionally enter a Reason for the audit trail.
  8. Select Grant discount.
  9. Confirm it shows Awaiting approval — not rated yet.
  10. Have a different authorized administrator open the contract and select Approve.

An approved discount cannot be removed through the pending-discount action. The approval evidence is retained.

Percentage discounts must be greater than 0 and no more than 1, fixed amounts must be greater than 0 and include a currency, rate overrides must be 0 or greater, and First N periods must be greater than 0. Rate overrides cannot target overlapping charge scopes, including overlap between an all-charges override and a charge-specific override.

The current UI does not restrict discount mutation by contract lifecycle state. Follow this procedure on Draft contracts only unless your approved commercial process explicitly governs a later-state correction; do not treat the presence of Grant discount as evidence that a post-activation change is safe.

Activate the contract

  1. Confirm the draft has at least one line and a Billing start date.
  2. Confirm every discount that should affect rating is approved.
  3. Select Activate.
  4. Confirm Activate contract.

The contract becomes Active and initializes its next billing period from the billing start date. The domain model supports successor contracts, but the current customer UI has no control to create one; do not claim or improvise that workflow from the browser.

Suspend and resume

  1. From an Active contract, select Suspend and confirm.
  2. Verify the status is Suspended.
  3. When service resumes, select Resume.
  4. Verify the contract returns to Active.

During suspension, billing progression pauses. On resume, the configured policy either back-bills or forgives the frozen periods. Review that policy before suspending.

Terminate

  1. Open an Active or Suspended contract.
  2. Confirm termination is the intended final action.
  3. Select Terminate and confirm Terminate contract.
  4. Verify the status is Terminated.

Termination is not a pause. A terminated contract cannot be resumed.

Success check

The contract displays the intended lifecycle status, approved discounts identify their approver, and its frozen lines remain unchanged. For an active contract, Bills from matches the approved billing start date.

For activation failures, same-person discount approval, or missing lifecycle actions, use Troubleshoot Billing.