Technical Support Hours

M-F 8am to 8pm (EST)

Start a conversation

Packages, Kits, and Pricing


Packages are grouped inventory items equivalent to Kits set up in Microsoft Dynamics GP, but SalesPad lists each line item in a Package separately, allowing for line-by-line customization inside the sales document. Users can change, add, and remove the components of a package as needed for each document. Package components can be comprised of inventory items and/or service items.

User Fields

In SalesPad, set up a user defined field called “xPackage”

  1. Go to Modules > User Field Editor
  2. Select Sales Line Item from the Bus. Objects column
  3. Click the New button in the User Fields column
  4. Enter the Field Name (xPackage) and select OK. The Field name will appear in the User Fields Column.
  5. In Field Properties, enter "Package" into the screen label field, set field type to Text, and Length to 100.
  6. Click Save.
  7. Click Update Database, and then click Yes.
  8. Close the User Field Editor and log back in to SalesPad.

Note: Refer to the SalesPad User Defined Fields document for more detailed instructions on creating user defined fields.

Dynamics GP

Define the kit and its components in Dynamics GP (Cards > Inventory > Kits). The kit description must include the same Package Indicator entered in SalesPad Settings:

Notes – Adding Kits to sales documents:

  • Once saved, you cannot change the quantity of a kit item (GP issue).
  • By default, Kits with components on backorder will not show as backordered on the line item. Upon saving, quantities will be reduced to the quantity available to sell complete (only if the Default Kits to Backorder All setting is False in later versions). You can manually backorder kits by adding quantity to the QTY BO column, or if the Default Kits to Backorder All setting is available and set to True, all Kit quantities will automatically be set to backorder.
Adding Packages to a Sales Document
  1. Open a new standard order
  2. In the Line Items tab, click New to create a new line item
  3. Input an inventory item that has been set up as a kit in Microsoft Dynamics GP

If Sales Line Components > Auto Run is set to True in the Security Editor, a window will pop up displaying the components for the selected package. This window can be accessed at any time to view components, by clicking the Actions dropdown ( ) on the sales document Line Items tab and selecting Components. The Components window will also display components of a GP-defined Kit, but these cannot be modified in SalesPad.

Package item on the Components screen:

Kit item on the Components screen:

Click OK to return to the sales document.

SalesPad will designate a kit or package item as a non-inventory item. Kit items will only display the main item on the sales document, whereas a package will list each item that makes up the package by grouping the items together on the sales document. Each component item of a package can then be modified as needed for the individual order.

Note: The main item in a package will post to the non-inventory GL account. Dynamics GP only allows you to set up one NI GL account. The non-inventory GL account is set up under Posting > Posting Accounts in Dynamics GP.

Viewing Package/Kit Components in Inventory

Aside from the sales document, in later versions of SalesPad (approximately 4.0.660+) you can view kit components on the Item Kit Components tab in the Inventory Analysis module or from Inventory Lookup. Details of the kit that can be viewed include item number and description, kit number, component U of M, total weight, and availability.

Hiding Package Components on Printed Reports

To hide package components from showing on a printed report use the following instructions.

  1. Open Report Designer on the report you wish to modify (Modules Menu > System > Report Manager > (select a report) > Design
  2. Find the bar Detail1, click on it, and then click the Scripts button:

    and add an On_Before print script as shown below:

    private void Detail1_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e)
        string NonInvStatus = ""; string PkgInf = "";
        NonInvStatus = DetailReport.GetCurrentColumnValue("Is_Non_Inventory").ToString();
        PkgInf = DetailReport.GetCurrentColumnValue("xPackage").ToString();
        label3.Text = NonInvStatus;
        if( PkgInf == "" )
            e.Cancel = false;
            if ( NonInvStatus.ToUpper() == "FALSE" )
                e.Cancel = true;
                e.Cancel = false;

  3. Save your report

A Preview will show all line items except the package component lines.

To hide Kit Components, follow the steps above, but use the following script: (see disclaimer on the following page*)

object val = DetailReport.GetCurrentColumnValue("Component_Seq_Num"); if(Convert.ToInt32(val) > 0)
e.Cancel = true;

*Important Reminders and Suggestions:

  • This script is considered "as is" and any changes/modifications that might be needed would require a signed quote.
  • If you are required to change a Security Option or Setting, your users will need to restart SalesPad before the changes take effect.
  • Please install this on a test machine and run it against a test database before using it on your live system.
  • You should always make sure you have a database backup prior to installing new software.
  • Database Triggers, after final delivery, are the responsibility of the customer. SalesPad will not be responsible for maintaining copies of custom database objects.
  • C# scripts, after final delivery, are the responsibility of the customer.

Retail+ price levels are created in Dynamics GP. In SalesPad, Retail+ pricing allows you to create substitute items for package components and assign them markup or markdown prices that will affect the price of the package.

Retail+ can only be used with fixed currency pricing. If there is a Retail+ price level created, all packages will by default use the Retail+ pricing, regardless of whether a Retail+ price list is defined for the components.

Note: If items do not have price levels, the Prices Not Required in Price List setting within Sales Order Processing setup in Dynamics GP needs to be checked to allow the document to be saved.

Creating Retail+ Price Level

In Dynamics GP, go to Microsoft Dynamics GP Button > Tools > Setup > Inventory > Price Level to create the Retail+ price level:

Creating Retail+ Price on Kit Components
  1. Set up a kit with at least one component
  2. Set up a price level of Retail+ for each component. Make sure to use the Currency Amount price method.
  3. Each price level on the header needs to have a + price level set up to process packages correctly. For example, INTERNATIONAL price level would need an INTERNATIONAL+ price level set up for packages. These price levels do not get assigned to items. They simply need to be present in the system.
  4. The + price level can be set up on individual items to be used as Upcharge items, with the associated price being the amount the kit should be upcharged when that specific item is substituted in.

Package Indicator – The indicator in the item description that designates that the Kit Item should be treated as a Package Item (Ex: (PKG)). This can go anywhere in the item description.

Package Item Prefix* – The prefix to prepend to the package item number entered on a sales document (Ex. ^). The package item will be a non-inventory item on the document. This can be different than the non inventory indicator specified in Settings > Non Inventory Item Prefix.

Sales Line Item Package Smart Field – The Sales Line Item user field (xPackage) that will store the parent package item number (so line items will be added as package components). The creation of this user field is described in page 2.

Default Kits to Backorder All – If True, all Kit items on a sales document are automatically backordered. By default, Kits with components on backorder will not show as backordered on the line item, but, upon save, are reduced to the quantity available to sell complete. 

Apply Discounts To Package Items – If True, existing discounts will be applied to package items.

Delete Entire Package – If True, all lines in a package will be deleted when the top item is deleted.

Prompt To Roll Down Package Quantity – If True, the quantity for every line in a package will adjust when the header item quantity is changed.

Reprice Package Lines When Qty Changes – If True, SalesPad will check GP price lists for tiered pricing and adjust the price as needed if the package quantity is changed.


Sales Line Components- Allows users to see any components for a Sales Line Item using the Sales Line Components Action.

Item Kit Components- Allows users to see the Components tab in the Inventory Lookup window

Choose files or drag and drop files
Was this article helpful?
  1. SalesPad Support

  2. Posted
  3. Updated


  1. Mathias Tabor

    BeforePrint function definition script in section Hiding Package Components on Printed Reports is missing a space in the function header's last argument, between the object type and variable name:


    should be

    System.Drawing.Printing.PrintEventArgs e