01
About this report
One row per month of order date for the last 24 months, counting every sales order that is not cancelled. The value is the order lines before tax, in base currency at each order's exchange rate.
Group by Quarter or Year to see the same figures over longer periods. Average order is recalculated from the totals, not averaged. Filter on Month to narrow the range.
02
Sample preview
Fictional figures in the shape you will see. Yours come from your account.
| Month | Orders | Amount | Average order |
|---|---|---|---|
| 2026-04 | 118 | 412,380.50 | 3,494.75 |
| 2026-05 | 131 | 455,912 | 3,480.24 |
| 2026-06 | 124 | 438,004.25 | 3,532.29 |
| 2026-07 | 109 | 371,220 | 3,405.69 |
| 2026-08 | 142 | 509,876.40 | 3,590.68 |
| 2026-09 | 97 | 344,510.10 | 3,551.65 |
03
The SuiteQL
This is the query each report runs. Read it, copy it, or change it after import.
SELECT TO_CHAR(t.trandate, 'YYYY-MM') AS period,
COUNT(DISTINCT t.id) AS orders,
SUM(-tl.foreignamount * t.exchangerate) AS amount,
SUM(-tl.foreignamount * t.exchangerate) / COUNT(DISTINCT t.id) AS avg_order
FROM transaction t
JOIN transactionline tl ON tl.transaction = t.id
WHERE t.type = 'SalesOrd'
AND t.status NOT IN ('SalesOrd:C', 'C')
AND tl.mainline = 'F'
AND tl.taxline = 'F'
AND tl.itemtype NOT IN ('TaxGroup', 'TaxItem', 'Subtotal', 'Description', 'EndGroup')
AND t.trandate >= ADD_MONTHS(TRUNC(SYSDATE, 'MM'), -23)
GROUP BY TO_CHAR(t.trandate, 'YYYY-MM')
ORDER BY period04