Skip to content
XSIS
A hand holding a wireless bank payment terminal, close up

Enterprise Applications & Integration

Finance Systems Integration

Bank, ledger and tax systems exchanging clean records, so finance closes faster.

Why It Matters

Finance teams still retype bank statements, chase failed payments and reconcile by hand. Each manual step adds delay and a chance of error. The close then waits for people to find the difference.

Banks, ledgers and tax platforms speak different formats. A change in one system can break the chain that closes the books. We keep one contract per connection, test it with the bank, and show every failure before it reaches the close.

What We Do

  • We connect the finance system to each bank through the channels it supports, with a contract for every payment file and status message.

  • Statements arrive in one place where rules match them to ledger entries, so your team sees only the exceptions.

  • Treasury works from one view of positions, payments and risk, with policy checks before each payment leaves.

  • A consented link reads account data or starts a payment without a file, and the consent can be withdrawn at any time.

  • Each invoice clears with the tax platform before the customer receives it, and a rejection returns with its reason and a route to fix it.

What Changes for You

  1. Positions, payments and receipts arrive in one place, close to real time, so treasury sees what the business has now.

  2. Reconciliation runs automatically, so the month closes with fewer exceptions and people work only the differences that need judgement.

  3. Every payment and statement keeps a record, an owner and a check that an auditor can follow from bank to ledger.

Systems We Connect

We connect the systems that hold the money and the records. The link covers payments, statements and the entries they create.

  • Banks and Payment Files

    We connect to your banks through the channels they support. That may be a message network, a file exchange or an open banking link.

  • The Ledger

    Your ERP receives clean entries, matched to the bank record. Each entry carries the reference its owner needs.

  • Treasury

    Treasury sees positions, payments and risk in one workflow. A payment is checked against policy before it leaves.

  • Tax Platforms

    Invoices clear with the tax platform before they reach the customer. A rejected invoice returns with a reason, not a silence.

How It Connects

Two drawings show the main flows: an open banking link and a bank connection. Each names the systems, the messages and the direction of travel.

Open Banking: Data and Payments With the Customer’s ConsentThe customer grants consent, the connector holds the tokens, and every call to the bank is authorised and logged. When consent expires or is withdrawn, the app asks the customer again instead of failing quietly.PeopleCustomerServiceYour app orplatformTreasury, lending oraccountingXSISOpen bankingconnectorConsent, tokens anddata normalisationBankBank APIs oraggregatorAccount informationand payment initiationERPERP or ledgerCash position andreconciliation12REST/JSON3OAuth 2.0 · FAPI · REST4REST/JSON · webhook5REST/JSON6HTTP 401 · 4037

Open Banking: Data and Payments With the Customer’s Consent

The customer grants consent, the connector holds the tokens, and every call to the bank is authorised and logged. When consent expires or is withdrawn, the app asks the customer again instead of failing quietly.

  • Primary flow
  • Asynchronous
  • Exception path
The flow in 7 steps

The Flow, Step by Step

  1. From Customer to Your app or platform: Grants consent (primary flow).
  2. From Your app or platform to Open banking connector: Account and payment requests, over REST/JSON (primary flow).
  3. From Open banking connector to Bank APIs or aggregator: Authorised API calls, over OAuth 2.0 · FAPI · REST (primary flow).
  4. From Bank APIs or aggregator to Open banking connector: Balances, transactions and payment status, over REST/JSON · webhook (asynchronous).
  5. From Open banking connector to ERP or ledger: Normalised transactions, over REST/JSON (primary flow).
  6. From Bank APIs or aggregator to Open banking connector: Consent expired or withdrawn, over HTTP 401 · 403 (exception path).
  7. From Open banking connector to Your app or platform: Customer asked to renew consent (exception path).
ERP to Bank: Payments Out, Statements InApproved payments leave the ERP as signed payment files over a host-to-host channel. Status reports and statements come back the same way and are matched to open items. Rejections and unmatched lines go to your team with the reason attached.ERPERPPayment runs, openitems, general ledgerXSISIntegration layerMapping, validation,signing andschedulingGatewaySecure bankchannelHost-to-host filetransfer or bank APIBankBankPayments and cashmanagementServiceReconciliationengineMatching rules andtolerancesPeopleTreasury andfinance teamReviews rejectionsand breaks1REST/JSON · IDoc2ISO 20022 pain.001OpenPGP3SFTP H2H4pain.002 · camt.053MT9405SFTP H2H6camt.0537REST/JSON8pain.002 RJCT910

ERP to Bank: Payments Out, Statements In

