What is project cost tracking for?

Project cost controls help companies monitor construction and operational expenditure against contracted budgets, commercial cost codes, and negotiated supplier savings. They prevent budget overruns by checking purchase request quantities and prices against pre-approved Bill of Quantities allowances before orders are issued. For example, when a site project orders 50 tonnes of high-tensile steel rebar, Bilaro converts bar lengths into tonnes, tags the expenditure to a structural rebar cost code, verifies that the purchase stays within the project's BQ allowance, and records the savings achieved against competing quotes.

How to set up cost codes

  1. Open Company Settings from the sidebar (/admin-settings). If you do not see Company Settings in the sidebar, you need an Admin or Global Admin role.
  2. Scroll down to the Cost codes section. If you do not see Cost codes in Company Settings, your company does not have this module; ask your Admin or Bilaro support.
  3. In the cost codes form, enter the accounting or cost-allocation identifier in Code (for example, CAPEX-01 or SITE-01).
  4. Enter an optional explanatory title in Description (for example, Structural Steel & Rebar).
  5. Click Add cost code. The new code appears in the active codes table.
  6. To modify an existing code or description, click Edit on that code's row, adjust the fields, and click Save.
  7. To retire a code from purchase request pickers, click Archive. To view or reactivate retired codes, tick Show archived codes and click Restore.

Screenshot: Cost codes management card in Company Settings showing code input, description, and list

Note: Only Admins and Global Admins can create, edit, archive, or restore cost codes. Codes must be unique within your company (case-insensitive). Existing purchase requests that already use an archived code retain their historical link.

How to tag request lines to cost codes

  1. Click New request at the top of the sidebar (or open an existing draft request from My Requests and click Edit).
  2. Fill in the request header details, select your supplier in Vendor, and optionally select a project in Project.
  3. In the Line items section, enter your purchase lines with descriptions, quantities, and unit rates.
  4. Scroll to the Cost codes section beneath the project picker.
  5. For each line item, select the appropriate cost code from the dropdown menu (defaults to No cost code).
  6. Complete any supporting document uploads and click Submit request.

Screenshot: Cost code dropdown selectors for each line item on procurement request form

Note: Cost code tagging is optional. All roles that can raise purchase requests (Requester, Manager, Director, Finance, Admin, and Global Admin) can tag lines to active cost codes. If a line was previously tagged to a code that was later archived, Bilaro displays Archived code (kept) so historical records remain intact.

How to view spend by cost code

  1. Open Cost code spend from the sidebar under Money & Approvals (/cost-code-spend). If you do not see Cost code spend in the sidebar, your company does not have this module; ask your Admin or Bilaro support.
  2. To narrow the report by date, enter start and end dates in From and To. Click Clear filters at any time to reset.
  3. Review the three summary metric cards:
    • Total spend: Sum of all purchase order line spend within the selected date range.
    • Without a cost code: Total spend on lines that were not assigned a cost code.
    • Share without a cost code: Percentage of total spend that remains uncoded.
  4. Review the breakdown table (or stacked cards on mobile screens) showing Code, Description, number of Lines, number of Requests, and total Spend.
  5. Check the Uncoded row at the bottom of the table to review purchases raised without cost codes.
  6. Click Export CSV in the top-right corner to download a spreadsheet copy of the spend summary.

Screenshot: Cost code spend report dashboard with KPI summary cards and breakdown table

Note: The report counts only purchase requests that have advanced to PO issued, Pending payment, or Paid. Drafts and requests waiting for approval are excluded. Users with Finance, Manager, Director, Admin, and Global Admin roles can access this report.

How to add items to a Bill of Quantities

  1. Open Projects from the sidebar and click View on the project's card.
  2. Scroll down to the Bill of Quantities section. If you do not see this section, your company does not have the BQ module; ask your Admin or Bilaro support.
  3. Click Add item.
  4. In the dialog, enter the item parameters:
    • Item no: Enter the contract reference or bill number (for example, 1.1 or 6/B1/1.1).
    • Section: Enter an optional bill heading or trade package (for example, Substructure or Drainage).
    • Description: Enter the full work item description.
    • Unit: Enter the bill unit of measurement (for example, M3, TONNE, M, or NO).
    • Qty: Enter the planned contract quantity. Fractional quantities (such as 12.5 or 0.5) are supported.
    • Rate: Enter the agreed contractual unit rate in RM.
    • Lump sum: If the work is priced as a lump sum without a per-unit breakdown, tick this box.
    • Amount: Confirm the calculated total or type a manual sum.
  5. Click Save.

