PROJECT FINANCE

Know what a job actually cost — before the client disputes the invoice.

Enfinity ERP's Projects module ties every hour, purchase and milestone to a job, posts phase closures and milestone billing straight to the general ledger, and shows budget versus actual with open commitments included — not just what has already been spent.

Most SMB contractors and project-based businesses run job costs on spreadsheets that lag the ledger by weeks, so a manager only discovers a phase has blown its budget after it is finished, and finance only discovers an unbilled milestone once the client has forgotten the work happened. Enfinity ERP covers project financial control — cost, budget, commitment and billing tied to the general ledger; Enfinity Projects remains the separate delivery-management product for scheduling, tasks and portfolios. This page is about the accounting side of a job, not running the job itself.

How it works
  1. Set up the project

    Create a project or project group as the unit costs and revenue accumulate against, then break it into phases so work in progress can be tracked and closed section by section rather than as one undifferentiated job.

  2. Log time and cost

    Staff log time entries against project tasks with a cost rate and a billing rate held separately, so internal cost is always known even for non-billable hours, and purchases tagged to the project feed in as committed spend.

  3. Allocate cost across phases

    Choose a cost allocation basis — by headcount, by explicit percentage, or by actual cost to date — so shared costs land on the right phase instead of being dumped on whichever one happened to be open.

  4. Watch budget versus actual, with commitments

    Review the costing snapshot — labour rollup, budget versus actual, and profitability together — with open, not-yet-invoiced purchase commitments shown alongside actuals so a manager sees what is already spoken for, not just what has posted.

  5. Bill milestones or timesheets

    Invoice an achieved milestone — with retention held back at its own percentage — or raise an invoice directly from an approved billable timesheet batch, and posting writes the receivable and revenue journal automatically.

  6. Close the phase

    Close a finished phase and its accumulated work in progress is reclassified to the phase cost account by a drafted and posted balanced journal, with the phase stamped closed against the exact journal that closed it.

Capabilities

Projects and project groups as the costing unit

Every job's costs and revenue are tracked against a project or a project group, giving finance a single, consistent unit of account whether the work is one contract or a family of related jobs run under one client relationship.

Phase management with journalled close

Phases give a project internal structure. Closing one is not a status flip — it drafts and posts a balanced journal that reclassifies the phase's accumulated work in progress to its cost account, and the phase is stamped with the exact journal id that closed it, so every closed phase names its own audit trail.

Flexible cost allocation across phases

Shared costs split across phases on the basis that fits the job: headcount for labour-heavy work, an explicit percentage where the split is contractual, or actual cost to date where allocation should track real progress rather than a fixed rule.

Time entries with separate cost and billing rates

A time entry against a project task carries a cost rate and a billing rate held independently, so internal cost is always computed correctly whether or not the time turns out to be billable to the client — no separate reconciliation needed later.

One costing snapshot: labour, budget and profitability

Instead of assembling three separate reports, the project costing snapshot composes labour rollup, budget versus actual, and profitability into a single view, so a project manager can answer 'are we making money on this job' in one screen.

Budget versus actual that includes committed spend

Open, not-yet-invoiced purchase commitments tagged to the project sit alongside posted actuals in the budget-versus-actual view, with their own committed-variance and percent-used-with-committed figures — while actual-only figures keep their original, unblended meaning for anyone who needs them.

Milestone billing with retention

Milestones schedule the billing plan; invoicing an achieved milestone stamps it invoiced so it cannot silently be billed twice, posting writes the receivable debit and revenue credit where accounts are configured, and retention is held back from the amount due at that milestone's own retention percentage — standard practice on GCC contracting jobs.

Invoice straight from approved timesheets

For time-and-materials style work, an approved, billable timesheet batch raises its own invoice directly — no manual re-entry of hours into a separate billing document, and no gap between what was worked and what was billed.

Server-side project listing, sorted and filtered

The projects list applies sorting and filtering on the server so a portfolio of hundreds of jobs stays responsive, rather than pulling every record to the browser and filtering client-side.

AI. You decide.

Natural-language reporting over project data

Projects has no project-specific AI model of its own in this release. What it gets is the cross-cutting ERP AI layer applied to project data — ask a plain-language question over a resolved project dataset and get a dashboard or executive summary of project KPIs, rather than building a filter manually.

The dataset and its figures are resolved deterministically first; the model only narrates them in plain language. The feature works with no AI provider configured, falling back to the deterministic dataset, and every use is logged to the advisory ledger with an audit event. A project manager or finance controller reviews the summary before acting on it — nothing posts or sends on its own.

Anomaly detection over project postings

The same cross-cutting anomaly detection that watches ERP postings generally flags unusual project journal activity — an out-of-pattern cost entry, an oddly timed phase close — for someone to look at, rather than surfacing nothing until month end.

