Loading price lists into OASIS by copying and pasting data from the manufacturer is by far the most common method for managing pricing in OASIS. The source of data, in this case, is a spreadsheet from the manufacturer.
The disadvantages of this method usually lead to a phone call to move the spreadsheet to a common website or web service allowing the manufacturer to post new pricing that is downloaded into OASIS. This works well if the number of items is small (~20,000 items or so). Larger price files will take a long time to download and result in user frustration when trying to pull down pricing updates.
For larger price lists, dynamic pricing is recommended. In the past, implementing a dynamic pricing solution required OASIS to write a software client while the manufacturer had to create and maintain a software service. Now, OASIS is offering a solution that implements both the client and the service necessary to implement a dynamic pricing solution. All that is required of the manufacturer is to supply their pricing data and rules. This document describes the overall technology required and implementation guidelines.
Architecture
The overall architecture is a common client-side request (from the representative's OASIS database) over the Internet to a server application (an OASIS hosted database service). The pricing data is stored in a relational database indexed by rep, customer, and manufacturer brand.
When a product is not in OASIS (or if the data is “old”), then a request is made across the internet to the remote server application. Once the information (description, price, etc.) is returned, a copy is stored in the OASIS relational database. This allows data to be cached locally and reduces the number of calls to the remote server.
Security
All network calls are made using a secure socket (https).
A representative's access to pricing data is controlled by the manufacturer. (see File Content below for more details)
Data Lifecycle
Once OASIS downloads any price information, that information is tagged with an end date. That date may be passed as part of the price calls. (Territory and customer prices may have different expiration dates). However, most implementations request that pricing data expires after a set number of days after being pulled from the server. The shorter the time frame, the more calls will be made to the server. However, longer time frames could result in quoting the wrong price.
The standard time frame is 30 days. Manufacturers are expected to supply OASIS with updated files once a month, but it is not required. If no data is supplied, OASIS will automatically reset the existing price file to expire after 90 days. A complete price file update is not necessary. Only changes and additions are necessary to be supplied.
Note: item data does not expire – only pricing. This is only a concern if OASIS is to be utilized to tell reps when an item has been discontinued. An alternate field, such as SubstitutionNotes, can be supplied to indicate a discontinuation and possibly an alternate item.
Note: Once a successful call is made and a price is returned to the customer, their OASIS will not check again for a price until 7 days have expired.
File Content
This file contains the pricing and related data to supply to the representatives. The data should be delivered as an Excel file (*xlsx). Below is the list of possible data content to be supplied to OASIS.
Row Headings – Attributes
- PartNumber – REQUIRED – the fixture (a unique catalog number in a user-readable format:123-34TT-UVH)
- AdderCodes – “adder codes”
- Description – fixture description
- LeadTime – lead time for delivery
- MFGClassID – manufacturer product heir
- StandardCarton – carton quantity
- Stock – stocking information (just text for the user)
- UnitQuantity – unit quantity
- UnitWeight – weight of one item.
- UPC – item UPC code
- SubstitutionNotes – substitution or discontinued notice
- MFGPart – manufacturer’s product code (may be UPC or ERP system code).
- FreightClass – Carrier freight classification
- EffectiveStart – pricing effective start date
- EffectiveEnd – pricing effective end date - format is YYYY-MM-DD
- OverageSplit – over-riding overage split (only use if different from default MFG terms
- CartonLength – length of carton
- CartonWidth – width of carton
- CartonHeight – carton height
- SKU – SKU (may be used as an alternate lookup in OASIS).
- PartQuantity – part quantity
- MFGWarehouse – manufacturer’s stocking warehouse location (may be a list)
- Voltage – fixture voltage
- Finish – fixture finish
- WLamp – fixture lamping (text only)
- MFGQuote – manufacturer’s quote number
- Program – product “sales program” information
- ShowInPriceBook – flag “Y” – show in customer price book, “N”- don’t show
- BookPrice – book price of item
- BookCommision – commission of book price of item
Row Heading - Pricing
OASIS supports multiple price and commission levels for a product:
- Low - the lowest level that an agency can sell a product
- Overageable - the price level where overage can be collected
- Up to 13 other levels that can be assigned to specific representatives or territories
- [PENDING] Customer specific pricing
Price columns use a colon separated method to group pricing and label the pricing within OASIS. When creating a new price “column” OASIS will define the column in OASIS automatically. When updating an existing price column, OASIS will detect the existence of the price column and update the prices in the existing column automatically.
Low Price
The price columns start with “P-LOW” for price and “C-LOW” for commission. The column name "P-LOW" also contains a colon followed by the column name which is limited to alphanumeric characters, ‘%’ and spaces.
Overageable Price
The price columns start with “P-OVERAGEABLE” for price and “C-OVERAGEABLE” for commission. The column name "P-OVERAGEABLE" also contains a colon followed by the column name which is limited to alphanumeric characters, ‘%’ and spaces.
For example, the following columns define pricing for a 10% column and a 15% column:
P-LOW:10% Pricing
P-OVERAGEABLE:15% Pricing
Representative/Region/Territory Specific
Up to 13 additional columns can be used to identify Agent/Representative/Region/Territory Pricing. The columns will start with P-X (where is is a number 3 through 15), and a colon followed by an alphanumeric label to delineate which Agent/Representative/Region/Territory this column applies to.
For example, the following columns define pricing for 3 specific agents:
P-3:Rep1
P-4:Rep2
P-5:Rep3
Customer Specific Pricing
Columns can be designated to specific customers as well. The columns will start with P-EXC, and a colon followed by an alphanumeric label providing the customer account number/ID that the Agent will enter into their OASIS so they get that price.
For example, the following columns define pricing for 2 specific customers:
P-EXC:0123
P-EXC:56789
Note: OASIS always pairs pricing and commission columns for reps. Even if all prices for a column are the same, the commission rate MUST be provided.
Example
OASIS User Interaction
Calls are made during several user actions within OASIS. Typically there are three use-cases:
- Catalog number drop-down guidance
- Show project price
- Show customer price
Catalog number drop-down guidance
As the user is typing a catalog number, OASIS will attempt to guide the user to key a correct catalog number. To do this with dynamic pricing, OASIS first scans the local OASIS database. If matching catalog numbers are found, then they are shown to the user. However, if the user keys a catalog number that is not a match within the OASIS database, then the remote server is called. If matching entries are found, the matches are shown to the user and the matches are saved to the OASIS database for the next user.
There are a number of internal checks to keep OASIS from making repetitive calls for non-matching entries. These routines tend to timeout after 24 hours. (Example: if the user keys a bad catalog number, OASIS will ask the user once per session thereby reducing the number of calls to the server.)
To limit the number of calls to the server, most implementations will not call the server unless the user keys at least 3 non-blank characters.
Show Project Price
When the user selects a catalog number from the drop-down menu (guidance), or if the user keys a complete catalog number, OASIS will first search the OASIS database to see if the item data and authorized pricing is available. If not, the required calls are made to the remote server. If data is returned by the server, then the data is saved to the OASIS database with an end date indicating when the data should be refreshed. Only complete catalog numbers are requested.
There are a number of internal checks to keep OASIS from making repetitive calls for non-matching entries. These routines tend to timeout after 24 hours. (Example: if the user keys a bad catalog number, OASIS will ask the user once per session thereby reducing the number of calls to the server.)
Show Customer Price
Once the customer is known (a winning customer on a project/quote or an order), the best price available for the customer is often required. In this case, OASIS will return a customer specific price if available.
All data is cached in the local OASIS database with different expiration dates for each returned customer specific price and each authorized price.
There are a number of internal checks to keep OASIS from making repetitive calls for non-matching entries. These routines tend to timeout after 24 hours. (Example: if the user keys a bad catalog number, OASIS will ask the user once per session thereby reducing the number of calls to the server.)
Comments
0 comments
Please sign in to leave a comment.