# Find Contractor Foreman projects going over budget

> Contractor Foreman sends no over-budget alert. Your agent checks job costing on every open project and lists the cost codes past their estimate.

Source: https://cotlet.dev/integrations/contractor-foreman-api-mcp-server/job-costing-report

With eight jobs running, nobody opens each project's Financials tab every week. Contractor Foreman shows a labor overrun clearly once you look, but nothing tells you to look, so it surfaces at the final invoice.

Cotlet does it in your own Contractor Foreman account with list\_projects, get\_project and get\_job\_costing, called by your AI agent, an n8n workflow or a script.

[Request access](https://cotlet.dev/app/signup?app=contractor-foreman) [All Contractor Foreman tools](https://cotlet.dev/integrations/contractor-foreman-api-mcp-server)

Hosted · nothing to install or maintain

Official options

## Can Contractor Foreman do this on its own?

Contractor Foreman has no API for job costing and its Zapier app sends no cost data (checked 11 Oct 2026). Its knowledge base, checked 12 Oct 2026, says there is no notification for a project going over budget or over budgeted hours; both are open feature suggestions.

By hand

## How you do it in Contractor Foreman today

1. Open Projects, select a project and click the Financials tab to see the Cost Comparison By Type chart of budgeted, committed and actual cost per item type.
2. Switch the chart to a table with the icon at its top right to read Remaining Committed and Remaining Actual, in dollars and percent.
3. For budget against actual, open the Reports module, expand Job Costs, click View next to Job Cost Actual Report (Detailed) and click Generate Report; the Job Cost Committed Report (Detailed) breaks the budget down per cost code.
4. Go back and repeat for the next project. Contractor Foreman has no notification when a project goes over budget, so an overrun is found only by whoever remembers to check.

With an agent

## How to find Contractor Foreman projects going over budget

Prompt

```
Every Monday, check job costing on all my open Contractor Foreman projects and tell me which ones have spent more than estimated on labor or materials, and by how much.
```

1. 01  
### Take every open job, not only the big ones  
list\_projects returns the jobs still in progress. The agent reads job costing for each one, because small service jobs overrun by a larger share and are the ones nobody opens.
2. 02  
### Judge overruns per cost code  
A project can look fine in total while labor runs 20 percent over and materials came in under. The agent flags each cost code where actual cost passes the estimate, and ranks projects by the dollar amount over, not by percent alone.
3. 03  
### Read the overrun against progress  
get\_project gives the revised contract amount and dates. Spending 90 percent of the labor budget on a job that is 40 percent complete is flagged as a warning even though nothing is over yet.
4. 04  
### Point at the likely cause  
Costs with no cost code land in an "Unassigned" bucket in Contractor Foreman. The agent reports that bucket separately, because a large Unassigned figure usually means bills or time cards were coded wrong, not that the job is losing money.
5. 05  
### Keep the week-to-week view  
On a weekly run the agent compares with last Monday's figures and says which overruns are new and which grew, so the same three projects are not reported as news every week.

### What you get back

Example data

```
Open projects checked: 8
Over estimate: Maple St Remodel, Labor $19,250 vs $18,000 (-$1,250), job 42% complete
Over estimate: Oak Ave Deck, Materials $6,880 vs $6,100 (-$780)
Watch: Johnson Bathroom, Labor 88% spent at 50% complete
Unassigned costs: Pine Rd Addition $2,140 with no cost code, check last week's bills
New since last Monday: Oak Ave Deck
```

### Other ways to ask

- Which projects are over on labor hours only? I want to talk to the crew leads.
- Give me Maple St job costing by cost code, with what is committed but not billed yet.
- On the first of each month, list completed projects from last month with final cost against estimate.

Before you automate it

## What Contractor Foreman allows, and what to know first

- Contractor Foreman builds Estimated Cost from the approved estimate, Schedule of Values items, approved change orders, approved work orders and service tickets on the project, without markup.
- Contractor Foreman counts Actual Cost from bills (without markup), expenses, time cards and equipment hours logged in daily logs.
- In Contractor Foreman job costing, a cost with no cost code or no item type is grouped as Unassigned.
- Contractor Foreman's Committed Cost includes purchase orders and subcontracts once they are submitted or approved, before they are billed, so it can pass the estimate before any bill arrives.

Every tool here only reads, so it can run weekly from n8n, Make, Zapier or cron without waiting for your OK.

Sources: [Contractor Foreman KB: An Overview of the Financial Tab of Projects](https://kb.contractorforeman.com/knowledge-base/an-overview-of-the-financial-tab-of-projects/) · [Contractor Foreman KB: Notification when a Project goes over Budget](https://kb.contractorforeman.com/knowledge-base/how-do-i-receive-a-notification-that-my-project-has-gone-over-budget/) · [Contractor Foreman KB: Budget vs Actual report for a lump sum project](https://kb.contractorforeman.com/knowledge-base/how-do-i-generate-a-budget-vs-actual-report-for-a-lump-sum-project/) · [Contractor Foreman KB: Job Costing Calculations Explained](https://kb.contractorforeman.com/knowledge-base/job-costing-calculations-explained/)

REST

## Call get\_job\_costing from a script

curl

```
curl https://cotlet.dev/api/v1/contractor-foreman/get_job_costing \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"project_id":"84213"}'
```

Example response

```
{
"project_id": "84213",
"cost_codes": [
{
"code": "Labor",
"estimated": 18000,
"actual": 19250,
"difference": -1250
},
{
"code": "Materials",
"estimated": 22000,
"actual": 20100,
"difference": 1900
},
{
"code": "Subcontractors",
"estimated": 9000,
"actual": 9000,
"difference": 0
}
],
"totals": {
"estimated": 49000,
"actual": 48350,
"difference": 650
},
"currency": "USD"
}
```

MCP: add https://cotlet.dev/mcp/v1 with the same key; the tool is contractor-foreman\_get\_job\_costing. Example data.

[Schedule it in n8n, Make, Zapier or cron](https://cotlet.dev/integrations/contractor-foreman-api-mcp-server#automations)

Tools

## Contractor Foreman tools this automation uses

__Cotlet Contractor Foreman tools used to find Contractor Foreman projects going over budget__
| Tool | Parameters |
| ----------------- | ----------------------------------------- |
| list\_projects | search, include\_completed, limit, cursor |
| get\_project | project\_id |
| get\_job\_costing | project\_id |

[All 15 Contractor Foreman tools with descriptions](https://cotlet.dev/integrations/contractor-foreman-api-mcp-server#tools)

## Frequently asked questions

### Why does labor show as actual cost before payroll runs?

Contractor Foreman counts time cards in actual cost, together with equipment hours logged in daily logs. Bills and expenses count once they are recorded, so a job can show a labor overrun before the material bills are entered.

## More Contractor Foreman automations

- [Turn site notes into Contractor Foreman daily logs](https://cotlet.dev/integrations/contractor-foreman-api-mcp-server/add-daily-logs)
- [Build a Contractor Foreman estimate from a scope list and send it](https://cotlet.dev/integrations/contractor-foreman-api-mcp-server/create-and-send-estimates)
- [Write and send Contractor Foreman change orders from a client request](https://cotlet.dev/integrations/contractor-foreman-api-mcp-server/create-change-orders)
- [Contractor Foreman API and MCP server: every tool](https://cotlet.dev/integrations/contractor-foreman-api-mcp-server)
- [All use cases](https://cotlet.dev/use-cases)

## Give your agent access to Contractor Foreman.

Free 7-day trial with 5,000 credits, no card needed. Cotlet is independent and not affiliated with Contractor Foreman.

[Request access](https://cotlet.dev/app/signup?app=contractor-foreman)
