Bill
Creating Schedules

Create Billing Schedules

Set up recurring billing schedules with flexible frequencies and automatic invoice generation


Create billing schedules to automate recurring invoice generation for subscriptions, contracts, and periodic billing. Configure billing frequencies from daily to annually, add line items that appear on each invoice, enable autopay for automatic payment collection, and let Payload handle the rest. Billing schedules eliminate manual invoice creation and ensure consistent billing cycles.

Prerequisites

Before creating billing schedules, ensure you have:


Creating Billing Schedules


Create schedules with different frequencies based on your billing needs.

Monthly subscription

import payload
pl = payload.Session('secret_key_3bW9...', api_version='v2')
 
# Create a monthly billing schedule
 
schedule = pl.BillingSchedule.create(
    start_date='2024-02-01',
    description='Monthly Pro Plan Subscription',
    payer={
        'account_id': 'acct_customer123'
    },
    biller={
        'account_id': 'acct_merchant456'
    },
    recurring_schedule={
        'type': 'monthly',
        'monthly': {
            'billing_day': 1  # Bill on the 1st of each month
        }
    },
    autopay_settings={
        'allowed': True  # Enable automatic payment
    },
    default_tax_rate=8.5,  # 8.5% tax
    items=[
        {
            'type': 'line_item',
            'description': 'Pro Plan - Monthly Subscription',
            'line_item': {
                'value': 49.99,
                'qty': 1
            }
        }
    ]
)
 
print(f'Billing schedule created: {schedule.id}')
print(f'Recurring amount: ${schedule.totals['recurring_amount']}')
print(f'Next billing: 1st of each month')
 
# View generated invoices
print(f'\nGenerated invoices: {len(schedule.invoices)}')
for invoice in schedule.invoices:
    print(f'  Invoice {invoice.number}: ${invoice.totals['total']} due {invoice.due_date}')

Create recurring monthly invoices on a specific day of the month.

Monthly billing options:

  • Date-based: Bill on specific day (1-31) each month
  • Weekday-based: Bill on first/last Monday, Friday, etc.
# Bill on first Monday of each month
pl.BillingSchedule.create(
    start_date="2024-01-01",
    recurring_schedule={
        "type": "monthly",
        "monthly": {
            "billing_weekday": 0,    # 0=Monday, 6=Sunday
            "billing_week": "first"  # or "last"
        }
    }
)

Quarterly billing

import payload
pl = payload.Session('secret_key_3bW9...', api_version='v2')
 
# Create a quarterly billing schedule
 
schedule = pl.BillingSchedule.create(
    start_date='2024-01-01',
    end_date='2024-12-31',  # One year term
    description='Quarterly Maintenance Contract',
    payer={
        'account_id': 'acct_customer123'
    },
    biller={
        'account_id': 'acct_merchant456'
    },
    recurring_schedule={
        'type': 'quarterly',
        'quarterly': {
            'q1': {
                'billing_month': 1,  # January
                'billing_day': 15    # 15th
            },
            'q2': {
                'billing_month': 4,  # April
                'billing_day': 15
            },
            'q3': {
                'billing_month': 7,  # July
                'billing_day': 15
            },
            'q4': {
                'billing_month': 10,  # October
                'billing_day': 15
            }
        }
    },
    autopay_settings={
        'allowed': True
    },
    items=[
        {
            'type': 'line_item',
            'description': 'Quarterly Maintenance Fee',
            'line_item': {
                'value': 500.00,
                'qty': 1
            }
        },
        {
            'type': 'line_item',
            'description': 'Support & Updates',
            'line_item': {
                'value': 250.00,
                'qty': 1
            }
        }
    ]
)
 
print(f'Quarterly billing schedule created: {schedule.id}')
print(f'Recurring amount: ${schedule.totals['recurring_amount']}')
print('Billing dates: Jan 15, Apr 15, Jul 15, Oct 15')
 
# View invoices for the year
print(f'\nTotal invoices for term: {len(schedule.invoices)}')
for invoice in schedule.invoices:
    print(f'  {invoice.due_date}: ${invoice.totals['total']}')

