Skip to main content
FromNine
Menu

Engineering

Data that flows between systems, and tells you when it doesn’t.

We link CRM, ERP, case management, Peppol and public services such as MyGovID using clear contracts, events and sound identity, so records arrive dependably, failures are visible, and new tools (AI among them) can connect without risk.

Getting ready for e-invoicing in 2028? For Irish organisations linking their ERP and partners to Peppol and to public services such as MyGovID.

Integrations & APIs: the four layersA stack of four layers. At the top are the users of data, such as portals, apps and agents; beneath them the API gateway together with identity; then the event backbone; and at the bottom the systems that hold the master records.01Portals, apps and agents02Gateway and identity03Event backbone04Core business systems
  1. 01APIs designed from the contract outwards in OpenAPI and AsyncAPI, with versions and documentation
  2. 02Events delivered in order, safe to process twice, with a dead-letter queue and replay
  3. 03Every flow watched from start to finish, every error queue assigned to a named team

01 Problems

Why organisations ask us to look at their integrations

  1. 01

    A web of direct links that nobody will touch

    Scores of one-to-one connections between CRM, ERP and bespoke systems. Rename a single field and ten interfaces need retesting.

  2. 02

    Double orders and quiet failures

    A retry books the order a second time. A message fails and simply vanishes. The business hears about it from a customer.

  3. 03

    Each new channel starts from zero

    The portal, the app and now an AI assistant need the same records, and every one of them gets its own export.

  4. 04

    E-invoicing and public services look like separate projects

    Getting your ERP onto Peppol, or a citizen service onto MyGovID, turns into months of security reviews and onboarding, and the next connection starts all over again.

02 Delivery ledger

What you get from us

  1. 01 API strategy and API management

    Design that starts from OpenAPI and AsyncAPI contracts, a versioning policy that a gateway enforces, and a developer portal where teams can find what is already there and reuse it.

    What we do

    • Map of current APIs and who owns them
    • Design guidelines and a review routine
    • Gateway rules for security, quotas and versions
    • Developer portal and API catalogue

    What you receive

    • API guidelines your teams have adopted
    • Gateway set-up held as code
    • Catalogue of APIs with documentation
  2. 02 Integration through events

    Message brokers, change data capture and the outbox pattern, plus the details that make or break it: message order, consumers that tolerate duplicates, dead-letter queues and replay.

    What we do

    • Event model and naming rules
    • Outbox and CDC on the source systems
    • Duplicate-safe consumers and ordering rules
    • Dead-letter queues with tools to replay

    What you receive

    • Event backbone live
    • Schema registry with compatibility rules
    • Runbook for replay and recovery
  3. 03 Integration platforms, picked flow by flow

    SAP Integration Suite, MuleSoft and the cloud providers’ own integration services all have a role. We say plainly where an iPaaS is better than custom code and where it is not.

    What we do

    • Review of the middleware you run today
    • Platform choice based on total cost over time
    • Mappings and connectors built for reuse
    • Moving off ageing middleware

    What you receive

    • Recorded decision on the integration platform
    • Library of integration patterns
    • Plan for moving existing interfaces
  4. 04 Identity and trust across systems

    OAuth 2.0 and OpenID Connect, mutual TLS, identities for services, and links to digital identity for people and businesses: MyGovID in Ireland and schemes elsewhere such as itsme, DigiD and eHerkenning, BundID, FranceConnect, Cl@ve, SPID and CIE.

    What we do

    • Identity design for people and for services
    • Tokens, scopes and consent
    • Support with onboarding and certification for each identity scheme
    • Getting ready for EU Digital Identity Wallets

    What you receive

    • Identity design with a threat model
    • Digital identity login live
    • Service identities and rotated secrets in place
  5. 05 Connecting to the State and other governments

    Links from your systems to Peppol for e-invoices to Irish public buyers, MyGovID for public services, and national exchanges in other Member States such as the Federal Service Bus and MAGDA in Belgium, Digikoppeling and Common Ground in the Netherlands, XÖV and FIT-Connect in Germany, PDND in Italy and API Entreprise in France, plus the EU Once-Only Technical System.

    What we do

    • Onboarding with the scheme or exchange operator
    • Mapping to national data standards and EN 16931
    • Security and logging rules of each scheme
    • Design for exchanging evidence once only

    What you receive

    • Approved connection to the scheme
    • Mapping documents
    • Operating procedures agreed with the operator
  6. 06 Flow status the business can read

    Monitoring written in business terms, reconciliation between systems, and error queues that a named person owns and clears.

    What we do

    • Flow monitoring by business process
    • Reconciliation reports across systems
    • Sorting and routing of errors
    • Alerts sent to each flow owner

    What you receive

    • Integration dashboard for each business process
    • Reconciliation checks live
    • Map of owners for each error queue

