---
title: "List contract billing terms"
method: GET
path: "/v3/contracts/{id}/billing-terms"
tags: ["Contracts"]
---

# List contract billing terms

`GET /v3/contracts/{id}/billing-terms`

## Path parameters

- `id` string, required

## Query parameters

- `billingTermGroupId` string
- `page` number, required
- `limit` number, required

## Response `200`

Billing terms for the contract

- object
  - `payload` object, required — Response payload, will be empty when success is false
    - `data` GetBillingTermItemDto[]
      - `billingTermId` string, uuid, required — Billing term ID
      - `contractId` string, uuid, required — Contract ID
      - `name` string, required — Billing term name
      - `description` string, nullable, required — Billing term description
      - `itemId` string, uuid, nullable, required — ERP item ID
      - `productId` string, uuid, nullable, required — Product ID from /v3/products. To ensure revenue reporting accuracy, associate the billing term with a product whenever applicable.
      - `billingStartDate` string, required — Billing start date
      - `billingEndDate` string, required — Billing end date
      - `quantity` number, required — Quantity; 0 for UNIT billingType
      - `duration` number, required — Number of billing periods (0 = open-ended / not set)
      - `intervalFrequency` number, required — Interval frequency
      - `interval` 'NONE' | 'DAY' | 'MONTH' | 'HOUR' | 'YEAR' | 'QUARTER' | 'SEMI_MONTH' | 'WEEK', nullable, required — Interval unit
      - `invoiceDateStrategy` 'FIRST_OF_PERIOD' | 'LAST_OF_PERIOD' | 'ARREARS' | 'ADVANCED_DUE_START', required — Invoice date strategy
      - `netPaymentTerms` number, nullable, required — Days between invoice issue and due date
      - `billingType` 'UNIT' | 'FLAT', required — Billing type
      - `pricingType` 'SIMPLE' | 'TIERED' | 'VOLUME', required — Pricing type
      - `isRecurring` boolean, required — Whether the billing term is recurring
      - `includeInArr` boolean, required — Whether this billing term contributes to ARR (Annual Recurring Revenue)
      - `isArrears` boolean, required — Whether the billing term is in arrears
      - `eventTypeId` string, uuid, nullable, required — Usage event type ID
      - `classId` string, uuid, nullable, required — ERP class ID
      - `departmentId` string, uuid, nullable, required — Department ID
      - `projectId` string, uuid, nullable, required — Project ID
      - `pricing` PricingTierDto[], required — Pricing tiers
        - `tier` number, required — Tier Number
        - `amount` number, required — Amount
        - `amountType` 'PER_ITEM' | 'TOTAL_INVOICE', required — Amount Type
        - `tierMinimum` number, required — Tier Minimum
      - `billingTermGroupId` string, uuid, nullable, required — Billing term group (BTG) ID
      - `commitmentId` string, uuid, nullable, required — Commitment ID
      - `commitmentBillingTermType` string, nullable, required — Commitment billing term type
      - `discounts` DiscountDto[], required — Billing term discounts.
        - `type` 'PERCENTAGE' | 'FIXED' — The type of discount
        - `amount` string — The discount amount (stored as mantissa in database with exponent 0)
        - `note` string — Optional note about the discount
    - `limit` number
    - `totalItems` number
    - `currentPage` number
  - `success` boolean, required — Boolean with true=success, false=failure
  - `message` string, required — Plain-text description of the result
  - `error` IntegratorsApiError, required
    - `code` number, required — API response code
    - `message` string, required — API response message
    - `details` object — Additional details about the error

## Other responses

- `404` — Contract not found
- `500` — Internal Server Error

---

[API](https://skmtc.net/tabsplatform/apis/tabs-external-api.md) · [All operations](https://skmtc.net/tabsplatform/apis/tabs-external-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/tabsplatform/tabs-external-api/revisions/7e8885517814/schema)
