> ## Documentation Index
> Fetch the complete documentation index at: https://docs.slm.m1amdocs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# The Billing Plan Object

The Billing Plan object is the schedule and, optionally, pricing rules for a subscription; every [Subscription](Subscriptions) must have a Billing Plan assigned.

## Attributes

| Name | Type | Description |
| - | - | - |
| object | string | Value is “BillingPlan” |
| id | string | A merchant-specified unique identifier. If not specified, this object can be identified by its **vid**. |
| vid | string | A Globally Unique Identifier (GUID) for this object. Assigned by Subscribe. |
| created | datetime | The date and time the plan was created. *Read only.* |
| description | string | A Merchant-specified description of this offering. |
| status | enum | Merchants may define whether they want to declare a plan as available to offer. Values can be `Active`, `Suspended` |
| tax\_classification | string | The tax classification or code to be used with any plan-level charges. |
| br\_tax\_category | enum | Enum used for Brazilian tax calculations. Values can be `Goods`, `Services` |
| trial | [Billing Plan Period](Biling_Plan_Period) | Optionally declares an initial trial period for this plan. |
| periods | [Billing Plan Period](Biling_Plan_Period) | Defines the sequential billing periods in the plan, each with its own billing schedule and terms. |
| billing\_notification\_days | integer | Number of days prior to schedule billing at which Subscribe will send a notification. |
| trial\_end\_notification\_days | integer | For the trial period, this replaces billing\_notification\_days, indicating the # of days prior to end of a trial to send the trial end email. |
| skip\_initial\_billing\_notification | boolean | Determines whether to send a billing notification for the initial period. |
| end\_of\_life | datetime | The date after which the plan should not be offered. |
| metadata | hash | A set of key/value pairs that you can attach to an object. Useful for storing additional information. For more details, see [Metadata](Metadata). |
| entitlements | [Entitlement](Entitlements) | Entitlements granted by active subscriptions on this plan. |
| billing\_descriptor | string | Optional “soft descriptor” to send to the payment processor for transactions associated with a subscription using this billing plan. |
| grace\_period\_override | integer | Number of days after the billing date when, if payment is not received, the [Subscription](Subscriptions) is stopped and the customer is disentitled; overrides the global merchant default setting, if both are set. |
| minimum\_commitment | integer | Number of billing cycles the customer is contractually obligated to complete before cancelling. The only impact this has is upon the cancelling a Subscription. |
| cancel\_fees | [Billing Plan Cancel Fee](Billing_Plan_Cancel_Fee) | List of early cancel fees for various currencies. |
| times\_to\_run | string | The number of times the sequence of Billing Periods should be repeated. Valid input includes positive integers. (Default is null.) *Advanced Setting* |
| entitlements\_valid\_for | string | The length of time for which Entitlements are valid after the last Billing date. (Default is null.) *Advanced Setting* |
| repeat\_every | string | If a Billing Period set repeats, this value defines the length of time after the first billing that the set should repeat. *Advanced Setting* |
| season\_set | [Season Set](Season_Sets) | The SeasonSet to which the Billing Plan applies. (May be null.) |
| days\_before\_season\_to\_bill | integer | Optional setting when using a season set to control the integer number of days before a season starts to bill. *Advanced Setting* |
| days\_entitled\_before\_season | integer | Optional setting when using a season set to control the integer number of days customer is entitled before a season starts. *Advanced Setting* |
| days\_entitled\_after\_season | integer | Optional setting when using a season set to control the integer number of days after a season ends a customer remains entitled. *Advanced Setting* |
| entitled\_off\_season | boolean | Optional setting when using a season set to continue entitling customer between seasons. *Advanced Setting* |
| used\_on\_subscriptions | boolean | Signifies if Billing Plan has been used on an Active [Subscription](Subscriptions). *Read Only* |

## Example Billing Plan Object

```

{
   "object":"BillingPlan",
   "id":"plan_1234",
   "vid":"1d557e85e70a13140dcc9bd4fd18a02f63f09084",
   "created":"2020-05-27T14:42:08-07:00",
   "description":"Simple Monthly Billing Plan",
   "status":"Active",
   "periods":{
      "object":"List",
      "data":[
         {
            "object":"BillingPlanPeriod",
            "type":"Month",
            "quantity":1,
            "cycles":0,
            "prices":{
               "object":"List",
               "data":[
                  {
                     "object":"BillingPlanPrice",
                     "amount":0,
                     "currency":"USD"
                  }
               ],
               "total_count":1
            }
         }
      ],
      "total_count":1
   },
   "end_of_life":"2099-12-31T00:00:00-08:00",
   "metadata":{
      "CatalogID":"plan1234"
   },
   "entitlements":{
      "object":"List",
      "data":[
         {
            "object":"Entitlement",
            "id":"plan_1234",
            "description":"plan_1234"
         }
      ],
      "total_count":1
   }
}

```

**Parent topic:**[Billing Plans](../topics/Billing_Plans)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.