Welcome to Pepperi

Ways to sell

Setting up promotions that let you upsell and cross-sell existing customers and attract new ones is a part of every B2B sales strategy.

Pepperi allows you to set up a variety of promotions, and then push them out to the different sales channels - field sales reps, B2B eCommerce buyers, telesales, etc. So for example you can have a discount on items, or a special package offer for sales reps selling in-person, while B2B buyers will be eligible for different types of promotions. This is all done on a graphical promotions editor that is configurable by non-technical users.

Promotions can be set up for items, by item categories, brands, or by any other property.  They can be easily applied to specific Accounts, while excluding others.

Each manager/user creating promotions can focus on their own brands and promotions. You can define that each user will only see the promotions they created. 

Promotions are divided into discounts and other incentives applied to:

Setup guides for each promotion type are available in the Editor Guides for each promotion type.  

A recorded training session is available here: Trade Promotions | Product Training Webinar

Promotion Priority

Each promotion type has a priority, so you can determine if an item or a customer is eligible for multiple promotions, which ones can be given in conjunction with others.

For example:

If an Item is eligible for a discount of "Buy 10 get 5% discount", and a Brand that Item belongs to is discounted by %20 as well, you can indicate if both or one of the incentives should be applied.

Promotions can be limited to a specific date range, or be in effect at all times.

Promotions can be applied to customers, brands, collections, or any other property associated with items or orders. Some examples of assigning promotions by these properties:

  • Give a discount on a particular brand or brands only, to one segment of customers only, filtered by an Account property such as size, location, or type.
  • Special price of $10 on a list of specific items, filtered by season or other item property.
  • Give an order discount of 3% to all self-service orders only on B2B Storefront.
  • Last season's items on clearance - 70% off.

With dozens or hundreds of promotions running in parallel, finding the ones that apply to a specific item is easy using the Promotions Editor Filter by filtering by the properties the promotion is based on.


Item Promotions

Give incentives on items based on quantities purchased. Applied to each item separately. Such as - Buy "X or more" quantity of an item and get:

  • Discount %
  • Discount Price
  • Total Price
  • Additional item(s) free (same or other item (s))
  • Additional item(s) discounted (same or other item(s))

You can set up multiple quantity tiers, with the same or different incentive for each tier.

Give incentives on items based on amount purchased. Applied to each item separately. Such as - Buy $50 of a certain item and get $5 off, or 5% discount.


  • $3.00 off on specific items/brands (filtered by any property or category)
  • 3% discount on specific items/brands
  • Buy 20 or more and get 10% discount
    • ... 50 ... 20%
    • ... 100 ... 30%
    • ... 200 ... 50%
  • Buy 15 or more and pay $30
    • ... 50 ... get 5 free
    • ... 80 ... 30% off
  • Buy 1 get second at 50%
  • Buy 5 get 1 free (same item)
  • Buy 5 get 1 free (another item)


Packages and Bundles

Packages allow you to give an incentive on a group of items the customer selects from a list you have defined, such as "Pick any 5 items from the list for $25".

Bundles, allow you to give incentives on groups of items you have predefined, such as a bundle of 12 products that are sold together for a fixed price or at a discount.

Packages may also contain quantity tiers. For example:

Select any 5 items for $25

Select any 15 items for $60

Select any 25 items for $75

You can limit the uses of the package incentive. For example:

Buy 5 for $25 - limited to the first 10 purchased.

Buy 20 get 2 free - limited to the first 60 purchased (max 6 free items)

Examples of Packages and Bundles:

1. Select 50 items from a predefined list for $200

2. Select 25 items from the indicated brands, and then pick 1 item free (or discounted) from another brand.

3. Select 4 items and get the Cheapest of those items free

4. Buy $200 worth of a certain category, and get $25 worth of items free from another category (get a currency amount worth of free items).

5. Bundle:

12 of Item1

24 of Item2

18 of Item3

These items are sold as a bundle of 54 products for a fixed price of $375. You can limit the number of bundles that can be purchased per order, or allow unlimited bundles.

6. Buy 4 preset bundles and get a free in-store display.


Order Promotions

Give incentives based on the total order amount, or the selected payment method for this order, or any other order property.

Such as - Buy "$X or more" and get:

  • Discount %
  • Discounted Price
  • Additional item(s) free (predefined, or user selected)
  • Additional item(s) discounted (predefined, or user selected)


1. Buy total of $500 or more and get 5% discount

...$1000 ..... 6%

