Use caseAI agentDocument AI

Change orders and delays caught in site logs and emails before the notice deadline passes

An AI agent for subcontractors that spots changes and delays in daily logs, emails and drawing revisions, computes notice deadlines and drafts the notice.

A blueprint, not a client story. The business described is illustrative; the architecture, integrations and trade-offs are real, and this is how I would build it. By Ergini, .

The short version

A change order and notice guard for construction subcontractors. It reads daily logs, project emails, meeting minutes, RFI answers and drawing revisions, flags likely scope changes, hindrances and concerns with the evidence, and computes each notice deadline from contract terms the project manager has confirmed, such as VOB/B in Germany. It drafts the notice and the change order request with photos, log excerpts and the drawing difference. The project manager decides, signs and sends every notice.

Best for
Subcontractors and contractors running ten or more jobs at once, where changes and delays get written down on site but notified late or never.
Connects to
Procore, Outlook and Microsoft 365, SharePoint, Fieldwire or Raken, Drawing revisions as PDF, Excel
The AI does
Reads site diaries, emails and minutes written in site shorthand, describes what changed between drawing revisions, and drafts notices from the evidence.
People do
Confirm each contract's notice rules, decide what really is a change or a hindrance, and sign and send every notice and change order request.
Built as
AI Agent Development, usually $12K - $30K

Twenty-five jobs, six project managers, and clocks nobody sees start

Take an electrical subcontractor near Stuttgart with 90 people, 25 live projects and six project managers. Most jobs are subcontracts with general contractors on VOB/B terms, amended by each contractor's own conditions and a negotiation protocol that overrides half of them. Foremen keep the daily log in Fieldwire on the larger jobs and a paper Bautagebuch on the rest. Drawings arrive through the general contractor's Procore project, by email, or in a SharePoint folder.

Changes rarely announce themselves. The general contractor's site manager asks for four more floor boxes on a walk down the corridor. A revised plan moves a wall with twelve sockets on it and carries no revision cloud. The ceiling contractor runs two weeks late, and the crew waits with luminaires still in their boxes. Each of these is written down somewhere, usually in a log entry the project manager reads on Friday, if at all.

Money leaks twice. Extra work gets done and never priced, because nobody tied the log entry to the contract. And when it is priced at the final account, the first question is where the notice is. Under VOB/B, a hindrance nobody reported in writing only counts if the client obviously knew of it and its effect, and a claim for additional work must be announced before the work starts. The project managers know this. What they lack is the hour a day it would take to read 25 site diaries, a few hundred emails and every new drawing index for the one sentence that starts a clock.

How a sound claim turns into a lost one

  1. Tuesday: the foreman notes that the corridor ceilings on level 3 are still open and moves four electricians to level 2.
  2. Wednesday: the same note, shorter. The level 3 luminaires slip in the schedule.
  3. At the site meeting the general contractor mentions a new wall layout. The minutes arrive eight days later, as a PDF sent to 30 people.
  4. Index D of the level 3 plan appears in Procore. The register shows a new index; the sheet shows no clouds.
  5. On Friday the project manager reads the diaries and calls the general contractor's site manager, who says they will sort it out at the end.
  6. At the final account, the general contractor asks for the written hindrance notice and the announcement of the extra sockets. Neither exists.

Nobody in this chain was careless. Everyone was busy, and the clocks had started on Tuesday.

A diary entry whose clock started two days before anyone looked

The foreman writes in German; the entry is shown translated. The guard reads it minutes after it syncs.

