---
schema_version: "1"
id: 4bae9a0521b6cf87553788dbd2e67d7d16db62c07ef69b3419e736c1c8d0e34e
title: Data Processing Engine Templates with Channel Partner Inventory Tracking
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/xcloud/264-0-0/chrm_cpit_dpe_templates.md
canonical_url: https://help.salesforce.com/s/articleView?id=xcloud.chrm_cpit_dpe_templates.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 002b533f4e740ce9e3b1f40eed250b7c53d0a14a5b0d23555fbaea0a446f0cea
description: "Channel Partner Inventory Tracking has Data Processing Engine (DPE) templates that you can clone and customize. The templates help you to create partner unsold inventory records. Examples of processes are: converting sale and point of sale data into transaction journal records, validating price protection and ship-and-debit transactions, and calculating unsold inventory with partners."
products:
  - Partner Cloud
  - Cross Cloud
  - Manufacturing
release: "264"
---
# Data Processing Engine Templates with Channel Partner Inventory Tracking

Channel Partner Inventory Tracking has Data Processing Engine (DPE) templates that you can clone and customize. The templates help you to create partner unsold inventory records. Examples of processes are: converting sale and point of sale data into transaction journal records, validating price protection and ship-and-debit transactions, and calculating unsold inventory with partners.

### Required Editions

