Finance

Proforma

Proforma: the advance invoice that is not yet an invoice.

Schemas: ProformaDto

Example

{
  "id": "id_8f2a1c",
  "proformaNumber": "string",
  "status": "string",
  "operativeStatus": "string",
  "issueDate": "2026-09-01T08:00:00Z",
  "currency": "EUR",
  "contact": {
    "id": "id_8f2a1c",
    "name": "Example"
  },
  "orderId": "string",
  "orderNumber": "string",
  "projectId": "string",
  "subTotal": "1234.50",
  "discountTotal": "1234.50",
  "taxesPrice": "1234.50",
  "netPrice": "1234.50",
  "grossPrice": "1234.50",
  "totalPaid": "1234.50",
  "createdAt": "2026-09-01T08:00:00Z",
  "updatedAt": "2026-09-01T08:00:00Z"
}

Generated from the schema

A proforma: the advance invoice that is not yet an invoice. It has a document status and an operative status (pending, confirmed or cancelled), which is the answer of the customer, and you change the operative one with PATCH /api/v1/proformas/{proformaId}/status. It shares the scope of invoices.

Attributes

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.

Returned by

Modified by