3PL Billing Setup Guide

Overview of how to set up 3PL Billing using Infoplus with specific use cases and script examples.

The 3PL Billing Setup Guide is designed to help you understand how to set up 3PL Billing in Infoplus with in-depth examples and situations. Each 3PL Billing setup is unique and requires the end-user to understand the setup process. This article provides examples, but the end-user will need to adjust accordingly to their specific business needs. We recommend reading the following articles before using this guide:

Overview

The very first thing to understand about 3PL Billing is that the module is separate from the Infoplus WMS system. There are eight tables that need to be populated with data for 3PL billing.  These tables are referred to as “Activity” tables. 

Here are the eight tables: 

  • Order Activity - order-level data
  • Order Line Activity - order line item data
  • Carton Activity - shipping carton data
  • Billing Code Activity - manually captured billing code data
  • Work Activity - details physical work data (picks, receipts, cycle counts)
  • Item Receipt Activity - receipt data
  • Job Time Activity - manually logged job time data
  • Inventory Storage Activity - inventory storage data

Any data on these tables are eligible for billing. The Billing Rules will filter on these tables to include/exclude particular data. Then the Billing Rules are applied to the Customer Invoice Template where pricing is then applied.  

When the time comes to generate the invoice data, you will need to navigate to the Customer Invoice Template table and use the “create invoice worksheet” process on the actions dropdown.  From there, you will use the “Invoice Worksheet Line” or “Invoice Worksheet Line Detail” table to export the data out of Infoplus (or sent via API).

Please Advise: Thorough testing is required when setting up 3PL Billing. Once setup is completed, we recommend you run a sample invoice worksheet and review each line to ensure all charges are calculated correctly.

Note: You can set up 3PL billing using your test site, but there is no method to fully bulk load the data from test to live, so you will have to manually transfer the data to the live site. 

Populate Billing Data

Overview

To populate the Activity tables with data, a process called “Populate Billing Data” will need to occur.  This can be run manually in the system or set up on a schedule. This process pours the data from the WMS side to the 3PL billing side.  Schedules are usually set up on a daily basis. 

Step by Step

  1. Navigate to “Populate Billing Data Plan”
  2. Create New
    1. Fill in True for all applicable tables
  3. Navigate to “Managed Schedule Plans”
  4. Create New
    1. Select the Populate Billing Data Plan
    2. Once saved, then select the schedule to run the plan

Billing Rules
Overview 

The Billing Rules are designed to look at only certain points of date and apply the type of charge needed.  Except for the Static Billing Rules, pricing is not applied at this stage.  The Billing Rules are simply deciding which records are applicable for billing. Create and Edit 3PL Billing Rules is a step-by-step article on how to create a billing rule. 

Note: Line of Business is not a filter needed at the Billing Rule Level.  The Customer Invoice Template will filter out the data by Line of Business automatically.

Charge By Fields Per Activity Source:

  • Order Activity - order-level data
    • Count of Orders
    • Sum of Cartons Shipped
    • Sum of Freight Amount
    • Sum of Line Items
    • Sum of Pallets Shipped
    • Sum of Shipment Weight
    • Sum of Total Quantity
  • Order Line Activity - order line item data
    • Count of Distinct SKUs per Order
    • Count of Order Lines
    • Sum of Quantity Shipped
  • Carton Activity - shipping carton data
    • Count of Cartons
    • Sum of Charged Freight
    • Sum of Published Freight
    • Sum of Retail Freight
  • Billing Code Activity - manually captured billing code data
    • Count of Billing Codes
    • Sum of Quantity
  • Work Activity - details physical work data (picks, receipts, cycle counts)
    • Count of Work
  • Item Receipt Activity - receipt data
    • Count of Distinct POs
    • Count of Receipts
    • Sum of Quantity
  • Job Time Activity - manually logged job time data
    • Sum of Second Duration
  • Inventory Storage Activity - inventory storage data
    • Count of Distinct Locations
    • Sum of Quantity

Inventory Storage Activity Billing Rules:

These rules present a unique set of options for the Date Fields:

  • Daily Average
  • End of Period
  • Greater of End of Period (EoP) or Average Daily
  • Max over Period
  • Middle of Period
  • Start of Period

 

Note: If your billing requires more than the standard setup, scripting will be required.  In this document, there are example scripts, but Infoplus will not write, edit, or maintain your scripts.  

 