Anomalies are computed deterministically from posting patterns; the model only adds a plain-language explanation of why an item was flagged. It works with no AI provider configured, is logged to the advisory ledger with an audit event, and a finance controller reviews and decides on every flagged item — the system never reverses or reclasses a posting itself.

Variance explanation on budget versus actual

When a project's budget-versus-actual figures move, the same explanation service used across ERP's financial statements narrates why the variance happened in plain language against the underlying postings and commitments, saving a manager from re-deriving the story by hand.

The variance figure itself is computed deterministically first; the model only explains it. The explanation is available with no AI provider configured, defaulting to the deterministic variance alone, is logged to the advisory ledger with an audit event, and a project manager or finance controller decides what action to take — the explanation never triggers a budget change or a posting by itself.
Region-native
Saudi ArabiaUAEBahrainOman

Project invoices follow the standard tax and e-invoicing path

A project invoice — milestone or timesheet-raised — carries the same VAT profile resolution and e-invoicing path as any other sales invoice; there is no separate, weaker tax treatment for project billing.

Saudi ArabiaUAEBahrainOmanQatarKuwait

Retention on milestone billing

Holding back a percentage of a milestone's amount due as retention is built into milestone billing, matching standard contracting practice across GCC construction and services work rather than requiring a manual side calculation.

Multi-currency project budgets and costs

Project budgets and costs support multiple currencies with exchange-rate resolution, useful for a job with a foreign supplier or a client billed in a different currency than the company's own books.

Bilingual project naming with right-to-left rendering

Projects and phases carry a second-language name field alongside the primary one, rendered right-to-left in Arabic, so a project team working in Arabic sees native names rather than a transliteration.

Editions
SmallStandardProfessional
Not includedIncludedIncluded
Works with
  • Enfinity Projects

    Enfinity Projects is the separate delivery-management product — scheduling, tasks and portfolios. This ERP module is the financial control layer: it does not schedule the work, it costs, budgets and bills it once the work is real. Treat the two as connected, never merged.

  • Enfinity HCM

    Time entries logged against project tasks carry the cost rate behind an employee's labour, so project labour cost stays consistent with what HCM knows about that employee rather than a re-keyed estimate.

  • Enfinity CRM

    A won opportunity that becomes a delivery contract is the natural handoff point into a project's budget and billing plan, so sales and project finance are looking at the same client commitment.

The Enfinity platform
  • Company dimension (multi-legal-entity scoping)

    A project's costs and journals post within the company that owns the contract, so a group running several legal entities keeps each project's financials cleanly scoped rather than blended across companies.

  • Workflow & approvals

    Milestone invoices and phase closures can route through the same shared approval engine used across ERP, so a controller signs off before a large billing event posts rather than after.

  • Reporting & personalization

    Project reporting runs through the shared report builder, analytics, listings and saved views, so a project manager builds their own project dashboard without waiting on a custom report request.

FAQ

Is this the same as Enfinity Projects?

No. Enfinity Projects is the separate delivery-management product for scheduling, tasks and portfolios. This ERP module is the accounting side — cost, budget, commitments and billing tied to the general ledger. They connect; they are not the same product.

We currently track job costs in Excel. What changes?

Costs, time and purchase commitments post against the project automatically as work happens, so the budget-versus-actual view is always current instead of being rebuilt from scattered spreadsheets at month end.

Does budget versus actual include costs we've committed to but not paid yet?

Yes. Open, not-yet-invoiced purchase commitments tagged to the project show alongside actuals with their own committed-variance figures, while the actual-only numbers keep their original meaning for anyone who needs them separately.

How does retention on milestone billing work?

Each milestone carries its own retention percentage, held back from the amount due when that milestone is invoiced — matching standard GCC contracting practice rather than a flat, one-size rule.

Is AI required to use project accounting?

No. Every deterministic figure — cost, budget, variance, profitability — is computed and usable with no AI provider configured. AI, when enabled, only adds natural-language reporting, anomaly flags and variance narration on top.

Which VAT countries does project invoicing support?

Project invoices use the same active VAT treatment as any sales invoice in Saudi Arabia, the UAE, Bahrain and Oman. Kuwait and Qatar are ready to configure when each introduces VAT — Kuwait currently has no live VAT regime, so we do not claim one.

Can I see project cost on a phone?

Yes — ERP Mobile has a project detail page showing the current costing position, so a site manager can check the numbers without opening a laptop. There is no separate project portal inside ERP itself; that lives in the Enfinity Projects product.

Can a project be billed twice for the same milestone by mistake?

No. Invoicing a milestone stamps it invoiced, so the same milestone cannot be raised again by accident — and every phase close names the exact posted journal that closed it, giving a full audit trail.