Create estimate
Creates a new estimate (quote) in the organisation. Estimates never post accounting transactions and are only converted to invoices by calling the convert endpoint.
Creating an estimate
Estimates (quotes) share their structure with invoices, but never post accounting transactions. The lifecycle status of an estimate (open, accepted, rejected) is managed through the Set estimate status endpoint. To turn an accepted estimate into an invoice, use Convert estimate to invoice.
The position structure is identical to invoices — see Create invoice for the full reference, including external references. Estimates may also be issued in a foreign currency by providing originalCurrency (and optionally exchangeRate; when omitted, the organisation’s stored rate is used). When converted to an invoice the FX details and external references are carried over.
Example
Retrying safely with idempotency keys
If a request fails or times out, provide a uniqueIdempotency-Key header (for example a UUID) to retry it without creating a duplicate estimate:
409 Conflict errors returned when a key is reused with a different payload or while a request is still being processed.Authorizations
API token for authentication. Obtain from your Infinity account settings.
Headers
A unique key that makes this request idempotent, for example a UUID. If a request fails or times out, it can safely be retried with the same key without creating a duplicate: a retry with the same key and payload returns the status and response of the original request, including the resource it created.
Keys are scoped to your organisation and API key, and are retained for 24 hours. Reusing a key with a different payload returns 409 Conflict. While a request is still being processed, other requests with the same key also return 409 Conflict.
1 - 200Body
The estimate payload.
Request body for creating an estimate.
The opening date (issue date) of the document in YYYY-MM-DD format. For invoices, this is also the date used for the posted accounting transactions.
The ordered list of positions on the document. At least one position is required, and discount positions must specify exactly one of percentage or amount.
A standard billable line item with a quantity, single amount, and contra account. Most invoice and estimate positions are of this type.
- ProductPosition
- DiscountPosition
- TextPosition
- SubtotalPosition
When true the estimate is saved as a draft.
The id of the invoice template to render the document with. When omitted while creating an invoice or estimate, the organisation's first template is used.
The id of the contact this document is addressed to. Required unless customRecipientText is provided.
An ad-hoc recipient text used when no contact is associated with the document.
2000An optional reference for this document in an external system.
128Optional document title displayed on the rendered output.
128Payment terms for this document in days from the opening date. Defaults to 30 on create.
0 <= x <= 365Text rendered above the positions.
2000Text rendered below the positions.
2000Whether position amounts are entered gross (including VAT) or net (excluding VAT).
gross, net The language used to render the document.
de, en, fr, it The columns to render in the positions table. If not provided the template default is used.
A column that can be shown on the rendered invoice or estimate.
quantity, unit, articleNumber, name, date, vatDebt, vatRate, singleAmount, totalAmount, discountRate, positionNumber, customTextColumn1, customTextColumn2, customTextColumn3 For foreign-currency documents: the 3-character ISO 4217 currency code the document is denominated in. Must be a currency code that is enabled in the organisation. When set without exchangeRate, the organisation's stored exchange rate for that currency is used.
3For foreign-currency documents: the conversion rate from the original currency to the primary accounting currency, expressed as 1 originalCurrency = X primaryCurrency. Optional when originalCurrency is set; if omitted, defaults to the organisation's stored exchange rate for that currency. Cannot be set without originalCurrency.
Response
The estimate was created successfully.
The full representation of an estimate (quote).