← Back to BidForge
Turn an architect's PDF drawing into a priced Bill of Quantities, then push it straight to a Xero quote or a PandaDoc proposal.
- Tabs run left to right in the order you'd actually use them: Materials (open the drawing, tag items) → Markups → BOQ (the priced breakdown, and where you send/export the quote) → Prices (supplier catalogue) → Nesting → Design Check.
- You can drop more than one drawing at once - they combine into a single multi-page takeoff, so a project with several elevation/plan sheets doesn't need separate jobs. Already have a job open and got another sheet later? Use + Add drawings in the toolbar to add pages to it rather than starting over - it'll jump you straight to the first new page.
- Once a job has more than one page, a row of small page thumbnails appears so you can jump straight to the right sheet instead of clicking through one at a time.
- Elevations: set the "current elevation" once, then every item you add is tagged to it. Double-click an item to retag it. The BOQ and the XLSX export both break down by elevation automatically once you're using more than one.
- Tracing an area often prompts "also add to:" a second material at the same quantity - handy for installation, since it's normally priced per m² of the same footprint. Pick whichever install rate fits that specific area (different areas can have different install rates), or skip it if it doesn't apply.
- Add from supplier catalogue on the Prices tab pulls real, current prices - always faster and more accurate than typing a price from memory.
- Under the Materials tab: ACM Cladding is now split into Perforated ACM Cladding and Solid ACM Cladding as two separate materials, so those two products don't get mixed together in the BOQ.
- On the BOQ tab, under Send to client: Push to Xero Quote creates a real draft quote in Xero, one line per material per elevation, with markup and contingency already folded into the rate. It'll ask you to confirm the client contact if there's more than one close match - don't skip that step, it's there to stop a quote landing on the wrong contact.
- Push to PandaDoc Proposal works the same way but drops the BOQ into one of Tilt's branded proposal templates (Cladding, Screens, Gates, Sliding, Pergolas, Balustrades) - pick the template that matches the job yourself, it won't guess.
- If you edit the BOQ after already pushing a quote out, a warning appears reminding you the sent version is now out of date - push or export again before the client acts on it.
- Once a job's Ref field is a real project reference (e.g. TD1253) that's genuinely become a live project, a Quoted vs Actual section appears showing this BOQ's total against real spend logged in BidForge for that project - a quick reality check on whether a job is landing where it was quoted.
- Export Quote (Excel/PDF) are the client-facing exports - markup folded invisibly into the rate, no internal numbers shown. Export Internal BOQ is a separate, internal-only export with your real cost breakdown (markup %, contingency %, P&G's as their own visible lines) plus a full page-by-page/elevation takeoff detail sheet - never send that one to a client.
- Save this job and Load a previous job (Materials tab) save to the cloud under your account - no more local files to keep track of.
Log hours against a project and phase. Real Rand cost is calculated automatically from each person's rate.
- Type to search for the project - a few letters of the name or a TD number both work. If you can't find yours, it may be closed or not yet in Xero with the right status.
- Phases are Project Management, Design, Production, or Installation - pick whichever best matches the work.
- Time entries sync to Xero automatically for minutes tracking, but the real Rand cost is only visible in BidForge (Xero can't hold per-person labour rates).
Create and track POs against a project. This is also where cost-breakdown data comes from.
- Phase is required and can only be Production, Shipping, or Installation - materials aren't bought against Design or Project Management.
- Category is optional but genuinely worth doing - tagging a PO as Sheets, Ironmongery, Powder Coating etc. is what powers the category drill-down and Cost Overview charts. Untagged POs show up as "Uncategorized" and get flagged if they add up to too much.
- PO numbers are auto-generated (PO-1001, PO-1002...) - no need to type your own.
- Each item line shows a live Line Total (quantity × unit price) that updates as you type - a quick way to check the maths before you save, without waiting until it's created.
- Sasha - typed something that wasn't in the catalogue? A "+ Save as new catalogue item" link appears once supplier and category are picked, so it's there to search next time. It shows similar existing items first so the naming stays consistent with what's already in the Google Sheets - match that style rather than just typing however feels natural.
- Delivery address: choose Tilt (main address, the default), Site address, or Other for a one-off address (e.g. delivering to another fabricator). The first time you use a project's site address it's saved, so it's just a click on every future PO for that project.
- Any PO over R50,000 pauses itself as "Awaiting Approval" the moment you try to send it - it won't go out until Nico or Greg approves it by email (Nico's the one who'll usually be doing this day to day). You'll see a clear on-screen message when this happens - nothing you need to do differently, it's an automatic second check on larger spend.
Every supplier with a PO or bill in BidForge, with its Xero sync status - see what's failed to sync and retry it yourself, without digging through Xero.
- Click a supplier to drill into every PO against them, with a synced / needs-sync badge on each one.
- Retry Xero sync re-attempts creating the Xero bill for that PO. If it fails again, the reason is shown right there (e.g. no matching Xero contact found) - so you know whether it needs a manual fix in Xero first, rather than just trying again blindly.
- Greg, Danielle, Sasha & Nico only - Kelly, Owen and Thomas don't have access to this tool.
Every supplier invoice sent to accounts@tiltscreens.co.za is automatically read and captured - supplier, invoice number, line items, and VAT are all extracted for you. Review each one and confirm it - that's it, BidForge does the rest.
- Anything that didn't come through automatically - a paper invoice, a photo from site, or one accounts@ genuinely never received - can be captured the same way using the drag-and-drop upload box at the top of the page. Drop a PDF or a photo, or click to browse, and it's OCR'd exactly like an emailed one.
- Every invoice waiting for review sits there as "Pending". Use the search box at the top to find one quickly - type a supplier name (e.g. "Cape Anodising") or a project number (e.g. "TD1428") to narrow the list.
- Check the VAT breakdown - subtotal, VAT amount, and VAT rate are all editable, so if a supplier's invoice rounds a few cents differently to what was extracted, just correct the figures directly before confirming.
- The supplier info line shows payment terms (pulled live from Xero) and a default cost category, pre-filled if you've set one for this supplier before - you can still change it for this specific invoice.
- Assign to Project (the normal case): type a few letters of the project name or a TD number and click the match. If BidForge finds a matching PO already raised for that supplier and project, it shows it as a candidate with a line-by-line comparison against what was actually invoiced, flagging any mismatches - select it to reconcile. If no PO exists yet, leave it on "None of these" and BidForge creates one as part of confirming.
- Add to Stock: only for general stock invoices not yet tied to a project - updates stock quantities directly, doesn't create a project cost.
- Credit Note: a checkbox below the Assign to Project / Add to Stock choice lets you mark a document as a genuine credit note rather than a tax invoice - pre-ticked automatically when the document is clearly labelled as one, but always check it's correct before confirming. Confirming a credit note creates a real Xero credit note (not a bill with a negative number) and automatically reduces that project's actual spend - it skips any PO comparison entirely, since a credit is a standalone adjustment, not something to reconcile against an order.
- Installation subcontractors (SD Concepts, Cape Town Installers, GJS Installations) don't need a PO at all - rates are agreed upfront and they invoice for certified work already done. Confirming one of their invoices goes straight to a real Xero bill, tagged to the project/phase/category, and it still correctly counts toward the project's real budget tracking.
- Once you click Confirm: the PO is created or updated and marked Received (or, for the two cases above, synced straight to Xero with no PO), a draft bill is created in Xero automatically with the original invoice PDF attached to it, and the cost is correctly attributed to the right project, phase, and category. There's no separate "send to Xero" step - confirming is the only action needed.
- "Possible Duplicate" warning: click "Find it in Suppliers" to jump straight to the matching invoice and see its real status (confirmed, linked PO, synced to Xero or not) before deciding whether to proceed - usually a genuine repeat (supplier resent it), but check first. If it's genuinely a separate invoice that happens to share a number, you can override and confirm anyway.
- ~90% of invoices should have a matching PO. If one genuinely doesn't (expected for some suppliers), it's fine to let BidForge create the PO at confirm time rather than go looking for one that was never raised.
- A supplier statement (not a single invoice) won't get captured as one - it's automatically pre-checked against Xero instead, and Danni/Terry get notified in ClickUp with a breakdown of anything that doesn't line up.
- An invoice that seems to be missing entirely, or looks stuck - flag it to Greg rather than resending it yourself.
Log deliveries against a PO to track what's actually arrived.
- Pick the PO from the dropdown - it only shows POs that aren't already marked Received, so you're always choosing from ones still awaiting delivery.
- If there's no PO for this delivery, leave it as "No PO / general stock".
- Once you pick a PO, its delivery address shows automatically underneath - a quick check that the right stock arrived at the right place.
Everything about one project in one place - Xero data, time, POs, deliveries, and budget performance.
- Type to search for an active project, or type a reference (e.g. TD1253) to find a closed/historical one imported from LiveCosts.
- Use the JBCC / Non-JBCC filter above the search box to narrow the portfolio view and the "1 project over budget" summary to just that contract type.
- The overall traffic light (green/amber/red) compares total real cost against the Xero contract estimate.
- Phase budgets Greg & Nico only can be set per phase (Project Management, Design, Production, Shipping, Installation) for finer-grained tracking - click "Set / edit phase budgets" on the project's page.
- Click the arrow next to a phase to see its cost categories, then click a category to see the actual top invoices behind it.
- Site Address full & super_admin shows the project's saved delivery address with a map, and lets you set or update it - it's the same address that appears as an option when creating a PO for that project.
- Contract & Claims lets you log claims (date, amount, status) and, if you're super_admin, set the contract type (JBCC/Non-JBCC) and retention percentage.
- Client Invoices shows any invoices you've allocated to this project (see the Client Invoices tool) and totals up what's still billed but unpaid.
- Supplier invoices for this project show right under Purchase Orders on the page - click one to open the original PDF.
- No budgets set yet? The phase section will say so - budgets have to be entered manually, they're not pulled from Xero automatically.
Quick supplier pricing lookup - the same live catalogue as BOQ's Prices tab, but no need to pick a category first. Just type what you're after.
- Type a couple of characters and results appear as you type - searches description, specification and supplier part code all at once, across every category.
- Results with a real price show first. Anything showing "Price not yet loaded" means that specific row in the supplier's own Google Sheet hasn't had a price filled in yet - that's a data gap upstream, not a BidForge bug.
- The same item often shows up from more than one supplier (e.g. a 50x50 square tube from both Almex and Stewarts and Lloyds) - handy for a quick compare.
- Pulls from the exact same catalogue that BOQ's "Add from supplier catalogue" uses - refreshed weekly from the 19 supplier Google Sheets.
Company-wide profit and loss, pulled live from Xero via Windsor - revenue, cost of sales, overhead, and margin, for Tilt Screens and Komposite separately.
- Pick a period from the dropdown, then click the company tab (Tilt Screens or Komposite) to pull that data - nothing loads automatically until you choose a company.
- Revenue and Cost of Sales are both broken down by client/supplier - hover a donut segment or click "detail" on any month's CoS or Gross Profit figure to see exactly which invoices or suppliers drove it.
- Red Flags & Actions surfaces the months genuinely worth a closer look - a net loss, a CoS spike, a thin margin - with a plain-English reason and a direct link into that month's drill-down.
- FD Commentary is AI-generated from the real numbers on screen - a second opinion, not a replacement for your own read of the business.
- Global Commodity & Freight Rates and the market research section underneath are refreshed periodically, not live on every load - useful context, not a real-time feed.
- Greg only - nobody else has access to this tool.
Pulls your real sales invoices from Xero, lets you allocate each one to a project, and tracks who's still awaiting payment - a proper replacement for LiveCosts' Client Invoices section.
- Click "Refresh from Xero" to pull in any new invoices and update the status of ones already being tracked (including catching any that have since been paid/reconciled in the Xero bank feed).
- Every invoice starts unallocated - type to search for a project and click it to allocate. This is a one-time action per invoice; once allocated, it'll keep showing against that project going forward.
- Use the filter buttons to jump straight to what needs attention - Unallocated, Awaiting Payment, or both combined.
- Once an invoice is allocated, "Billed but Unpaid" for that specific project becomes fully reliable - shown on both this page and that project's page in Live Project Overview.
- Xero has no reliable way to link an invoice back to a Project on its own (a genuine, long-standing Xero limitation, not a BidForge gap) - that's exactly why this tool exists. An invoice's "Billed but Unpaid" status only shows against a project once someone has allocated it here.
Budget Monitoring & Holds
Runs automatically in the background - checks every active project's overall budget and each phase budget once a day, and immediately whenever a new PO or time entry is logged.
- Three tiers, checked against both the overall project budget and each individual phase budget: 50% used sends a notification, 75% sends an alarm-level alert, 100%+ puts that project (or just that phase) on a budget hold.
- Alerts go to everyone with cost-data access (full & super_admin roles) by email.
- A budget hold blocks anyone from logging a new PO or time entry against that project/phase except Greg & Nico, who can still log costs while working the issue.
- Only Greg or Nico can clear a hold - shown as a red banner on that project's page in Live Project Overview, with a required reason for clearing it.
- A hold clears itself automatically if the budget is revised so the project drops back under 100% - no manual clearing needed in that case, since raising the budget already is the resolution.
- Any project currently on hold also shows at the very top of the main Project Cost Overview page, so nothing needing action gets missed.
The big picture - where spend is going across every project, not just one.
- Use the filter buttons (Current, 1 Month, Quarter, 1 Year, All History) or the date pickers for a custom range.
- The commentary section flags things worth knowing - a category taking up too much of total spend, or too much spend sitting uncategorized.
- Spend Over Time needs at least two months of data in range to show a trend line - a single month won't plot a meaningful trend.
A unified, filterable log of everything happening across time, POs, and receiving - useful for a quick "what's been logged today" check.
Collect each person's skills-check result and see who needs training and where.
- Paste the full .txt result someone downloads from the quiz - it reads their name, role, overall score and per-area scores automatically. There's a manual-entry tab too if you don't have the .txt.
- The heatmap shows where the whole team is weakest on average - that's what training should hit first.
- The table sorts weakest person first and flags anyone under 55% overall. Re-testing someone adds a new result and shows the trend against their last one.
- Export CSV any time for a backup or to share outside BidForge.
- full & super_admin - Clear all is destructive and only works for super_admin.
Service schedules, faults, and repair history for every workshop machine.
- Click a machine card to open its detail panel - Service Intervals, History, and Faults tabs.
- Logging a Service asks for the next monthly / 3-monthly / annual due dates - pre-filled from today's date, adjust if needed. This is what drives the overdue/due-soon/up-to-date status on the card.
- Logging a Fault is open to everyone - the person running the machine is usually the first to notice a problem. Service and Repair entries (which carry a real cost) need full or super_admin access.
- The machine list here is the same one Production Checklist uses - add or retire a machine in one place and both tools see it.
Pre-Start through Dispatch, stage by stage, signed off on a tablet at the machine.
- Type a few letters of the project name or a TD number - same project search as everywhere else in BidForge.
- Delivery type changes which stages you go through - Local jobs skip Packaging and Dispatch and get a Vehicle Loading stage instead.
- Tap an item to check it off. Use Flag instead if something's wrong - flagged items don't block sign-off but do show up on the final summary as needing supervisor review.
- Sign-off is per stage, and every stage needs every item resolved (checked or flagged) before you can sign it off.
- Every sign-off is saved permanently, including who signed it and any flags raised - open to everyone, since this is the tool the workshop floor uses directly.
General Tips
- All tools use real email + password login now - no more shared site password.
- Three roles: super_admin (Greg, full access), full (Kelly, Danielle, Sasha, Nico, Owen, Thomas - all cost data), time_only (everyone else - can log their own time, can't see cost/PO/receiving data).
- Tag categories on POs whenever you can - it's the difference between a genuinely useful cost breakdown and a big "Uncategorized" bucket.
- Every project search box across BidForge (Time, POs, Receiving, Live Project Overview) works the same way - just start typing part of the name or a TD number, then click the match.
- Dates everywhere are shown as dd-mm-yyyy (e.g. 15-07-2026).