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 fill 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

  1. User reviews bids in the Fairmarkit App, selects the most relevant bid, and fills the award reason if needed.
  2. User awards an RFQ in the Fairmarkit App.
  3. Fairmarkit App updates the RFQ and Quotation status, and sends a webhook notification RFQ_AWARDED.
  4. ERP Middleware parses the payload, logs the data, and optionally updates information about the RFQ status change.
  5. 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.
  6. 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.
  7. Optional: ERP Middleware can request some additional data for data enrichment if needed: e.g., GET Suppliers GET /api/v3/supplier/:uuid/
  8. 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

  1. User continues working with the PR and creates a PO from it.
  2. ERP System via Middleware notifies Fairmarkit that a PO was created.
  3. ERP Middleware sends a PUT request to Fairmarkit Public API PUT /api/v3/rfq/:uuid/purchase-order/ with the PO details
  4. Fairmarkit App updates the PO data in the RFQ.