Skip to main content

appCreateQuoteDraft

Requires permission sales:quote:create.

Create a DRAFT quote from an installed app. Send the customer, lines (variant, unit, quantity) and words; the server prices every line and sets tax, totals, currency, rate and dates. Counts against the monthly quote limit. Needs write_quotes.

Errors: a failed call returns a GraphQL errors entry, not a field on the result, and data may be null or partial. Read the entry's extensions.code and message; every shape and code is in the Error reference.

Example:

mutation AppCreateQuoteDraft($input: AppCreateQuoteDraftInput!) {
appCreateQuoteDraft(input: $input) {
id
quoteNumber
competitorName
customerName
status
createdAt
convertedToInvoice {
id
invoiceNumber
supplierCode
supplierDisplayName
supplierName
status
}
}
}

Variables:

{
"input": {
"customerId": "id",
"lines": [
{
"quantity": 0,
"uomId": "id",
"variantId": "id"
}
]
}
}

Response:

{
"data": {
"appCreateQuoteDraft": {
"id": "id",
"quoteNumber": "string",
"competitorName": "string",
"customerName": "string",
"status": "string",
"createdAt": "2025-01-15T00:00:00Z",
"convertedToInvoice": {
"id": "id",
"invoiceNumber": "string",
"supplierCode": "string",
"supplierDisplayName": "string",
"supplierName": "string",
"status": "APPROVED"
}
}
}
}
appCreateQuoteDraft(
input: AppCreateQuoteDraftInput!
): Quote!

Arguments​

appCreateQuoteDraft.input ● AppCreateQuoteDraftInput! non-null input​

The quote.

Type​

Quote object​

A priced offer to a customer, valid until a set date. Converts to a sales order or invoice when accepted.