June 21, 2020

Basic OTM Configurations

Note: Below configs are shown from 6.3.7 version of the OTM app. 

Below is a typical OTM end to end flow in it's most simple/vanilla usage. Readers can explore more on each of the below topics and use this as starting point to understand basic OTM configurations using OTM Help documentation.

Business Scenario:

There is Toys Corporation (TCRP) with one DC/Warehouse and three stores in 3 different cities. DC distributes items – Item A, Item B and Item C to three locations (store locations). TCRP has contract with two carriers (SGTM, PNDP) to support their logistics needs and these carriers use their 20 foot, 40 foot or 50 foot equipments. As specified below each carrier supports specific itineraries/legs for TCRP.

TCRP wants to optimize their transport costs using "bulk planning" feature of OTM app and settle invoices for the transport services provied by these carriers.

Below is a draft overview of what we are trying to implement:

We can map above locations to real time locations as below:

  • DC/Warehouse location in Indianapolis, IN, 46202
  • Loc_A in Nashville, TN, 37203
  • Loc_B in Charlotte, NC, 28078
  • Loc_C in Atlanta, GA, 30303



Domain:

Create a new domain TCRP to store the configurations and transaction data related to this business scenario. 

Config and Admin > Domain Management > Add Domain


 

 Login to this new domain with default ADMIN user and CHANGEME as password:

Once you login, you will see: 

Locations:

First, let's create for required locations as shown below:
Shipment Management > Location Manager

Create Warehouse/DC location: DC_TCRP with below details:




 

Create other 3 store locations with role as ship from/to:
 
 
Equipment 
 
Define equipment groups  – 20_FT, 40_FT, 53_FT with below data:
Shipment Management > Equipment Management > Equipment Groups:

Define Equipment Group Profiles with below data:
Shipment Management > Equipment Management > Equipment Group Profile:
 
Itinerary:
 
Define Itineraries as below:

 
*S=Source Location
*D=Destination Location

Shipment Management > Itinerary Management > Itinerary:

ITIN_A, B and C are single leg itineraries in format similar to below:

 
 
 
 
 

 

ITIN_D is multi-leg itinerary, with leg1 from Indianapolis to Nashville and leg2 from Nashville to Atlanta defined as below:

 

 
Note that lane defintion above shows source location and final destination only. 

Leg1:

 

 

Leg2:


 

Items:

Define three items ITEMA01, 02, 03
Order Management > Material Management > Item:
 
Item Dimensions:

Update the packaged item with dimensions:Item Weight = 2 LB. Item Dimensions=10x7x3 inches. Note that after saving the item record, UOM is shown as FT which is default preference for this role. That can be updated as required from user preferences.

Other item dimensions are updated as below:


Service Provider (Carrier):

Define two service providers with their SCAC codes and country code as USA as shown below:
Contract and Rate Management > Service Provider Manager:

Rates: 

Create new Rate Offering that details high level contract details between your organization and service providers like type of offering(TL,LTL, PARCEL, etc.), Rate Service, Rate Distance, etc.

Contract and Rate Management > Contract Management > Rate Offering > Enter below data:

Offering ID=SGTM_TL
Offering Type=TL
Service Provider=SGTM
Rate Service ID=TL-SIM
Version=EXP2020 (New)
Rate Distance ID=LOOKUP ELSE ESTIMATE

Note that here we are using default Rate Service and Rate Distance provided by Oracle. However it is possible to configure external engines for time and distance calculations like PCMILER, RATEWARE XL.

Next create new Rate Records  which define cost details for each lane served by the service provider as per the contract agreed.

Open Rate Offering > Actions > Create Rate Record > Enter below data:
Rate Record ID= SGTM_TL_DC_STOREB
Source Geo Hierarchy=CITY
Destination Geo Hierarchy=CITY
SG city= INDIANAPOLIS
SG Province Code= IN
SG Country Code ID= USA
DG City= CHARLOTTE
DG Province Code=NC
DG Country Code ID=USA
Rate Cost > Charge 100 USD PER Buy Shipment

 
Define other rate records as shown below:  
 

Business Numbers:

OTM has default numbering for all business data objects like the one shown below for shipment - 01001.


To change this to a specific number requested by business, we can do below:

Business Process Automation > Power Data > Business Numbers > Business Number Rule > Search for %SHIPMENT%

You will notice that there is default rule (TCRP domain level) for generating XID. Let us edit this rule for this domain:


Let’s change this to use below rule. Rule is combination of static and dynamic expressions. Let us use three expressions:

'SHIP' which is static

{dddddddd:id=1} for date is YYYYMMDD format

One Hyphen which is static

{nnnnn:start=01000} for a five digit number starting with 01000 value

Now if you plan a shipment, it will generate ID as below:


Planning Parameter: 

Shipment Management > Power Data > General > Parameter Sets > New > Enter ‘TCRP_PLAN’ as new ID and save the record.


Note that all above configuration parameters can be changed based on business requirements and they control how OTM Bulk Plan algorithm works. For now let us proceed with default values.

Now let us set this parameter as default planning parameter for domain TCRP.

Configuration and Administration > Domain Management > Domain Settings > Search > Select TCRP record and Edit > Change Parameter Set ID=TCRP_PLAN > Finished.

Now while submitting bulk plan, this new parameter comes up as default parameter.

