> ## Documentation Index
> Fetch the complete documentation index at: https://developer.jtl-software.com/llms.txt
> Use this file to discover all available pages before exploring further.

# PurchaseOrder

> A purchase order to a supplier. Polymorphic: 'purchaseOrderType' selects the variant. The variants exclude each other and every variant has exactly the properties of its kind. Line items, goods receipts and allowed actions are read through their own queries.



**Kind**: `interface`

## Fields

**`id`**: `ID!`

The ID of the purchase order.

---

**`number`**: `String!`

The purchase order number. It is drawn from the number range when the order is created and cannot be changed through the API; empty for an older order without one.

---

**`status`**: `PurchaseOrderStatus!`

Where the order stands.

---

**`isOverdue`**: `Boolean!`

Whether an order to a warehouse is overdue: it was sent, something of the ordered quantity is still undelivered and the requested delivery date has passed. Never true for a drop shipping order. Computed.

---

**`isConfirmed`**: `Boolean!`

Whether the supplier has confirmed the order. Set with 'ConfirmPurchaseOrder', reset with 'ResetPurchaseOrderConfirmation'.

---

**`isCompletedManually`**: `Boolean!`

Whether the order was completed by hand with 'CompletePurchaseOrder', possibly with quantities still undelivered.

---

**`supplierId`**: `ID!`

The ID of the supplier. It cannot be changed.

---

**`supplierAddress`**: `PurchaseOrderAddress`

The supplier's address and contact person on the order. 'companyName' is the supplier's name. Changing the contact person replaces the person fields.

---

**`customerNumberAtSupplier`**: `String`

The company's customer number at the supplier, as printed on the order.

---

**`companyId`**: `ID`

The ID of the company that orders.

---

**`billingAddress`**: `PurchaseOrderAddress`

The billing address: the address of the company, taken from the company again on every change of the order header.

---

**`deliveryAddress`**: `PurchaseOrderAddress`

Where the supplier delivers to: the address of the warehouse or of the customer, unless it was replaced.

---

**`languageTag`**: `String`

The language of the order documents as BCP 47 language tag, for example de or de-AT, the supplier's language.

---

**`currencyCode`**: `String!`

The currency of all prices of the order as currency code (ISO 4217 alpha-3 in capitals, for example EUR; a currency defined by the tenant has the prefix 'x-'), the supplier's currency. It cannot be changed through the API.

---

**`exchangeRate`**: `Decimal!`

The exchange rate from the order currency to the base currency of the company: a base-currency amount is the order amount divided by it.

---

**`requestedDeliveryDate`**: `DateTime`

When the goods are requested. Completing the order by hand sets it to the day of completion.

---

**`supplierDocumentNumber`**: `String`

The supplier's number for the order, for example the number of its order confirmation.

---

**`referenceNumber`**: `String`

A free reference. For a drop shipping order from a sales delivery it is the number of the sales order.

---

**`internalComment`**: `String`

A comment for internal use; it is not printed.

---

**`printNote`**: `String`

A note printed on the order documents.

---

**`totalNetAmount`**: `Decimal!`

The net total of all line items, allowances and charges included, in the order currency. Computed.

---

**`totalGrossAmount`**: `Decimal!`

The gross total: the net total plus the tax of each line item. Computed.

---

**`sentAt`**: `DateTime`

When the order was first marked as sent.

---

**`lastPrintedAt`**: `DateTime`

When the order was last printed.

---

**`lastMailedAt`**: `DateTime`

When the order was last sent by e-mail.

---

**`lastExportedAt`**: `DateTime`

When the order was last exported.

---

**`lastReminderAt`**: `DateTime`

When the supplier was last reminded of undelivered quantities.

---

**`createdAt`**: `DateTime`

When the order was created.

---

**`createdBy`**: `ID`

The user who created the order.

---

**`purchaseOrderType`**: `PurchaseOrderType!`

Discriminator: the kind of the order.

## Possible types

- `DropShippingPurchaseOrder`
- `WarehousePurchaseOrder`