...$2000 .... 7%


2. Buy total of $750 or more and choose 3 free items from a list (an additional screen will open up in the shopping cart where the user selects the free items).

3. Pay cash and get 3% discount (incentive not related to order total, rather to payment method indicated in order details).


Workflows provide unlimited flexibility in defining exactly what happens at every point in your business process.

Workflows carry out your business rules when a Transaction, Activity or Account changes from one status to another.

  • Credit validation before an order is submitted
  • Address verification when a new user account is created
  • Manager approvals for special discounts or for transactions above a certain value

Use the Workflow Designer to define status transitions and set actions for activities changing or branching between statuses. Each of the status changes can trigger multiple actions.

Actions include:

  • Alerts
  • Notifications
  • Webhooks (web services)
  • Conditional alerts
  • Branch to another step in the workflow
  • More... (full list of Workflow actions are detailed below)

You can view a live demonstration of use cases in this in depth webinar on Workflows: 

Pepperi Product Education Webinar - Workflows


Workflows for Accounts

Visual representation

Profile Based Workflows

Actions and Post Actions



Workflows for Accounts

Trigger actions such as notification, credit validation, Email, alerts, and more when a new Account (customer) is created by a user.

For example, trigger an address verification form to pop up when a user creates a new Account that verifies address fields such as City, State, Street against a predefined list.

A detailed lists of the actions available for Accounts is in the table below.

Visual representation

The Workflow Designer has an easy-to-follow visual flowchart representation. Workflows are located in the Workflows tab of the Transaction, Account or Activity.



Each "Step" is a status change defined in the Workflow, and may have one or more Actions associated with it.

To Add a step, click "+Step" and give the Step a name. The step name will be used as the text on the "Submit" or "Done" button on the Transaction, Activity or Account creation form.

In the example below the name "Validate order" will appear instead of the text "Submit" on the button in the shopping cart.

The actions defined in this step will be executed when the Transaction changes status from In creation to Submitted.

Building a workflow like the one shown in the diagram above requires you to add steps and actions for each of the required status changes, and then the diagram above will be automatically generated.

Profile Based Workflows

You may restrict the available status transitions by profile, thereby allowing specific channels or user types to execute a transition.

For example, blocking all profiles except admins from the ability to re-submit orders, or allowing only senior reps to approve orders from draft to submitted status. For details on profile based workflows see: Profile Based Workflows

Actions and Post Actions

Actions are executed for each status change. The actions are divided into "Actions and Branches" which are executed before the status is changed to the next status in the workflow,  and "Post Actions" which are executed after the status is changed - see table below for details on each action.

Post actions are typically actions that should be executed after an order changes to the next status.

For example, Post actions for In Creation -> Submitted status transition:

  • Email notifications with PDF attachment of order
  • Integration of Order to ERP using a Webhook action, or File transfer actions





Actions are triggered by Status changes in the Workflow of the Activity/Transaction/Account.


Actions (click for details)  
Alerts and Notifications (click)  
  • Alert
This action displays an alert message in a dialog box with the option to Cancel or Continue. Cancel - dismisses the dialog and returns the user to what she was working on. Continue - continues to the next action or step in the workflow. Message may be formatted using HTML.
  • Alert on Condition
This action displays an alert message in a dialog box on the condition that the selected rule is evaluated to the indicated value (true/false). Cancel - dismisses the dialog and returns the user to what she was working on. Continue - continues to the next action or step in the workflow. Message may be formatted using HTML.
  • Notification
This action displays a notification message in a dialog box. The user clicks OK and the workflow continues to the next action or step. Message may be formatted using HTML.
  • Stop condition
The Workflow will be stopped on the condition that the selected rule is evaluated to the indicated value (true/false). A message will be displayed to the user, allowing them to go back and modify the order/activity accordingly. Message may be formatted using HTML.
   Validate History

At the beginning of a Workflow check if there is an open Activity \ Transaction of the same type and for the same Account. If so, either ask the user if they want to continue it, and direct them to the list or force them to be directed to it, in which case it will be opened.

This action is available for the New to InCreation status transition only. This action is not available for Account Workflows (Activities and Transactions only).

  • Webhook
This action executes a Webhook and continues the Workflow
  • Webhook Stop Condition
The Workflow will be stopped on the condition that the Webhook (web service) is evaluated to false. A message will be displayed to the user, allowing them to go back and modify the order/activity accordingly.
  • Webhook Branch
