Evergreen Contracts in Campfire

Last updated: March 16, 2026

An Evergreen Contract is a contract with no end date. It renews automatically at the end of each billing period, generating invoices and revenue data on your behalf. Billing can be set to monthly, quarterly, biannual, or annual.

When the contract is first created, Campfire generates roughly one year of invoices and revenue data in advance. At the end of each billing period, one additional period is added automatically so you always have at least a year of forward-looking data.

How to Create an Evergreen Contract

  1. Go to the Contracts page and click Create Contract.

  2. On step 3 (Terms), set Evergreen to Yes.

Screenshot 2026-03-12 at 10.11.56 AM.png
  1. Choose your billing frequency.

  2. Set the start date (today or later).

  3. If you want invoices sent automatically on the first day of each billing period, set Auto-Send Invoices to Yes.

  4. On step 4 (Revenue), add your subscriptions or skip and add them later.

Managing Subscriptions

Subscriptions are the line items on your Evergreen Contract. They represent the recurring (or one-time) charges that drive invoice and revenue generation.

Adding a Subscription

  1. Go to the Subscriptions tab on the contract page and click Create Subscription.

  2. Select the product or product bundle.

  3. Enter the per-period amount. This label will match your billing frequency (e.g., "per month amount" for monthly contracts).

  4. Quantity and Rate are optional fields. Use them if your pricing model calls for it.

  5. Set the Start Date. This must be the first day of a billing period. The earliest option is the first day of the next billing period, or the contract start date if the contract hasn't started yet.

  6. Set the End Date (optional). Leave it blank if the subscription should renew indefinitely, or set a specific end date if you know when it should stop.

  7. Toggle Use Daily Accounting if applicable.

  8. Click Save.

When a subscription is added, Campfire creates the corresponding revenue transactions (visible in the Revenue tab) and regenerates all future invoices to include the new line item (visible in the Invoices tab). Because changes only apply to future periods, this regeneration doesn't touch any finalized data.

image.png

Adding a One-Time Charge

To add a one-time fee to an Evergreen Contract, the recommended approach is to use a product classified as non-renewable. You can set this classification in the product's settings page. When a non-renewable product is added to an Evergreen Contract, it will not renew in future periods and its MRR is automatically set to zero, keeping your metrics clean.

If you're using a product bundle, the bundle is treated as non-renewable when all products in it are non-renewable.

Alternatively, you can set a subscription's end date so it only spans one billing period. This works functionally, but the charge will be included in MRR calculations, which may not be what you want.

Modifying a Subscription

There are two types of changes you can make to a subscription:

Metadata changes (tags, department, notes): Click Edit on the Subscriptions tab. These changes don't affect billing or revenue.

Financial changes (amount, dates, other fields): Click Modify on the Subscriptions tab. However, once a subscription's billing has begun, all fields except End Date are locked. This is part of the core principle of protecting past period data.

To effectively change the price or other locked fields on an active subscription:

  1. Set the end date of the existing subscription to the last day of the current billing period.

    Screenshot 2026-03-16 at 3.34.10 PM.png
  2. Create a new subscription with the same product, starting on the first day of the next billing period, with the updated values.

Screenshot 2026-03-16 at 3.40.32 PM.png

This gives you a clean cutover without rewriting any historical data.

Deleting a Subscription

If the subscription hasn't started yet (its start date is in a future billing period), click the Delete button on the Subscriptions tab to remove it entirely.

If the subscription has already started, it cannot be deleted. Instead, set its end date to the last day of the current billing period. This stops it from generating any further invoices or revenue beyond the current period.

image.png

Non-Renewable Products and One-Time Charges

By default, every subscription on an Evergreen Contract renews each billing period. If you need to bill a one-time fee (an implementation charge, a setup fee, a one-time service, etc.), you'll want to make the product non-renewable.

How to Set a Product as Non-Renewable

Open the product you want to make non-renewable (Settings > Products > select the product). On the Details tab, uncheck the Renewable on Contracts checkbox and click Save Product. When this box is unchecked, two things happen differently on Evergreen Contracts:

  1. The product is billed for one period only and does not renew in future billing periods.

  2. The product's MRR is automatically set to zero, so one-time charges don't inflate your recurring revenue metrics.

When you add a non-renewable product as a subscription on an Evergreen Contract, the End Date field is locked. Campfire automatically sets it to one billing period after the start date, so there's nothing to configure on the subscription side.

Screenshot 2026-03-16 at 4.21.13 PM.pngScreenshot 2026-03-16 at 4.23.43 PM.png

Pricing Bundles

Pricing Bundles let you apply a fixed total price to a group of products on an Evergreen Contract, overriding the individual subscription amounts for invoicing and revenue purposes.

Creating a Pricing Bundle

  1. Navigate to the Revenue tab on the contract page and click Create Pricing Bundle.

  2. Set the Start Date. This must be the first day of a billing period. It can be any period from the current period onward.

  3. Set the End Date (optional). Leave this blank to apply the bundle to all future periods indefinitely, or set a specific end date if the pricing is only valid for a fixed window.

  4. Enter the bundle amount and select the products to include.

Screenshot 2026-03-16 at 3.46.13 PM.png

Modifying a Pricing Bundle

If the current date is within or before the bundle's first applied billing period, you can click Edit to make changes directly.

Once the bundle has been applied to a past billing period, the amount and most fields are locked. To make changes at that point, set the end date of the current bundle to the end of the current period and create a new bundle starting on the first day of the next period with the updated configuration.

Screenshot 2026-03-16 at 3.50.17 PM.png

Deleting a Pricing Bundle

If the bundle's start date is in the current billing period or later, click Delete to remove it. If it started in a past period, it can't be deleted outright. Set its end date to the end of the current billing period to retire it.

image.png

Terminating an Evergreen Contract

When you're ready to end an Evergreen Contract:

  1. Go to Actions > Terminate on the contract page.

  2. Set the termination date. This must be the last day of a billing period, and the period must be the current period or later.

  3. Click Confirm.

Once the termination date is set, Campfire generates revenue transactions and invoices through that date. Any data that was previously generated past the termination date is automatically removed. The contract stops renewing and no further invoices or revenue transactions are created beyond the termination date.

Screenshot 2026-03-12 at 1.49.09 PM.png

Editing Past Data

Evergreen Contracts are designed to protect past billing periods from accidental changes. Common actions in the UI only affect future periods. If you need to correct a past invoice or revenue transaction, you can do so by editing the individual record manually. This should be done sparingly and ideally reviewed thoroughly.