Documentation Index
Fetch the complete documentation index at: https://spreesuite.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
1. The Big Picture
A product or service is what you offer the world. A price tag is how you sell it—and for most businesses, creating that price tag is not one flat number. The same offer might need regional rate cards, usage-based charges, tax rules, tiered seats, and different plans for retail vs enterprise. What is a Pricing Template? In Billspree, you start with a Pricing Template per product or service line (e.g., residential electricity, business fiber, SaaS platform). The template is a canvas: it does not set prices. It defines what every price tag for that product is allowed to include—which line items, meters, customer terms, and charge types can appear on the bill. Once the canvas exists, you build pricing modules on top of it to create many price tags—reusable rate cards and charging rules, composed into Plans customers subscribe to. Under the hood, the canvas is made of inputs (what a plan reads at rating time) and outputs (what it calculates onto the bill): Inputs (what a plan reads at rating time):- Rate List Components: Pricing placeholders you assign monetary values to later (via rate cards).
- Subscription Inputs: Customer-specific parameters captured on the subscription (e.g., SLA Tier, seat count).
- Usage Inputs: Consumption data the billing engine receives each cycle—either metered (final readings from a physical or digital meter) or unmetered (direct delta usage already calculated, with no meter subtraction).
- Charge List Components: Calculation placeholders your rating rules compute into invoice line items or the final total and adjustments section (formulas, taxes, surcharges, credits, and manual charges).
- Rate List — Assigns rate card values to the template’s rate list components. Mark it Abstract so it stays internal and reusable (not subscribable).
- Charges Rules — Defines charging rules for the template’s charge list components. Mark it Abstract so it stays internal and reusable (not subscribable).
- Base Plan — The primary, public-facing pricing module customers subscribe to. A Base Plan composes a rate card and charging rules, plus billing configuration (billing cycle, day of billing), late payment charges, and dunning (grace period, notification frequency, and overdue reminders). It can also include Add-On Plans.
- Add-On Plan — An optional, public-facing pricing module that attaches to an active Base Plan. It follows the same composition pattern (rate card, charging rules, billing, late payment, and dunning) for modular extras.
2. Configuring a Pricing Template (UI Builder Guide)
Creating and configuring a Pricing Template is done directly in the admin console. Below is the step-by-step flow of how to navigate the template builder interface and configure each core structural pillar.Step 1: List Pricing Templates
Navigate to: BillSpree → Billing Setup → Pricing Templates. This displays the list of all existing Pricing Templates. From here, you can create, edit, archive, or open a template to manage plans and billing setups.
Step 2: Create a New Template
Click on the New button in the upper right corner of the Pricing Templates screen to launch the template creator.
Step 3: Configure Identity Information & Invoice Template (The “Values” Tab)
Click on the Values tab. Here, you configure the core identity of the Pricing Template and attach the master bill layout:- Identity Information: Define general metadata such as Name, Code, and Description to identify the template.
- Invoice Template Attachment: You can attach a master invoice template—typically a Word document (.docx)—which serves as the master visual layout for customer bills. This template contains merge placeholders (enclosed in curly braces
{}like{partyName},{Electricity Charges}, or{KWH_currentReading}) representing the Rate List components, Charge List components, and meter properties that the billing engine will automatically populate.
Step 4: Configure Rate List Components (The “Values” Tab)
Within the same Values tab, define your Rate List Components (the pricing placeholders or “slots” that will have actual monetary values assigned later when creating a Plan). These placeholders should align with the Rate List fields used in your attached Invoice Template:- Base Pricing Slots: Placeholders for fixed access fees (e.g., “Platform Access Fee”).
- Unit Pricing Slots: Placeholders for consumption rates (e.g., “Per-GB Storage Rate”, “Per-User License Rate”).
- Tiered Pricing Slots: Structures for volume discounts (e.g., “First 100 API Calls”, “Next 900 API Calls”).

Step 5: Configure Charge List Components (The “Component” Tab)
Click on the Component tab. This is where you configure your Charge List Components—the core calculation models that process rates, properties, and usage into final invoice line items. These are divided into:- Calculated Charge Components (Require Rating Rules): Dynamically computed by the system’s billing engine and must have Rating Rules governing their execution (e.g., “State/VAT Tax Calculations”, “Regional Surcharges”, or “Percentage-based Partner Discounts”).
- Manual Charge Components (No Rating Rules Required): Fixed, static, or ad-hoc items that require no automated computation (e.g., one-off flat adjustments, discretionary service credits, or custom professional services).

Step 6: Configure Subscription Properties (The “Subscription Properties” Tab)
Click on the Subscription Properties tab. Here, you set up the dynamic data parameter fields (the “customer profile” hooks) required from the customer during checkout and used as inputs for your rating rules:- Number Inputs: Numeric fields (e.g.,
Committed_Seats,Included_API_Quota). - Dropdown Lists: Pre-defined text selections (e.g.,
SLA_Level: [“Gold”, “Silver”, “Bronze”],Deployment_Region: [“US-East”, “EU-West”]). - Yes/No Flags: Simple toggles (e.g.,
Is_Tax_Exempt,Has_Premium_Support).

Step 7: Configure Metered Usage (The “Meter Properties” Tab)
Click on the Meter Properties tab. Define the tracking hooks to receive final readings from a physical or digital meter where continuous/odometer tracking is involved:- Odometer / Continuous Readings: The billing engine expects to receive final/current readings at the end of the billing cycle. It then calculates the net usage by subtracting the previous reading recorded in the previous bill (
Net Consumption = Current Cycle Final Reading - Previous Cycle Final Reading).- Example: An energy meter reads
15,000 kWhthis month. Last month it read14,200 kWh. The billing engine rates the net800 kWh.
- Example: An energy meter reads

Step 8: Configure Unmetered Usage (The “Unmetered Usage” Tab)
Click on the Unmetered Usage tab. Set up hooks to receive direct, already calculated consumption amounts (delta usage) where no continuous meter is involved:- Since the provided data is already the net consumption volume, the billing engine does not need to perform any subtraction or difference calculations.
- Examples: Receiving a direct record of
50 GBof bandwidth consumed or10 hoursof support time delivered during the billing period.

3. Lifecycle Management
| Action State | Description |
|---|---|
| Draft / Create | The template is under construction and not yet available for creating Final Plans. |
| Publish / Active | The template is locked and live. Final Plans can now be generated from it. |
| Archive | The blueprint is deactivated. Existing subscriptions continue to rate and bill uninterrupted, but no new Final Plans or subscriptions can be generated. |
| View Variants | A directory view displaying all the active Final Plans that have inherited this template’s architecture. |
