---
title: "ERP for contracting companies that buy materials for every job"
description: "1flux is an ERP for contracting companies and facility services: price the BOQ, buy materials against each order, check deliveries in and run several companies."
url: https://1flux.ai/solutions/contracting-and-facility-services
last_updated: 2026-10-11
---

Contracting and facility services

# ERP for contracting companies that buy materials for every job

For fit-out, MEP contracting, maintenance and facility management companies. Price the BOQ, buy materials against the customer's order and keep every company's books apart.

## In short

1flux is an ERP for contracting companies and facility services providers: fit-out, MEP contracting, maintenance and facility management. BOQs are priced as structured quotations, materials are bought against the customer's order through approved requisitions, and site deliveries are checked in before they reach the books. Each legal entity keeps its own currency, numbering, warehouses and ledger, in one workspace.

The order-to-cash board moves only when real documents exist, from order request to payment completed.

View as text

1. Harbourline Contracting LLC's purchase order, PO 7741, arrives with the accepted quotation and waits in Order request.
2. Operations create sales order SO-2026-0042 and activate it, which reserves the stock. The card moves to Sales order, at To pick.
3. The warehouse dispatches all 10 items. The delivery note posts cost of goods sold, and the card moves to Delivery note.
4. Finance posts the sales invoice for the delivered quantities. The card moves to Sales invoice with AED 63,000.00 due.
5. The customer payment is recorded against the invoice, and the order reaches Payment completed. Nobody dragged the card: each document moved it.

The one flow

## How does an ERP for contracting companies run a job from BOQ to invoice?

In 1flux the job’s quotation, sales order, material purchases, site deliveries and invoice sit on one record, each document starting from the one before it. Materials are bought against the customer’s order, so every purchase order is linked to the job it serves.

Say a main contractor sends the BOQ for a third-floor fit-out. You price it as a quotation, attach the client’s LPO when it’s accepted and turn it into a sales order. A Customer demand requisition buys the materials against that order, and stores check the supplier’s delivery in before anything reaches the books. The goods receipt, the delivery note to site and the invoice each post their own journal.

1. Quotation (QT-2026-00412): Approved . Nothing posts.
2. Customer PO (Client LPO 3318) . Nothing posts.
3. Sales order (SO-2026-0302) . Nothing posts.
4. Requisition (Customer demand): Approved . Nothing posts.
5. Purchase order (PO-2026-0077) . Nothing posts.
6. GRN check-in (Checked by stores) . Nothing posts.
7. Goods receipt report (GRR-2026-0102) . Posts Dr Inventory , Cr GRNI.
8. Delivery note (To site) . Posts Dr COGS , Cr Inventory.
9. Sales invoice . Posts Dr AR , Cr Revenue, VAT.

Quotations

## Price the BOQ as a structured quotation

A BOQ is a long, sectioned list, and 1flux quotations are built for it: a heading for each section, catalogue and custom lines, line discounts and availability per line, up to 500 lines. When the client’s RFQ arrives as a PDF or a photo, **Import PO with AI** drafts up to 200 lines from it and matches exact item codes to your catalogue.

The formal cover letter carries Ref, To, Attn, Project and Subject, your terms and up to three signatories. Selling an annual maintenance contract (AMC)? Quote it as service lines on the same kind of quotation.

- Approval rules by total amount, with sending blocked until approved
- Numbered revisions (`/R1`, `/R2`) as the BOQ changes, each with a reason
- Track each site, building or tender as a project in 1flux CRM, with scope tags such as Mechanical or Electrical

