Proformas
Change the commercial status of a proforma
Moves the OPERATIVE status of the proforma —pending, confirmed or cancelled—, which is the answer of the customer, and leaves an optional note in the history of the document.
invoices:writeinvoices:write- 120/min
- May need an add-on
- Server annotation: Idempotent
Result
generated from the schema
Any transition among the three is allowed, and it is undone by calling again. It does NOT touch the tax status (draft / validated): validate and void are for that. Unlike the quote, confirming a proforma does not drag any other along, because proformas have no versions. It requires sales documents in the plan of the account (402 without it). Returns the full proforma, the same projection as its GET.
Arguments
Proforma identifier.
Limits: min length 1
New commercial status: pending (awaiting an answer), confirmed (accepted by the customer) or cancelled (rejected or cancelled).
Available options: pending, confirmed, cancelled
Note stored in the document history alongside the status change.
Limits: max length 1000
Idempotency key chosen by the client (a UUID is recommended). Repeating the same key with the same arguments within 24 h returns the stored response without executing again; with different arguments it responds 422. It is the safe way to retry after a network failure.
Limits: min length 1, max length 255
Optimistic locking: the meta.etag you got from the detail read of this resource (or "*"). If the resource changed since, the call fails with 412 precondition_failed before writing anything; read it again and retry. Omit it to write unconditionally.
Limits: min length 1
Result
On success the result carries structuredContent with data and meta. These are the attributes of data.
Show the attributes of data
Proforma identifier.
Proforma number; null while it is a draft.
Document lifecycle status.
Commercial status: pending (awaiting an answer), confirmed (accepted by the customer) or cancelled; null if not recorded.
Issue date in ISO 8601 UTC; null while it has none.
Currency of the amounts, as an ISO 4217 code.
Contact the proforma is issued to; null if not recorded.
Show child attributesHide child attributes
Contact identifier.
Contact name.
Source order of the proforma; null if it does not come from one.
Number of that order; null if it does not come from one.
Project linked to the proforma; null if none.
Subtotal before discounts and taxes, as a decimal string.
Limits: pattern ^-?\d+\.\d{2}$
Total discounts, as a decimal string.
Limits: pattern ^-?\d+\.\d{2}$
Tax total, as a decimal string.
Limits: pattern ^-?\d+\.\d{2}$
Taxable base, as a decimal string.
Limits: pattern ^-?\d+\.\d{2}$
Total including taxes, as a decimal string.
Limits: pattern ^-?\d+\.\d{2}$
Advance payments received against the proforma, as a decimal string; null if none recorded.
Limits: pattern ^-?\d+\.\d{2}$
Creation date in ISO 8601 UTC.
Last modification date in ISO 8601 UTC.
An error is a result with isError: true and the problem in content[0].; there is no structuredContent. See Errors.
The same operation by REST
This tool runs PATCH /api/v1/proformas/{proformaId}/status.
Related pages
Link to this section: Related pagesProformas
Change the commercial status of a proforma
Moves the OPERATIVE status of the proforma —
pending,confirmedorcancelled—, which is the answer of the customer, and leaves an optional note in the history of the document.Guides
Safe writes
An assistant that can write can also write the wrong thing. Decide which tools need a person, retry without duplicating, and know what a write sets in motion.
Guides
Errors
A tool error is a result with
isError: trueand the problem in the first text block. Branch on itscode.
Was this page helpful?