Create invoices once per quarter with specific dates for each quarter.

Quarterly configuration:

  • Define billing month (1-12) and day (1-31) for each quarter
  • Q1: January-March, Q2: April-June, Q3: July-September, Q4: October-December
  • Each quarter can have different billing dates

What happens when creating a schedule:

  1. Billing schedule is created with specified frequency
  2. First invoice is generated on or after start_date
  3. Subsequent invoices auto-generate on scheduled billing days
  4. Each invoice includes all active billing items
  5. If autopay enabled, payments processed automatically on due date
  6. Schedule tracks totals across all generated invoices

Billing Frequency Configuration


Configure different billing frequencies for various subscription models.

Daily Billing

Invoice generated every day starting from start_date:

pl.BillingSchedule.create(
    start_date="2024-01-01",
    recurring_schedule={
        "type": "daily"
        # No additional configuration needed
    },
    # ... payer, biller, items
)

Use cases: Daily rentals, per-day services, usage-based billing

Weekly Billing

Invoice every 7 days on the same day of week as start_date:

recurring_schedule: {
  type: "weekly"
  // Bills on same weekday as start_date
}

Use cases: Weekly subscriptions, recurring weekly services

Biweekly Billing

Invoice every 14 days starting from start_date:

recurring_schedule: {
  type: "biweekly"
  // Bills every two weeks from start_date
}

Use cases: Bi-weekly payments, payroll-aligned billing

Bimonthly Billing

Invoice twice per month on specified days:

recurring_schedule: {
    type: "bimonthly",
    bimonthly: {
        first_billing_day: 1,   // 1st of month
        second_billing_day: 15  // 15th of month
    }
}

Use cases: Semi-monthly billing, twice-per-month services

Monthly Billing

Invoice once per month on a specific day or weekday:

// Date-based: Bill on 1st of each month
recurring_schedule: {
    type: "monthly",
    monthly: {
        billing_day: 1  // 1-31
    }
}
 
// Weekday-based: Bill on last Friday
recurring_schedule: {
    type: "monthly",
    monthly: {
        billing_weekday: 4,      // 0=Mon, 4=Fri
        billing_week: "last"     // "first" or "last"
    }
}

Use cases: Monthly subscriptions, monthly membership fees

Quarterly Billing

Invoice once per quarter with specific dates for each quarter:

recurring_schedule: {
    type: "quarterly",
    quarterly: {
        q1: {
            billing_month: 1,  // January
            billing_day: 31    // 31st
        },
        q2: {
            billing_month: 4,  // April
            billing_day: 30    // 30th
        },
        q3: {
            billing_month: 7,  // July
            billing_day: 31    // 31st
        },
        q4: {
            billing_month: 10,  // October
            billing_day: 31     // 31st
        }
    }
}

Use cases: Quarterly maintenance, seasonal billing, quarterly memberships

Annual Billing

Invoice once per year on a specific month and day:

recurring_schedule: {
    type: "annually",
    annually: {
        billing_month: 1,  // January (1-12)
        billing_day: 1     // 1st (1-31)
    }
}

Use cases: Annual subscriptions, yearly licenses, annual memberships

Adding Billing Items


Define the charges that appear on each generated invoice.

Billing Item Configuration

Single line item with fixed subscription fee.

items: [
  {
    type: "line_item",
    description: "Pro Plan Subscription",
    line_item: {
      value: 49.99,
      qty: 1
    }
  }
]

When to use:

  • Simple monthly or annual subscriptions
  • Single service recurring fees
  • Fixed-price memberships

Multiple line items including quantity-based pricing.

items: [
  {
    type: "line_item",
    description: "Base Platform Fee",
    line_item: {
      value: 29.99,
      qty: 1
    }
  },
  {
    type: "line_item",
    description: "Premium Support",
    line_item: {
      value: 20.0,
      qty: 1
    }
  },
  {
    type: "line_item",
    description: "Additional Users",
    line_item: {
      value: 10.0, // Per user
      qty: 5 // 5 users = $50.00
    }
  }
]

When to use:

  • Multi-component subscriptions
  • Per-seat or per-user pricing
  • Bundled services with separate line items

