Dev Guide: Integrate your financial data with your accounting system with the API Feeds v2

Dev Guide: Integrate your financial data with your accounting system with the API Feeds v2

This content is archived.
Content incorporated into core guide and a separate guide will be created dedicated to web-hooks

Steps to integrate your financial data with your accounting system

 


Related Helpguide Pages

Learn how to use the API Feeds to integrate your Invoice and Payment data with your finance and accounting systems

There are many reasons that you may want to integrate your accessplanit platform with your finance system; you may wish to get rid of manual data entry so fewer mistakes happen, or you might be looking to save time by automating your invoicing processes, giving employees more time for important work, or your priority could be to share your data in real-time to accurately report and make informed financial decisions.

By integrating the financial data from your accessplanit platform into your central finance system, you can rely on the consistency of an integration, and analyse your financial information better alongside any financial data from other software. Additionally, as your business grows, the scalability of automation will allow you to handle more invoices and more transactions easily without much extra work!

API JTBD Images (2).png

While there are a number of different ways to integrate financial data between your accessplanit platform and your finance system, this guide will focus on our recommended best practice of using the accessplanit API v2 feeds. APIs give you real-time access to your data, they keep information consistent, and can grow with your needs, supporting custom data elements. Overall, APIs are a reliable and flexible way to link different systems and services together, making everything work together more easily.

Follow this page to learn the steps to integrate the financial data in your accessplanit platform with your finance/accounting system using the accessplanit v2 APIs.


Plan the integration

In this step you will work with the system administrators to plan your integration

There are two key steps for planning your finance integration:

  • Understand common set-ups and best practice

  • Define what and how data will be shared within your integration

 

Understand common set-ups and best practice

There are three key processes that are typically factored into finance integrations:

  • Invoice generation
    Invoices are generated in accessplanit for processed bookings, the details of these are then sent to the finance system to be managed and reported on centrally

  • Processing payments and refunds (transactions)
    The details of payments and refunds processed in accessplanit are sent to the finance system, and any payments and refunds processed in the finance system are sent to accessplanit, this ensures both systems are a reliable source of information when reviewing the payment status of an Invoice

  • Invoice updates
    Any update to invoice information, such as a PO Number change or a due date change, are shared between the two systems, again this ensures both systems are a reliable source of information when reviewing Invoice details

0e3e905c67f0fc9dc9f12c183b6224c4.gif

This is the best practice for integrating each of these processes:

a. Invoice is generated in your accessplanit platform

Process triggered

Automatically via web-hooks, as soon as an Invoice is generated

Alternative: at the end of each day, all Invoices generated since the last time the integration ran are processed into the finance system

Filters applied

Only invoices with the following statuses should be included: ‘Outstanding’, ‘Part Completed’, ‘Completed’

Optional: Only Invoices for specific Training Providers

Data included

Use accessplanit API v2 endpoints:

  • Invoice

  • InvoiceItem

Data fields to include:

Invoice fields

  • ID (Invoice ID e.g. 109)

  • Reference (Invoice Reference e.g. INV000805)

  • DateCreated (Invoice Created Date e.g. 2025-12-01T13:23:59.297)

  • DateDue (Invoice Due Date e.g. 2025-12-04T13:23:59.297)

  • Amount (Invoice Total Amount e.g. 120.0)

  • Tax (Invoice Total Tax e.g. 20.0)

  • AmountPaid (Paid so far e.g. 100.0)

  • Outstanding (Remainder to pay e.g. 20.0)

  • Status (Invoice Status e.g. PartCompleted)

  • CurrencyCode (Currency e.g. GBP)

  • TargetID (ID of Customer paying e.g. CUST091HG.)

  • TargetLabel (Name of Customer paying e.g. Customer Ltd.)

  • TargetIDType (Either User or Company)

  • CompanyName (Training Provider issuing e.g. Training Company)

  • FullAddress (Invoice Address e.g. 1 New Road<br/>Lancaster<br/>Lancashire<br/>United Kingdon<br/>LA1 1AB)

  • PONumber (Purchase Order Number e.g. 1234)

