Skip to main content
Checked against the product · 2026-10-04

Contract Documents — Controller Guide

This is where an executed PDF — a base award, a modification, an option exercise — becomes a contract record your books can trust. You upload the document, an extractor reads it, and you review the extracted terms against your existing data before accepting.

The mental model: AI proposes, you confirm, the system locks. Nothing downstream — invoicing, funding alerts, revenue recognition — sees a contract until you accept it here. Treat this page as the single controlled door every contract fact walks through.

For: controllers and contract administrators · Time: ~15 minutes · You'll need: the executed PDF, and to know what the document is (award / modification / option exercise) so you can sanity-check what the extractor decided.

How to access​

Contracts → Contracts, then the Upload & review proposals link under the title — or /accounting/contracts/proposals. The header reads Contract Documents, subtitled "AI-extracted contract documents pending human review."


Part 1 — Two things to be clear about before you upload​

Use the executed document. Extraction reads what is in front of it; it never invents terms. A draft or unsigned copy will feed wrong numbers into invoicing and revenue recognition, and it will do so confidently.

Extraction alone changes nothing. An uploaded-but-unaccepted document is invisible to every other module. Accepting is the act that writes the contract row and unlocks the downstream engines. So an extraction sitting in the queue is not a half-finished contract — it is a proposal nobody has agreed to yet, which is exactly the intended state.


Part 2 — The queue​

The queue is sorted lowest-confidence first by default, and that is the whole point of the page — the extractions that need your eyes float to the top rather than being buried behind the easy ones.

ControlOptions
Status tabsPending (your work queue), Accepted, Modified, Rejected, All
Actions dropdownAll actions, New contracts, Modifications, Option exercises, Subcontract agreements
SearchBy contract or subcontract number, agency or subcontractor

Each row shows Contract #, Counterparty (the agency on an award, the subcontractor on an issued subcontract), an Action badge, a Confidence bar with percentage, a Status badge and the Extracted date. Anything under 70% confidence grows an amber Needs Review chip and an amber left edge. Column headers sort; click again to flip.

Upload is Upload PDF (top right), PDF only. Extraction takes roughly 30 seconds; use Refresh if the row has not surfaced yet.


Part 3 — Reviewing a document​

Click a row to open the review drawer.

Read the header and any warnings first​

The drawer top gives the Document type, Action badge, Confidence, Status, Created, and once reviewed, Reviewed by and Notes. A one-line statement says what accepting will actually do — establish the contract, apply a modification, or record an option exercise.

If a Validation warnings panel appears, work it before you accept. Understand each one, or resolve it. A warning you accept past is a warning nobody will see again.

Some of those warnings come from the government's own record of the award. For a prime contract, task order or modification, Arcvue looks the contract number up in FPDS, the federal procurement data system, and compares the document with what the government reported: the agency, the NAICS code, the set-aside, the awardee's UEI, the date the award took effect against the start of the period of performance, and the value with all options. On a modification it also checks the amount obligated, to the cent, the total obligated after it, and the modification's date. Each disagreement is a warning that begins FPDS reports and gives both figures. Three warnings are about the lookup rather than the document:

  • FPDS has no award record for … — check the number. A new award takes days to appear in FPDS.
  • FPDS has the award … on file but no action yet for modification … — the government has not reported the modification yet, so its figures were not checked.
  • FPDS could not be reached … — the check did not run, so the panel says nothing about the award record either way.

A subcontract, consulting agreement or teaming agreement is never looked up: FPDS reports prime awards only.

Check the extracted fields​

While the document is Pending, correctable scalar fields are editable inputs, and each field you touch takes an amber border so your edits are obvious — useful when you come back to a drawer you started earlier.

Key fields — contract number, contract type, funded value, period-of-performance dates — always render even when the extractor missed them. A blank required field is not an omission in the UI; it is the thing you are here to fill in.

The rate table is correctable, one misread at a time. Four columns on the LCAT list accept edits while the document is Pending, each taking the same amber border as the scalar fields:

