01
About this portlet
Shows the Overdue invoices report on a NetSuite home dashboard as a table of ten rows per page, with the invoice, customer, due date, days overdue and unpaid amount. The invoice number opens the invoice.
After import, give the report an audience. Then, on a NetSuite dashboard, choose Personalize and add a Custom Portlet. On the new portlet, choose Set Up and pick Advanced Report - Overdue invoices. The portlet shows only to people who can open the report.
02
What it carries
The portlet reads 1 report. They travel in the same file, so the import creates them first.
03
Sample preview
Fictional figures in the shape you will see. Yours come from your account.
| Invoice | Customer | Invoice date | Due date | Days overdue | Terms | Currency | Unpaid (invoice currency) | Unpaid |
|---|---|---|---|---|---|---|---|---|
| INV20511 | Coastal Freightways | 2026-05-02 | 2026-06-01 | 115 | Net 30 | Canadian Dollar | 12,490 | 9,120 |
| INV20688 | Coastal Freightways | 2026-06-20 | 2026-07-20 | 66 | Net 30 | Canadian Dollar | 5,890 | 4,300 |
| INV20790 | Brightline Dental Group | 2026-07-11 | 2026-08-10 | 45 | Net 30 | US Dollar | 8,750 | 8,750 |
| INV20877 | Harbor & Pine Co. : Retail rollout | 2026-08-15 | 2026-09-14 | 10 | Net 30 | US Dollar | 12,500 | 12,500 |
04
The SuiteQL
This is the query each report runs. Read it, copy it, or change it after import.
SELECT t.id AS invoice__id,
t.tranid AS invoice,
NVL(e.altname, e.entityid) AS customer,
TO_CHAR(t.trandate, 'YYYY-MM-DD') AS invoice_date,
TO_CHAR(t.duedate, 'YYYY-MM-DD') AS due_date,
TRUNC(SYSDATE) - TRUNC(t.duedate) AS days_overdue,
BUILTIN.DF(t.terms) AS terms,
BUILTIN.DF(t.currency) AS currency,
t.foreignamountunpaid AS open_fx,
t.foreignamountunpaid * t.exchangerate AS open_amount
FROM transaction t
JOIN entity e ON e.id = t.entity
WHERE t.type = 'CustInvc'
AND t.posting = 'T'
AND t.foreignamountunpaid > 0
AND t.duedate < TRUNC(SYSDATE)
ORDER BY t.duedate