Invoice Item fields

  • ID (Invoice Item ID e.g. 1187)

  • InvoiceID (Invoice ID e.g. 109)

  • Reference (Invoice Reference e.g. INV000805)

  • DynamicLabel (Label of the Invoice Item e.g. "First Aid at Work\r\n (19/12/2025 09:00 - 20/12/2025 12:00)"

  • SourceIDType (Type of Invoice item, e.g. CourseDate)

  • SourceID (ID of the Invoice Item’s Source i.e. the ID of the Course Date)

  • Amount (Invoice Item Amount e.g. 120.0)

  • Tax (Invoice Item Tax Amount e.g. 20.0)

 

b. Payment is recorded in your accessplanit platform

Process triggered

Automatically via web-hooks, as soon as a payment is logged on an Invoice

Alternative: at the end of each day, all payments recorded since the last time the integration ran are processed into the finance system

Filters applied

Only transactions with a value over 0.00 are processed as payments

Optional: Only transactions for your chosen Payment Gateway (i.e. Opayo, Stripe) are included

Data included

Use accessplanit API v2 endpoints:

  • TransactionInvoice

Data fields to include:

  • TransactionID (Unique generated ID of the transaction e.g. SCLzgeeTrvjBfFh)

  • InvoiceID (Invoice ID e.g. 109)

  • InvoiceReference (Invoice Reference e.g. INV000805)

  • PayeeFullname (Name of User who processed the transaction e.g. Yvette Moreau)

  • TransactionMethodLabel (Type of payment made e.g. WorldPay)

  • DateCompleted (Date of transaction e.g. "2025-12-06T09:45:21.774)

  • Amount (Transaction value e.g. 100.0)

  • Tax (Transaction tax e.g. 16.67)

  • CurrencyCode (Currency e.g. GBP)

  • Status (Transaction status e.g. Completed)

  • ExternalTransactionID (Payment Gateway reference or Credit Note ID)

 

c. Payment is recorded in your finance system

Process triggered

Automatically, as soon as a payment is logged on an Invoice

Filters applied

Only transactions with a value over 0.00 are processed as payments

Only Invoices that originated in accessplanit should be included

Optional: Only transactions recorded as BACS are included

Data included

Using accessplanit API v2 endpoints:

  • TBC

  • TBC

Data fields to include:

  • Which Invoice was paid

  • Transaction Reference

  • Payment Method

  • Amount

  • Tax

  • Transaction Date

 

d. Refund is recorded in your accessplanit platform

Process triggered

Automatically via web-hooks, as soon as a refund is recorded on an Invoice

Alternative: at the end of each day, all refunds recorded since the last time the integration ran are processed into the finance system

Filters applied

Only transactions with a value under 0.00 are processed as refunds

Optional: Only transactions for your chosen Payment Gateway (i.e. Opayo, Stripe) are included

Data included

Using accessplanit API v2 endpoints:

  • TBC

  • TBC

Data fields to include:

  • Transaction ID

  • Transaction Reference

  • Payment Method

  • Amount

  • Tax

  • Transaction Date

  • Which Invoice was refunded

 

e. Refund is recorded in your finance system

Process triggered

Automatically, as soon as a refund is recorded on an Invoice

Filters applied

Only transactions with a value under 0.00 are processed as refunds

Only Invoices that originated in accessplanit should be included

Optional: Only refund transactions recorded as BACS are included

Data included

Using accessplanit API v2 endpoints:

  • TBC

  • TBC

Data fields to include:

  • Which Invoice was refunded

  • Transaction Reference

  • Payment Method

  • Amount

  • Tax

  • Transaction Date

 

f. Invoice is updated in your accessplanit platform

Process triggered

Automatically via web-hooks, as soon as an Invoice is updated

Filters applied

Only invoices with the following statuses should be included: ‘Outstanding’, ‘Part Completed’, ‘Completed’

Optional: Only Invoices for certain Training Providers

Data included

Using accessplanit API v2 endpoints:

  • TBC

  • TBC

Data fields to include:

  • Invoice ID

  • Date Due

  • PO Number

 

g. Invoice is updated in your finance system

Process triggered

Automatically, as soon as an Invoice is updated

Filters applied

Only Invoices that originated in accessplanit should be updated

Data included

Using accessplanit API v2 endpoints:

  • TBC

  • TBC

Data fields to include:

  • Invoice ID

  • Date Due

  • PO Number

 

 

Define what and how data will be shared within your integration

Once you have reviewed the common set-ups and best practice for finance integrations above, you should define the inputs and output for integrating your finance processes.

Work with your finance team, your developer, and the accessplanit team to define your integration! Here are the steps to follow for each process you want to integrate:

  • How will your integration for this process be triggered?
    Will it be triggered based on something being created or updated, e.g. when an Invoice is generated? Or will it be triggered periodically, such as once a day or once an hour?

  • Should any filters be applied?
    Would you like all invoices/transactions/credit notes to be included in your integration? Or would you like to apply filters to exclude some based on their status, value, related training provider?

  • What specific data should be shared and in what format?
    Which fields of data should be sent from one system to the other, and does the data need to be transformed in anyway for example adding the prefix of ‘ap’ to invoice and transaction references to identify them as originating in accessplanit?

 

 


Develop the integration

In this step, you will create the integration between the two systems

a. Invoice is generated in your accessplanit platform - Webhooks

This process will walk you through creating a Workflow to trigger a webhook when a new Invoice is generated

  1. TBC

  2. Include code samples

  3. Optimising / performance recommendations

 

a. Invoice is generated in your accessplanit platform - Batched

This process will walk you through generating a request to view recently generated invoices

  1. Access the Developer DataGrid

  2. TBC

  3. Include code samples

  4. Optimising / performance recommendations

 

… repeat above for all processes

 

 


Test the integration

Before turning the integration on live, we recommend thoroughly testing to make sure everything is working as expected.

Depending on your development methodology, we recommend to start testing early and continue to test during the development phase, rather than leaving testing to the very end of the project.

There are several types of test we recommend completing::

Unit Testing

Unit Testing is the type of testing that should be completed during the development, it validates that each part of the integration work as they are supposed to in isolation.

Integration Testing

Integration Testing is where the various components of the integration are tested to see how interact with each other. These test should cover both expected/realistic data, and extreme data to thoroughly test the integration.

Functional & UAT

Functional Testing is where the integration is tested against it's specific functionality requirements, this testing can be combined with User Acceptance Testing (UAT) which is where your users will complete tests using real-world data to test the integration. Within this tests you should include both valid and invalid data, to ensure incorrect information fails.


FAQs

Here are some common questions that we receive about the APIs and their answers

  • Is the data provided by the API v2 feeds in real-time?
    Yes, each API GET request you make will return real time data for that moment

  • Can I access historical data in the API v2 feeds?
    Yes, you can adjust your filters of your request to include or exclude historical data

  • What data formats are supported by the API v2?
    JSON

  • How is the data transmitted via the API to keep it secure?
    The APIs can only be accessed by users with API permissions, additionally the range of access is them limited by roles, this means that not every API User can access all endpoints.
    Tokens? Encrypted? HTTPS?

  • What is the module fee for accessing the API v2 feeds?

  • How do I get access to the API v2 feeds?
    Your initial API Access will be granted alongside the module purchase
    For any additional API Users please speak to your Optimise CSM and they will ensure your access is set up promptly

  • What are the rate limits for API v2 Requests?

  • How do I handle errors returned by the API?

 


Support

If you need any further support with building an integration with your finance system using the API Feeds, here are the steps to get in touch with us

 

 

 

 

 

 

 

 


Contact Our Team

If you can't find what you're looking for, access our Support Portal, and our team of experts will be happy to help!

Is it your first time contacting the team? Learn how to raise a support ticket.

Follow Us

Facebook|height=20 LinkedIn|height=20 Instagram|height=20 Twitter|height=20

Copyright © 2025 accessplanit.

Social media icons by icons8.com