# Purchase Quotes _(Realtime-enabled)_

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

```
eOne/core/v1.0/purchaseQuotes
```

Read and write Purchase Quotes. This is the Purchase Header filtered to `Document Type = Quote`, the same physical table behind orders and invoices, scoped to quotes here. POST a whole document (header plus `purchaseQuoteLines`) in one call; the document type is stamped for you on insert.

## Resolve the vendor

You do not need the Business Central vendor number. Send any one of `vendorNumber`, `vendorId`, or `vendorIntegrationId`. The last is a _(res)_ field that looks the vendor up by its [integrationId](https://eonesolutions.github.io/eone-bc-integration/integration-id.md) and sets `Buy-from Vendor No.` for you. See [resolvers](https://eonesolutions.github.io/eone-bc-integration/resolvers.md).

## Create a quote

`POST` `/purchaseQuotes`

```
{
  "vendorIntegrationId": "ACME-001",
  "integrationId": "PQ-1000",
  "purchaseQuoteLines": [
    { "itemNumber": "1000", "quantity": 100, "directUnitCost": 4.50 }
  ]
}
```

## Currency

`currencyCode` uses the ISO code (e.g. `USD`). The local currency (LCY) round-trips as an **empty string**, not its ISO code. Send `""` for documents in your home currency.

## Bound actions

`release` performs a manual release and `reopen` returns a released quote to Open. Release a quote through the API when an approval flow needs it released and left for a person to finish.

`POST` `/purchaseQuotes({id})/Microsoft.NAV.release`

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

`POST` `/purchaseQuotes({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:** Dimensions 1 and 2 use the base shortcut fields; 3–8 use the EONE shortcut-dimension fields. See [dimensions](https://eonesolutions.github.io/eone-bc-integration/dimensions.md).

> **Caution:** Line totals (`amountExcludingTax`, `amountIncludingTax`, `netAmount`, `taxPercent`) are read-only, Business Central computes them. Sending them is ignored.

## Purchase 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. |
| `integrationId` | EONE Integration Id | Your external key. |
| `vendorNumber` | Buy-from Vendor No. | BC vendor number. |
| `vendorName` | Buy-from Vendor Name | _(ro)_ |
| `vendorIntegrationId` | vendorIntegrationId | Resolves the vendor by its integrationId, then sets Buy-from Vendor No. _(res)_ |
| `orderDate` | Order Date |  |
| `documentDate` | Document Date |  |
| `currencyCode` | currencyCode | ISO code; empty string = LCY. _(cur)_ |
| `paymentTermsCode` | Payment Terms Code |  |
| `reasonCode` | Reason Code | Supplementary source code used to trace this document. |
| `purchaserCode` | Purchaser Code |  |
| `locationCode` | Location Code |  |
| `pricesIncludeTax` | Prices Including VAT |  |
| `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)_ |
| `lastModifiedDateTime` | SystemModifiedAt | _(ro)_ |

## Related pages

Collections nested under this endpoint:

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