# Sales Quotes _(Realtime-enabled)_

`GET` `POST` `PATCH` `DELETE` _(Table: Sales Header)_

```
eOne/core/v1.0/salesQuotes
```

Read and write Sales Quotes for eOne integration. Microsoft **excluded** quotes from the standard v2 API (its v2 sales entities are built on aggregate buffer tables that were never created for quotes); this endpoint can expose them because it binds directly to `Sales Header` / `Sales Line` filtered to `Document Type = Quote`.

## Resolve the customer

The sell-to customer can be set three ways: `customerNumber`, the Business Central `customerId`, or `customerIntegrationId`. The last is a [resolver field](https://eonesolutions.github.io/eone-bc-integration/resolvers.md), supplying it looks up the Customer whose `EONE Integration Id` matches and stamps `Sell-to Customer No.` for you. See [integrationId](https://eonesolutions.github.io/eone-bc-integration/integration-id.md) for how the store's own key round-trips on the header.

## Deep insert (header + lines in one call)

POST a full quote with its lines nested under `salesQuoteLines` in a single request. Business Central stamps `Document Type` and `Document No.` onto each child line automatically via the SubPageLink.

`POST` `/salesQuotes`

```
{
  "customerIntegrationId": "CUST-1001",
  "externalDocumentNumber": "QUOTE-2026-07",
  "quoteValidUntilDate": "2026-08-31",
  "salesQuoteLines": [
    { "itemNumber": "1000", "quantity": 10, "unitPrice": 25.00 }
  ]
}
```

> **Note:** `currencyCode` translates between the ISO code (e.g. "USD") and the empty Business Central Currency Code that represents the local currency (LCY). Send the operating currency's ISO code and it is treated as LCY rather than being rejected as an unknown currency.

## Quote-specific fields

`quoteValidUntilDate` sets the quote's expiry; `quoteAccepted` / `quoteAcceptedDate` record customer acceptance, and `quoteSentToCustomerDateTime` records when it was sent. These are plain Sales Header quote fields, writable here.

## The work description

`workDescription` is the free-text note on the document, the same text the Work Description box shows on the sales quote in Business Central. Send it on create or update and SmartConnect replaces the whole note, send an empty string to clear it, and leave it out to keep what is already there. Every read returns it.

## Bound actions

**release** / **reopen**. POST `/salesQuotes({id})/Microsoft.NAV.release` to release the document, or `…/Microsoft.NAV.reopen` to return a released quote to Open.

**makeOrder.** Converts the quote into a Sales Order (via codeunit `Sales-Quote to Order`). The response **redirects** to the resulting record on the [salesOrders](https://eonesolutions.github.io/eone-bc-integration/posted-documents.md) entity set, not back to the quote.

`POST` `/salesQuotes({id})/Microsoft.NAV.makeOrder`

**archive** / **cancel**. Snapshot a version and keep the quote open, or archive then delete it (soft delete). See [Archiving & cancelling](https://eonesolutions.github.io/eone-bc-integration/archive.md).

> **Note:** Per-line and per-header dimension overrides are settable through the flat `shortcutDimension1Code`..`shortcutDimension8Code` columns. See [dimensions](https://eonesolutions.github.io/eone-bc-integration/dimensions.md).

## Sales Quotes fields

_API column → BC field._

**Legend**

- _(req)_ required on create
- _(res)_ resolver
- _(cur)_ currency-translated
- _(ro)_ read-only
- _(ext)_ added to this endpoint by another extension (BC field name shown; its API column name is not known here)

| API | BC field | Notes |
| --- | --- | --- |
| `id` | SystemId | BC record GUID. _(ro)_ |
| `bcCompanyId` | bcCompanyId | The company this row belongs to - the same GUID that appears in the request URL. Present on every endpoint so a store pooling several companies can keep them apart without relying on which URL it called. _(ro)_ |
| `bcCompanyName` | bcCompanyName | The name of the company this row belongs to. _(ro)_ |
| `number` | No. | Document number; assigned by the number series if omitted. |
| `integrationId` | EONE Integration Id | Your external key for the header. |
| `externalDocumentNumber` | External Document No. |  |
| `yourReference` | Your Reference |  |
| `workDescription` | workDescription | The document's free-text work description. Sending it replaces the whole note, an empty string clears it, and omitting it leaves what is already there. |
| `customerNumber` | Sell-to Customer No. | Sell-to customer; the resolver target. |
| `customerName` | Sell-to Customer Name | _(ro)_ |
| `customerIntegrationId` | customerIntegrationId | Resolves the sell-to customer by Customer."EONE Integration Id". _(res)_ |
| `contactNumber` | Sell-to Contact No. |  |
| `billToCustomerNumber` | Bill-to Customer No. |  |
| `documentDate` | Document Date |  |
| `orderDate` | Order Date |  |
| `postingDate` | Posting Date |  |
| `requestedDeliveryDate` | Requested Delivery Date |  |
| `quoteValidUntilDate` | Quote Valid Until Date | Date until which the quote is valid. |
| `quoteAccepted` | Quote Accepted | Whether the customer has accepted the quote. |
| `quoteAcceptedDate` | Quote Accepted Date | Date the customer accepted the quote. |
| `quoteSentToCustomerDateTime` | Quote Sent to Customer | When the quote was sent to the customer. |
| `currencyCode` | currencyCode | ISO code; empty maps to LCY. _(cur)_ |
| `paymentTermsCode` | Payment Terms Code |  |
| `reasonCode` | Reason Code | Supplementary source code used to trace this document. |
| `paymentMethodCode` | Payment Method Code |  |
| `shipmentMethodCode` | Shipment Method Code |  |
| `pricesIncludeTax` | Prices Including VAT |  |
| `salespersonCode` | Salesperson Code |  |
| `locationCode` | Location Code |  |
| `shippingAgentCode` | Shipping Agent Code |  |
| `shippingAgentServiceCode` | Shipping Agent Service Code |  |
| `sellToAddressLine1` | Sell-to Address |  |
| `sellToAddressLine2` | Sell-to Address 2 |  |
| `sellToCity` | Sell-to City |  |
| `sellToCounty` | Sell-to County |  |
| `sellToCountryRegionCode` | Sell-to Country/Region Code |  |
| `sellToPostCode` | Sell-to Post Code |  |
| `phoneNumber` | Sell-to Phone No. |  |
| `email` | Sell-to E-Mail |  |
| `billToName` | Bill-to Name |  |
| `billToAddressLine1` | Bill-to Address |  |
| `billToAddressLine2` | Bill-to Address 2 |  |
| `billToCity` | Bill-to City |  |
| `billToCounty` | Bill-to County |  |
| `billToCountryRegionCode` | Bill-to Country/Region Code |  |
| `billToPostCode` | Bill-to Post Code |  |
| `shipToName` | Ship-to Name |  |
| `shipToAddressLine1` | Ship-to Address |  |
| `shipToAddressLine2` | Ship-to Address 2 |  |
| `shipToCity` | Ship-to City |  |
| `shipToCounty` | Ship-to County |  |
| `shipToCountryRegionCode` | Ship-to Country/Region Code |  |
| `shipToPostCode` | Ship-to Post Code |  |
| `shipToContact` | Ship-to Contact |  |
| `shipToCode` | Ship-to Code | Saved ship-to address code. Setting it (the Alternate option) copies that customer ship-to address onto the document. |
| `shipToOptions` | shipToOptions | Write-only control: Default, Alternate, or Custom. Default copies the sell-to (customer) address into ship-to; Custom clears Ship-to Code so you can write ship-to fields freely; Alternate leaves the current ship-to in place so you can set a shipToCode. Reads back blank. _(res)_ |
| `billToOptions` | billToOptions | Write-only control: set to Customer to copy the sell-to (customer) address into the bill-to fields. Reads back blank. |
| `vatRegistrationNumber` | VAT Registration No. |  |
| `taxLiable` | Tax Liable |  |
| `taxAreaCode` | Tax Area Code |  |
| `genBusPostingGroup` | Gen. Bus. Posting Group | General business posting group. Defaults from the sell-to customer when the customer is resolved; set it only to override the customer's configured posting setup for this document. |
| `vatBusPostingGroup` | VAT Bus. Posting Group |  |
| `shortcutDimension1Code` | Shortcut Dimension 1 Code | Shortcut dimension 1. See Dimensions. |
| `shortcutDimension2Code` | Shortcut Dimension 2 Code | Shortcut dimension 2. See Dimensions. |
| `shortcutDimension3Code` | EONE Shortcut Dim 3 Code | Shortcut dimension 3. See Dimensions. |
| `shortcutDimension4Code` | EONE Shortcut Dim 4 Code | Shortcut dimension 4. See Dimensions. |
| `shortcutDimension5Code` | EONE Shortcut Dim 5 Code | Shortcut dimension 5. See Dimensions. |
| `shortcutDimension6Code` | EONE Shortcut Dim 6 Code | Shortcut dimension 6. See Dimensions. |
| `shortcutDimension7Code` | EONE Shortcut Dim 7 Code | Shortcut dimension 7. See Dimensions. |
| `shortcutDimension8Code` | EONE Shortcut Dim 8 Code | Shortcut dimension 8. See Dimensions. |
| `dimensionSetId` | Dimension Set ID | The dimension set this record carries. Join it to the dimensionSetEntries endpoint to resolve the full set of dimension codes and values, including any beyond the eight shortcut dimension columns. _(ro)_ |
| `status` | Status | _(ro)_ |
| `totalAmountExcludingTax` | totalAmountExcludingTax | Calculated from the lines. _(ro)_ |
| `totalTaxAmount` | totalTaxAmount | Calculated from the lines. _(ro)_ |
| `totalAmountIncludingTax` | totalAmountIncludingTax | Calculated from the lines. _(ro)_ |
| `lastModifiedDateTime` | SystemModifiedAt | _(ro)_ |

## Related pages

Collections nested under this endpoint:

- [Sales Quote Lines](https://eonesolutions.github.io/eone-bc-integration/core-salesQuoteLines.md)