03 Architecture

Reference architecture, for illustration

Data leaves the core systems by two routes. Requests that need an immediate answer pass through system APIs and a gateway that verifies identity, scopes and quotas. Changes go out as events, via an outbox or change data capture, and consumers handle them so that a duplicate does no harm.

A message that fails ends up in a dead-letter queue from which it can be replayed, rather than buried in a log file. A monitoring band shows each flow in the language of the business, so the owner of a process sees at once when it has stalled.

Layers in the drawing

Core systems
ERP, CRM and case management stay the master for their own records.
Request and response
Versioned system APIs behind a gateway applying OAuth 2.0, mTLS and quotas.
Events
Outbox, broker, dead-letter queue and mappings on the integration platform.
Users of the data
Portals, apps, agents, partners, Peppol and public services, with MyGovID or another digital identity where members of the public sign in.
Illustrative example
  1. Core systems

    • ERP, CRM and case management
  2. Request and response

    • System APIs
    • Gateway: OAuth 2.0, mTLS, quotas
  3. Events

    • Outbox and change capture
    • Event broker
    • Dead-letter queue and replay
    • Mappings on the integration platform
  4. Users of the data

    • Portals, apps and agents
    • Partners, Peppol and public services
    • Identity: OIDC, mTLS, MyGovID
  5. Operate

    • Flow status, reconciliation, error queues with owners
APIs next to an event backbone

An illustration, not a client’s system.

Read the diagram as text

The main path starts at the core business systems, passes versioned system APIs and an API gateway, and reaches portals, apps and agents.

Alongside it, the core systems publish changes through an outbox and change data capture to an event broker, which passes them to partner, Peppol and public-service exchanges and to an integration platform for mappings. Failed messages drop into a dead-letter queue with replay. Identity services using OAuth, mTLS and digital identity protect the partner exchanges.

Beneath, a monitoring band shows the status of each flow, reconciliation and error queues with owners.

04 Considerations and limits

What to weigh up, and where the limits are

  • Exactly once has to be designed in

    How we handle it

    We take it as given that a message may come twice or in the wrong order, so consumers are built to tolerate both, with keys and ordering rules agreed for each type of event.

    Limits and dependencies

    Some older systems cannot take an idempotency key or tell you what they have processed. Around those we put reconciliation in place, and we say so openly.

  • An iPaaS does not suit every flow

    How we handle it

    A platform is the better choice for plenty of standard connectors and mappings. Custom services do better with complex logic, large volumes or tight latency. We record the reasoning for each integration.

    Limits and dependencies

    Vendors change their licence terms. A platform that costs little now can grow into the largest item in your integration budget, so we project costs over several years.

  • Schemes and authorities keep their own timetable

    How we handle it

    We put together onboarding files, security evidence and test plans early, and we work with the operator of the scheme or exchange from week one. For Peppol, we also track the planned move of the Peppol Authority role from the OGP to Revenue from 1 January 2027.

    Limits and dependencies

    The operator decides how long certification and onboarding take, not us. We plan around those dates and show you where they sit on the critical path.

  • AI tools get narrow APIs

    How we handle it

    Agents and assistants receive their own APIs with tight scopes, limits and audit logs, never the wide access that internal services have.

    Limits and dependencies

    Every API an agent can call adds risk. Your security team reviews each one with us before it goes live.

05 How we work

How we work

First we untangle, then we build, and no flow is left without an owner.

  1. 01

    Chart every flow

    Each interface with its volumes, its history of failures and the person in the business who owns it.

    OutputIntegration map ranked by risk

  2. 02

    Agree the rules

    API guidelines, event conventions, the identity model and the platform decision.

    OutputIntegration guidelines and recorded decisions

  3. 03

    Migrate one flow at a time

    The riskiest flows go first, and reconciliation runs next to the old interface until both give the same totals.

    OutputMoved flows, with reconciliation as proof

  4. 04

    Run in the open

    A dashboard for each business process and error queues with named owners.

    OutputOwner map and dashboards for every flow

06 Human control

Where your people keep control

Flows run without supervision. Responsibility for failures still sits with a person.

  • No error queue without an owner

    A failed message lands with the team answerable for it, along with its context and a way to replay it, not in a log everyone shares.

  • Changes to contracts get reviewed

    Any API or event change that would break a consumer is reviewed with those consumers before release.

  • Replays need a reason

    Pushing messages back into a core system needs authorisation, and the log records who did it and why.