For considerations related to manual adjustments and date alignment, see [Create Adjustments Manually](https://help.salesforce.com/s/articleView?id=xcloud.chrm_cpit_create_adjustments_manually.htm&release=264.0.0&type=5 "Manually adjust inventory levels to ensure accuracy and currency of information and calculate the remaining quantity of unsold inventory.").

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small edition"><colgroup><col></colgroup><tbody><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available in: <strong>Enterprise</strong>, <strong>Professional</strong>, and <strong>Unlimited</strong> Editions with the Channel Revenue Management add on</td></tr></tbody></table>

Assign permission sets required to set up and use Channel Partner Inventory Tracking DPEs.

 
| Persona | permission set |
| --- | --- |
| Admin User | Use Data Processing Engine |

Channel Partner Inventory Tracking comes with these Data Processing Engine templates.

 
| Template | Purpose |
| --- | --- |
| Create Partner Unsold Inventory Records | Process approved transaction journals to create records for Partner Unsold Inventory and Partner Unsold Inventory Ledger objects. |
| Create Partner Unsold Inventory Records Based On Eligible Programs | Process approved transaction journal and related rebate program details to create records for Partner Unsold Inventory and Partner Unsold Inventory Ledger objects. |
| Upsert Partner Unsold Inventory Ledgers Using Transaction Journals | Creates and updates the partner unsold inventory ledger records from point of sale type transaction journals. |

## Inventory Tracking using Data Processing Engines

Monitor the inventory levels of unsold products stored with partners to ensure that the inventory levels and financial incentives are accurately managed and updated.

- Upload and process the sale documents and create transaction journal records. See [Create a Transaction Journal](https://help.salesforce.com/s/articleView?id=xcloud.chrm_cpit_create_transaction_journal.htm&release=264.0.0&type=5 "Use transaction journal records to capture information stored in sale documents such as orders, invoices, and shipments. This information is processed to update the Partner Unsold Inventory (PUI) records. A PUI record is created for each sale document, reflecting the original product quantity in the sale document.").
- Use the transaction journal records to create Partner Unsold Inventory (PUI) and Partner Unsold Inventory Ledger (PUIL) records by running one of these DPE definitions:
    - Create Partner Unsold Inventory Records: This DPE processes the transaction journal records and creates PUI records.
    - Create Partner Unsold Inventory Records Based On Eligible Programs: This DPE checks the eligibility of PUIs for rebate programs such as price protection and ship and debit and creates PUI records.
        
        If a unique rebate type is identified for a transaction journal, it is eligible for price protection or ship and debit programs, resulting in the calculation of the start and end dates of the program. The PUI records are then updated with this information, enabling you to ensure that financial incentives and discounts are only applied to actual sales.
        
        See [Create Partner Unsold Inventory Records](https://help.salesforce.com/s/articleView?id=xcloud.chrm_cpit_pui.htm&release=264.0.0&type=5 "Get to know the exact amount of unsold quantity of inventory available with partners by creating partner unsold inventory (PUI) records from approved transaction journals.").
- Credit ledger records are created for each PUI record to track the remaining quantity of inventory.
- Partners upload the point of sale documents in the Experience Cloud site that you created. These documents contain data related to sales made by the partners. See [Create Transaction Journals For Point of Sale Data](https://help.salesforce.com/s/articleView?id=xcloud.chrm_cpit_experience_cloud.htm&release=264.0.0&type=5 "Partners can upload Point of Sale documents by using the Manufacturing Experience Cloud site. These documents contain data related to sales made by the partners. This data is used to create transaction journals.").
    
    Run the Upsert Partner Unsold Inventory Ledgers Using Transaction Journals DPE definition to create PUIL records from transaction journals. See [Create Partner Unsold Inventory Ledger Records](https://help.salesforce.com/s/articleView?id=xcloud.chrm_cpit_puil.htm&release=264.0.0&type=5 "Create channel inventory ledger records from point of sales documents. Use these records to track the remaining quantity of unsold inventory available with the partner and also to calculate onhold quantities. In case of inaccuracies in the inventory tracking, create ledger records manually.").
- The PUIL records are then adjusted against the PUI records, to get the current inventory information.

To ensure the DPEs run successfully for non-transit time scenarios, make the following manual updates.

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
        <colgroup>
          <col style="width:25%">
          <col style="width:25%">
          <col style="width:25%">
          <col style="width:25%">
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d26525e238">DPE NAME</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d26525e241">NODE NAME</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d26525e244">ACTION</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d26525e247">FORMULAMAPPING</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="DPE NAME" class="slds-cell-wrap" style="vertical-align:top;" headers="d26525e238 ">Create Partner Unsold Inventory Records Based On Eligible Programs</td>

            <td data-label="NODE NAME" class="slds-cell-wrap" style="vertical-align:top;" headers="d26525e241 ">Calculate Rebate Program End Dates</td>

            <td data-label="ACTION" class="slds-cell-wrap" style="vertical-align:top;" headers="d26525e244 ">Update formula: updatedLedgerStatus </td>

            <td data-label="FORMULAMAPPING" class="slds-cell-wrap" style="vertical-align:top;" headers="d26525e247 ">
              <pre class="line-numbers slds-box slds-box_x-small slds-theme_shade slds-m-top_medium slds-m-bottom_medium slds-scrollable_x"><code>IF(ISNULL({updatedAvailableDate}), "Approved",IF({updatedAvailableDate}  &lt;= TODAY(), "Approved","InTransit"))
 </code></pre>
            </td>

          </tr>
          <tr class="">
            <td data-label="DPE NAME" class="slds-cell-wrap" style="vertical-align:top;" headers="d26525e238 ">Create Partner Unsold Inventory Records</td>

            <td data-label="NODE NAME" class="slds-cell-wrap" style="vertical-align:top;" headers="d26525e241 ">Formula Node</td>

            <td data-label="ACTION" class="slds-cell-wrap" style="vertical-align:top;" headers="d26525e244 ">Add formula: updatedLedgerStatus </td>

            <td data-label="FORMULAMAPPING" class="slds-cell-wrap" style="vertical-align:top;" headers="d26525e247 ">
              <pre class="line-numbers slds-box slds-box_x-small slds-theme_shade slds-m-top_medium slds-m-bottom_medium slds-scrollable_x"><code>IF(ISNULL({updatedAvailableDate}), "Approved",IF({updatedAvailableDate}  &lt;= TODAY(), "Approved","InTransit"))
 </code></pre>
            </td>

          </tr>
          <tr class="">
            <td data-label="DPE NAME" class="slds-cell-wrap" style="vertical-align:top;" headers="d26525e238 ">Create Partner Unsold Inventory Records</td>

            <td data-label="NODE NAME" class="slds-cell-wrap" style="vertical-align:top;" headers="d26525e241 ">Write Back Partner Unsold Inventory Ledger Records</td>

            <td data-label="ACTION" class="slds-cell-wrap" style="vertical-align:top;" headers="d26525e244 ">Map source field to target</td>

            <td data-label="FORMULAMAPPING" class="slds-cell-wrap" style="vertical-align:top;" headers="d26525e247 ">
              <ul>
                <li>Source: updatedLedgerStatus</li>

                <li>Target: Status</li>

                <li>Available Date: updatedAvailableDate</li>

              </ul>
            </td>

          </tr>
        </tbody>
      </table>

- **[Manage Data Processing Engine Definitions for Channel Partner Inventory Tracking](https://help.salesforce.com/s/articleView?id=xcloud.chrm_cpit_manage_dpe_templates.htm&release=264.0.0&type=5)**  
    Clone and use the data processing engine definitions for Channel Partner Inventory Tracking as-is, extend them to meet your business needs, or create definitions from scratch. To use a definition, you must activate it.