Skip to content
ignitai
← Back to blog 11 min read

Convert BOQ PDF to Excel on Mac: Bill of Quantities by Item

Turn a bill of quantities PDF into Excel on Mac: one row per item with ref, full description, unit, qty, rate and amount. Read on-device; only the text is uploaded.

Turn your PDFs into clean Excel workbooks with ignitai on your Mac — first document free (up to 4 pages), then $29.99/month (USD).

Get ignitai on the App Store

To convert a BOQ PDF to Excel on a Mac, drag the bill of quantities into a converter that reads its structure rather than its page geometry. Ask for one row per measured item: bill, page and item reference, the full description, quantity, unit, rate and amount. Then export to Excel and check each page’s rows against its printed “To Collection” total before you price or compare anything.

The Mac app that does this is ignitai. It reads each page with Apple’s on-device text recognition, and an AI builds the table your plain-English instruction describes, including descriptions carried down from the headings above each item. The page images stay on your Mac; only the recognized text goes to ignitai’s servers, where the spreadsheet is built. The same instruction works on born-digital tender PDFs, scanned sets and priced bills returned by contractors.

The tender documents arrive on a Tuesday with a return date three weeks out: drawings, specification, and a bill of quantities as a 140-page PDF. The estimator needs it in Excel to build rates, the buyer needs the masonry and joinery items to send out as subcontract enquiries, and the quantity surveyor on the other side will need every returned bill in Excel to compare the tenders. Everyone starts by retyping, or by fixing a converter’s output line by line.

In this guide11 sections

Why a bill of quantities breaks PDF-to-Excel converters

A BOQ looks like a table: item, description, quantity, unit, rate, amount. Whether it follows NRM2 (which replaced SMM7), CESMM4 for civil engineering, or POMI, and whether it’s a US unit-price bid schedule of the same shape, it defeats grid-based converters in four ways:

  1. Descriptions are nested. A bill prints the shared part of a description once, as a heading, and only the variable part on the item line. “Excavating; trenches; for foundations; maximum depth” sits above three items that read “not exceeding 0.25 m”, “not exceeding 1.00 m” and “not exceeding 2.00 m”. A grid tool keeps the item lines and turns the heading into a stray row, so your sheet holds three items nobody can price. It’s the same structural failure as the account headings in a general ledger, one level deeper.
  2. One item spans several lines. A long description wraps over four or five lines, with the quantity and unit on the last. Converters that work line by line give you five rows per item, four of them with no quantity.
  3. Page furniture looks like data. Item letters restart at A on every page. Each page ends with a “To Collection” or “Carried forward” total, each bill closes with a collection page listing its page totals, and a general summary adds up the bills. None of those lines are items, and all of them look like rows.
  4. Not every row is measured work. Preliminaries mix priced items with clauses that carry no quantity. Provisional sums, prime cost sums and dayworks arrive with amounts already filled in, even in an unpriced bill. Units range across m, m², m³, nr, kg, t, item and sum.

Add scans (printed tender sets, old projects, a priced bill someone photocopied) and the grid approach has nothing left to work with. The fix is an extractor that reads the page the way the estimator does.

