> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fusioncore.us/llms.txt
> Use this file to discover all available pages before exploring further.

# Advanced Joins

> Let members who join late in a Calendar subscription term roll into the next full term, optionally with a prorated top-up for the remaining days.

## Overview

**Advanced Joins** let someone who joins shortly before a Calendar term ends roll into the next full term, instead of paying for only the few days left in the current one. You can give the remaining days for free or charge a prorated top-up for them.

This is useful for memberships and event passes that run on a fixed calendar. For example, an annual membership that renews on January 1 might offer an Advanced Join period from October 1 to December 31. A member who joins on October 15 gets the rest of the current year plus the full next year, priced however you choose.

<Note>
  Advanced Joins apply to **Calendar** Subscription Plans only. They are never read for Anniversary plans. For the difference between the two, see [Subscription Plans](/end-user-guides/subscriptions/subscription-plans/index).
</Note>

## How to Set Up Advanced Joins

### Prerequisites

* A Calendar Subscription Plan. See [Calendar Subscription Plans](/end-user-guides/subscriptions/subscription-plans/calendar-subscription-plans).

<Steps>
  <Step title="Open a Calendar Subscription Plan">
    Open the Calendar Subscription Plan (`Subscription_Plan__c`) you want to configure, or create one with the **FC Calendar** record type.
  </Step>

  <Step title="Set the Advanced Join window">
    In **Advanced Join Days** (`Advanced_Join_Days__c`), enter how many days before the term End Date the Advanced Join period begins.
  </Step>

  <Step title="Set the Advanced Join pricing">
    In **Advanced Join Pricing** (`Advanced_Join_Pricing__c`), choose how the extra days are priced: **Free**, or a prorated amount (Daily, Weekly, Monthly, Quarterly, or Semi-Annual).
  </Step>

  <Step title="Save the plan">
    Click **Save**.

    <Frame caption="Advanced Join fields on a Calendar Subscription Plan">
      <img src="https://mintcdn.com/fusionspan/EW_gg4_8FJ-921wF/images/end-user-guides/3669032983/calendar-plan-advanced-join.png?fit=max&auto=format&n=EW_gg4_8FJ-921wF&q=85&s=ffb900a57657a1a76c3de61d9c98b995" alt="The Proration and Advanced Days section of a Calendar Subscription Plan, showing Advanced Join Days set to 60 and Advanced Join Pricing set to Quarterly Prorated Amount" width="690" height="284" data-path="images/end-user-guides/3669032983/calendar-plan-advanced-join.png" />
    </Frame>
  </Step>
</Steps>

## How the Term and Price Are Calculated

When a join falls inside the Advanced Join window, fusionCore pushes the term End Date forward by one year and records an interim advanced-join end date for the partial period. The proration is applied based on the **Advanced Join Pricing** option you chose.

## Related Join Records

Two records control which product a subscription joins or renews into.

### Renewal Path

A `Renewal_Path__c` record maps one product to another for renewal. Use it when a member should renew from an original product into a different one.

| Field            | API name              | Purpose                                                        |
| ---------------- | --------------------- | -------------------------------------------------------------- |
| Original Product | `Original_Product__c` | The product the member currently holds.                        |
| Renewal Product  | `Renewal_Product__c`  | The product they renew into.                                   |
| Priority         | `Priority__c`         | The order in which paths are evaluated, ascending.             |
| Condition        | `Condition__c`        | An optional condition that must be met for this path to apply. |

### Product Subscription Plan

A `Product_Subscription_Plan__c` record links a product to a Subscription Plan. See [Linking Plans to Products](/end-user-guides/subscriptions/subscription-plans/linking-plans-to-products) for how to create these links and set the default plan.

| Field             | API name               | Purpose                                                                            |
| ----------------- | ---------------------- | ---------------------------------------------------------------------------------- |
| Product           | `Product__c`           | The product being linked.                                                          |
| Subscription Plan | `Subscription_Plan__c` | The plan that drives the product's term and renewal.                               |
| Is Default        | `Is_Default__c`        | Marks the default plan for the product. Each product may have exactly one default. |

## Limitations and Common Pitfalls

* Advanced Joins are Calendar-only. The Advanced Join fields are never read for Anniversary plans.
* Proration does not handle leap years. Daily proration divides by 365 and Weekly proration divides by 52, regardless of the calendar year.
* A `Renewal_Path__c` record requires both an Original Product and a Renewal Product, or it errors. The Original Product cannot be marked **Is Not Renewable**.
* A product may have only one `Product_Subscription_Plan__c` marked `Is_Default__c`. A second default raises `Product_Cannot_Have_Multiple_Default_Product_Subscription_Plans_V2`.
