> ## 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.

# Configuring Field Sets for Portal Checkout

> Choose which Order and Financial Event fields appear at Portal checkout by editing the field sets named in the Portal checkout Constant records.

The fields shown on the checkout page come from field sets, and the checkout page chooses a field set based on the customer type (individual or organization) and on whether the user is paying an Order or a single installment. Each of those four field sets is named in a `FCORE_BASE__Constant` record, so changing the fields at checkout is a two-part idea: **edit a field set** to change which fields appear, or **edit a Constant's value** to point checkout at a different field set.

## The Checkout Field Set Constants

Four Constant records map a checkout scenario to a field set:

| Constant                                 | Object the field set lives on   | Used for                                    |
| ---------------------------------------- | ------------------------------- | ------------------------------------------- |
| `FS_Portal_Checkout_Ind_Order_Field_Set` | `Order`                         | Individual customer paying an Order         |
| `FS_Portal_Checkout_Org_Order_Field_Set` | `Order`                         | Organization customer paying an Order       |
| `FS_Portal_Checkout_Ind_FE_Field_Set`    | `FCORE_PAY__Financial_Event__c` | Individual customer paying an installment   |
| `FS_Portal_Checkout_Org_FE_Field_Set`    | `FCORE_PAY__Financial_Event__c` | Organization customer paying an installment |

Each Constant's value (`Text_Value__c`) holds the API name of the field set to use.

<Note>
  These four field sets ship with the Portal Components package, so they already exist once it is installed — you do not create them. Their shipped definitions are intentionally minimal (for example, the individual-order field set contains only the order number), so you will usually **extend** them with the fields you want shown at checkout.
</Note>

## Prerequisites

* Access to **Custom Metadata Types** and to the field set editor on `Order` and `FCORE_PAY__Financial_Event__c` in **Setup**.

## How to Change the Fields at Checkout

<Steps>
  <Step title="Edit the checkout field set">
    Open the **Object Manager** entry for `Order` (or `FCORE_PAY__Financial_Event__c` for installment checkout), then open **Field Sets**. Edit the shipped fusionCore checkout field set named in the Constant, adding the fields you want to show. (The field sets ship with the package — you extend them rather than create them.)

    <Frame caption="A checkout field set on the Order object">
      <img src="https://mintcdn.com/fusionspan/dgaf-BkijdfqhSNr/images/end-user-guides/4860870758/image-20251008-201425.png?fit=max&auto=format&n=dgaf-BkijdfqhSNr&q=85&s=33e27594d32ed165840093bc7c49fb54" alt="The field set editor on the Order object showing the checkout fields" width="1901" height="690" data-path="images/end-user-guides/4860870758/image-20251008-201425.png" />
    </Frame>
  </Step>

  <Step title="Open the Portal checkout Constants">
    In **Setup**, go to **Custom Metadata Types**, click **Manage Records** next to **Constants**, and locate the Portal checkout Constants listed above.

    <Frame caption="The Portal checkout Constant records">
      <img src="https://mintcdn.com/fusionspan/dgaf-BkijdfqhSNr/images/end-user-guides/4860870758/image-20251008-201538.png?fit=max&auto=format&n=dgaf-BkijdfqhSNr&q=85&s=bfc569cd9f35c9d6e63471555fbc90c1" alt="The list of Portal checkout Constant records in Custom Metadata Types" width="1894" height="712" data-path="images/end-user-guides/4860870758/image-20251008-201538.png" />
    </Frame>
  </Step>

  <Step title="Point the Constant at your field set">
    Open the Constant for the scenario you want to change, enter the **API name** of your field set in the value field, and click **Save**. Checkout will now render the fields from that field set for that scenario.

    <Frame caption="Setting the field set API name on a checkout Constant">
      <img src="https://mintcdn.com/fusionspan/dgaf-BkijdfqhSNr/images/end-user-guides/4860870758/image-20251008-201646.png?fit=max&auto=format&n=dgaf-BkijdfqhSNr&q=85&s=ea4c375781c1497eddac5991d83e0a91" alt="A Portal checkout Constant record with a field set API name entered" width="1648" height="566" data-path="images/end-user-guides/4860870758/image-20251008-201646.png" />
    </Frame>
  </Step>

  <Step title="Test the result">
    Open the checkout page as the relevant customer type and confirm the expected fields appear. Test both an individual and an organization customer if you changed those scenarios.
  </Step>
</Steps>

<Tip>
  Use the individual and organization Constants to build checkout variations for different audiences — for example, showing different fields to members versus non-members.
</Tip>

## Limitations and Common Pitfalls

* **The Constant value must be a valid field set API name on the matching object.** If the named field set does not exist on `Order` (or `FCORE_PAY__Financial_Event__c`), the wrong scenario's fields — or none — appear at checkout. Verify the field set exists before saving the Constant.
* **Order field sets and Financial Event field sets are not interchangeable.** The Order Constants drive full-Order checkout; the Financial Event (`_FE_`) Constants drive single-installment checkout. Editing the wrong pair will not change the page you are looking at.
* **Always test after a change.** A field added to the field set but not visible at checkout usually means you edited the field set referenced by a different Constant than the scenario you are testing.