This action executes a Webhook and branches the workflow to another step based on the status selected in case of failure.
Custom Form Allow you to run your own code from with in the Pepperi app. Run your own HTML code in the background, or display results to the user.
Branch Condition This action evaluates a Boolean rule and branches the workflow to another step based on the status selected in case of failure. Select from a list of Boolean rules created in Custom Fields. Select the status in case the rule fails to evaluate.
Open Form 

This action opens the Details form. If the form does not contain fields marked as mandatory it will not be opened.

Selecting "Always open form (even if no mandatory fields)" will open the form even if does not contain mandatory fields.

Force Sync  This action forces the mobile app to sync. Use this action if you want the user to sync before beginning an activity to make sure they have the latest updates. For example, to make sure they have the latest item inventory before submitting an order.
Split Order This action splits the order among multiple locations (ie chains) and creates a separate Transaction for each location. Select the Transaction Type for the newly created orders.
Payment ePayment is now done using the Payment Gateway connector. Contact your Project manager to configure payment capability for any ePayment providor such as: Eway, Stripe, Authorized .Net, Card Connect, APS, NetSuite CC Processing 
Capture Geolocation Captures the Latitude and Longitude coordinates of the device (to custom fields of type Decimal value). You can capture the location not only upon submission, but during any other status change. An accuracy radius is captured as well (Decimal value).
If you want to view Activities on a map view in the Managers App, then you must use this action in the New -> In Creation transition, or in the last transition before submission. Activities can be pinned on a map based on either the Creation geolocation or the Submission geolocation.
Capture Date & Time Captures the Date & Time and saves it in a custom field. This is actually a timestamp you can initiate at any point in the Transaction or Activity that allows you to capture when a specific event such as a change in status, payment, sync, or alert occurred. You can then display it on any form or report.
Push Notification

Alert the user of events when the app is closed on their device (user must be logged in) such as: Order submitted/approved/rejected, a B2B order submitted, etc.

Send customized text in Push notifications, alerting the user at any point in the Order or Activity Workflow - just like any other app that pops up notifications on your phone or tablet (ie a news app, email app, etc). Tapping on the notification opens the Pepperi app.

The notification will appear on any device that the user is logged in to the Pepperi app on - if they are logged in on both phone and tablet, the notifications will appear in both. More info: Push Notifications to devices

Barcode Scan (Activity ONLY)

Prompts the user to scan a barcode using the device camera. Saves the scanned barcode in a custom field. May be used for:

  • Scanning a store's barcode label when starting a store-audit activity, to confirm that the merchandiser is in the store.
  • Scanning a refrigerator, an aisle or any other type of display unit to indicate which display is being reported on.
Post Actions  
Send email Send configurable email notification with attachment. For details: How to Set Email Notification for Transactions (Sales Orders)
Export File to FTP This action will post a file in the format selected with the order/activity data to the Pepperi secure FTP server. This file can then be imported to any ERP/CRM or other system.
Distribute Activity (for Activities only not Transactions) This action duplicates the Activity for multiple Accounts. Select the type for the newly created Activities.
Navigate to  After the Actions in this step are completed, the user will be redirected to the page they were on previously, an Activity List of your choice, or stay on the same page. Select from the options in the menu. The default is one screen back.
Update your stock on hand of the items in the Transaction by deducting the quantity from your current stock. And/or update the store's stock count of this item by adding the ordered quantity immediately upon submission. For details on this field (AccountInStockQuantity) see: Account inventory


You can fully configure the layout of the Account Dashboard - including the  Menu, Header, Toolbar, Recent Activities, Upper/Lower Dashboard. 

You can remove some of the components completely by deleting them from the layout. For example, you can delete the "Recent Activities" bar across the top of the Account Dashboard if you want to use that area for the benefit of the graphs or Activity Lists you can display in the other areas. 

You can also delete the Lower Dashboard area if you want to add Activity Lists to be displayed in the Upper Dashboard Area and allow full screen scrolling through the list (see examples below).



The Header tab allows you to select up to four fields to be shown in the Account Dashboard Header. Learn more...


Recent Activities

This area provides a visual indication of Transactions and Activities sync status. Green - submitted and synced, Orange - submitted and sync failed, Red - Activity/Transaction is In Creation status.

You can limit the types of Activities that are available in the Recent Activities scroll bar. You may want to show only the important ones for reference, so the bar doesn't get filled up with less relevant historical data. 

You may limit this by creating a dedicated Activity List filtered by type and status.

