OfficeGest
Sales/Reports/Sales by article family

Sales by article family

Returns the net sales total (VAT excluded, credit notes subtracted) aggregated by the root family of the sold articles, ordered by total descending and truncated to limit (default 10). Covers the whole document history: this endpoint has no date window, mirroring the legacy dashboard widget it replaces. Families with no row in the families catalogue, and articles with no family, are excluded.

GET
/sales/reports/sales-by-article-family
AuthorizationBearer <token>

In: header

Query Parameters

limit?integer

How many families to return, ordered by net total descending. Defaults to 10 when omitted, mirroring the legacy dashboard widget.

Response Body

curl -X GET "https://og-tenant1.test:8003/api/v2/sales/reports/sales-by-article-family?limit=0"
{
  "data": [
    {
      "family_code": "string",
      "family_name": "string",
      "total": 0
    }
  ]
}
{
  "data": {
    "code": "VALIDATION_FAILED",
    "message": "The given data was invalid.",
    "errors": {
      "email": [
        "The email field is required."
      ]
    }
  },
  "meta": {
    "trace_id": "9f86d081884c7d659a2feaa0c55ad01568f3a1c2b4d5e"
  }
}
{
  "data": {
    "code": "VALIDATION_FAILED",
    "message": "The given data was invalid.",
    "errors": {
      "email": [
        "The email field is required."
      ]
    }
  },
  "meta": {
    "trace_id": "9f86d081884c7d659a2feaa0c55ad01568f3a1c2b4d5e"
  }
}
{
  "data": {
    "code": "VALIDATION_FAILED",
    "message": "The given data was invalid.",
    "errors": {
      "email": [
        "The email field is required."
      ]
    }
  },
  "meta": {
    "trace_id": "9f86d081884c7d659a2feaa0c55ad01568f3a1c2b4d5e"
  }
}
{
  "data": {
    "code": "VALIDATION_FAILED",
    "message": "The given data was invalid.",
    "errors": {
      "email": [
        "The email field is required."
      ]
    }
  },
  "meta": {
    "trace_id": "9f86d081884c7d659a2feaa0c55ad01568f3a1c2b4d5e"
  }
}