Function Point estimator
IFPUG function point counting, with the five components restated for integration rather than for screens — and every step of the arithmetic shown.
IFPUG counting was designed for transactional applications, so the five components are restated below in integration terms. The arithmetic is unchanged — the value of Function Points is that two people can disagree about a count and still agree about the method.
Inbound messages processed
External Input · 3/4/6
Each distinct inbound transaction the interface accepts and acts on — an inbound 850, a REST POST, a file drop that updates something.
Outbound messages produced
External Output · 4/5/7
Each distinct message sent out that involves derivation — a transformed 810, an enriched event, a calculated summary.
Synchronous lookups
External Inquiry · 3/4/6
Request–reply calls that retrieve without changing anything — a stock check, a status enquiry, a validation call.
Internal stores maintained
Internal Logical File · 7/10/15
Data the integration layer itself owns — staging tables, correlation stores, cross-reference tables, audit stores.
External data referenced
External Interface File · 5/7/10
Data owned elsewhere but read by this interface — a partner catalogue, an ERP master table, a reference feed.
General system characteristics — rate 0 to 5
How many protocols and how much of it is real-time rather than batch.
Work spread across systems, regions or tenants.
Whether response time or throughput is an explicit requirement with consequences.
Constrained infrastructure the interface must fit inside.
Peak volumes, and how sharp the peaks are.
Interactive input, error screens, human-in-the-loop steps.
How much the design is shaped by usability rather than throughput.
Updates to internal stores that must be immediate and recoverable.
Multi-step logic, exception handling, compensation, heavy transformation.
Built to be reused across interfaces rather than for one purpose.
Conversion, cutover and migration effort designed in.
Start-up, backup, recovery and monitoring done properly.
Multiple countries, entities or business units with local variation.
Designed so business rules and partners can be changed without redeploying.
The figure worth arguing about, so it is an input rather than a hidden constant. Low-code platforms on a mature estate sit at the bottom of this range; code-heavy work on an estate nobody has mapped sits at the top. If you have historical actuals, use those — they beat any published benchmark.
Estimate
- Unadjusted FP
- 89
- TDI
- 37 / 70
- VAF
- 1.02
- Adjusted FP
- 90.8
How this number was reached
- · Unadjusted 89 FP from the component counts and standard IFPUG weights.
- · TDI 37 of a possible 70 gives VAF 1.02 — the adjustment band is deliberately only ±35%.
- · Adjusted 90.8 FP × 9 hours/FP = 817 hours.
- · Hours per FP is the figure to argue about. It varies by platform, team maturity and how much of the estate is already understood — it is an input here rather than a hidden constant.
- · This sizes build and unit test. It excludes requirements, business testing, partner certification and cutover.
This sizes one interface, or one coherent piece of work. For a whole estate, count the interfaces first — the catalogue builder does that, and the migration assessor adds platform friction on top.
Standard IFPUG weights and the fourteen general system characteristics, with the component definitions restated for integration rather than for screens and reports. Every step of the arithmetic is shown, because an estimate you cannot argue with is not an estimate — it is a number someone will hold you to. Nothing is transmitted or stored.
Other tools
- EDI viewer & validator (X12 + EDIFACT)
- X.509 certificate decoder
- JSON ↔ XML converter
- CSV ↔ JSON converter
- OpenAPI linter
- MCP tool-definition linter
- OpenAPI → agent tools
- Agent blast-radius calculator
- Prompt secret scanner
- Agent cost & context calculator
- Agent-readiness scorecard
- iPaaS readiness assessment
- Modernisation roadmap generator
- Migration risk register
- Cutover runbook builder
- Interface catalogue builder
- Migration wave planner
- Platform migration assessor
- Fixed-width flat file parser
- webMethods flow reader
- SAP IDoc viewer
- SWIFT MT & ISO 20022 viewer
- HL7 v2 message viewer
- XSLT tester
- XPath tester
- CI/CD workflow security linter
- Regex tester & ReDoS checker
- Webhook signature verifier
- SLA & error budget calculator
- Retry & backoff simulator
- JSONPath tester
- JSON Schema generator
- Encoding & mojibake fixer
- JSON formatter & validator
- JSON diff
- Epoch & timestamp converter
- Base64 encoder & decoder
- UUID & ULID generator
- JWT decoder
- Cron expression explainer
- Interface math calculator
- Post-quantum migration matrix
- Post-quantum exposure calculator
These exist because the underlying problem is real. If the numbers you just put in look uncomfortable, that is usually worth a conversation.