Convert a BOQ PDF to Excel on Mac with ignitai

  1. Take the pages you need. For the whole bill, use the PDF as it came. For one trade package, open the PDF in Preview, choose File ▸ Print, set the page range, and choose Save as PDF from the PDF menu. A smaller file means fewer pages against your allowance.

  2. Drag the PDF onto the ignitai window, or open it with ⌘O, or right-click it in Finder and choose Open With. Born-digital and scanned PDFs can go in the same batch. For capture quality on paper sets, see the scanned-PDF walkthrough for Mac.

  3. Describe the table. A prompt is required, so the Convert button stays disabled until you type one. Start from the Table starter or paste this:

    “One row per measured item. Columns: bill, page, item, item_type, section, description, quantity, unit, rate, amount. Take bill and page from the page header or footer as printed. item is the item letter or number. item_type is measured, provisional sum, prime cost sum or daywork. section is the nearest work-section heading. description is the full description: the heading lines above the item that it continues, then the item’s own text, separated by ’; ’. Skip To Collection, Carried forward and Brought forward lines, collection pages and the general summary. Bare numbers without currency symbols or thousands separators. Leave rate and amount blank where the bill has none.”

    The description clause is the whole job. It turns “not exceeding 1.00 m” back into a line an estimator can price, the step no grid tool performs. Bill and page matter because item letters repeat on every page: 2/14/C (bill 2, page 14, item C) is unique, C is not. Save the prompt; saved instructions are one click away next time.

  4. Check the page count, then Convert. ignitai shows how many pages the run will use and how many you have left before it starts. On Mac each file shows its status, and a notification arrives when the spreadsheet is ready.

  5. Check the table in ignitai. Rows are numbered and the amount column is totaled on screen. Select one page’s rows to add them up, then compare the sum with that page’s To Collection figure; Original Pages puts the page itself a click away. Converting an unpriced bill with rate and amount in the prompt makes those columns come back empty, and ignitai says so. On a tender set that’s expected, and a sign you can drop them from the prompt next time.

  6. Export to Excel. Quantities and amounts are real numbers in the Excel file, so a SUM works the moment it opens. The header is bold and the columns fit their content. Edits happen in Excel or Numbers.

Big bills and the page allowance. A full BOQ often runs to well over 80 pages, and the plan includes 80 pages a week, up to 320 a month; unused weekly pages don’t carry over. Prove the prompt on an excerpt of four pages or fewer first; a test that size is usually ready in under a minute. Then read the page count ignitai shows before the full run, and buy extra pages while subscribed if it’s more than your week’s allowance covers. Packs run from 5 pages to 1,050, and bought pages never expire. Converting only the bills you actually need is the other lever. Cancelling a run while it’s still going charges nothing.

Get ignitai on the App Store — free download; your first document (up to 4 pages) converts free with Sign in with Apple, and one subscription covers iPhone, iPad, Mac, and Vision Pro.

One table per run: preliminaries, measured work, summaries

Each run produces one table, so split the bill the way you’ll use it:

  • Measured work. The prompt above, over the measured bills.
  • Preliminaries. A separate run with “one row per priced item: item, description, unit, amount; skip clauses with no quantity, unit or amount”. Otherwise pages of contract clauses end up as rows.
  • Collection pages and the general summary. A third, small run with “one row per page total: bill, page, amount” or “one row per bill: bill, title, total”. This is your tie-out table, and keeping it out of the measured-work sheet is what stops the first SUM counting everything twice.

Currency and number formats vary by market (£, €, $, AED, or Indian digit grouping such as 12,34,567.00). “Bare numbers without thousands separators” in the prompt handles all of them.

Check the extraction before you price

A bill of quantities comes with its own completeness checks. Use them before anyone builds a rate on the sheet:

  • Page totals. On a priced bill, a SUMIFS of amount by bill and page should match every To Collection figure in your tie-out table. A missed item or an imported total line breaks the match on exactly one page, and that tells you where to look.
  • Bill totals. Each bill’s sum should match its collection page, and the bills should add up to the general summary.
  • Quantity × rate = amount. Add =ROUND(quantity*rate,2)-amount as a column and filter for anything that isn’t zero. Each hit is either a misread (open the page in Original Pages) or an arithmetic error in the priced bill itself, which is exactly what a quantity surveyor’s arithmetical check of a tender looks for.
  • Unpriced bills. With no amounts to add up, count instead: on each page the item letters should run A, B, C… without a gap.

What the sheet is for: pricing, comparison, packages, valuations

  1. Pricing a tender. Add rate build-up columns next to each item (labour, plant, materials, subcontract) and let amount calculate from quantity × rate. When the rates are settled, transfer them to the form the tender instructions require.
  2. Comparing tenders. Convert each tenderer’s priced bill in its own run. Batch output has no filename column, and a tenderer’s name is rarely printed on every page, so separate runs keep them apart. Add a tenderer column after export, key every row on bill/page/item, and XLOOKUP the rates side by side. Filter for rates far from the median of the other tenders, and for preliminaries or early bills priced unusually high, the usual sign of front-loading.
  3. Subcontract packages. Filter section to Masonry or Joinery and send the subcontractor just their items as an enquiry. The same pattern runs the supplier side once work is awarded, in the purchase-order workflow.
  4. Interim valuations. Add a percent_complete column against the priced bill and the valuation is a column of multiplications, with the bill references the contract already uses.

