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.

Tool
filmo_proformas_update_status
Access: Write

Result

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "filmo_proformas_update_status",
    "arguments": {
      "proformaId": "prof_8f2a1c",
      "status": "pending"
    }
  }
}

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

proformaIdstringRequired

Proforma identifier.

Limits: min length 1

statusstringRequired

New commercial status: pending (awaiting an answer), confirmed (accepted by the customer) or cancelled (rejected or cancelled).

Available options: pending, confirmed, cancelled

notesstring

Note stored in the document history alongside the status change.

Limits: max length 1000

idempotencyKeystring

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

ifMatchstring

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
idstring

Proforma identifier.

proformaNumberstring | null

Proforma number; null while it is a draft.

statusstring

Document lifecycle status.

operativeStatusstring | null

Commercial status: pending (awaiting an answer), confirmed (accepted by the customer) or cancelled; null if not recorded.

issueDatestring<date-time> | null

Issue date in ISO 8601 UTC; null while it has none.

currencystring

Currency of the amounts, as an ISO 4217 code.

contactobject | null

Contact the proforma is issued to; null if not recorded.

Show child attributes
contact.idstring

Contact identifier.

contact.namestring

Contact name.

orderIdstring | null

Source order of the proforma; null if it does not come from one.

orderNumberstring | null

Number of that order; null if it does not come from one.

projectIdstring | null

Project linked to the proforma; null if none.

subTotalstring

Subtotal before discounts and taxes, as a decimal string.

Limits: pattern ^-?\d+\.\d{2}$

discountTotalstring

Total discounts, as a decimal string.

Limits: pattern ^-?\d+\.\d{2}$

taxesPricestring

Tax total, as a decimal string.

Limits: pattern ^-?\d+\.\d{2}$

netPricestring

Taxable base, as a decimal string.

Limits: pattern ^-?\d+\.\d{2}$

grossPricestring

Total including taxes, as a decimal string.

Limits: pattern ^-?\d+\.\d{2}$

totalPaidstring | null

Advance payments received against the proforma, as a decimal string; null if none recorded.

Limits: pattern ^-?\d+\.\d{2}$

createdAtstring<date-time>

Creation date in ISO 8601 UTC.

updatedAtstring<date-time>

Last modification date in ISO 8601 UTC.

An error is a result with isError: true and the problem in content[0].text; there is no structuredContent. See Errors.

The same operation by REST

This tool runs PATCH /api/v1/proformas/{proformaId}/status.

  • 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.

  • 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: true and the problem in the first text block. Branch on its code.