Line item calculated as a percentage of other charges.

{
    type: "line_item",
    description: "Processing Fee",
    line_item: {
        value: 3.0,           // 3%
        value_units: "percentage",
        qty: 1
    }
}

When to use:

  • Processing or service fees
  • Tax calculations
  • Variable charges based on invoice total

Line item that only appears on invoices during specific date ranges.

{
    type: "line_item",
    description: "Promotional Discount",
    start_date: "2024-01-01",  // Starts appearing on this date
    end_date: "2024-03-31",    // Stops appearing after this date
    line_item: {
        value: -10.00,  // Negative for discount
        qty: 1
    }
}

When to use:

  • Limited-time promotions
  • Trial period pricing
  • Seasonal charges
  • Temporary add-ons

Container for organizing multiple line items on invoices.

items: [
  {
    type: "item_group",
    description: "Core Services",
    item_group: {
      items: [
        {
          type: "line_item",
          description: "Platform Access",
          line_item: { value: 29.99, qty: 1 }
        },
        {
          type: "line_item",
          description: "API Access",
          line_item: { value: 15.0, qty: 1 }
        }
      ]
    }
  },
  {
    type: "item_group",
    description: "Add-Ons",
    item_group: {
      items: [
        {
          type: "line_item",
          description: "Priority Support",
          line_item: { value: 25.0, qty: 1 }
        }
      ]
    }
  }
]

When to use:

  • Grouping related charges together
  • Creating invoice sections (e.g., "Base Services", "Add-Ons", "Fees")
  • Improving invoice readability and structure

Configuring Autopay


Enable automatic payment collection when invoices are generated.

Enable Autopay

pl.BillingSchedule.create(
    start_date="2024-01-01",
    autopay_settings={
        "allowed": True  # Enable automatic payment (default)
    },
    payer={
        "account_id": "acct_customer123",
        "method_id": "pm_card_456"  # Optional: specific payment method
    },
    # ... rest of configuration
)

Autopay behavior:

  • Invoices automatically charged on due_date
  • Requires payer to have valid payment method
  • Failed payments leave invoice unpaid for retry/manual payment
  • Successful payments transition invoice directly to paid status

Disable Autopay

autopay_settings: {
  allowed: false // Require manual payment
}

When to disable:

  • Customer prefers manual payments
  • Payment arrangements require approval
  • Testing or development environments
  • Invoice review before payment

Additional Configuration


Fine-tune your billing schedule with additional settings.

Tax Configuration

Apply tax to all invoices generated from the schedule:

pl.BillingSchedule.create(
    default_tax_rate=8.5,  # 8.5% tax rate
    # ... rest of configuration
)

Tax is automatically calculated and applied to taxable line items on each generated invoice.

Schedule Duration

Indefinite billing:

{
    start_date: "2024-01-01",
    end_date: null  // or omit - continues indefinitely
}

Fixed-term billing:

{
    start_date: "2024-01-01",
    end_date: "2024-12-31"  // Stops after this date
}

Use cases for end_date:

  • Fixed-term contracts (1 year, 6 months, etc.)
  • Trial periods with defined end
  • Seasonal services
  • Project-based billing

Descriptive Information

Add context to help identify and organize schedules:

{
    description: "Enterprise Plan - Annual Contract",
    attrs: {
        contract_id: "CNT-2024-001",
        sales_rep: "[email protected]",
        customer_segment: "enterprise",
        renewal_date: "2025-01-01"
    }
}

Schema Reference


Fields relevant to billing schedule creation:

BillingSchedule Creation Fields