Fieldwire daily log, project 2417 (school extension), Thursday 10 September, 16:40

  1. Foreman · Daily log

    L3 corridor: ceilings still open, drywall not finished. 4 men moved to L2 again. Luminaires L3 on hold. GC site manager says new wall plan index D comes Friday.

  2. classify_entry(project: "2417", source: "daily_log")hindrance, high confidence: L3 corridor blocked by another trade, crew relocated / possible change, medium: new wall layout announced, no drawing yet
  3. find_related(project: "2417", area: "L3 corridor", days: 21)same open ceilings in the logs of 8 and 9 Sep / programme: L3 luminaires planned 7 to 11 Sep / no notice on this issue in the register
  4. get_notice_profile(project: "2417", type: "hindrance")VOB/B § 6 Abs. 1, tightened by the GC's conditions, clause 7.2: in writing to the GC project manager named in the contract / deadline: without delay / confirmed by the PM on 3 March
  5. start_clock(event: "2417-L3-ceilings", first_evidence: "2026-09-08")running since Tue 8 Sep / rule: without delay / 2 working days elapsed / alert: now
  6. draft_notice(type: "hindrance", template: "BA-01")1 page in German, addressed per profile, cites § 6 Abs. 1 VOB/B and clause 7.2 / attached: 3 log excerpts, 4 photos, programme extract / no amounts
  7. Guard · Teams, to the project manager

    Possible hindrance on 2417, L3 corridor: open ceilings have blocked the luminaires since Tue 8 Sep (three log entries, four photos) and no notice has gone out. Your profile requires written notice without delay to the GC's named project manager. Draft attached. Wall plan index D is due Friday; I will compare it with index C.

  8. The project manager rewrites one sentence and sends the notice at 17:25 by email to the contract address, with a signed letter the next morning. The register keeps the sent-item ID and the postal receipt.
The obligation arose with Tuesday's entry, not with Thursday's alert. Reading every entry every day is what closes that gap.

From site diary to signed notice

The model reads and drafts. It never decides that something is or is not a change, and it never computes a deadline.

  1. 01 Trigger · Fieldwire or Raken, Microsoft Graph, Procore webhooks, SharePoint

    Something new is written on a project

    A daily log entry or photo, an email in a project mailbox, site meeting minutes, an RFI answer, or a new drawing index. Every item keeps its source ID, so nothing is read twice.

  2. 02 Plain code

    File it to the right project and contract

    The project follows from the mailbox, folder, Procore project or diary. The item is attached to that project's confirmed notice profile and to earlier items about the same area.

  3. 03 Plain code

    Diff every new drawing index against the last one

    The text layer is compared (title block, revision table, room and circuit labels) and the sheets are overlaid pixel by pixel after aligning them on the frame. The result is a set of changed regions, clouded or not.

  4. 04 AI model · Structured output

    Read for changes, hindrances and concerns

    The model sorts each entry and each changed drawing region: possible additional or changed work, hindrance, concern about another trade's work, an instruction from someone on site, or ordinary coordination. It returns the evidence sentence, the location and the date the event happened, under a fixed schema.

  5. 05 Plain code

    Start the clock from the confirmed profile

    Each notice type maps to a rule: without delay, before the work starts, or a number of days. The clock starts at the earliest evidence, not at the alert, and day counts use working days with the public holidays of the project's federal state.

  6. 06 Decision

    How loud should this be?

    Rules decide, from the notice type, the time left and the model's confidence.

    • A hindrance or concern whose rule is 'without delay' then an alert to the project manager now, with a draft notice
    • Additional work that has not started yet then an alert to the project manager and the foreman: announce it before the crew starts
    • A possible change with low confidence, or probably coordination then the weekly review list, no alert
    • The same event as an open item then added to that item as further evidence
  7. 07 AI model

    Draft the notice and the change order request

    Drafts start from the firm's lawyer-approved templates. The model fills in facts from the evidence only, cites the clause from the profile, and attaches log excerpts, photos and the drawing difference. Amounts appear only after the estimator has priced them.

  8. 08 Person · Outlook, letter, or the general contractor's platform

    The project manager decides and sends

    The project manager edits, signs and sends in the form the contract requires, or dismisses the item with a reason. Edits and dismissals feed the test set the classifier is checked against.

  9. 09 Result

    Register, proof and follow-up

    Each project's notice register shows open clocks and what was sent, when, how and to whom, with proof. Unanswered notices get a reminder, and the change order request goes to the estimator with its evidence.

The VOB/B notices the guard watches for

These are the defaults a VOB/B-based subcontract starts from, summarized from the published text. Your contract, the negotiation protocol and the general contractor's conditions can tighten any of them, and where they do, they win.