Other ways to get a BOQ into Excel

  • Ask for the native file. The quantity surveyor usually holds the bill in Excel or in their measurement software. If the tender instructions allow it, ask for it; nothing beats the source.
  • Excel for Mac’s Get Data. Excel for Mac has Power Query under Data ▸ Get Data, but no From PDF connector; that one is Excel for Windows only. Even on Windows it imports the grid, headings and page totals included, and returns nothing from a scan.
  • Acrobat’s Export PDF to Excel. It keeps the grid, not the meaning. Wrapped description lines tend to land in rows of their own, headings arrive as stray rows, and the page totals sit among the items, so the cleanup is manual on every page.
  • Copy and paste from Preview. Fine for a single rate. On a page it collapses the columns into one.

A large bill is also a job for categories as columns, the way a price list’s category headers become a column. A BOQ just nests them deeper.

On iPhone and iPad

The bill doesn’t always come as a file at a desk:

  • iPhone. The site office has the only printed copy of an old project’s priced bill. Scan the pages with the camera in ignitai, tap the saved instruction, and follow progress on the Lock Screen while you walk back to the car.
  • iPad. Tender documents saved to Files can be multi-selected from the picker or the share sheet (there’s no external drag-and-drop into the app on iPad). On iPad you can sort the finished table by section, select one trade’s rows and copy them into an email to a subcontractor before exporting anything.

One subscription covers iPhone, iPad, Mac and Vision Pro, so the saved instruction follows you to whichever device the bill turns up on.

Tender confidentiality

A priced bill is a contractor’s commercial position line by line, and tender conditions usually treat it as confidential. In this workflow the page images stay on your Mac. The recognized text (descriptions, quantities, rates) goes to ignitai’s servers, where the AI builds the sheet, and the finished file is stored in your ignitai account until you delete it; any file, or the whole account, can be deleted from inside the app. That’s less than uploading the whole PDF to a web converter, but it isn’t nothing. Check it against the tender’s confidentiality terms before converting other people’s priced bills.

When not to use this

  • The native file exists. If the QS will send the Excel bill, take it.
  • The submission must be on the issued form. The extracted sheet is a working file. Tenders are returned in the form the instructions ask for, and the signed contract bill is the one that governs.
  • The rates are handwritten. A priced bill filled in by hand is outside what this guide promises; printed and typed bills are the case it covers.

Bottom line

To convert a BOQ PDF to Excel on a Mac, drag the bill into ignitai and ask for one row per measured item with bill, page and item reference, the full description (headings carried down onto each item), quantity, unit, rate and amount. Keep preliminaries and the collection pages in runs of their own, and export to Excel. Then let the bill check itself: page totals against To Collection, bills against the general summary, quantity × rate against amount. Prove the prompt on four pages, watch the page count on a long bill, and convert each tenderer’s bill separately when you compare them. The estimator’s time belongs in the rates, not in retyping the descriptions.

FAQ

How do I convert a BOQ PDF to Excel on a Mac?

Drag the BOQ PDF into ignitai, ask for one row per measured item with its bill, page and item reference, full description, quantity, unit, rate and amount, and convert to Excel. The pages are read on your Mac and only the recognized text goes to ignitai’s servers, where the AI builds the sheet. Before pricing anything, check each page’s rows against its To Collection total.

How do I keep the full item description when a BOQ nests items under headings?

Say so in the prompt. Most bills print the shared part of a description once as a heading and only the variable part on the item line, so an item can read just ‘not exceeding 1.00 m deep’. Ask for the heading lines above each item to be joined to its own text, and every row carries a description you can read on its own.

How do I check that a converted BOQ is complete?

Use the totals the bill already prints. Add up each page’s amount rows and compare them with that page’s To Collection figure, then compare each bill’s total with its collection page and the general summary. On an unpriced bill, check that the item letters on each page run without gaps.