description
string
Optional text description of this billing schedule. Use this to provide context about what the schedule is for, such as "Monthly subscription for Premium Plan" or "Quarterly maintenance billing". Helpful for identifying and organizing billing schedules, especially when managing multiple schedules for a customer.
Max length: 128
start_date
string (date)
The date when this billing schedule becomes active and begins generating invoices. Invoices will not be created before this date. For recurring schedules, this determines when the first billing cycle starts. Use this to schedule billing to begin at a future date or to align with contract start dates.
end_date
string (date)
The date when this billing schedule expires and stops generating invoices. After this date, no new invoices will be created automatically. Leave empty for indefinite billing schedules. Use this to limit billing to a specific period, such as for fixed-term contracts or trial periods.
recurring_schedule
object
Defines when and how often invoices are automatically generated from this billing schedule. The type determines the billing frequency, and additional fields specify the exact timing (day of month, day of week, etc.) based on the chosen frequency. Essential for subscription and recurring payment scenarios. Frequencies like daily, weekly, and biweekly use simple intervals, while monthly, quarterly, and annually allow precise date control.
annually
object
Configuration for annual billing. Specifies the exact month and day each year when the invoice will be generated (e.g., January 1 or December 31). Required when type is "annually". Hidden for other billing frequencies.
billing_day
enum[integer (int64)]
The day of the month (1-31) on which billing will occur each year. For example, if set to 15, invoices will be generated on the 15th of the specified billing_month. If the day exceeds the days in the selected month (e.g., 31st in February), billing occurs on the last day of that month. Required for annual billing.
Values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31
billing_month
enum[integer (int64)]
The month of the year (1-12) on which billing will occur, where 1=January, 2=February, etc. Combined with billing_day to specify the exact date each year when invoices will be generated (e.g., January 1, December 31). Required for annual billing.
Values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
bimonthly
object
Configuration for bimonthly billing. Specifies the two days of each month on which invoices will be generated (e.g., 1st and 15th). Required when type is "bimonthly". Hidden for other billing frequencies.
first_billing_day
enum[integer (int64)]
The first day of the month (1-31) on which billing will occur for bimonthly schedules. For example, if set to 1, invoices will be generated on the 1st of each month. Must be different from second_billing_day. If the day exceeds the days in a month (e.g., 31st in February), billing occurs on the last day of that month. Required for bimonthly billing.
Values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31
second_billing_day
enum[integer (int64)]
The second day of the month (1-31) on which billing will occur for bimonthly schedules. For example, if set to 15, invoices will be generated on the 15th of each month. Must be different from first_billing_day. If the day exceeds the days in a month, billing occurs on the last day of that month. Required for bimonthly billing.
Values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31
monthly
object
Configuration for monthly billing. Specifies the day of the month, or day of the week, on which invoices will be generated each month (e.g., 1st of the month, or last Friday). Required when type is "monthly". Hidden for other billing frequencies.
billing_day
enum[integer (int64)]
The specific day of the month (1-31) on which billing will occur for monthly schedules. For example, if set to 1, invoices will be generated on the 1st of each month. If the day exceeds the days in a month (e.g., 31st in February), billing occurs on the last day of that month. Use this for date-based monthly billing. Mutually exclusive with billing_weekday and billing_week (use one or the other, not both).
Values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31
billing_week
enum[string]
Specifies which occurrence of the billing_weekday to use: "first" (first occurrence in the month) or "last" (last occurrence in the month). For example, billing_weekday=0 (Monday) and billing_week="first" means billing occurs on the first Monday of each month. Must be used with billing_weekday. Not applicable when using billing_day.
Values: first, last
billing_weekday
enum[integer (int64)]
The day of the week (0-6) on which billing will occur for monthly schedules, where 0 is Monday and 6 is Sunday. Used in combination with billing_week to specify patterns like "first Monday" or "last Friday" of each month. Use this for weekday-based monthly billing. Mutually exclusive with billing_day.
Values: 0, 1, 2, 3, 4, 5, 6
quarterly
object
Configuration for quarterly billing. Specifies the exact month and day within each quarter when invoices will be generated (e.g., January 15, April 15, July 15, October 15). Required when type is "quarterly". Hidden for other billing frequencies.
q1
object
Billing schedule for the first quarter (January-March). Specifies the exact month and day.
billing_day
enum[integer (int64)]
The day of the month (1-31) on which billing will occur in Q1. If the day exceeds the days in the selected month, billing occurs on the last day of that month.
Values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31
billing_month
enum[integer (int64)]
The month within Q1 (1-3) on which billing will occur, where 1=January, 2=February, 3=March. Determines which month of the first quarter to generate invoices.
Values: 1, 2, 3
q2
object
Billing schedule for the second quarter (April-June). Specifies the exact month and day.
billing_day
enum[integer (int64)]
The day of the month (1-31) on which billing will occur in Q2. If the day exceeds the days in the selected month, billing occurs on the last day of that month.
Values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31
billing_month
enum[integer (int64)]
The month within Q2 (4-6) on which billing will occur, where 4=April, 5=May, 6=June. Determines which month of the second quarter to generate invoices.
Values: 4, 5, 6
q3
object
Billing schedule for the third quarter (July-September). Specifies the exact month and day.
billing_day
enum[integer (int64)]
The day of the month (1-31) on which billing will occur in Q3. If the day exceeds the days in the selected month, billing occurs on the last day of that month.
Values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31
billing_month
enum[integer (int64)]
The month within Q3 (7-9) on which billing will occur, where 7=July, 8=August, 9=September. Determines which month of the third quarter to generate invoices.
Values: 7, 8, 9
q4
object
Billing schedule for the fourth quarter (October-December). Specifies the exact month and day.
billing_day
enum[integer (int64)]
The day of the month (1-31) on which billing will occur in Q4. If the day exceeds the days in the selected month, billing occurs on the last day of that month.
Values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31
billing_month
enum[integer (int64)]
The month within Q4 (10-12) on which billing will occur, where 10=October, 11=November, 12=December. Determines which month of the fourth quarter to generate invoices.
Values: 10, 11, 12
type
enum[string]
The frequency at which invoices will be generated and the payer will be billed. Possible values: "daily" (every day), "weekly" (every week), "biweekly" (every two weeks), "bimonthly" (twice per month), "monthly" (once per month), "quarterly" (once per quarter), or "annually" (once per year). Determines which additional scheduling fields are required.
Values: daily, weekly, biweekly, bimonthly, monthly, quarterly, annually
autopay_settings
object
Configuration for automatic payment behavior on this billing schedule. Controls whether invoices generated from this schedule will automatically charge the payer's payment method, or if manual payment is required. Essential for subscription and recurring billing scenarios.
allowed
boolean
Controls whether automatic payments are allowed for this billing schedule. When set to true, invoices will be automatically charged to the payer's payment method when due. When false, invoices must be paid manually. This provides control over whether the payer has opted into autopay for recurring billing.
default_tax_rate
number (double)
The default tax rate (as a percentage) to apply to taxable items on invoices generated from this billing schedule. For example, 8.5 represents an 8.5% tax rate. This rate is applied automatically to line items unless overridden at the item level. Used for calculating the tax portion of invoice totals.
payer
object
Information about the customer who will be charged according to this billing schedule. Includes the payer account and optionally the specific payment method to use for autopay. The payer receives invoices and is responsible for payment.
accountAccount
object
The expanded payer account object. When included, this provides full account details for the customer who will be charged according to this billing schedule.
Visibility: explicit
account_id ID of Account
string
The unique identifier of the account that will be charged for this billing schedule. This is the payer who will receive invoices and from whom payments will be collected. Required if payer account is not provided inline. (ID prefix: acct)
Pattern: ^acct_[A-Za-z0-9]+$
Required if:
payer[account]=null
object
The expanded payment method object for autopay. When included, this shows the specific payment method (card, bank account, etc.) that will be charged automatically if autopay is enabled.
Visibility: explicit
method_id ID of PaymentMethod
string
The unique identifier of the payment method to use for automatic payments. If specified, this payment method will be charged when autopay is enabled. If not set, the account's default payment method will be used. Must belong to the payer account. (ID prefix: pm)
Pattern: ^pm_[A-Za-z0-9]+$
biller
object
Information about the merchant or service provider who will receive payments from this billing schedule. Includes the biller account and optionally the specific payment method for receiving funds. The biller issues invoices and receives payments from the payer.
accountAccount
object
The expanded biller account object. When included, this provides full account details for the merchant or service provider who will receive payments from this billing schedule.
Visibility: explicit
account_id ID of Account
string
The unique identifier of the processing account that will receive payments from this billing schedule. This is the merchant or service provider being paid. If not specified, the system will attempt to select an applicable biller account automatically. Required if biller account is not provided inline. (ID prefix: acct)
Pattern: ^acct_[A-Za-z0-9]+$
Required if:
biller[account]=null
object
The expanded payment method object for funding. When included, this shows where the funds from this billing schedule will be deposited (the merchant's bank account or payment destination).
Visibility: explicit
method_id ID of PaymentMethod
string
The unique identifier of the payment method where funds will be deposited. If specified, payments from this schedule will be sent to this payment method. If not set, the biller account's default funding method will be used. Must belong to the biller account. (ID prefix: pm)
Pattern: ^pm_[A-Za-z0-9]+$

BillingItem Creation Fields

type
enum[string]
The type of billing item. Must be either "line_item" (a single charge with amount and quantity) or "item_group" (a container for grouping multiple line items together). The type determines which fields are required and how the item is structured.
Values: line_item, item_group
description
string
Text description of this billing item. This appears on invoices and helps identify what the charge is for. Examples include "Monthly subscription fee", "Setup charge", "Usage overage", or "Product: Widget Pro". Clear descriptions help customers understand their invoices and reduce payment disputes.
Max length: 128
start_date
string (date)
The date when this billing item becomes active and starts appearing on generated invoices. Items will not be included in invoices created before this date. Use this to schedule charges to begin at a future date, such as when a service starts or a product is delivered. Useful for pro-rated billing or time-limited charges.
end_date
string (date)
The date when this billing item expires and stops appearing on generated invoices. After this date, the item will no longer be included in new invoices. Leave empty for indefinite charges. Use this for time-limited charges like promotional pricing, temporary fees, or service periods with defined end dates.
line_item
object
Detailed pricing information for a line item charge. Required when type is "line_item". Contains the unit value, quantity, and automatically calculated total. Use this for individual charges on a billing schedule, such as product prices, service fees, or usage charges. Hidden when type is not "line_item".
Required if:
type=line_item
qty
number (double)
The quantity or number of units for this line item. Multiplied by the value to calculate the total charge. For example, if value is 10.00 and qty is 3, the total would be 30.00. Defaults to 1 if not specified.
total
number (double)Read-only
The calculated total amount for this line item (value * qty), rounded to 2 decimal places. This field is read-only and automatically computed. Represents the final charge that will be applied to the invoice for this line item.
value
number (double)
The unit amount or rate for this line item. If value_units is "number", this is the price per unit. If value_units is "percentage", this is the percentage rate (e.g., 5.5 for 5.5%). The total charge is calculated as value * qty.
value_units
enum[string]
Specifies how the value should be interpreted. Set to "number" for fixed amounts (e.g., $10.00 per item) or "percentage" for percentage-based charges (e.g., 5% of a base amount). Determines how the line item total is calculated.
Values: percentage, number
item_group
object
Container for grouping multiple related line items together. Required when type is "item_group". Use item groups to organize charges on invoices for better readability and structure, such as grouping all products, services, or fees into separate sections. Hidden when type is not "item_group".
Required if:
type=item_group
array
List of line items that belong to this item group. Each item in this list must have type "line_item" and will be nested under this group for organizational purposes. Expanded by default when retrieving the item group. Use this to organize related charges together on an invoice (e.g., grouping all shipping charges or all product line items).

Next Steps

Manage your billing schedules and automate payment workflows


Manage Billing Schedules

Modify and maintain schedules with Update Billing Schedules to change frequencies and billing items, track invoice lifecycle with Invoice Statuses to monitor generated invoices and payment status, and attach supporting documents with Invoice Attachments for receipts and documentation.

Configure Payment Collection

Enable automatic payments with Automatic Payments to charge customers on invoice due dates, process manual payments with Payment API for programmatic invoice payment processing, and send payment requests with Payment Requests to share payment links via email or SMS.

Monitor and Analyze

Automate workflows with Webhook Events to receive real-time invoice generation notifications, track subscription metrics with Reporting Overview for MRR, ARR, and churn analysis, and analyze payment data with Transaction Reports for detailed financial reporting.


Related articles