General Description of the Feature
In automotive industry there are cases that the dealership buys (purchases) customer or other private vehicles. When such purchase orders are created in DSW, the DMS has to be updated as well.
This will be possible with the External Function: Create Vehicle Purchase Order Document "CreateDocumentVehiclePurchaseOrder" which will trigger the following endpoint:
The endpoint odil-od-api > POST /api/integrations/odil/onedealer/documents/purchases Create Purchase Deal / PurchaseDocumentDto payload (https://app.swaggerhub.com/apis/ThinkRIT/odil-od-api/1.3.0#/Documents/SendPurchaseDeal)
will deliver via ODIL all the information that should include in summary:
- Document
- Document Number
- BP Code (Vendor)
- Creation / Update Dates
- Document Lines
- Trade In vehicle
- Damages (if any)
- Vehicle Information
- Vendor Business Partner Information
Core Scenario - Main components:
- DSW – The user creates a purchase lead.
- DSW – The user creates a purchase order document.
- DSW – Sends a Purchase Deal Jacket (Purchase Order Document)
- ODIL – Receives the purchase order payload, transforms it, and sends a request to the DMS.
- DMS – Receives the request from ODIL and persistently updates/creates the respective Purchase (entity/table)
Based on the above mentioned external function and API the DSW User creates a Purchase Order call in order to create the Purchase Order in the DMS.
- DSW is notified for the PO Creation in case PO Creation is successful or not (Interfacing Request Logs)
- DMS Creates Purchase Order
Also at the final transition of the Purchase workflow "Vehicle Received", it is needed to deliver via ODIL the current Location of the vehicle to the DMS.
This will be possible with the External Function: "UpdateDMSForCurrentVehicleLocation" which will trigger the following endpoint:
The Endpoint odil-od-api > POST /api/integrations/odil/onedealer/documents/purchases/status Update Purchase Document Status (https://app.swaggerhub.com/apis/ThinkRIT/odil-od-api/1.3.0#/Documents/UpdatePurchaseDocument) will deliver via ODIL the Current Vehicle Location (Location of the table XIS_CARS.U_IDMS_Location)
Scenario:
The DSW User creates a Purchase Lead for a Vehicle or creates a Purchase Lead from a Lead adding a Trade-In vehicle
Example: Purchase Lead creation from a Lead by adding a Trade-In vehicle
Created Purchase Lead:
The User starts working with the workflow:
Transition Evaluation Appointment - The User selects the Evaluation Station, the Date and Time when the Evaluation should take place and saves
The Purchase Lead will be assigned to the Evaluator who can continue working with workflow
Customer arrived at the Dealership, transition "Shown", the Evaluator has concluded the Evaluation and needs to add the Price for the Vehicle, transition "Evaluation completed", and save
Based on the Amount (e.g., 10000) in the Setup Key: GermanLocalizationEvaluatedPrice the Evaluation will be automatically approved or manually from the Approval Manager. In this case the amount 9500 added in the Price Evaluation popup will be automatically approved since 9500<10000.
After saving the transition "Evaluation completed", the External Function CreateDocumentVehiclePurchaseOffer creates the Purchase Offer Document, triggers the API https://func-neuro-odil-dev.azurewebsites.net//api/integrations/odil/onedealer/documents/purchases and delivers all the relevant information through ODIL to DMS. The Request can be found in the Interfacing Request Logs.
Request Data example for the Offer: log_request_6322e4f33808bfad2ca30f37.json
The Customer accepts the Offer and the User continue with the transition "Purchase Offer Accepted"
After saving the transition "Purchase Offer Accepted", the External Function CreateDocumentVehiclePurchaseOrder creates the Vehicle Purchase Order document, triggers the API https://func-neuro-odil-dev.azurewebsites.net//api/integrations/odil/onedealer/documents/purchases and delivers all the relevant information through ODIL to DMS. The Request can be found in the Interfacing Request Logs.
Request Data example for the Order: log_request_6322e8493808bfad2ca31141.json
The User selects the transition "Signed purchase order" in order to create an "Document Vehicle Purchase Signed Order" and an "Handover Document". The Customer and the User (Employee) sign the Purchase Order.
The User selects as next transition the "Vehicle Received". The Customer receives the Vehicle. The Vehicle Purchase Signed Handover Document is created.
After saving the transition "Vehicle Received", the External Function UpdateDMSForCurrentVehicleLocation calls the respective DSW > ODIL > DMS API https://app.swaggerhub.com/apis/ThinkRIT/odil-od-api/1.3.0#/Documents/UpdatePurchaseDocument [odil-od-api > POST /api/integrations/odil/onedealer/documents/purchases/status Update Purchase Document Status] and delivers to the DMS through ODIL the new UpdateType "CurrentVehicleLocation" value. The Request can be found in the Interfacing Request Logs.
Request Data example for the Location: log_request_6322edc73808bfad2ca315bc.json
Business Benefit
When a purchase order is created in DSW, the DMS will be updated as well. The Location of the Vehicle will be updated as well.
Configuration
- The One Dealer integration is enabled and configured.
- ODIL is Enabled (EnableNeuroOdil = True) / (EnableTRIntegrationLayer = True)
- The DMS-Synced Entity Actions page ~/SetupEntities/SyncEntityActionsGridlist is configured and under Is DMS Sync enabled contain the values Yes (Related Table: @IDMS_IL_SYNCENTACT)
- Customer BP must exists in both DSW & DMS.
- DSW Is Configured (ie. AllowedTranferredTypes include “PurchaseOrder”) Setup Key IntegrationLayerTransferredDocumentTypes Entity = VehiclePurchaseOrder and VehiclePurchaseOffer
- The endpoint DSW > ODIL > DMS odil-od-api > POST /api/integrations/odil/onedealer/documents/purchases Create Purchase Deal PurchaseDocumentDto payload (https://app.swaggerhub.com/apis/ThinkRIT/odil-od-api/1.3.0#/Documents/SendPurchaseDeal) is implemented and works as designed.
- The DMS has implemented the respective “Purchase Order” endpoint (Swagger Specs) DMS > ODIL > DSW dms-std-api POST /api/documents/purchase-order Send Purchase Order (https://app.swaggerhub.com/apis/ThinkRIT/dms-std-api/1.3.0#/Documents/SendPurchaseOrder)
- Example Value:
- The endpoint DSW > ODIL > DMS odil-od-api > POST /api/integrations/odil/onedealer/documents/purchases/status Update Purchase Document Status (https://app.swaggerhub.com/apis/ThinkRIT/odil-od-api/1.3.0#/Documents/UpdatePurchaseDocument) is implemented and works as designed. (This API delivers to the DMS through ODIL the new UpdateType "CurrentVehicleLocation" value.)
- The endpoint DMS > ODIL > DSW dms-std-api > POST /api/dms/documents/purchase-order/update-status Update Purchase Order (https://app.swaggerhub.com/apis/ThinkRIT/dms-std-api/1.3.0#/Documents/UpdatePurchaseOrder) is implemented and works as designed. (This API delivers to the DSW through ODIL the new UpdateType "CurrentVehicleLocation" value.)
Setup Keys:
- EnableNeuroOdil = True
- EnableTRIntegrationLayer = True
- IntegrationLayerTransferredDocumentTypes Entity contain = VehiclePurchaseOrder and VehiclePurchaseOffer
Workflow:
External Functions
- CreateDocumentVehiclePurchaseOffer which creates the Offer Document to add it under the desired transition (Example: "Evaluation Approved")
- CreateDocumentVehiclePurchaseOrder which creates the Order Document to add it under the desired transition (Example: "Purchase Offer Accepted")
- UpdateDMSForCurrentVehicleLocation which updates the DMS with the Current Vehicle Location to add it under the transition "Vehicle Received”. (CurrentVehicleLocation value. > Location of the vehicle from the table @XIS_CARS.U_IDMS_Location)
Add Comment