iotoms Docs

Record a supplier quotation

POST
/api/v1/procurement/quotations

Records the prices a vendor quoted in reply to a request for quotation. If lead time or minimum order quantity are omitted, they default from the vendor's price list and are then stored on the quote. Does not post to the accounts.

How to use it

  1. Get the rfqId and its line IDs from Get a request for quote (it must be sent or already quoted), and the vendorId from List vendors.
  2. Send the vendor, optional dates and currency, and one line per item with quotedQty and unitPrice; lead time and minimum quantity default from the vendor's price list.
  3. The quote is saved as RECEIVED with a VQ- number and a server-calculated total; a sent RFQ moves to QUOTED and the vendor is marked as responded.
  4. Only one quotation per vendor per RFQ is allowed; use Update a supplier quotation to revise prices. Nothing is posted to the accounts.

Authorization

BearerAuth
headerAuthorizationBearer <JWT>

Header Parameters

X-TenantID*string

Your merchant's tenant code — the value typed in the Domain field on the iotoms login screen. See Concepts.

Request Body

application/json
  1. body
rfqId?|

ID of the request for quote being answered, from List requests for quote; it must be SENT or QUOTED. Optional.

Formatuuid
vendorId*string

ID of the quoting vendor from List vendors. Required; only one quotation per vendor per request for quote.

Formatuuid
vendorQuoteRef?|

Reference printed on the vendor's own quotation. Optional.

quoteDate?|

Date of the quotation (YYYY-MM-DD). Defaults to today.

Formatdate
validUntil?|

Last date the prices are valid (YYYY-MM-DD). Optional; cannot be before quoteDate.

Formatdate
currency?|

Currency code of the prices, e.g. USD. Optional; stored in upper case.

notes?|

Free-text notes. Optional.

items*array<>

Quoted lines. Required and not empty; each item may appear only once.

Response Body

OK

*/*
  1. response
status*string

Outcome of the call: SUCCESS when the request worked, ERROR when it did not.

message*string

Short human-readable message describing the result, for logs or display; do not parse it.

data?

The supplier quotation with its lines, as it now stands.

Example Request
curl -X POST 'https://beta.iotoms.com/api/v1/procurement/quotations' \  -H 'X-TenantID: your-tenant-code' \  -H 'Content-Type: application/json' \  -d '{  "vendorId": "e9b57fab-1850-44d4-8499-71fd15c845a0",  "items": [    {      "itemId": "string",      "quotedQty": 0,      "unitPrice": 0,      "taxInclusive": true    }  ]}'
Example Response
{  "status": "string",  "message": "string",  "data": {    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",    "quoteNumber": "string",    "vendorQuoteRef": "string",    "rfqId": "5483c05b-f58d-4a80-82f1-a80d2c5d2632",    "rfqNumber": "string",    "vendorId": "e9b57fab-1850-44d4-8499-71fd15c845a0",    "vendorName": "string",    "quoteDate": "2019-08-24",    "validUntil": "2019-08-24",    "currency": "string",    "status": "string",    "expired": true,    "totalAmount": 0,    "notes": "string",    "items": [      {        "id": 0,        "rfqItemId": 0,        "itemId": "string",        "itemName": "string",        "quotedQty": 0,        "unitPrice": 0,        "extendedAmount": 0,        "unitOfMeasure": "string",        "uomId": "4df47f00-a69d-4ff2-b50d-4a7649a4b70c",        "leadTimeDays": 0,        "minimumOrderQty": 0,        "taxInclusive": true,        "awardStatus": "string",        "awardedQty": 0,        "purchaseOrderId": "84a099d9-2935-4997-a6ac-0d3ee9bbef72",        "notes": "string"      }    ],    "createdBy": "string",    "createdAt": "2019-08-24T14:15:22Z"  }}