Bulk Plan:

Create a new purchase order/order base record:
Order Management > Purchase Order > Order Base > New >Enter below data:

Order Base ID= PO2018051001
Order Configuration=ONE_TO_ONE
Item ID= ITEMA01
Source Location ID= DC_TCRP
Destination Location ID= STORE_B
Total Package Count=100

Create two new order releases:

Order Base > Actions > Order Management > Change Order > Release Lines
Click button New Release Instruction
Unit Amount=20(Qty being released for shipping)

Order Base > Actions > Order Management > Change Order > Release Lines
Click button New Release Instruction
Unit Amount=10(Qty being released for shipping)
 
Now Query for Order Releases:

Select Order Releases > Actions > Operational Planning > Create Buy Shipment > Bulk Plan – Buy

This will create a shipment that includes above two order releases. To see how bulk plan is working try 'Shipment Routing Options' as described below.

Shipment Routing Options:

Note tht we have below rates defined:

Now release PO with Source = DC and Destination = Store C and perform below action:
Order Release> Actions > Operational Planning > Show Routing Options

OTM will show two possible itineraries as below:


Select both Itineraries and click ‘Show Options’

You will see below details – all expected as per our configurations above.


Now if you do a bulk plan on this order release, it should select ITIN_D(least cost itinerary) and create two shipments:
Shipment 1 with carrier PNDP going from DC to STORE_A with $20 as cost.
Shipment 2 with carrier SGTM going from Store A to Store C with $20 as cost.


Note that OTM has identified the carrier for each leg. Next step is to notify/send tender to those carriers with these pickup date/time and location details.

Tender Process

When shipments are created, note that status on these shipments is SECURE RESOURCES_NOT STARTED.


At this point, we need to notify carrier about the shipment information like pickup time and location. This can be done using:
  
Shipment > Actions > Shipment Management > Tender > Secure Resources

 
Notice that Shipment SECURE_RESOURCE status changes to 'TENDERED' 

OTM sends out tender XML to external system or email notification to carrier based on configuration at the service provider level.

Carrier should respond to the tender either via EDI or manually login into OTM app with 'Service Provider' role and accept or reject the tender.

Tender Accept/Reject Process

Assume that carriers have access to OTM application in that case they can login as:
SERVPROV.DOMAIN-SCAC format as default USER ID
CHANGEME as default password

In this scenario, we login as SGTM and PNDP carriers and accept/reject these tenders:
You can see the outstanding tenders for the carrier:

 
You can select this record and Actions > Accept/Decline. Let’s decline this PNDP carrier tender.

Accept the tender for SGTM carrier:

Now go back to TCRP.ADMIN and review the shipments.
First leg shipment PNDP carrier rejected, so OTM automatically tendered to next available carrier SGTM with $30 rate we defined.

Now we login as SERVPROV.TCRP-SGTM to see this new tender for first leg.


Accept this tender. Now we can see both the shipments are show tender as accepted.

Invoicing

Once Shipment execution is completed, carrier sends invoice and OTM can:
Match invoice to shipment based on MATCH rule
Approve Invoice based on Invoice APPROVAL rule
Allocate shipment costs to related order releases/POs based on weight or volume

Invoice Matching:

Carrier who executed the shipping function will send an freigh charge invoice for settlement.

In OTM, we can validate this invoice cost against the OTM planned shipment cost by first matching invoice to a shipment.

This can be done by matching rule.
Financials > Payment Rule Management > Match Rule: 

 

A match rule will try to identify a shipment for an invoice by matching:

·        Service Provider

·        Refnums as shown above. Here we are creating invoice with SID (Shipment ID) as refnum and matching this to shipment refnum SID. In a real time business scenario these numbers can be BOL Number, Container Number references, etc.

To trigger this matching process go to:

Invoice Actions > Auto Match Invoices

 

Invoice once matched to a shipment will be recorded in below table:
SELECT * FROM INVOICE_SHIPMENT WHERE INVOICE_GID = 'TCRP.20180518-0001'

Invoice Routes/Ports tab will show Match/approval notes, matched shipment details
 

Invoice Approvals

For a particular user to approve an invoice, note that OTM checks what is the invoice approval rule attached to the user definition.

So, create below invoice approval rule:

Financials > Payment Rule Management > Invoice Approval Rules:
 
 

This rule says approve all invoices from $1 to $1000.

Attach this rule to Approval Rule profile:
 
Attach this profile to the user record: 
 

Now we can approve invoice using below action:


Voucher Allocations

After invoice is approved, OTM creates a voucher record for this invoice.


 At this stage, ALLOCATION_VOUCHER status on the voucher is – NOT ALLOCATED


To allocate total voucher costs to correspoding orders based on weight or volume we need to define voucher allocation rule.

Financials > Allocation Rule Management > Allocation Rules:

Define allocation rule with line level weight 100%

Attach this allocation rule to the service provider. 

 
Now go to voucher actions > Financials > Manage Vouchers > Allocate Voucher
 
Status on the voucher now changes to ALLOCATED.

After the voucher is allocated, then we can see the Order Release in View mode to see those details:

This information or freight cost allocated to PO level or Order Release Line level is critical because incase where you have multiple POs from different vendors on the same shipment and you want to allocate or identify vendor level shipping costs, use this allocation feature. 

No comments:

Post a Comment