07 Technologies

Technology we use

Integration platforms
  • SAP Integration Suite
  • MuleSoft
  • Azure Integration Services
  • Integration services on AWS and Google Cloud
Events and streaming
  • Apache Kafka
  • RabbitMQ
  • Event brokers from the cloud providers
  • Debezium for change capture
APIs
  • OpenAPI and AsyncAPI
  • Gateways and developer portals
  • GraphQL when it suits
  • Contract tests
Identity
  • OAuth 2.0 and OpenID Connect
  • Mutual TLS
  • Keycloak and cloud identity services
  • MyGovID and other national digital identities

A technology on this list reflects hands-on engineering work. It does not mean the vendor partners with us or endorses us.

08 Example

An example, for illustration

Illustrative example

EN 16931 e-invoices in and out of the ERP ahead of VAT modernisation

01The situation
A distributor with an Irish operation expects to issue domestic B2B e-invoices from November 2028. Today invoices leave as PDFs from two ERP systems, supplier invoices arrive by email, and accounts payable keys them in by hand.
02What we would put in place
An integration layer that turns ERP invoices into EN 16931 messages, validates them and sends them over Peppol through the company’s chosen access point, and that brings incoming e-invoices straight into accounts payable with matching against purchase orders.
03Where staff decide
The finance team approves invoices that fail validation or do not match an order; the head of tax signs off the VAT mapping before go-live.
04How we would judge it
Share of invoices sent and received as valid e-invoices, number of rejected messages per week, and time from receipt to approval.

09 Sector lens

By sector

  • MyGovID login, EN 16931 e-invoices received over Peppol under S.I. No. 258 of 2019, and the logging public services expect. Read more on Public Service & Government.

  • ERP, MES and supplier portals linked by events, so pharma and medtech sites plan, produce and service from the same picture.

  • Core banking or policy systems, CRM and partner APIs joined with strong identity, audit trails and reconciliation your finance team can rely on.

Ireland

VAT modernisation, Peppol and MyGovID

Revenue has published a phased timeline for VAT modernisation. From 1 November 2028, VAT-registered large corporates are due to issue EN 16931 e-invoices for domestic B2B sales and report the data to Revenue, and every business must be able to receive them; a PDF will not count. From 1 November 2029 the duty extends to VAT-registered businesses trading within the EU, and the EU’s ViDA cross-border rules follow in July 2030. The legal basis sits in Finance Bill (No. 2) 2026, which had not been enacted at the time of writing, so the dates are still planned.

Public buyers already work this way: under S.I. No. 258 of 2019, contracting authorities must receive and process EN 16931 e-invoices, and Ireland uses Peppol for them. The OGP runs the Peppol Authority function today, and Revenue intends to take it over from 1 January 2027.

On identity, citizens reach public services with MyGovID, and eIDAS 2 requires every Member State to offer an EU Digital Identity Wallet. We keep Peppol, MyGovID and other national schemes as adapters behind stable internal contracts, so your ERP and portals do not need rework each time a rule or a scheme changes.

Integrations, APIs and e-invoicing: your questions

Integration platform or custom code: which should we choose?

Usually a mix, depending on the flow. A platform suits standard connectors, mappings and bringing partners on board. Flows with heavy volumes, strict response times or a lot of logic tend to suit custom services. We choose flow by flow and write down the reason.

Can you connect SAP, Salesforce and Odoo?

Yes, and we do it often: to each other, to bespoke systems and to public services. FromNine is a partner of all three vendors (Salesforce Summit Partner, SAP Gold Partner, Odoo Gold Partner), so integration engineers and platform specialists sit on the same team. Our SAP integration work shows how.

Is event-driven integration worth it for us?

It helps when several systems have to respond to one change, or when teams want to release independently. When two systems just ask and answer, a plain API often does the job. Most landscapes end up with both.

Can you add MyGovID or another national digital identity?

Yes. We connect services to MyGovID and to digital identity schemes in other Member States, and we design for the EU Digital Identity Wallets that Member States must offer under eIDAS 2 by 24 December 2026. In Ireland the planned Government Digital Wallet is linked to MyGovID; a public consultation has proposed that public bodies accept it by the end of 2026. Each scheme has its own onboarding rules, so we plan for them from the start.

Must our old middleware go?

Not in one step. We list what runs on it, move the flows that carry the most risk or cost first, and keep reconciliation running until each moved flow has proved itself.

Show us the interface that breaks most

We will explain how to make it visible, safe to retry and owned, and what the same work would mean for the rest of your landscape.