In the Recent Activities layout select the dedicated Activity List you created for this purpose that contains the types and statuses of Activities for display across the bar. To learn more about how to create Activity Lists: Sales Activity Lists

You may remove this scroll bar completely by clicking delete on this configuration option (see screenshot above).


Activities Toolbar and Menu

Select the options you wish to appear in the Toolbar VS. those that will appear in the Menu. The Toolbar should contain the most commonly used and easy to access tasks. You can add more options in the menu.

Learn more. . .




Add out of the box "Sales" or "Top Items" charts or any charts, graphs and tables queried from your database systems (BI) to the Upper and/or Lower Dashboard areas.  

Note: To add your own BI charts, you will need to create them as "Widgets" in Pepperi and then position them as tabs on the upper and lower account dashboards. To learn how to upload data for widgets: Account Dashboard Customization using your own data

You can also add Activity Lists to this area, and use the Account Dashboard real estate to show users Activity Lists across multiple tabs, in addition to or instead of the Sales graph and Top Items info.

Edit the Dashboard Area you wish to configure and add the components, including Activity Lists, to the layout. Each component will be displayed in an additional tab across the Upper/Lower dashboard area.

The Available Fields contain:

General Fields - these are the out of the box charts Pepperi provides

  • Account Sales



  • Account Top Items



Activity Lists - these are any Activity Lists you have created which can also be displayed across multiple tabs.




Examples of Account Dashboard Layout

Example 1:

Activity Lists across multiple tabs displayed on the "Upper Dashboard" area

Account Sales and Top Items in the "Lower Dashboard" area



Example 2:

Recent Activities bar area removed

Activity Lists across multiple tabs displayed on the "Upper Dashboard" area

Lower Dashboard area removed

This allows the Activity Lists to take up the whole area below the toolbar.



Managing Buyers for self-ordering

You can invite your customers to the Pepperi App (Web and Mobile) for B2B self-service ordering from the Contacts List.

Non-admin users will be able to connect Contacts as Buyers for Accounts assigned to them. Admins can connect all Accounts' Contacts as Buyers.

Sign in to the Web App https://app.pepperi.com

You need to have a Contacts list created and assigned to the homescreen. For details see: Configure Contact Lists.

(You must have contacts defined for Accounts in order to connect them as buyers. You can add them manually per each Account or see this article for more detailed information: How to Upload Contacts for Accounts in Bulk).



Select the contacts you wish to connect. Click Connect as Buyer and you can then customize the welcome message and subject that is sent to invite the buyers to Pepperi for self-ordering.

You can customize the message body using an HTML template to include any branding and text. For detailed instructions see: Customize Email Template

If you are using the customized HTML template, add the user name and password as tags (as explained in the instructions) in the body of the message.

If you are using the default Pepperi email template, the username and password will be appended at the end of the email message.

To modify the subject, change it manually in the form before clicking Done.


After clicking Done, a list of the Contacts you connected will be displayed with their automatically generated passwords (which were sent to them in the email). This is a one time only display on the screen of the passwords for your reference. Their passwords are not stored in the WebApp. 

To disconnect buyers (which removes their access for self-ordering) select Disconnect Buyer from the menu and confirm. Buyers may be reactivated at a later time.


As part of Pepperi’s integration platform, we provide a plugin that allows you to integrate data from any back office system that has an HTTP-based API (RESTful API, SOAP API etc.)

The API could either be a Cloud API or On-Premise one transferring data into Pepperi and from Pepperi into your system.

The plugin allows you to configure the transfer of data back and forth using a graphical interface which makes the plugin accessible and simple to use. 


Who can use the HTTP Plugin?

Why is it called HTTP plugin?

How does the HTTP Plugin work?

Understanding Pepperi’s integration platform

Who can use the HTTP Plugin?

If you are using an ERP, accounting system or any back office system that Pepperi does not have a pre-built plugin for (see a list of our plugins here: Pepperi Integrations Directory) you can use the HTTP Plugin to sync your data to Pepperi.

If your back end system exposes an API or you if you have your own home grown web services, then you can sync Pepperi with your system using Pepperi's graphical configuration tool - code free!

Why is it called HTTP plugin?

Pepperi's plugin enables you to sync with any system that "speaks" HTTP - doesn't matter if its REST/XML/JSON/SOAP or any other HTTP Request/Response type.

How does the HTTP Plugin work?