Screenshot: Add BQ item dialog showing item number, unit, quantity, rate, and lump sum toggle

Note: Users with Manager, Director, Finance, Admin, or Global Admin roles can add and edit BQ items. If a project status is changed to Completed or Archived, the Bill of Quantities becomes read-only. Tip: You can permanently delete a BQ item by clicking Delete only if no purchase request lines have been tagged to it. Once lines are tagged, click Archive instead to hide it from selection pickers while preserving historical audit figures.

How to import a Bill of Quantities spreadsheet

  1. In the project's Bill of Quantities section, click Import.
  2. To inspect the expected column layout, click Sample CSV or Sample Excel (.xlsx) to download a template workbook.
  3. Under Choose a .xlsx or .csv file, click to select your spreadsheet (maximum file size 5 MB).
  4. If your file contains revised rates or quantities for items already in Bilaro, tick Overwrite existing item numbers.
  5. Click Preview.
  6. Bilaro scans every bill sheet in the workbook and skips summary sheets automatically.
  7. If the column headings are non-standard, the Pick the columns mapping tool appears. Select the matching spreadsheet columns for Item no, Description, Unit, Qty, Rate, Amount, and Section, then click Apply and preview again.
  8. Review the import summary showing valid rows, detected sheets, and any errors.
  9. Click Confirm import to load the items into your project.

Screenshot: Import Bill of Quantities modal with file uploader, sheet preview, and column mapping

