01
About this report
One row per vendor with spend over the last 365 days, the share of total spend and the date of the latest bill or credit. Spend is bill lines less vendor credit lines, before tax, in base currency. The Bills column counts bills and vendor credits.
Use it to prepare vendor negotiations or to consolidate vendors. The vendor name opens the vendor record.
02
Sample preview
Fictional figures in the shape you will see. Yours come from your account.
| Vendor | Bills | Spend | Share of spend | Last bill |
|---|---|---|---|---|
| Ridgeline Contractors | 41 | 162,400 | 0.31 | 2026-09-04 |
| Cloudway Hosting | 12 | 148,900 | 0.28 | 2026-09-15 |
| Pacific Office Partners | 18 | 38,210.90 | 0.07 | 2026-09-01 |
| Metro Courier Services | 66 | 14,120.35 | 0.03 | 2026-09-18 |
03
The SuiteQL
This is the query each report runs. Read it, copy it, or change it after import.
SELECT x.vendor__id,
NVL(v.altname, v.entityid) AS vendor,
x.bills,
x.spend,
x.spend / NULLIF(SUM(x.spend) OVER (), 0) AS share,
TO_CHAR(x.last_bill, 'YYYY-MM-DD') AS last_bill
FROM (SELECT t.entity AS vendor__id,
COUNT(DISTINCT t.id) AS bills,
SUM(tl.foreignamount * t.exchangerate) AS spend,
MAX(t.trandate) AS last_bill
FROM transaction t
JOIN transactionline tl ON tl.transaction = t.id
JOIN entity v ON v.id = t.entity
WHERE t.type IN ('VendBill', 'VendCred')
AND t.posting = 'T'
AND tl.mainline = 'F'
AND tl.taxline = 'F'
AND NVL(tl.itemtype, 'x') NOT IN ('TaxGroup', 'TaxItem', 'Subtotal', 'Description', 'EndGroup')
AND t.trandate > TRUNC(SYSDATE) - 365
GROUP BY t.entity) x
JOIN entity v ON v.id = x.vendor__id
ORDER BY x.spend DESC04