Quotes

Create Quote record

Changed on

Create a new Quote record with the provided data. Validates all required fields and business rules.

Side effects

  • If an approval workflow matches this request, DualEntry can set record_status back to draft.
post/public/v2/quotes/

Request

  • Base URL: https://api.dualentry.com
  • URL: https://api.dualentry.com/public/v2/quotes/
  • Auth: none declared

Query parameters

apply_default_classificationsboolean

When false, store submitted line classifications, including an empty list. When omitted, organization defaults apply to new lines with omitted or empty classifications only when the organization setting is enabled.

Headers

Idempotency-Keystring

Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422.

Request body

bill_to_addressstring nullable

Deprecated: send the structured billing_address / shipping_address instead.

ship_to_addressstring nullable

Deprecated: send the structured billing_address / shipping_address instead.

valid_untilstring date
company_idinteger required
customer_idinteger nullable
namestring
emailstring required
currency_iso_4217_codestring required
term_idinteger nullable
memostring
close_datestring date required
contract_start_datestring date required
contract_end_type'after' | 'ongoing' | 'date'
number_of_monthsinteger nullable
contract_end_datestring date nullable
contract_legal_termsstring nullable
document_headline_total'tcv' | 'annual' | 'quarterly' | 'monthly' | 'first_year'
document_total_rowsQuoteTotalRow[] nullable

Total rows that print on the quote document, in print order. The row of the large total does not print. Omit to use the organization default on create and keep the saved rows on update.

document_year_by_yearboolean nullable

Print the year-by-year breakdown table on the quote document. Omit to keep the saved value on update; new quotes start with it off.

record_status'draft' | 'posted' | 'archived'

Response

OK

bill_to_addressstring required

Deprecated: send the structured billing_address / shipping_address instead.

ship_to_addressstring required

Deprecated: send the structured billing_address / shipping_address instead.

created_atstring date-time required
updated_atstring date-time required
completed_approvals_countinteger
total_approvals_countinteger
workflow_statusstring nullable
pending_approvers_countinteger
send_status'draft' | 'awaiting_approval' | 'approved' | 'rejected'
can_sendboolean
bank_match_statusstring nullable
idinteger required
numberinteger required
codestring nullable

Code from the company quote sequence, e.g. QT-0001

record_status'draft' | 'posted' | 'archived' required
valid_untilstring date required
company_idinteger required
company_namestring required
company_currencystring required
customer_idinteger nullable required
customer_namestring nullable required
namestring required
emailstring required
currency_iso_4217_codestring required
term_idinteger nullable required
term_namestring required
memostring required
close_datestring date required
contract_start_datestring date required
contract_end_type'after' | 'ongoing' | 'date' required
number_of_monthsinteger nullable required
contract_end_datestring date nullable required
contract_legal_termsstring nullable required
sent_atstring date-time nullable required
document_headline_total'tcv' | 'annual' | 'quarterly' | 'monthly' | 'first_year' required
document_total_rowsQuoteTotalRow[] required
document_year_by_yearboolean required
subtotalstring required

Sum of quantity x rate before discounts and tax

discount_totalstring required

Sum of inline line discounts

tax_totalstring required

Sum of line tax

amountstring required

Quote total for one billing period of each line, calculated like an invoice total

contract_valuestring required

Contract amount this quote converts to: quantity x rate over each line's term, before discount and tax; approvals compare this

Changes

    • info

      added the new optional query request parameter apply_default_classifications

    • info

      added the optional property // to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property // to the response with the status