iotoms Docs

Create a quotation

POST
/api/v1/sales/quotations

Creates a draft quotation for a customer. Line prices default to the customer's agreed price, otherwise the item's selling price. A quotation does not reserve stock or post anything to the books.

How to use it

  1. Get the customer number from List customers and item codes from List items.
  2. Send the customer, optional store, dates and lines; leave unitPrice out to use the agreed price or selling price.
  3. The quotation is saved as DRAFT with a new SQ- number and server-calculated totals, valid for 15 days unless you set validUntil.
  4. Nothing is reserved or booked; next, render it with Generate quotation PDF and mark it sent.

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
customerNumber*string

Customer number to quote, from List customers. Required.

storeId?|

ID of the merchant store the quotation is from, from List stores. Optional.

Formatint64
quoteDate?|

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

Formatdate
validUntil?|

Last date the offer is valid (YYYY-MM-DD). Defaults to 15 days after the quotation date; cannot be earlier than it.

Formatdate
currency?|

Three-letter ISO currency code. Optional.

notes?|

Free-text notes for the quotation.

terms?|

Terms and conditions text to show on the quotation.

items*array<>

Lines to quote. Can be empty for now, but at least one line is needed before marking it sent.

Response Body

OK

*/*
  1. response
status*string

Outcome of the call: SUCCESS when the request was processed; otherwise an error status.

message*string

Short human-readable message describing the outcome, e.g. which record was saved or why the call failed.

data?

The quotation with its lines and current status.

Example Request
curl -X POST 'https://beta.iotoms.com/api/v1/sales/quotations' \  -H 'X-TenantID: your-tenant-code' \  -H 'Content-Type: application/json' \  -d '{  "customerNumber": "string",  "items": [    {      "itemId": "string",      "quantity": 0    }  ]}'
Example Response
{  "status": "string",  "message": "string",  "data": {    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",    "quoteNumber": "string",    "customerNumber": "string",    "customerName": "string",    "customerContact": "string",    "storeId": 0,    "storeName": "string",    "status": "string",    "effectiveStatus": "string",    "quoteDate": "2019-08-24",    "validUntil": "2019-08-24",    "daysUntilExpiry": 0,    "currency": "string",    "subtotal": 0,    "discountTotal": 0,    "taxTotal": 0,    "grandTotal": 0,    "notes": "string",    "terms": "string",    "lostReason": "string",    "sentAt": "2019-08-24T14:15:22Z",    "acceptedAt": "2019-08-24T14:15:22Z",    "convertedAt": "2019-08-24T14:15:22Z",    "convertedTransactionId": "ffec8c36-02ff-4068-8a67-e53c0a6dd346",    "items": [      {        "id": 0,        "itemId": "string",        "itemName": "string",        "description": "string",        "quantity": 0,        "unitPrice": 0,        "discountAmount": 0,        "taxRate1": 0,        "taxRate2": 0,        "taxAmount": 0,        "lineTotal": 0,        "uomId": "4df47f00-a69d-4ff2-b50d-4a7649a4b70c",        "priceSource": "string",        "sortOrder": 0      }    ],    "createdBy": "string",    "createdAt": "2019-08-24T14:15:22Z",    "updatedAt": "2019-08-24T14:15:22Z"  }}