Integration
COINS integration for construction cost control
Foras supports a COINS Finance import and reconciliation workflow. Posted actuals from COINS are compared against the cost your teams captured on site, so the difference between the two is visible, decided and recorded instead of reconstructed in a spreadsheet at month end.
How it works
An import and reconciliation workflow, not a live connection.
Foras is deliberately clear about this: COINS data reaches Foras through an export and import cycle. We do not claim a real-time integration, and Foras does not write anything back into COINS.
- 01
Export posted cost from COINS
Your Finance team exports posted cost for the project from COINS in the normal way. No change to how Finance closes a period, and no agent or connector installed inside your ERP.
- 02
Import into the project
The export is imported against the project in Foras and mapped to cost codes, so posted actuals sit alongside the cost captured from site.
- 03
Compare captured cost with Finance
For every cost code, Foras shows what site captured, what Finance posted, and the difference between them — rather than one blended figure with no explanation.
- 04
Record a decision on each difference
Differences are worked through and resolved with a recorded decision, such as treating a difference as timing or matching to the Finance figure. The adjustment, the author and the reason stay in history.
- 05
Forecast from the reconciled position
Adjusted cost to date becomes the basis for cost to complete and forecast final cost, so variance against approved budget is defensible.
What you see
Captured cost, Finance actuals and the difference, per cost code.
The Position view is where reconciliation happens. Every row carries its own difference and its own decision.
Northgate Logistics Park — Phase 2
Position · Aug 2026 · Demo data
Captured
£11.85m
Finance
£10.47m
Adjusted CTD
£11.97m
| Cost code | DiffDifference | CTDAdjusted CTD | Decision |
|---|---|---|---|
| 150Project Management | £60k | £1.84m | Timing |
| 210Labour | £262k | £2.96m | Decision needed |
| 311Shoring | −£115k | £1.54m | Match Finance |
| 707Subcontract | £158k | £3.18m | Needs review |
Difference = Captured − Finance. A negative difference means captured cost sits below Finance. Shoring shows a Match Finance adjustment of +£115,000, so adjusted CTD equals the Finance position to date. Values rounded for display.
What Foras does
- Imports posted cost from a COINS export and maps it to project cost codes.
- Compares Finance actuals against cost captured from site activity.
- Holds a per-row decision, adjustment, author and reason for each difference.
- Produces an adjusted cost to date that the forecast is built from.
- Keeps reconciliation history so a past position can be explained later.
What Foras does not do
- It does not replace COINS or any other accounting system.
- It does not post journals or any other entries back into Finance.
- It does not maintain a live, always-on connection to your ERP.
- It does not overwrite Finance figures — differences are shown, not absorbed.
Finance remains authoritative for posted actuals. Foras complements the ERP by explaining the operational position against it, which is a different job from keeping the ledger.
Periods and other systems
Practical questions teams ask.
Period alignment. Finance posts on accounting periods while site captures on the day work happened. Foras keeps occurrence dating on captured cost, which is what makes timing differences identifiable rather than mysterious.
Other ERPs. The workflow is built around importing posted cost and reconciling it. COINS is the system we have worked with most closely. If your Finance team uses something else, ask us what a comparable export would need to contain rather than assuming it is unsupported.
Structure. Work breakdown and work items are optional project structures. Reconciliation works at cost-code level, and additional structure is used where a project has chosen to use it.
Bring a COINS export to the demo.
We will walk the reconciliation workflow end to end and be specific about what the import expects from your data.