# CreatePluginBillingDTO

Type: object

Schema: [CreatePluginBillingDTO](https://sourcey-gauzy.pages.dev/api-reference/models/createpluginbillingdto/index.md)

- `subscriptionId` (required)
  Type: string
  
  Associated subscription ID
  
  Example:
  
  ```json
  "uuid-string"
  ```

- `amount` (required)
  Type: number
  
  Billing amount
  
  minimum: 0
  
  Example:
  
  ```json
  99.99
  ```

- `currency` (required)
  Type: string
  
  Currency code
  
  default: "USD"
  
  Example:
  
  ```json
  "USD"
  ```

- `billingDate` (required)
  Type: string, date-time
  
  Billing date
  
  Example:
  
  ```json
  "2025-01-01T00:00:00Z"
  ```

- `dueDate` (required)
  Type: string, date-time
  
  Due date for payment
  
  Example:
  
  ```json
  "2025-01-15T00:00:00Z"
  ```

- `paymentDueDate` (optional)
  Type: string, date-time
  
  Payment due date
  
  Example:
  
  ```json
  "2025-01-30T00:00:00Z"
  ```

- `status` (required)
  Type: string
  
  Billing status
  
  default: "pending"
  
  enum: ["pending","processed","paid","overdue","failed","cancelled","refunded","partially_paid"]

- `billingPeriod` (required)
  Type: string
  
  Billing period
  
  enum: ["daily","weekly","monthly","quarterly","yearly","one-time"]
  
  Example:
  
  ```json
  "monthly"
  ```

- `billingPeriodStart` (required)
  Type: string, date-time
  
  Billing period start date
  
  Example:
  
  ```json
  "2025-01-01T00:00:00Z"
  ```

- `billingPeriodEnd` (required)
  Type: string, date-time
  
  Billing period end date
  
  Example:
  
  ```json
  "2025-01-31T23:59:59Z"
  ```

- `invoiceNumber` (optional)
  Type: string
  
  Invoice number
  
  Example:
  
  ```json
  "INV-202501-0001"
  ```

- `invoiceUrl` (optional)
  Type: string
  
  Invoice URL
  
  Example:
  
  ```json
  "https://example.com/invoices/inv-123"
  ```

- `taxAmount` (optional)
  Type: number
  
  Tax amount
  
  minimum: 0
  
  Example:
  
  ```json
  9.99
  ```

- `taxRate` (optional)
  Type: number
  
  Tax rate (as decimal)
  
  minimum: 0
  
  maximum: 1
  
  Example:
  
  ```json
  0.1
  ```

- `discountAmount` (optional)
  Type: number
  
  Discount amount
  
  minimum: 0
  
  Example:
  
  ```json
  5
  ```

- `discountCode` (optional)
  Type: string
  
  Discount code
  
  Example:
  
  ```json
  "SAVE10"
  ```

- `description` (optional)
  Type: string
  
  Billing description/notes
  
  Example:
  
  ```json
  "Monthly subscription fee for Premium plan"
  ```

- `paymentReference` (optional)
  Type: string
  
  Payment reference
  
  Example:
  
  ```json
  "PAY_12345"
  ```

- `metadata` (optional)
  Type: object
  
  Billing metadata
  
  Example:
  
  ```json
  {
    "source": "automated",
    "campaign": "summer2025"
  }
  ```

- `tenantId` (required)
  Type: string
  
  Tenant ID
  
  Example:
  
  ```json
  "uuid-string"
  ```

- `organizationId` (optional)
  Type: string
  
  Organization ID
  
  Example:
  
  ```json
  "uuid-string"
  ```