Tuesday 6 March 2018

Reorder Vendor and Cost logic


Question
How does reorder determine Vendor and Cost?

Answer

How does reorder determine Vendor and Cost?
After determining the quantity of items that will satisfy reorder requirements, the next step for Maximo is to determine the vendor and cost that will be used when PRs (and optionally POs) are created.

Considering Purchase Contracts
In finding a vendor and cost for the reordered item, Maximo must first evaluate the “Consider Contracts” option.



This flag indicates whether the reorder process should seek out Purchase type contracts for determining the pricing and vendor when purchasing the item(s). (Only contracts in APPR status will be considered.)

NOTE: Primary Vendor is considered to be a storeroom’s preferred vendor when running reorder. If the Primary Vendor for an inventory item is flagged as an internal supplier (ie: another storeroom),
Maximo will NOT consider contracts from external vendors, and will always generate PRs against the supplying storeroom. The unit cost will be determined as the issue unit cost of the supplying storeroom.

1. If this flag is checked, then Maximo will first look to see if any purchase contracts exist for the item with the primary vendor.
  • If a contract is found, Maximo will convert the order quantity to the contract. Order Unit as necessary, and use this, quantity, the contract order unit, and the contract cost when creating PRs. The contract and revision number
will also be referenced on the PR. [If more then one contract is found in this scenario, Maximo will use the one with the lowest unit cost]
  • If no contract is found Maximo will proceed to step 2 below.

2. If no contract is found, Maximo will look for any purchase contracts for the item, regardless of vendor.
  • If a contract is found, Maximo will convert the order quantity to the contract痴 Order Unit as necessary, and use the contract vendor, the converted quantity, the contract order unit, and the contract cost when creating PRs.
The contract and revision number will also be referenced on the PR. [If more then one contract is found in this scenario, Maximo will use the one with the lowest unit cost]
  • If still no contract is found, Maximo will use 'standard' rules for finding a vendor and cost which are documented under the next heading 'Finding a non-contract Vendor and Cost'.

Finding a non-contract Vendor and Cost
If a contract cannot be found, or if the user has chosen to not reorder using contract information, Maximo will then attempt to find a vendor and cost based on the following rules:

Organizations and Sites

All 'non-contract' vendor/cost information is stored in the INVVENDOR table. This is viewed in the application as the Vendors table window on the reorder details tab of the Inventory application, or as the Vendors tab in the Item Master application.

INVVENDOR is a catalog of items and vendors, with corresponding manufacturers, model numbers, vendor catalog codes, pricing, and last order details.

The INVVENDOR table permits the SITE field to be optional. This allows users to have 'site-level’ pricing for a given item vendor combination. Additionally, the user can leave the site empty and the item/vendor/cost combination is considered to be at
'organization-level'. For this reason, Maximo processes the cost-finding rules below FIRST based on the site of the storeroom, and if no vendor/cost combination is found, SECOND based on the organization of the storeroom with a null site.

NOTE:
  • The rules below include references to the BidPrice column in the INVVENDOR table. This column was used in earlier versions of Maximo prior to the addition of true contracts functionality. The column remains in the table,
and is not shown on the screen by default. This column will be dropped in a future release.
  • Unless otherwise noted, the fields below are referencing the vendors table window (INVVENDOR table).
  • The rules below make reference to the REORDERPAD table. This table is used to store the data that has been processed by reorder but has not yet been processed into a PR (or PO). It is a ‘staging area’ that allows the
reorder functionality to complete its processing and then turn the finished data into a consolidated set of PRs and POs.


1. Find a Unit Cost based on Primary Vendor
For a given item/storeroom/site combination, if primary vendor is specified in INVENTORY, Maximo will sort the INVVENDOR table based on the item, primary vendor, and site of the storeroom order by last date in descending order,
use the first record where the last date is non-null. (If no record is found, re-process rule #1 based on the organization of the storeroom. If still no record found move to rule # 2 below)
a. If BidPrice is non-null and > then zero, use BidPrice
b. Otherwise use Last Cost.

When writing records to ‘Reorderpad’:
a. Set the cost from INVVENDOR. (Either BidPrice or Last Cost based on above).
b. Set the order unit from INVVENDOR. If null, set the order unit from INVENTORY.
c. Convert the reorder quantity into the order unit from INVVENDOR. If a conversion between the units does not exist, an error will be written against this item, and it will not be reordered.
d. Set the vendor, manufacturer, model number and catalog code based on the values in the Inventory application, reorder details tab, primary vendor section.

2. Find a Unit Cost based on ANY vendor (with Primary Vendor Specified)
For a given item/storeroom/site combination, IF primary vendor is specified in INVENTORY, Maximo will sort the INVVENDOR table based on the item and site of the storeroom order by last date in descending order,
use the first record where the last date is non-null. (If no record is found, re-process rule #2 based on the organization of the storeroom. If still no record found move to rule # 3 below)
a. If BidPrice is non-null and > then zero, use BidPrice
b. Otherwise use Last Cost.

When writing records to 'Reorderpad':
a. Set the cost from INVVENDOR. (either BidPrice or Last Cost based on above)
b. Set the order unit from INVVENDOR. If null, set the order unit from INVENTORY.
c. Convert the reorder quantity into the order unit from INVVENDOR. If no conversion
exists, error out this item.
d. Set the vendor, manufacturer, model number and catalog code based on the values in
the Inventory application, reorder details tab, primary vendor section.

3. Find a Unit Cost and Vendor based on the 'Default Vendor'
NOTE: The ‘Default Vendor’ is an organization-level default catalog row that is used to source items for direct issue scenarios. The ‘ISDEFAULT’ flag is used to indicate this record is the default vendor for the item in the organization. The
organization can have only one default vendor. In the case of reorder, Maximo will consider the default vendor when it determines price, ONLY if a cost cannot be determined for the primary vendor.

For a given item/storeroom/site combination, if the primary vendor is NULL in INVENTORY, Maximo will perform a select based on the ISDEFAULT flag. Maximo will take the ISDEFAULT record. (If no record is found move to rule # 4 below)
a. If BidPrice is non-null and > then zero, use BidPrice
b. Otherwise use Last Cost.

When writing records to ‘Reorderpad’:
a. Set the cost from INVVENDOR. (Either BidPrice or Last Cost based on above)
b. Set the order unit from INVVENDOR. If null, set the order unit from INVENTORY.
c. Convert the reorder quantity into the order unit from INVVENDOR. If no conversion
exists, error out this item.
d. Set the manufacturer, model number and catalog code based on the values in the
Inventory application, reorder details tab, primary vendor section.

4. Find a Unit Cost based on ANY vendor (Without Primary Vendor Specified)
For a given item/storeroom/site combination, Maximo will sort the INVVENDOR table based on the item and site of the storeroom, order by last date in descending order, use the first record where the last date is non-null. (if no
record found, re-process rule #4 based on the organization of the storeroom. if still no record found, Maximo will write a PR with a null vendor and a unit cost of zero)
a. If BidPrice is non-null and > then zero, use BidPrice
b. Otherwise use Last Cost.

When writing records to ‘Reorderpad’:
a. Set the cost from INVVENDOR. (Either BidPrice or Last Cost based on above)
b. Set the order unit from INVVENDOR. If null, set the order unit from INVENTORY.
c. Convert the reorder quantity into the order unit from INVVENDOR. If no conversion
exists, error out this item.
d. Set the vendor, manufacturer, model number and catalog code based on the values
from INVVENDOR.