ColumnWhat it is
Labor categoryThe role the contract prices — the name the invoice will carry. A subcontract PO often names the person; enter the role. If the document only names people, the role lives in the task order or agreement it references.
CodeThe customer's code for that category, if the document assigns one — blank is normal. It travels onto invoices.
Rate ($/h)The billing rate per hour from the document. This is the only source a billing rate ever comes from. Correct a misread digit; never enter a rate the document does not state.
HoursThe hours the document funds or caps (rate × hours = the line's value). Blank when the document states none, and a T&M ceiling is enforced against it at invoicing.

CLIN on the same table is not editable — if the reader put a category on the wrong CLIN, fix it after accept on the contract's billing surface. Neither is Confidence, which reports how sure the reader was: below 0.80 the row is flagged for review after accept. Confidence describes the extraction, not the document — check the rate and hours against the page whatever it says.

Editing a row is correcting a misread, not authoring the schedule. The other nested collections — CLINs, billing milestones, option periods — remain non-editable, and to change a whole rate schedule you upload the corrected schedule document rather than hand-patching rows. That is what keeps a rate schedule traceable to a document, which is the property that makes billing defensible later.

A collapsible Show raw extraction (JSON) section is there if you need to inspect the structure.

Cross-check against FP&A — this is the step that catches real errors​

The FP&A comparison panel puts the extracted PDF value beside your existing FP&A value for each field and tags the agreement:

The panel's columns are Field, Extracted (PDF), FP&A and Status — the PDF value and your record side by side, with the verdict beside them, so the disagreement is visible without opening either source.

TagMeaningWhat to do
matchExtracted equals FP&ANothing — this field agrees
mismatchThey differVerify against the PDF and correct whichever side is wrong before accepting
FP&A emptyExtractor found a value, FP&A had noneConfirm the extracted value is right — accepting fills the gap
extractor missedFP&A has a value, extractor found noneCheck whether the field genuinely belongs on this document

"mismatch" does not automatically mean the extractor is wrong. It means the document and your record disagree, and one of them needs fixing. A modification that changes funded value should differ from the pre-mod FP&A figure — that is the mod doing its job. Read the PDF, decide which side is stale, and fix that one.


Accepting an issued subcontract​

A row whose Action badge reads Subcontract Agreement is a subcontract you issued, loaded from its signed PDF on the Procurement page (Load agreement from PDF). It is the backfill path for an agreement that was in force before Arcvue held your subcontracts; a new subcontract is typed in on Procurement.

The review works the same way — read the header and warnings, check and correct the extracted terms — with two differences. There is no FP&A comparison and no Auto-accept matches: a subcontract you issued has no FP&A counterpart. And Accept stays disabled until you name the party under Name the party: choose the Subcontractor from your register (the document's own name for the company is shown beside the picker so you can find the right entry — Arcvue never matches the two for you) and, if the agreement sits under one of your prime contracts, enter its Prime contract id. Accepting creates the subcontract agreement rather than a contract; the drawer then shows the agreement number with a link to Procurement, where it is listed under Subcontract agreements with its clause flags still Not determined.

Part 3b — The outcomes: accept, correct, or set aside​

There is no Reject. A wrong extraction is corrected in the drawer and accepted — the correction is recorded against the document and is what the reader learns from. Two other controls exist:

  • Not a contract action — on a Pending document that is not a contract action for this company: an intent letter, an attachment, a duplicate, another entity's vehicle. It opens a field, Reason this document is not a contract action; type why and click Confirm. The reason is kept on the record, the document leaves Pending, and nothing in the register moves. Cancel puts the button back without recording anything.
  • Reopen — on a document that was rejected before rejection was retired, or set aside by mistake. Type why in Reason for reopening and click Reopen; it returns to Pending with its history intact so you can correct the fields and accept.

Part 4 — When something looks wrong​

"Confidence is low but the fields all look right." Accept it. Confidence is a prompt to look, not a verdict — a clean scan of an unusual layout can score low and still be correct.

"Confidence is high and a field is wrong." Fix it in the drawer. High confidence is not a reason to skip the read; it is a reason the read is quick.

"I can't edit the LCAT rates." By design. Upload the corrected rate schedule document instead, so the rates trace to a document rather than to a hand edit.

"I uploaded it an hour ago and nothing downstream sees it." It has not been accepted. Extraction alone is inert.

"The Action badge says modification and I expected a new contract." Check the PDF. If the badge is genuinely wrong the document may be the wrong file — that badge drives what accepting does, so do not accept past it.

"A required field is blank." The extractor missed it and the field rendered anyway so you could fill it in. That is working as intended.


One-line summary​

Upload the executed PDF, and the extractor proposes the contract terms. The queue floats lowest confidence first; anything under 70% is chipped Needs Review. Work the Validation warnings, fill any blank key fields, and use the FP&A comparison to find where the document and your record disagree — then Accept, which is the moment the contract becomes real to invoicing, EVM and funding alerts. Rate schedules change by uploading a document, never by hand.