Two contractor quotes can name the same job and cover different work. The total alone may not show which materials, preparation, or finishing tasks are included.
OGAD (Off Grid AI Desktop) can help you organise saved quotes into a comparison on your computer. Use a local model to extract stated scope, exclusions, and terms, then check the original documents. The useful result is a set of clear questions for each contractor before you decide.
Download OGAD | Desktop releases
What would you like to do with Off Grid AI?
Have a feature or use case you would like us to support? Tell us what you want to do and which device you use.
Write to support@offgridmobileai.co, join our Slack community, or talk to us on Reddit.
This workflow helps you read the documents side by side. It does not inspect the property, verify the contractor's work, or establish which quote offers the best value for your circumstances.
What should you compare besides the total?
Compare the work described, the materials specified, exclusions, and any conditions that can change the amount or timing. Keep “not mentioned” separate from “not included.” A missing line in a quote needs clarification rather than an assumption.
Suppose you have two quotes for repainting a small office. One explicitly includes surface preparation and moving furniture. The other lists painting but does not mention either task.
A useful comparison would contain:
| Topic | What to look for in each quote |
|---|---|
| Work area | Which rooms or surfaces are named |
| Preparation | Cleaning, repairs, or other stated preparation |
| Materials | Specified products, quantities, or allowances |
| Exclusions | Work the quote explicitly leaves out |
| Timing | Dates or conditions actually stated |
| Questions | Missing detail that affects the comparison |
The model should show the wording behind each entry. A neat table can hide an incorrect interpretation if the source is not checked.
What do you need before you start?
Install OGAD and download a local text model. Save each quote and your original scope request locally. Complete app and model setup while connected, then use local inference for the comparison.
The free core document workflow is available on supported Mac and Windows computers. 0.0.54-beta.108 also provides Linux beta packages.
Use readable PDFs, DOCX, TXT, or Markdown. Scanned quotes need checked text first. Keep the original files open because tables, footnotes, units, and exclusions may be harder to understand after extraction.
Label the working copies neutrally, such as quote-A-2026-09.pdf and quote-B-2026-09.pdf. You can omit contact details from a text copy when they are not needed for the task.
How do you extract the details locally?
Attach one quote at a time for the first pass. Ask for its stated contents without comparing or ranking it. This gives you a chance to catch extraction errors before they affect the side-by-side review.
- Select a downloaded local model in Models > Text.
- Open a new chat and choose + > Attach files.
- Add the first quote and inspect the extracted text preview.
- Ask for scope, exclusions, and conditions with supporting passages.
- Check the result and repeat for the next quote.
The file-processing code extracts document text. It does not independently verify amounts, tax treatment, or whether the proposed work meets your needs.
Use:
Extract what this quote explicitly states about work included, materials, exclusions, timing, and payment terms. Preserve amounts and units exactly as written. Give a source passage for each item. Mark missing information as “Not stated.” Do not infer that an unnamed task is included or excluded.
How do you build a fair comparison?
Compare the checked extractions against the same scope request. Keep differences visible instead of forcing unlike items into a single total.
For the office example, ask whether each quote mentions furniture handling, surface repairs, and the number of coats. If one uses a different unit or allowance, flag that difference rather than allowing the model to silently convert it.
Try:
Compare these checked quote details against my scope request. Use one row per requested item. Show included, explicitly excluded, unclear, or not stated, with the supporting wording. List differences that prevent a like-for-like comparison. Do not recommend a contractor.
Inspect every row that could change the work or cost. Use a calculator to check arithmetic separately. Do not rely on a language model to verify totals or convert units without reviewing the calculation.
What questions should you ask the contractor?
Ask about the specific gap and its effect on scope. A direct question is more useful than asking why one quote is cheaper.
For example:
Does the quoted painting work include moving and protecting the office furniture? If it does, please show that in the revised scope. If it does not, please explain what arrangement is needed.
A second question might ask whether preparation includes the damaged surface you identified. Use the actual condition and wording from your project rather than a generic checklist of every possible repair.
Ask the model to help draft a neutral clarification list:
Turn these checked gaps into one question per item. Do not imply that the contractor has agreed to work not stated in the quote. Keep the wording concise and specific to the documents.
Review the questions before sending them through your normal communication channel.
How do you handle revised quotes?
Save each revision with its date and mark which version is current. Compare the revised scope with both your request and the previous quote. A changed total may reflect a changed scope, not just a changed price.
Keep a record of the answer that resolved each question. If an important detail was only discussed verbally, ask for the relevant written clarification through your usual process.
You can use a project for repeated source lookup. Create it in Projects > New project, then add checked files through Knowledge & settings > Knowledge base > Add files. Wait for indexing and open Chats > New chat inside the project.
Project search returns selected passages. Use it to locate a clause or scope item, not as proof that the complete quote has been audited.
What should you check before using the comparison?
| Risk in the draft | Your check |
|---|---|
| An amount changed during extraction | Compare it with the original quote |
| Missing detail became an exclusion | Replace it with “Not stated” and ask |
| Different units were combined | Keep them separate until you verify the basis |
| A draft became the current quote | Check the version and date |
| The model ranked the contractor | Return to documented differences and your own decision process |
For work that requires specialist judgement, obtain that judgement separately. Document comparison cannot establish workmanship, suitability, or contractual meaning in every circumstance.
Compare one unclear scope item first
Download OGAD and review one item across two quotes. Finish with the exact wording from each and a question that resolves the difference.
Keep the model local for this processing. Initial downloads and later messages or document sharing need their own connection. The useful result is a clearer comparison that helps you ask what the price actually covers.

Top comments (0)