[How 1flux quotations work](https://1flux.ai/products/quotations)

A heading for each BOQ section, with supply and installation lines priced from the catalogue.

Purchasing

## Buy materials against the customer's order

In 1flux a requisition with the purpose **Customer demand (sales order)** has to name the sales order, and can copy its open lines. One approval step signs it off, and it prints as a [request for quotation](https://1flux.ai/glossary/request-for-quotation) PDF for suppliers. Buyers record each quote with its file, compare offers side by side and award every line with a reason.

- One draft [local purchase order (LPO)](https://1flux.ai/glossary/local-purchase-order) per awarded supplier, printed with your letterhead and tax details
- A “PO without price” lets you order now and agree the price later
- Quick local buys go through a local purchase request (LPR) instead
- The link to the sales order follows the requisition onto every purchase order

[Purchasing in 1flux](https://1flux.ai/products/purchasing)

Supplier quotes side by side, the best price per item marked, each line awarded with a reason.

View as text

1. Compare offers shows three suppliers’ quotes for one requisition: unit price and line total in AED for each item, with each supplier’s validity and lead time.
2. The lowest valid price for each item gets a Best badge: Saffar Valves Trading for the gate valves, Tidewell Pipe Supplies for the pipe and Coralbay Building Materials for the pumps.
3. The buyer awards the gate valve line to Saffar Valves Trading. The Award reason is required and is pre-filled with Lowest valid unit price, because this is the recommended offer.

Receiving

## Check site deliveries in before they reach the books

Receiving in 1flux is two checked steps. Stores record a [goods received note (GRN)](https://1flux.ai/glossary/goods-received-note) with the supplier, one or more POs, the delivery note number and a photo or scan, and choose **Checked & approved** or **Checked with comments**, which waits for an approver. Nothing posts yet.

The goods receipt report then needs a reason for every short, over or rejected quantity, and posts stock and the journal in one step. Rejected goods go to their own register, to return to the supplier, scrap or hold.

- Blind receiving, so stores count what really arrived
- The purchase invoice is built from what was received, with a reason for any price difference

[Goods receiving](https://1flux.ai/products/purchasing/goods-receiving)

Stores check the delivery in; nothing posts. The goods receipt report accepts it and posts stock and the journal.

View as text

1. A storekeeper records a goods received note: supplier Tidewell Pipe Supplies LLC, purchase orders PO-2026-0012 and PO-2026-0015, and the supplier’s delivery note number.
2. They attach a photo of the delivery note and choose the outcome Checked & approved.
3. The note is saved as Checked & approved. Nothing posts to stock or the ledger.
4. The receiving team creates goods receipt report GRR-2026-0074 from the note. One line arrived short by 2, so it needs a variance reason: Balance to follow.
5. Post GRR brings the stock into the Jebel Ali warehouse and posts one journal: Dr Inventory, Cr Goods received not invoiced.

Multi-entity

## Every company in one workspace, with its own books

1flux runs each of your companies as a legal entity with its own currency, registrations, letterhead, numbering, warehouses and books, all in one workspace. That suits contracting groups that run a fit-out company, an MEP company and a facility management company side by side. The entity switcher in the top bar shows which company you’re in.

- Entity access is set when you invite someone, so a site storekeeper sees only their own company
- Each company issues quotations and LPOs under its own letterhead and registrations
- A consolidation run gives the group a consolidated trial balance in one currency

[Multi-company in 1flux](https://1flux.ai/platform/multi-entity)

Switch legal entity from the top bar. Currency, figures and the books follow; nothing mixes.

View as text

1. The finance manager is working in Sadaf Building Supplies LLC, whose books are in AED.
2. They open the entity switcher in the top bar (⌘⇧E).
3. They choose Sadaf Trading Company.
4. The page now shows the books of Sadaf Trading Company in SAR. Each entity keeps its own currency, numbering, warehouses and books.

Approvals

## Approvals where the money is committed

1flux puts approvals at the points that commit money. Quotations route by amount band to any, all or a quorum of approvers. Requisitions need approval before they become RFQs and purchase orders. GRNs checked with comments wait for a back-office approver.

- An approvals inbox with a pending count, where approvers approve or reject inline with a reason; requests and decisions also go by email
- Separate permission lanes for requesting, approving, awarding, issuing, receiving and invoicing
- Custom roles built from more than 100 permissions

[Workflows and approvals](https://1flux.ai/platform/workflows-and-approvals)

Every request waiting for you, in one list. Open one to see the move, the note and each approver’s vote.

FAQ

## Questions, answered

Still deciding? [Talk to sales](https://1flux.ai/contact)

### Can 1flux buy materials against a specific customer order?

Yes. A requisition in 1flux with the purpose Customer demand (sales order) must name the sales order it serves, and can copy the order's open lines. Once approved, it prints as a request for quotation for suppliers, and buyers compare offers and award each line with a reason. The link to the sales order follows the requisition onto every purchase order, so each purchase order records which job it's for.

### Can we price a BOQ in 1flux?

Yes. You price a BOQ as a 1flux quotation, with a heading for each section, catalogue and custom lines, line discounts and availability per line, up to 500 lines. When the client's RFQ arrives as a PDF or a photo, Import PO with AI can draft up to 200 lines from it. The formal cover letter carries the project, subject, terms and up to three signatories.

### Can stores check site deliveries in before they reach the books?

Yes. Receiving in 1flux is two steps. Stores record a goods received note (GRN) with the supplier, the purchase orders, the delivery note number and a photo or scan, as Checked & approved or Checked with comments, which waits for an approver. Nothing posts yet. The goods receipt report then needs a reason for every short, over or rejected quantity, and posts stock and the journal.

### Can we order materials before the supplier's price is agreed?

Yes. A PO without price in 1flux lets you place the order now and agree the price later. Stores receive against it as usual, and the receipt carries a provisional cost until the buyer agrees prices. The Purchasing overview lists open orders waiting for prices under Needs action, and receipts still at provisional cost are flagged on the Inventory overview and aged in the cost audit.

### Can 1flux run several contracting companies in one place?

Yes. 1flux runs several legal entities in one workspace, each with its own currency, registrations, letterhead, numbering, warehouses and books. Legal entities can be registered in the UAE, Saudi Arabia and India. You choose each person's entity access when you invite them, and a consolidation run combines every operating company into a consolidated trial balance in one group currency.

### Can facility management companies sell annual maintenance contracts in 1flux?

Yes. Set up an annual maintenance contract (AMC) as a service item in your 1flux catalogue and quote it like any other line, with its own price, tax code and billing unit. Once the customer's PO is attached, the sales order lets you invoice service lines without a delivery note, in one invoice or several up to the quantity ordered, and receivables aging shows what's still due.

### Who approves what in 1flux?

1flux asks for approval at each point where money is committed. A quotation in a given amount band goes to any, all or a quorum of the approvers you name, and is sent only once they approve. A requisition is approved before it becomes an RFQ or a purchase order, and a GRN checked with comments waits for a back-office approver. Requesting, awarding, issuing, receiving and invoicing are separate permissions.

Related

## Keep exploring

### [Quotations](https://1flux.ai/products/quotations)

Quotes from your catalogue or a customer's PO, approved, locked and sent.

### [Purchasing](https://1flux.ai/products/purchasing)

Requisitions, quotes, LPOs, two-step receiving and receipt-based invoices in one flow.

### [Goods receiving (GRN)](https://1flux.ai/products/purchasing/goods-receiving)

Check deliveries in on a GRN, then post stock and the journal on a goods receipt report.

### [Multi-company and multi-entity](https://1flux.ai/platform/multi-entity)

Several legal entities in one workspace, each with its own registrations, currency and books.

### [Workflows and approvals](https://1flux.ai/platform/workflows-and-approvals)

Stage rules, approvals by amount and one approvals inbox, configured without code.

### [Building materials and project supply](https://1flux.ai/solutions/building-materials)

Track every project, quote the contractor formally and deliver to site in drops.

Last updated 11 October 2026