Hindrance (Behinderungsanzeige)§ 6 Abs. 1In writing, without delay. Without it, the hindrance only counts if the client obviously knew the facts and their effect.Alerts the same day and dates the clock from the first diary mention.
Claim for additional work§ 2 Abs. 6 Nr. 1Announced to the client before the work starts.Takes the planned start of that work as the deadline and warns the foreman too.
New price for changed work§ 2 Abs. 5The new price should be agreed before the work is carried out.Opens a change order request and tracks it until the price is agreed.
Concerns (Bedenkenanzeige)§ 4 Abs. 3In writing, without delay, if possible before work starts, about the planned execution, materials or parts the client supplies, or other contractors' work.Flags entries and photos that show a problem with work you build on, and drafts the concern.
Necessary work done without an order§ 2 Abs. 8 Nr. 2Reported to the client without delay.Flags work the crew did on someone's word with nothing in writing.
Your contract's own rulesContract, protocol, conditionsOften a named recipient, a required form and fixed day counts.Override the rows above once the project manager has confirmed the profile.
VOB/B says 'unverzüglich' and gives no number of days; the German civil code defines the word as without culpable delay (§ 121 BGB), so the guard treats those notices as due now. For NEC, JCT, AIA or FIDIC-based contracts, the same mechanism reads your actual clauses, some of which bar a late claim outright.

What the guard reads, what it calculates, and what stays with the project manager

Contract extraction uses retrieval with page-level citations, so every rule in a profile points at the clause it came from.

The AI model

  • Read diaries, emails and minutes for possible changes and hindrances

    Site shorthand, half-sentences and mixed languages are language work.

  • Describe what changed in a drawing region

    The overlay shows where; the model says what, in electrical terms.

  • Extract the notice clauses from the contract set

    Done once per contract and again when a new contract document arrives.

Plain code

  • Diff drawings, file items to projects, remove duplicates

    Mechanical and repeatable, so it runs on every item.

  • Compute every deadline

    A deadline must come out the same every time. The model does no date arithmetic.

A person

  • Confirm each contract's notice profile

    Only the project manager or the firm's lawyer can say what a contract means.

  • Decide whether to send, and send

    A notice is a legal step and part of a relationship with the general contractor.

  • Price the change order request

    The estimator owns prices; the guard brings quantities and evidence.

False alarms, amended contracts and notices sent the wrong way

Ordinary coordination read as a change

'Moved four men to level 2' is often just sequencing. The classifier is tuned to miss little, so the alert rules carry the precision: only high-stakes types with enough confidence interrupt anyone, and the rest waits for the weekly list. Every dismissal is stored with its reason and becomes a test case.

The contract changed after the profile was confirmed

A supplement, a new negotiation protocol or a letter moving the notice address changes the rules mid-project. Any new contract document triggers a fresh extraction and a diff against the confirmed profile, and until the project manager confirms the change, the stricter rule applies.

A notice that went the wrong way

Sent to the site manager instead of the named project manager, or by email where the contract wants a letter, a notice may be worth little. The profile stores form, recipient and address, the draft is addressed from it, and nothing is marked as sent without proof: a sent-item ID, a registered-letter number or the platform's receipt.

Several parties, one event

The ceiling contractor causes the hindrance and the architect issues the drawing, but the notice belongs with your contractual counterparty, and the guard never writes to another trade or to the client directly. Subcontracts often shorten the main contract's windows so the general contractor can pass a claim upward in time; your subcontract is the clock that binds you.

Drawings without clouds, or re-plotted sheets

The overlay catches changes nobody clouded, as long as the sheets align. When a sheet was re-plotted at another scale or scanned crooked and alignment fails, the guard says so and asks for a manual comparison instead of reporting no change. New sheets with no predecessor are flagged as scope to check.

Test it on a job you have already closed

Before anyone relies on the guard, I would run it over one or two finished projects whose final accounts you know. It reads their diaries, mailboxes and drawing sets in date order, as if they were live, and its flags are compared with the change orders you actually priced and the claims rejected for want of a notice. That shows how many flags a project manager would have waded through, and whether the events that cost money would have been caught in time.

Then it goes live on three projects with alerts only; drafts follow once the profiles have held for a few weeks, and the rest of the portfolio after that. Diaries and photos name workers, so the data stays in your Microsoft 365 tenant, the model runs on EU-hosted endpoints under a data processing agreement, and reports cover projects, never individuals. If you have a works council, involve it early: § 87 BetrVG gives it a say over technical systems for monitoring staff conduct or performance.

The split is the same as in contract review against a playbook and the other construction use cases: the model reads and cites, rules decide, a named person signs. The patterns behind it are in human-in-the-loop design.

