01
About this report
One row per general ledger posting on a transaction line that carries a project. Each row gives the project, month, date, transaction type, document, account, side and amount. Side is Revenue for income and other income accounts, and Cost for cost of sales, expense and other expense accounts. Both sides read positive, in base currency from the primary accounting book.
Opened from Project profitability, it arrives filtered to one project and side, and the amounts add up to the figure clicked. Filter on Account to see what a project's cost is made of.
02
Sample preview
Fictional figures in the shape you will see. Yours come from your account.
| Project | Month | Date | Type | Document | Account | Side | Amount |
|---|---|---|---|---|---|---|---|
| Harbor & Pine Co. : Retail rollout | 2026-09 | 2026-09-19 | CustInvc | INV20931 | 4100 Services | Revenue | 7,600 |
| Harbor & Pine Co. : Retail rollout | 2026-09 | 2026-09-12 | VendBill | B-7955 | 6005 Contractors | Cost | 5,200 |
| Harbor & Pine Co. : Retail rollout | 2026-09 | 2026-09-06 | ExpRept | EXP1182 | 6420 Travel | Cost | 1,240.80 |
| Harbor & Pine Co. : Retail rollout | 2026-08 | 2026-08-15 | CustInvc | INV20877 | 4100 Services | Revenue | 12,500 |
03
The SuiteQL
This is the query each report runs. Read it, copy it, or change it after import.
SELECT j.altname AS project,
TO_CHAR(p.tran_date, 'YYYY-MM') AS period,
TO_CHAR(p.tran_date, 'YYYY-MM-DD') AS tran_date,
p.type_code AS type,
p.document,
p.account,
p.side,
p.amount
FROM (SELECT tl.entity AS project_id,
t.trandate AS tran_date,
t.type AS type_code,
NVL(t.tranid, t.transactionnumber) AS document,
a.displaynamewithhierarchy AS account,
CASE WHEN a.accttype IN ('Income', 'OthIncome') THEN 'Revenue' ELSE 'Cost' END AS side,
CASE WHEN a.accttype IN ('Income', 'OthIncome') THEN -tal.amount ELSE tal.amount END AS amount
FROM transactionaccountingline tal
JOIN accountingbook ab ON ab.id = tal.accountingbook AND ab.isprimary = 'T'
JOIN transaction t ON t.id = tal.transaction
JOIN transactionline tl ON tl.transaction = tal.transaction AND tl.id = tal.transactionline
JOIN account a ON a.id = tal.account
WHERE tal.posting = 'T'
AND a.accttype IN ('Income', 'OthIncome', 'COGS', 'Expense', 'OthExpense')
AND tl.entity IN (SELECT j.id FROM job j)) p
JOIN job j ON j.id = p.project_id
WHERE p.amount <> 0
ORDER BY project, p.tran_date DESC04