PR Intercept and PR Create: RFQ Awarding
Process Diagram
sequenceDiagram
actor ERP_User as Business User
participant ERP_System as ERP/P2P System
participant ERP_Middleware as ERP Middleware
participant Fairmarkit_API as Fairmarkit Public API
participant Fairmarkit_APP as Fairmarkit System
rect rgb(125,125,125,.2)
note over ERP_User,Fairmarkit_APP: Awarding the RFQ
note right of ERP_User: User reviews bids in the FM UI,<br>selects the most relevant bid,<br>and fills the award reason if needed.
ERP_User ->> Fairmarkit_APP: Award RFQ
Fairmarkit_APP-->>Fairmarkit_APP: -
note over Fairmarkit_APP: Application updates the RFQ and quotation status,<br>and sends a webhook notification.
Fairmarkit_APP ->> Fairmarkit_API: **WEBHOOK** event ** RFQ_AWARDED**
Fairmarkit_API ->> ERP_Middleware: **WEBHOOK** event ** RFQ_AWARDED**
ERP_Middleware-->>ERP_Middleware: -
note over ERP_Middleware: Middleware: parses the payload, <br>logs the data, and optionally<br> updates information about the RFQ<br>status change.
ERP_Middleware ->> ERP_System: Optional Update info on RFQ status change
ERP_Middleware ->> Fairmarkit_API: **GET** /self-service/api/v3/rfq/{uuid}/quotations/
Fairmarkit_API ->> Fairmarkit_APP: Internal API call to get Quotations
Fairmarkit_APP -->> Fairmarkit_API: Full list of received Quotations<br>(awarded and rejected)
Fairmarkit_API -->> ERP_Middleware: Full list of received Quotations<br>(awarded and rejected)
ERP_Middleware-->>ERP_Middleware: -
note over ERP_Middleware: Middleware (optional): parses the payload, logs the data,<br>identifies awarded quotations and lines,<br>updates the Supplier, and price information<br>and updates the RFQ status change information<br>
ERP_Middleware ->> Fairmarkit_API: Optional: **GET** /self-service/api/v3/supplier/{uuid}/
Fairmarkit_API ->> Fairmarkit_APP: Internal API call to get Supplier
Fairmarkit_APP -->> Fairmarkit_API: Full Supplier Info
Fairmarkit_API -->> ERP_Middleware: Full Supplier Info
ERP_Middleware-->>ERP_Middleware: -
note over ERP_Middleware: Middleware: parses the payload,<br>enriches the data with supplier information,<br>updates the initial PR with the awarded supplier, price, and terms,<br>and optionally moves the PR forward via the approval flow.
ERP_Middleware ->> ERP_System: Update PR
end
rect rgb(125,125,125,.2)
note over ERP_User, Fairmarkit_APP: Optional: Post Award
note right of ERP_User: User: continues working with the PR,<br>and creates a PO from it.
ERP_User->>ERP_System: -
ERP_System ->> ERP_Middleware: Notify that PO was created
ERP_Middleware ->> Fairmarkit_API: **PUT** /self-service/api/v3/rfq/{uuid}/purchase-order/
Fairmarkit_API ->> Fairmarkit_APP: Internal call to update RFQ with the PO info
Fairmarkit_APP-->>Fairmarkit_APP: -
note over Fairmarkit_APP: Application Updates PO Data in the RFQ
Fairmarkit_APP -->> Fairmarkit_API: full RFQ Info
Fairmarkit_APP -->> ERP_Middleware: full RFQ Info
end
Process Flow
Awarding the RFQ
- User reviews bids in the Fairmarkit App, selects the most relevant bid, and fills in the award reason if needed.
- User awards an RFQ in the Fairmarkit App.
- Fairmarkit App updates the RFQ and Quotation status, and sends a webhook notification RFQ_AWARDED.
- ERP Middleware parses the payload, logs the data, and optionally updates information about the RFQ status change.
- ERP Middleware sends a GET request to Fairmarkit API GET /api/v3/rfq/:uuid/quotations/ to get the full list of received quotations (awarded and rejected) for the RFQ.
- ERP Middleware logs the data, identifies awarded quotations and lines, updates the Supplier, Pricing and all other Quotation-based information on the PR level, and updates the RFQ status change information.
- Optional: ERP Middleware can request some additional data for data enrichment if needed: e.g., GET Suppliers GET /api/v3/supplier/:uuid/
- Alternative PR CREATE Flow: Instead of updating the PR RFQ_AWARDED signal + data from GET /api/v3/rfq/:uuid/quotations/ API can be used to create a new PR on the ERP Side
Optional: Post Award
- User continues working with the PR and creates a PO from it.
- ERP System via Middleware notifies Fairmarkit that a PO was created.
- ERP Middleware sends a PUT request to Fairmarkit Public API PUT /api/v3/rfq/:uuid/purchase-order/ with the PO details
- Fairmarkit App updates the PO data in the RFQ.
Info: Identifying the Awarding Quotes and Items
- Iterate over the Quotations response returned in the
- All awarded Quotations have a field
awarded_atthat contains a date in the ISO 8601 format - An awarded supplier can be identified by the
supplieron the Quotation - Get the
currencyfrom the Quotation - Start iteration Over Quotation Items
- Each awarded item has a boolean flag
is_awarded - Please use
awarded_quantityto identify the quantity that was awarded on the Fairmarkit side - and
unit_pricein case using currency from Quotation Level
- Each awarded item has a boolean flag
Note: Linkage RFQ with Request
- ALL RFQs and RFPs that were created via Request flow have a non-null.
request_idattribute on the root level. This applies to both Webhooks and the RFQ retrieve API. - In case
external_request_idis needed, we recommend adding this as a custom field to the request schema data. This field can not be found in the RFQ payload, but can be found by making the Additional API call get request byrequest_id
Updated 6 days ago