Approved payments leave the ERP as signed payment files over a host-to-host channel. Status reports and statements come back the same way and are matched to open items. Rejections and unmatched lines go to your team with the reason attached.

  • Primary flow
  • Asynchronous
  • Exception path
The flow in 10 steps

The Flow, Step by Step

  1. From ERP to Integration layer: Approved payment run, over REST/JSON · IDoc (primary flow).
  2. From Integration layer to Secure bank channel: Signed and encrypted payment file, over ISO 20022 pain.001 · OpenPGP (primary flow).
  3. From Secure bank channel to Bank: Delivered to the bank, over SFTP H2H (primary flow).
  4. From Bank to Secure bank channel: Status reports and statements, over pain.002 · camt.053 · MT940 (asynchronous).
  5. From Secure bank channel to Integration layer: Collected and validated, over SFTP H2H (asynchronous).
  6. From Integration layer to Reconciliation engine: Statement lines, over camt.053 (asynchronous).
  7. From Reconciliation engine to ERP: Matched entries posted, over REST/JSON (primary flow).
  8. From Integration layer to Treasury and finance team: Rejected payments, with the reason code, over pain.002 RJCT (exception path).
  9. From Reconciliation engine to Treasury and finance team: Unmatched lines: a reconciliation break (exception path).
  10. From Treasury and finance team to ERP: Corrected and resubmitted (exception path).

Go-Live and Switch-Over

A cutover is planned, rehearsed and reversible. Each stage has an owner on your side and on ours.

  1. Prepare

    You name the account owners and approve the cutover plan. The plan lists the checks that must pass before the switch.

  2. Rehearse

    You provide test accounts and sample volumes. We run the files until both sides agree.

  3. Switch

    You approve the window. Traffic moves while the old route stays open.

  4. Settle

    Your finance team checks the first cycles. We fix every difference before the new route becomes the daily one.

Compliance in Every Market

Payments and invoices follow rules that differ by market. We keep the general controls separate from each market's details.

We build the general controls once, then configure each market's formats and checks. Every connection keeps a record that an auditor can follow. When a rule changes, we update one layer, not every connection.

Read the Country Guides

Platforms and Technologies

SAP S/4HANA, Oracle Fusion Cloud ERP and Microsoft Dynamics 365 Finance are the ledgers we connect to. ISO 20022 is the message standard banks use for payments and statements. pain.001 carries a payment instruction and pain.002 reports its status. camt.053 is a bank statement, camt.052 covers intraday movements and camt.054 reports individual entries. MT940 and MT942 are the older statement formats. SWIFT is the interbank message network and EBICS is a bank connection channel. OpenPGP encrypts the files you exchange with a bank. PSD2 and the UK Open Banking Standard define a consented link that reads account data. Berlin Group NextGenPSD2 is one technical profile of that link, and FAPI is the security profile we apply. OAuth2 carries the customer's consent, and REST with webhooks delivers live updates.

ERP systems
  • SAP S/4HANA
  • Oracle Fusion Cloud ERP
  • Microsoft Dynamics 365 Finance and Supply Chain Management
Banking standards and channels
  • ISO 20022
  • pain.001
  • pain.002
  • camt.052
  • camt.053
  • camt.054
  • MT940
  • MT942
  • Swift
  • EBICS
  • OpenPGP
  • PSD2
  • Berlin Group NextGenPSD2
  • UK Open Banking Standard
  • FAPI
Integration
  • REST
  • Webhooks
Identity and access
  • OAuth 2.0

Naming a product does not mean a partnership with its vendor.

Questions

The questions finance teams ask before they connect the estate.

How do we start?

We map the accounts, formats and owners in a short review. You choose the first bank or tax flow. We then write the contract and the checks with you.

How long does a connection take?

It depends on the number of banks, the formats each one uses and the state of the ledger data. We connect one flow at a time. You see a working route before the old one is closed.

Who owns the integration?

You do. The interface contracts, mappings, tests and runbooks are yours. The documents live in your repository, and credentials live in your vault. Your finance team keeps ownership of the accounts and the rules.

What drives the cost?

The number of banks and tax connections, the formats and message sets, the reconciliation rules and the ERP interfaces. Bank and vendor fees are separate. We estimate each connection so you can phase the work.

What is not included?

Bank fees, ERP licences and tax platform charges are separate. We do not approve payments or decide your accounting policy. We name those dependencies in the plan, with the owner of each one.

Visit the Knowledge Base

Tell Us What You Need to Run, Build or Secure.

Describe the service, the systems and the pressure you are under. The right team takes it from there.