Pepperi's plugin allows you to submit HTTP GET/POST requests for querying data- item and customer data, or any other relevant sales data from your system into Pepperi and to submit (usually POST) Transactions/Activities from Pepperi to your system.

The configuration of the requests is done via a graphical user interface provided by Pepperi and accessed directly from the Pepperi Web Admin settings.

You may also configure more advanced settings to handle the data that is received from your system or sent to your system in a more sophisticated way, for example filter out certain items or customers that you do not want to import to Pepperi.

Each of the data-pulling tasks from your system to Pepperi is scheduled to run automatically at intervals that you define, while the data from Pepperi to your system is submitted in real time and the response is presented to the sales rep in the field (using WebHooks).

This guide will instruct you on how to set up the importing, exporting and scheduling of data. 

Understanding Pepperi’s integration platform

 This diagram desribes the relations between the different components of Peppri’s integration platform.

Integration of data from Pepperi to your back-office system is done via Webhooks triggered from Pepperi back-office to Pepperi’s internal endpoint of a “Dataflow task” configured by you, and ends up in an immediate response returned to the mobile app or web app and in a transaction log that you can view and track.

Integration of data from your back-office system to Pepperi is done via batch uploads of data triggered by Pepperi’s integration platform Shceduled Jobs that executes 1 or many “Dataflow tasks” configured by you, and ends up in a batch upload to Pepperi and in an execution log that you can view and track.





There are multiple data types you can load to Pepperi using CSV files. 

Data such as Items, Accounts, Accounts-Users, Accounts-Catalogs, Account-Types, Activities, Transactions and more may all be loaded using CSV files with headers.

Header names must exactly match the mapped field names listed in the Pepperi back office

This article will explain where to view the names and how to add/edit mapped names if they don't exist by default (not all fields are listed for mapping by default). It's very simple to add mapped names following these instructions, and it will ensure successful upload of your data over time.

Editing or Adding Mapped names 

You will first need to look at the list of available fields for the object you wish to load.

Let's take Items as an example. In the Pepperi Web Admin go to Settings -> Items -> Fields 

This area shows all the fields available for this type of object - in this example Items Fields.

The Mapped name is the name that must appear as the header of the column of your CSV file. For example, to load the Item Name, the column header should be "Description", as is shown in the mapped name below.

As you can see, by default not all fields have a mapped name assigned. In order to upload data to these fields, edit them and add a mapped name to be used in your CSV file.

Activating fields

Note that not all the fields are active by default. If you need to load data to a field that is not marked as active (it has only a green plus sign in the Actions column) then you need to activate it first by clicking on the plus sign, and then follow the instructions below to give it a mapped name.


Click on the edit icon for the field and type a mapped name. The mapped name can be any name you choose, it may also be identical to the Field name or the API name. This will not present any problem.

If you are automatically exporting files from your ERP to Pepperi, consult with your ERP administrator to choose a mapped name. The fields may have headers that are already coming from the ERP field names, and this may require you to use those same header names. 

Once you save the mapped name, the data loaded for that field will be mapped to it.

Creating mapped names ensures smooth upload of your data via CSV files.

Where are the fields for other object types listed?

For other objects, such as Accounts and Catalogs, the fields are listed in the Settings -> Accounts and Settings -> Catalogs areas. 

For Transaction Types and Activities, the fields are listed in the "Fields" tab of each individual Activity Type.

For example, Settings -> Sales Activities -> Transaction Types, then edit the Transaction Type you wish to map the fields for and go to the Fields tab to see the full list of fields.



Main Category is a mandatory field in Pepperi. Since Quickbooks doesn't force a category field, we automatically create a 'General' main category, so items will upload without interference.

If you wish to replace the main category with your own category field, follow these steps:

  • First create a custom field in Quickbooks – populate that with your brands. (Please consult Quickbooks help on assistance in custom field creation)
  • Open up the scheduler (clock icon in your task bar), highlight the ‘items’ line and press RUN EXE
  • Once the export has completed, go into: C:\Program Files (x86)\Pepperi\Pepperi for Quickbooks\exporter\   and pick up items.csv. Check this new file has the updated custom fields you created
  • Go into the back office, Items -> Manage Items ->Import/Export -> Import and upload the items.csv file
  • Remove the ‘Main category’ mapping from the current column by changing it back to ‘Choose Value’
  • Select your new column populated by your custom field, and select main category from the drop down selection

Your current data will upload manually in this form. This is a one time operation - the mapping will be saved for any future automatic uploads.