Note: When a BQ spreadsheet has multiple priced columns, Bilaro automatically selects the rightmost pricing column (the Contractor's Proposal) as the allowance amount. Items are numbered by bill, section, and item (for example, 6/B1/1.1).

How to configure BQ unit conversions

  1. In the project's Bill of Quantities section, click Unit conversions (or open /bq/conversions directly).
  2. To populate standard reinforcement steel conversion factors, click Load standard rebar weights. Bilaro automatically loads standard weights (bar diameter squared ÷ 162, in kg per metre) for bar diameters Y10 through Y40, R6, and R8.
  3. To set up a custom site conversion (such as crusher run or quarry aggregates sold by the tonne but budgeted in cubic metres), click Add conversion.
  4. In Item, enter the material identifier as it appears on purchase requests (for example, CRUSHER RUN or REBAR Y16).
  5. In Bought in, enter the supplier's trading unit (for example, T).
  6. In BQ unit, enter the contract BQ unit (for example, M3).
  7. In Factor, enter the conversion multiplier representing BQ units per 1 buying unit (for example, 0.625 m³ per 1 tonne).
  8. In Wastage %, enter any expected compaction, cutting, or handling loss (or leave as 0).
  9. In Source, enter reference notes (such as a laboratory test report or quarry density certificate).
  10. Click Save.

Screenshot: Unit conversions directory with Load standard rebar weights button and Add conversion modal

Note: Only Manager, Director, Finance, Admin, and Global Admin roles can add, edit, or deactivate conversion factors. All users can view the conversion list. If a factor changes, click Deactivate rather than deleting it, ensuring previous purchase records maintain their original calculations.

How to allocate request lines to BQ items

  1. Click New request at the top of the sidebar (or edit an existing draft request from My Requests).
  2. Select the associated project from the Project dropdown.
  3. Under Line items, enter the goods or materials being purchased. You can enter fractional quantities (such as 2.5 tonnes or 0.5 days) directly in Qty.
  4. Scroll to the Tag lines to Bill of Quantities (optional) section that appears below the project selector.
  5. For each line item, click the input labeled Pick a BQ item....
  6. Search by typing the BQ item number or description.
  7. Select the matching item from the list. Bilaro displays the item number, description, and the remaining ringgit balance.
  8. If the item is marked as Lump sum, Bilaro tracks the commitment by total ringgit value without requiring unit conversions.
  9. Complete your request and click Submit request.

Screenshot: Tag lines to Bill of Quantities picker showing item search and remaining allowance

Note: Requesters can only tag lines to active BQ items belonging to the project selected on the request. To unlink a tagged line, click the Clear (x) button beside the selected item.

How to manage BQ overrun warnings and approvals

  1. When a requester tags a line that causes total project commitments to exceed a BQ item's allowance, Bilaro displays an amber alert banner titled Over the BQ allowance.
  2. The banner displays the specific overrun details: the item number, the amount in this request, the remaining allowance, and the exact amount over allowance.
  3. Check your company's BQ overrun policy:
    • If your policy is set to Warn, the banner states: You can still submit. The overrun will be recorded in the audit trail. Requesters can proceed with submission, and approvers see the warning banner during review.
    • If your policy is set to Director approval, the banner states: A director must approve this request because of the overrun. When submitted, Bilaro automatically routes the request to a Director for sign-off, even if the total request value is below the company's normal Director approval threshold.
  4. To configure this policy as an Admin or Global Admin, open Company Settings (/admin-settings).
  5. Under BQ overrun control, locate the dropdown When a request goes over a BQ item's allowance.
  6. Select Warn, Director approval, or Off, then click Save BQ overrun policy.

Screenshot: Over the BQ allowance warning banner displayed on a purchase request

Note: The BQ allowance check accounts for both committed spend on issued purchase orders and pending requests currently progressing through approvals.

How to track procurement savings

  1. Open Savings report from the sidebar under Home (or expand the More menu if collapsed). If you do not see Savings report, your company does not have the module enabled; ask your Admin or Bilaro support.
  2. Review the top-level metric cards:
    • Total saving: Total ringgit saved across all awarded competitive quotations.
    • Saving: Percentage saved relative to the baseline total.
    • Baseline total: Total expenditure calculated using baseline prices.
    • Awarded total: Actual contracted commitment based on winning supplier quotes.
    • RFQs counted: Total number of awarded RFQs contributing to the metrics.
    • Items not quoted: Count of requested line items that received no supplier quote or had a zero unit rate.
  3. To focus on a specific date range, select dates in From and To.
  4. To view savings for a specific site or contract, select a project in Project (or leave as All projects). Click Clear filters to reset.
  5. To download the data for executive reporting or spreadsheet reconciliation, click Export CSV.

Screenshot: Savings report dashboard with KPI cards and project filters

Note: The Savings report measures variance against a baseline: either the preset benchmark unit price entered when creating the RFQ (see the Request for Quotation (RFQ) Guide), or the highest competing quote received from invited vendors. An RFQ appears in this report only after contract award and once its downstream purchase request reaches PO issued, Pending payment, or Paid. Figures are procurement estimates and do not represent realized bank cash.

How to read savings breakdowns

  1. On the Savings report page, locate the breakdown tab bar beneath the KPI summary cards.
  2. Click By month to inspect procurement savings grouped by the calendar month when contracts were awarded. The table displays the month name, number of RFQs, Baseline, Awarded, Saving, and Saving %.
  3. Click By project to evaluate which capital projects or client sites achieved the greatest price reductions. Sourcing packages not tied to a registered project are grouped under Unassigned.
  4. Click By item to review savings consolidated by purchased item across all RFQs. Review the total contracted Quantity, baseline total, awarded total, and net savings.
  5. Click RFQs to inspect individual awarded packages. The table lists the sourcing title, supplier name, award date, and totals.
  6. Click any RFQ row to expand its itemised breakdown. Each line item displays its contracted quantity, winning price, and baseline source (Benchmark price or Highest quote).

Screenshot: Savings report breakdown tabs showing month, project, item, and RFQ detail

Note: If a contract is awarded at a price higher than the preset benchmark, Bilaro displays negative savings in red to highlight the cost premium. Users with Finance, Manager, Director, Admin, and Global Admin roles can view the Savings report.

Need more help? Email support@bilaro.my.