Procore's agents, a contract-risk tool, or a guard built around your subcontracts?

If your projects run in Procore, start there. Procore ships a Daily Log Agent, an RFI Agent, a Submittal Review Agent and a Contract Review Agent, and says its agents can create or update records such as change events inside the platform. For a general contractor whose whole project lives in Procore, that is the first thing to test, and I would say so before quoting a build.

Contract tools such as Document Crunch analyze contracts, specifications and project documents for risk, and Trunk Tools is aimed at general contractors' document work. Both help at the contract and document level. Neither is built around a subcontractor's own site diary, several general contractors' platforms at once, and the notice rules of a German subcontract.

A build wins for subcontractors, for firms not on Procore, which includes much of the European mid-market, and wherever the notice logic is German: VOB/B, contractor-specific conditions, negotiation protocols and diaries written in shorthand. It also stays yours: the profiles, the templates your lawyer approved and the register. That is the kind of agent build I take on, starting with a backtest rather than a promise.

How you would know it is working

A blueprint has no results to report, so here is what I would measure from the first week instead, on your own data.

Notices inside the window
Share of notices sent within the contract's rule, and working days from first evidence to dispatch, per project manager.
Missed changes
Priced changes the guard never flagged, found at each final account. This matters more than the number of flags it raised.
Dismissal rate
Flags dismissed as coordination, per project and per source. A rising rate means the alert rules need tightening before people stop reading.
Flags that became change order requests
How many flagged events turned into a priced request, and how many of those were agreed.

What a build like this costs

This is built as AI Agent Development, which runs $12K - $60K overall. A build like this one usually lands in the single-purpose agent tier: $12K - $30K, 2-5 weeks. The first working version runs on your real data well before the end of that window.

What it costs to run

Reading text is cheap: a month of daily logs and project email across 25 projects is a small model bill. Drawing comparison is the larger line, because every new index means rendering and overlaying sheets and describing the regions that changed.

What moves the price

  • How many sources per project: the diary app, project mailboxes, several general contractors' Procore instances, SharePoint
  • Drawings: vector PDFs compare cleanly, while scans and re-plotted sheets need alignment work
  • How many contract variants need a notice profile, from plain VOB/B to each general contractor's own conditions
  • Whether change order requests pull quantities and unit prices from the estimating system or GAEB files

Who this is for

  • Electrical, mechanical and drywall subcontractors in Germany working under VOB/B-based subcontracts
  • Subcontractors whose general contractors run Procore while their own site diaries live somewhere else
  • Firms that lost money at a final account because a notice was missing, late or sent to the wrong person
  • Project managers running four or more jobs who read the site diaries once a week at best

Questions people ask about this

Can AI find change orders hidden in daily logs and emails?

Yes, as a first pass that flags likely changes and hindrances with the sentence behind each flag. It will also flag ordinary coordination, so the design matters: high-stakes items alert the project manager at once, uncertain ones wait for a weekly review, and every dismissal sharpens the filter. What counts as a change under your contract is decided by your project manager, not the model.

How do I keep track of notice deadlines on construction contracts?

Extract the notice clauses from each contract once, have the project manager confirm them, and let code compute every deadline from the date the firm first knew about the event. A register then shows each open clock per project. The arithmetic is the easy part; noticing the event is the hard part, which is why the guard reads the diaries and correspondence every day.

Can it write a Behinderungsanzeige under VOB/B?

It drafts one in German from your firm's approved template: what hinders the work, since when, which work is affected, and the evidence, citing § 6 Abs. 1 VOB/B or your contract's own clause. VOB/B requires the notice in writing and without delay, so the draft is ready the same day. The project manager reviews, signs and sends it; the guard never sends a notice itself.

We already use Procore. Do we still need this?

If you are the general contractor and everything lives in Procore, test Procore's own agents first. If you are a subcontractor working inside several general contractors' Procore projects, the guard reads what your access allows through Procore's API and combines it with your own diary and mailboxes, which none of those projects can see.

How much effort is it to set up across 25 projects?

Most of the effort goes into two things: connecting the sources (diary app, project mailboxes, Procore projects, SharePoint) and confirming a notice profile per contract. The model extracts each profile with citations, and a project manager checks it once per contract and again when it is amended. A backtest on a closed project comes first, before any of that is rolled out.

Sources