Note: To request a different “Charge By” field, please submit a support ticket.  Out of the box charge by fields are aggregates of each activity record within the date range specified.  Only a select number of fields are available.


Examples:

These rules are general, and additional changes may be needed to be applicable to your needs.

Billing Rule

Description

Activity Source

Charge By

Date Field

Activity to Consider

Outbound Per Order Fee

Charging by the count of regular orders shipped out.

Order

Count of Orders

Ship Date

Status = Shipped, Warehouse Service Type = Customer Order

Outbound Per Line Item Fee

Charging by the number of line items shipped out.

Order

Sum of Line Items

Ship Date

Status = Shipped, Warehouse Service Type = Customer Order

Outbound Per Unit Fee

Charging by the total quantity shipped out.

Order Line

Sum of Quantity Shipped

Ship Date

Order Status = Shipped, Warehouse Service Type = Customer Order

Inbound Units Received

Charging per unit received in.

Item Receipt

Sum of Quantity

Receipt Receive Date

Receipt Type = Normal & Blind,

Inbound Cases Received

Charging per case received in.

Item Receipt

Sum of Received Cases*

Receipt Receive Date

Receipt Type = Normal & Blind,

Inbound Pallets Received

Charging per pallet received in.

Item Receipt

Sum of Received Cases*

Receipt Receive Date

Receipt Type = Normal & Blind,

Storage By Pallet Locations Used

Charging per pallet location used in the warehouse. Date Field varies.

Inventory Storage

Count of Distinct Locations

Multiple Options (Use "Daily Average" for daily usage)

Location Footprint Name = Pallet (needs to footprint name in site)

Storage By Bin Locations Used

Charging per bin location used in the warehouse. Date Field varies.

Inventory Storage

Count of Distinct Locations

Multiple Options (Use "Daily Average" for daily usage)

Location Footprint Name = Bin (needs to footprint name in site)

Monthly Fixed WMS Fee

Fixed fee applied to the invoice worksheet

Static

(Field is Charge, enter dollar amount per billing period)

n/a

n/a

Cartons Used Fee

Charge Per Carton. Charge different rates to different carton types by duplicating this rule and adding carton types as an activity to consider filter..

Carton

Count of Cartons

Ship Date

Order Status = Shipped

Cycle Count Fee

Count for the number of Cycle count work. (Cycle count 10 locations, count of work = 10)

Work

Count of Work

Create Date

Type = Cycle Count

Charge Per Fulfillment Pick

Charge for the number of picks during fulfillment

Work

Count of Work

Create Date

Type = Fulfillment - Pick

Outbound Per Count of Distinct SKUs Per Order

Charging for the number of unique skus on an order.

Order Line

Count of Distinct SKUs per Order

Ship Date

Order Status = Shipped, Warehouse Service Type = Customer Order

Charge Per Blind Receipt

Charging when inventory shows up without an ASN in the system

Item Receipt

Count of Distinct POs

Receipt Receive Date

PO = Starts with BR



Customer Invoice Template
The next stage of 3PL Billing is to set up the Customer Invoice Template. Built out per Line of Business, here is where you apply the Billing Rules with pricing. To better understand how to create a Customer Invoice Template, read Create and Edit 3PL Customer Invoice Templates.

Price Level Mode

Max means that all activity for this Line Item will appear on the invoice at the charge indicated on the maximum quantity break that applied. For example, with Price Levels of 1 @ $1.00, 100 @ $0.95, 500 @ $0.90, if the quantity on the invoice is 300, the charge / unit price for the line would be $0.95.

Layered means that this Template Line Item may produce multiple lines on an Invoice Worksheet, with a different charge/unit price for each line. For example, with Price Levels of 1 @ $1.00, 100 @ $0.95, 500 @ $0.90, if the quantity on the invoice is 300, there would be 2 lines, the first for 100 @ $1.00, the second for 200 @ $0.95.


Line Item Example: Outbound Per Order

In the above picture, we are setting a one-dollar charge for every order that is counted under the billing rule.  In this example, we’ll break down the required fields.  Any field that is not required, is optional and used for informational purposes only:
  • Billing Rule: Apply the Billing Rule
  • Description: Copy the Billing Rule text, or use this field to explain the line into more detail
  • Seq No: Determines the order in which the line will appear
  • Active: On / Off switch for this line item
  • Include if Zero: If there were no orders during the month, do you want to include this line on an invoice?  Do you want to include this line if there were zero orders?
  • Price Level Mode: If you only do one price level (1 at $1.00), then place Max or Layered.  Max nor Layered will be in effect if you only have one price level.  This field is required, so place either Max or Layered.  

