REST API integration

Generate invoices from any REST API

Already have your orders, bookings or jobs in another system? If it returns JSON over a REST API, Business Hub can turn any of its records into an invoice. Point it at the endpoint, map the JSON fields once, and generate invoices by record ID without writing code.

How it works

From JSON to invoice in three steps

Point to your endpoint

Enter the API address. Put {identifier} where the record ID goes, or let the ID be sent as a query parameter.

Map the JSON fields

Load a sample record and map its fields, including nested ones, to the customer, line items, amounts, tax and notes.

Generate by ID

Enter a record ID and the API data becomes a branded invoice, ready to download or send.

What you get

A REST API invoice integration without code

🔌

Works with any JSON API

ERPs, booking engines, CRMs, marketplaces or your own app: anything that answers a GET request with JSON can feed invoices.

🧭

Nested JSON mapping

Map fields at any depth and point to the record inside a larger response with a dot-notation path.

🔑

Flexible authentication

Send an API key as a Bearer or Basic Authorization header, or in a custom header such as X-API-Key.

🛡️

Read-only and on demand

Business Hub only sends GET requests, and only when you test the connection, load sample fields or generate an invoice.

🧾

Branded PDF output

API data becomes an invoice with your logo, numbering, tax and bank details, ready for email or WhatsApp.

♻️

Invoice Flows

Save the endpoint, mapping and template as a flow and invoice any record with just its ID.

Setup guide

How to connect a REST API to Business Hub

You need the API address of the record you want to invoice and, if it is private, an API key.

  1. Add a REST API data sourceIn Business Hub open Data Sources → Add Data Source and choose REST API.
  2. Enter the endpointUse the exact https address, for example https://api.example.com/orders/{identifier}. Without the placeholder the ID is sent as a query parameter, named id unless you change it.
  3. Set the response pathIf the record sits inside the response, for example under data.order, enter that dot-notation path. Leave it blank when the response is the record itself.
  4. Add authenticationPaste the API key and choose the header it is sent in. With the Authorization header you can set the scheme, such as Bearer or Basic; any other header receives the key as-is.
  5. Test and mapTest the connection, open Mapping Rules, fetch the fields from a sample record and map them to invoice fields.
  6. Generate the invoiceGo to Create Invoice → From Data Source, choose the API source and enter a record ID. Save it as an Invoice Flow to reuse it.
Who it's for

Who generates invoices from API data

Businesses with a custom system

Keep running orders in your own software and use it as the source for professional invoices.

Booking and rental platforms

Invoice a booking straight from the booking engine's API by its reference.

Developers and agencies

Connect a client's back office to invoicing in minutes, without building PDF generation yourself.

FAQ

Common questions

How do I generate an invoice from API data?

Add the endpoint as a REST API data source in Business Hub, map the JSON fields to the invoice once, then enter a record ID under Create Invoice → From Data Source.

Do I need to write code?

No. You enter the endpoint, authentication and mapping in forms. You only need the API address and access details for your system.

Which authentication methods are supported?

An API key sent in the Authorization header with a scheme such as Bearer or Basic, or in any custom header. Public endpoints need no key.

Does Business Hub change data in my system?

No. It only reads records with GET requests.

Can my API push invoices into Business Hub?

Not at the moment. Business Hub reads records from your API when you generate an invoice; there is no inbound API for creating invoices.

Try it on your next invoice

Set up your business in a couple of minutes, no setup call needed.

Create free account