Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.flexprice.io/llms.txt

Use this file to discover all available pages before exploring further.

Overview

Delegated invoicing lets you separate who uses a subscription from who pays for it. The subscription owner (child) keeps full ownership of their plan, line items, usage tracking, and entitlements. Every invoice is raised against a designated billing customer: the delegated payer. subscription_type result: standalone (with invoicing_customer_id set on the subscription record)
Delegated invoicing does not create a new subscription type. The subscription owner’s subscription is still standalone. What changes is the invoicing customer ID stored on the subscription, which redirects invoice generation and wallet drawdown to the delegated payer.

How it works

PropertyWhere it lives
Plan and line itemsSubscription owner’s subscription
Usage trackingSubscription owner
EntitlementsSubscription owner’s subscription
InvoiceDelegated payer
WalletDelegated payer
TaxBased on delegated payer’s billing details

When to use delegated invoicing

  • Reseller model: A reseller signs up 10 end customers. Each customer has their own starter plan and usage. The reseller receives and pays all invoices centrally.
  • Central billing department: A company’s Finance team handles all vendor payments. Engineering, Marketing, and Sales each track their own usage, but invoices go to Finance.
  • Managed service provider: An MSP provisions software for their clients. Each client has their own subscription, but the MSP is billed for all of them.

Prerequisites

  • Subscription owner (child) customer created in Flexprice
  • Delegated payer customer created in Flexprice with a known external_id
  • Delegated payer customer must have status: published (active) at the time the subscription is created
  • A plan created in the product catalogue
On create, invoicing_customer_external_id cannot be combined with external_customer_ids_to_inherit_subscription or subscriptions_ids_for_grouped_invoicing.

Configure

  1. Navigate to Subscriptions and click Create Subscription
  2. Select the subscription owner (end customer) as the customer
  3. Choose a plan
  4. In the Invoice To field, enter the delegated payer’s external ID
  5. Click Create Subscription

Post-creation changes

The delegated payer is immutable after subscription creation. To change the invoicing customer, cancel the existing subscription and create a new one with the correct invoicing_customer_external_id.

Analytics

Analytics work the same as standalone. Query the subscription owner’s external_customer_id directly. No special flags are needed. Usage events are ingested under the subscription owner, not the delegated payer.

Validations and constraints

Invoicing customer must be active. The delegated payer must have status: published at creation time. Error: "invoicing customer is not active". Resolve: activate the delegated payer customer before creating the subscription.
Invoicing customer is immutable. The invoicing_customer_external_id cannot be changed after the subscription is created. To reassign, cancel and recreate the subscription.
Subscription type. The subscription owner’s subscription will show subscription_type: standalone. This is correct. Delegated invoicing is not a separate type; it is a standalone subscription with an invoicing redirect.

Consolidated Billing

When one parent contract should cover multiple customers with a single plan

Grouped Invoicing

When separate subscriptions should merge into one invoice