Introduction
When working on quotes, MSPs would like to get estimates on the margin of profit they are making when selling an item using quotes. For better understanding and calculations based on the Cost and Price, we have made some enhancements to our Quotes and line items which are detailed in this guide.
Setup
Unit Cost field is introduced for all Line items in Quotes. Following are the modules where enhancements are made to support this feature.
1. Admin Settings
2. Finance
3. Quotes
o Non-Product Items
o Product Items
4. Charges - Ticket/Project
โ
5. Bundles
All the features detailed here are made available for New and Existing quotes. Unit Cost, Margin, and Price fields are all interconnected. Changing values on one of these will update the value on the other.
Admin Settings
Navigate to Admin > Finance > Services > Create or Update your Service > Margin field is available.
Admins can define the Margin value here. Selected Service will inherit this data when it's used on a quote.
Margin will be zero by default. Margin can be left at zero or negative.
Finance
Navigate to Finance > Contracts > Recurring Service Contract > Add Service.
To update existing services, use Unit Change to update data. You can also update margin if needed.
Quotes
Navigate to CRM > Quotes.
Non-Product Items
T&M Labor
Charge
Fixed Price
Fixed Labor
For the above types, the Unit cost field is shown. This field is a manual entry on the UI.
Margin can be a null value field. The field only becomes editable when the user enters a value in the Cost field. The value should be greater than zero.
For T&M items, the Billing rate is derived from the Admin role rate.
When a T&M item is added to the Quote, the Unit price as the Billing rate will be updated. The Cost field is set to 0 and Margin will be greyed out.
If you want to update the Cost, put a value greater than zero and the Margin will be updated based on this.
Product Items
When a product item is added to the quote, it inherits the data defined for the product under Inventory > Manage Products. Costs for products are defined at the supplier level (multiple costs for each supplier) and at multiple pricing levels. Unit price is derived by pricing level.
Navigate to Inventory > Manage Products
Create new or select existing product.
Under Product info, you should see the Price/Cost (Previously labeled as Pricing levels) tab.
You can define your costs and prices for the product here. Add Cost and Mark up fields inside the Price/Cost tab.
For a product where Pricing level, Unit cost, and Markup is defined, the data will be auto-updated when this product is added to a quote. This data can still be overridden when adding the product to a quote.
In Quotes, add a product line item.
CRM > Quotes > Products > Pick a product > Pick a price level
Each product will have a single cost and price. This data can be overridden.
When you change the cost for a product, the price will be updated based on the margin. All three fields are interlinked. Unit price, Unit cost, Margin
Changing the price level will update the Margin and Unit price fields.
Pricing Level
When a product is selected on the quotes the price level is marked as default. This will auto-fill the Unit Price and Margin field.
Define default Pricing levels under Admin > My Company > Lists > Filter for Form Type Products >Products Pricing levels > Default: Yes
Charges - Ticket/Project
1. Navigate to Service Desk > Tickets page > Expenses & Charges tab.
2. Margin field is made available.
3. Unit price in the form will be picked by the selected/default price level for the product.
Bundles
When a Quote bundle is created it will inherit the data from the quotation. If Cost/Price are defined all the data will be imported to the bundle as well. All data will be shown in the Line item summary.
Bulk Update Options
Users can bulk update the Cost data for services and products using the Import function.
For Services:
1. Navigate to Admin > Import Data > Import Excel.
2. To update Services data, download the Services Template.
3. Fill in the details for each column. Unit Cost and Unit Price will have to be filled. Margin will be auto-calculated and auto-populated for your services after import.
For Products:
1. Navigate to Admin > Import Data > Import Excel.
2. To update Products data, download the Product Template.
3. A new column labeled Vendor Cost is added.
o The values entered for Vendor Cost will go to Supplier.
4. The values entered in Unit cost will default for quotes.
o The Vendor Cost replaces the old Unit Cost column, and the Unit Cost is newly introduced as the default Cost.
5. Update all the required fields and import your products.
For existing products:
The user will export the product list from and update the Unit cost column and import it back.
The user will fill the values in the Unit cost column and import them into the system.
Users can also use Reports to export Product data. Use the Products category and choose your fields.
For products where the pricing level is not defined, on every import, all the pricing levels will be auto-created. Users can modify this in the UI after the import.
Additional Information
Formulas used to calculate margins are as below:
if Margin Type is % => UnitPrice = UnitCost * (1 + Margin)
Where Margin is the percentage value
if Margin Type is Ccy => UnitPrice = UnitCost + Margin
Where Margin is a currency value
API updates
Quotes: Unit cost is added to following endpoints
POST : /v2/crm/quotes/{quotationId}/lineItems/{itemTypeId}/{distributerTypeId}
GET : /v2/crm/quotes/{quotationId}/lineItems/{lineItemId}
PUT : /v2/crm/quotes/{quotationId}/lineItems/{lineItemId}
Products : Margin is added to the following endpoints
GET /v2/inventory/products/{productIndexId}/pricingLevels
Retrieve value from DefaultCost
GET /v2/inventory/products/{productIndexId}/defaultcost
Tickets: Margin and Margin type added to GET/PUT/POST charge of tickets
/v2/servicedesk/tickets/{ticketId}/charges