/
/
See where project money went and what is unbilled
For project managers who want a Dynamics GP project's cost totalled across all four cost sources, by asking their AI assistant.
On this page
Connector
Connect Microsoft Dynamics GP, pick your AI tool and paste the prompt.
The problem
Project cost is split across four sources
A project's real cost in Dynamics GP is split across timesheets, expenses, equipment and miscellaneous logs, each with its own billing status. Comparing spend with forecast and finding unbilled cost means adding up four sources by hand.
Without PopdockAI
- Export timesheet, expense, equipment and misc lines
- Total them by category and billing status
- Compare with forecast and billings
- Hunt for the oldest unbilled costs
With PopdockAI
- Labor, expense, equipment and misc lines are read together
- Cost is totalled by source, category and billing status
- Forecast, billings, percent spent and margin sit alongside
- Oldest unbilled lines are listed, and gaps stated rather than forced
The prompt
Use this prompt
Copy it into any AI tool connected to PopdockAI. Swap the values in braces for your own.
**Objective:** Review the cost and billing position of project `{project-name}` for cost lines between `{from-date}` (default the project start) and `{to-date}` (default today), and surface costs that have not been billed.
Pass `{company}` as `company` on every call (if it is empty, omit `company` and the default company is used). Pass a generous `max-records` (1000). If a result comes back with exactly that many rows, say the result may be truncated.
**Step 1: Resolve the project**
Call `dynamics-gp-get-pa-project` with `project-name.contains` set to `{project-name}`. If nothing matches, try `project-number` set to `{project-name}`. If more than one project matches, list number, name, customer and status and stop. From the match, note `project-number`, `contract-number`, `customer-name`, `status`, `project-type`, `actual-total-cost`, `forecast-total-cost`, `actual-billings`, `actual-begin-date`.
**Step 2: Cost lines, all four sources**
Filter each by `project-number` and the date range (`date.from` / `date.to`):
* `dynamics-gp-get-pa-timesheet-line` (labour): `total-cost`, `quantity` hours, `employee-id`, `billing-status`
* `dynamics-gp-get-pa-employee-expense-line` (expenses): `total-costs`, `expense-type`, `billing-status`
* `dynamics-gp-get-pa-equipment-log-line` (equipment): `total-cost`, `billing-status`
* `dynamics-gp-get-pa-misc-log-line` (miscellaneous): `total-cost`, `billing-status`
Total cost by source, by `cost-category-id` and by `billing-status`.
**Step 3: Category names and change orders**
* Call `dynamics-gp-get-pa-cost-category` for the cost category ids found, to label them with `name`.
* Call `dynamics-gp-get-pa-change-order` filtered by `contract-number`: list change orders with status, `total-amount`, `total-cost` and `approval-date`. Unapproved change orders explain cost that the forecast may not yet include.
**Step 4: Assess**
* Percent of forecast spent: `actual-total-cost` divided by `forecast-total-cost`.
* Margin to date: `actual-billings` minus `actual-total-cost`.
* Unbilled cost: lines whose `billing-status` is not billed, with those older than 30 days called out.
* Flag cost categories with cost but no billing, and employees whose hours dominate the labour cost.
**Step 5: Report**
Project header, the forecast/actual/billings line with percent spent and margin, cost by source, a cost-by-category table (category, name, labour, expense, equipment, miscellaneous, unbilled), the change orders, then the oldest ten unbilled lines.
**Rules & Guidelines:**
* Read-only. Do not call `dynamics-gp-pa-timesheet-line-add`, `dynamics-gp-pa-employee-expense-line-add`, `dynamics-gp-pa-equipment-log-line-add`, `dynamics-gp-pa-misc-log-line-add`, `dynamics-gp-pa-project-note` or any tool whose name does not contain `get`.
* The cost lines in the date range need not add up to `actual-total-cost`, which covers the whole project and posted cost only. Say so if they differ; do not force them to agree.
**Validation:**
* If the project has no cost lines in the range, report the project totals and change orders only.Who it's for
One answer, three teams that use it
Project managers
Check spend against forecast
Percent spent and margin against forecast show whether the project is on track.
How is the Fabrikam upgrade project tracking against forecast in Dynamics GP?
Project accountants
Bill costs that were missed
The oldest unbilled lines and categories with cost but no billing show what to invoice next.
What costs on project PRJ-3302 in Dynamics GP are still unbilled?
Operations directors
See cost by source
Labor, expense, equipment and other costs side by side show what is driving the project's spend.
Break down Dynamics GP costs on the Northwind rollout by labor, expense and equipment this year.
How it works
What PopdockAI does when you ask
You name the project and a date range, and your AI assistant totals every cost source in Dynamics GP. It reports where the money went and changes nothing.
01
Ask
You name the project and a date range.
02
Read
It reads labor, expense, equipment and miscellaneous cost lines.
03
Assess
It totals cost by source, category and billing status against forecast.
04
Report
You get spend, margin, change orders and the oldest unbilled lines.
What PopdockAI provides
The tools behind the answer
Ready made tools for Microsoft Dynamics GP and one secure connection to your AI tool. No code, no exports.
microsoft-dynamics-gp-get-pa-project
microsoft-dynamics-gp-get-pa-timesheet-line
microsoft-dynamics-gp-get-pa-employee-expense-line
microsoft-dynamics-gp-get-pa-equipment-log-line
microsoft-dynamics-gp-get-pa-misc-log-line
microsoft-dynamics-gp-get-pa-cost-category
microsoft-dynamics-gp-get-pa-change-order
This report is built from Get data tools only. PopdockAI applies the row, field and parameter rules your admin sets, and every query is written to the audit trail.
The outcome
Where project money went, and what to bill
Related use cases
More ways to put this data to work
One prompt template with infinite possibilities.
Your AI assistant adapts its approach, tone, and capabilities to match each unique context while you maintain a single, manageable workflow.
Join forward-thinking companies that are transforming their operations with intelligent, secure AI automation.

.webp)