Scripts Within 3PL Billing

The foundation for 3PL billing is available in Infoplus, but to best utilize it, you will likely need to create and implement additional scripts to customize the application for your specific business needs. In fact, no two clients utilize 3PL billing in the same way. 

To best use 3PL billing, you will need someone on your team who understands writing and using scripts to customize the 3PL foundation available in Infoplus. Almost anything is possible for 3PL billing via scripts. 

Many Infoplus users customize things like what you charge for, how you charge, whom you charge, and when you charge for 3PL services. You can use scripts to ensure you are accurately charging each individual client for the services you provide, and with scripts these charges are automated going forward. 

Example Billing Rules that Require Invoice Worksheet Line Scripts: 

  • Freight & Parcel passthrough/inflation 
  • Anything based on individual order details, ie charging x for first pick and y for additional picks
  • Per Case / Unit Picks 

Infoplus users can utilize scripts to customize their 3PL Billing to fit their exact needs. Although customization is fully available, please note that the responsibility for the maintenance and setup required to customize and maintain 3PL Billing is fully on the Infoplus user. 

Example Billing Rules that Require Invoice Worksheet Line Scripts: 

  • Freight & Parcel passthrough/inflation 
  • Anything based on individual order details, ie charging x for first pick and y for additional picks
  • Per Case / Unit Picks (

Freight Inflator Script 

Goal: Calculate the freight charge and apply a percentage upcharge to pass to the Line of Business.

Prescript Setup:

  • A custom field is used on the Line of Business table.  

The script will reference the custom field “name” used.

Example Script Type: Invoice Worksheet 

Postscript Work:

  • Apply the script to the Freight line on the Customer Invoice Template.  Default the price levels to 1 at $1.00.  This will be overridden by the script.

Apply the percentage upcharge required by editing the line of business.  For a 10 percent upcharge, place “1.1” in the field.  

Per Case (0-20lbs) Pick Fee

Goal: If the case is between 0 to 20 pounds, charge x amount for the case picked.  Duplicate and adjust the script to add more weight tiers (21-50, 51-100, etc.).  

Prescript work:

  • Add the “casePickFee” custom field on the line of business level.

Example Script Type: Invoice Worksheet

 

Postscript work:

  • Populate the custom field on the line of business table with the dollar amount.
  • Populate the case pick line on the customer invoice template to apply the script.

Per Unit (0-20lbs) Pick Fee

Goal: If the unit is between 0 to 20 pounds, charge x amount for the unit picked.  Duplicate and adjust the script to add more weight tiers (21-50, 51-100, etc.).  

Prework: Add the “unitPickFee” custom field on the line of business level.


Example Script Type: Invoice Worksheet


Total Lines Charge (First Unit Pick Charges)

Goal: Calculate the total additional line item (or shipped units) for each order within a given invoice worksheet date range.  This script only calculates the first unit only.

Example Script Type: Invoice Worksheet

Total Line Charge (Additional Units)

Goal: Calculate the total additional line item (or shipped units) for each order within a given invoice worksheet date range.  This script only calculates additional units after the first unit. 

Example Script Type: Invoice Worksheet

 

List of Scripts

Creating An Invoice Worksheet

When the time comes to bill, the end-user will navigate to the Customer Invoice Template table and create the invoice worksheets.  On the table, select the desired templates, and run the “create invoice worksheet” process on the actions dropdown.  The dates selected will be the timeframe of the data that is pulled over.  Populate Billing Data will need to occur before this process.  

Invoice Worksheet

Navigate to the Invoice Worksheet table.  Here, you have the ability to change line items or add more ad hoc charges.  A common example is a minimum charge amount.  By adding an extra line item, you can increase the total amount to meet a minimum threshold.

Invoice Worksheet Line

This table is used to present the charges by line.  Exports are available here to move the information to an accounting system.  This table is also exposed to the API.

Invoice Worksheet Line Detail

This table is used to present the charges by line, with extra detail.  Notice the reference fields used here to tie the line to a record in the system.  Exports are available here to move the information to an accounting system.  This table is also exposed to the API.