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

# Set Up Products, Ordering, and Ranging

> Set up FieldKo products, price books, and contracts for ordering, and product sets for core ranging.

Products, price books, and product sets let reps place orders and record core ranging in the FieldKo Atlas app. Use this page to set up products first, then price books and contracts for ordering, and product sets for core ranging. FieldKo uses its own product, price book, and order objects, not the standard Salesforce Product, Price Book, or Order objects.

## User Permissions Needed

| To do this | You need |
| - | - |
| Create products, price books, and contracts | FieldKo Manager Permission Set |

## How the Objects Relate

Products feed both features. For ordering, an account reaches a price book through a FieldKo contract. For core ranging, an account reaches a product set through a ranging contract.

```mermaid theme={null}
flowchart LR
  P[FieldKo Product] --> E[FieldKo Pricebook Entry]
  B[FieldKo Pricebook] --> E
  B --> C[FieldKo Contract]
  A[Account] --> C
  P --> L[Product Set Line Item]
  S[Product Set] --> L
  S --> R[Ranging Contract]
  A --> R
```

The diagram shows these links: a FieldKo Pricebook Entry connects a FieldKo Product to a FieldKo Pricebook, and a FieldKo Contract connects that price book to an account. A Product Set Line Item connects a product to a product set, and a Ranging Contract connects that product set to an account.

## Products

Create products before you set up price books or product sets:

1. Optional: To let reps filter by category, create **FieldKo Product Categories**. A category can have a parent category.
2. On the **Product** tab, create **FieldKo Products**. Set **Status** to **Active**, and select a category.
3. On each product record, attach a product image as a file or attachment. If a product has several images, the app shows the first one.

When you set a product to **Inactive**, FieldKo deactivates its price book entries and product set lines, so reps stop seeing it.

## Ordering

### Price Books

Create a price book, and then add a price for each product:

1. On the **Pricebook** tab, create a **FieldKo Pricebook**. Select **isActive**, and set the **Start Date** and **End Date**.
2. Add **FieldKo Pricebook Entries**, one per product, each with a **Unit Price**.

### Link Price Books to Accounts

Accounts get price books through **FieldKo Contracts**. On the account, add a **FieldKo Contract**, and then select the price book.

In the app, a rep sees the price books that are linked to the account, active, and valid today. If there's more than one, the rep chooses.

If a rep sees "No active pricebooks found for this account":

1. Check that the account has a FieldKo contract.
2. Check that the contract's price book has **isActive** selected, and a **Start Date** and **End Date** that include today.
3. Ask the rep to sync.

### Order Settings

The **Order PDF Setting** custom setting controls what reps see on the order screen in the app and on the order PDF. Edit its **PDF** record in Setup:

1. From Setup, in the Quick Find box, enter `Custom Settings`, and then select **Custom Settings**.
2. Next to **Order PDF Setting**, click **Manage**.
3. Edit the **PDF** record.

| Field | What It Does |
| - | - |
| **Currency** | Sets the currency shown on prices. Enter a symbol such as `$`, or a 3-letter code such as `AUD`. |
| **Hide Unit Price** / **Hide Total Price** | Hides those columns in the app and the order PDF. |
| **Show Remarks** | Shows the remarks box. |
| **Enable Product level discount** | Lets reps select a discount for each product. |
| **Enable free bonus quantity** | Lets reps add free bonus quantities. |
| **Default Grid View** | Opens products in grid view. |
| **Enable Order 2.0** | Lets reps order for an account without a visit. |
| **Editable Order Statuses** | Comma-separated statuses in which orders can still be edited. |

To add columns to the order screen, use the **Pricebook Entries Configurations** and **Order Line Items Configurations** custom settings. In each record's **Name**, enter the field's API name. Find it in Setup > Object Manager. Set **Index** for the column's position, and **Is\_Currency** for currency fields.

### Order Statuses

If the FieldKo Order record type has a **Status** picklist with more than one value, reps choose a status at checkout. The app never offers **Sent** or **Send Failed**.

### Emailing Orders

To email order PDFs to the order's contact, schedule `SendOrderMailsSchedular`. See [Scheduled Jobs](/admin/installation#scheduled-jobs).

## Core Ranging

Core ranging checks which contracted products are on the shelf. Group the products into a product set, and then link the set to each account with a ranging contract:

<Steps>
  <Step title="Create a Product Set">
    On the **Product Set** tab, create a product set with a unique name. Add **Product Set Line Items**, one per product.
  </Step>

  <Step title="Add a Ranging Contract to Each Account">
    On the account, in **Ranging Contracts**, click **New**. Select the product set and a **Ranging Contract Type**: **CORE** or **FULL**. Each account can have at most 1 contract of each type.
  </Step>

  <Step title="Optional: Choose the Columns Reps Fill In">
    By default, reps mark each product that's present and enter a quantity. To use your own Ranging Line Item fields, add up to 5 **Ranging Columns Configuration** custom metadata records, each with a **Field Api Name** and **Index**.

    Then add those fields to the Ranging Line Item page layout.
  </Step>
</Steps>

To adjust the ranging screen, from Setup, in the Quick Find box, enter `Custom Settings`, and then select **Custom Settings**. Next to **Core Ranging Configurations**, click **Manage**.

| Field | What It Does |
| - | - |
| **Show Captured Rangings** | Prefills the screen with the last ranging. On by default. |
| **Hide Quantity** | Hides the quantity column. |
| **Extra Columns To Display** | Sets which quantity columns appear. For example, `0,1,2` shows Quantity, Quantity1, and Quantity2. |
| **Field Name For Extra Product Info** | Shows this product set line field next to the product name. |
| **Enable Ordering** | Lets reps **sort** products by column in the app. Despite its name, it doesn't control placing orders. |
| **Fetch Only Current Ranging** | Syncs only each account's current ranging, not the history. |

Each time a rep saves, FieldKo creates a new ranging record and marks it current, and unmarks the previous one.

To report on ranging, use the **Accounts with or without Ranging** report type.

## See Also

* [Place an Order](/field-work/place-order)
* [Record Core Ranging](/field-work/core-ranging)
* [Configuration Reference](/admin/configuration-reference)
* [Install and Set Up FieldKo](/admin/installation)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.