Build on HassleFreeBooks

Connect your app, connector or internal tool to the books of any business that uses HassleFreeBooks. A REST API over the whole ledger — invoices, bills, payments, journal entries, contacts, reports — standard OAuth 2.1 so customers connect with one click, signed webhooks, and SDKs for PHP, JavaScript and Python.

Free. No approval queue: your app works the moment you register it.

What you can build

Connectors

Sync sales, payouts, time or inventory from your platform into a customer's books — as invoices, bills or balanced journal entries — and keep it in step with webhooks.

Reporting and dashboards

Read the P&L, balance sheet, cash flow, aging and the general ledger for a business its owner connected, for lenders, investors, or your own analytics.

Practice tools for accountants

Work across the businesses your clients connect, each with exactly the access its owner gave you — read-only for an accountant, write for a bookkeeper.

Your own automations

For scripts that only touch your own books, skip OAuth: create an API key and call the API directly. Zapier, Make and n8n work the same way.

Start in four steps

  1. Create a developer account. You get a test business of your own to build against — no customer data is ever needed to develop.
  2. Register an app. Name it, add your redirect URI, pick the scopes. You get a client ID and secret instantly.
  3. Connect your test business. The app page builds a working authorization link for you, PKCE and all, so you can see the consent screen before writing code.
  4. Call the API. Exchange the code for tokens and send Authorization: Bearer hfbat_… to https://hasslefreebooks.com/api/v1.
# 1. Send the customer to the consent screen
https://hasslefreebooks.com/oauth/authorize?response_type=code&client_id=hfbc_…&redirect_uri=https://yourapp.example/callback
    &scope=read%20write&state=…&code_challenge=…&code_challenge_method=S256

# 2. Exchange the code they bring back
curl -s https://hasslefreebooks.com/oauth/token -u "$CLIENT_ID:$CLIENT_SECRET" \
  -d grant_type=authorization_code -d code="$CODE" \
  -d redirect_uri=https://yourapp.example/callback -d code_verifier="$VERIFIER"

# 3. Use the access token
curl -s https://hasslefreebooks.com/api/v1/invoices -H "Authorization: Bearer $ACCESS_TOKEN"

Built to be trusted

One business per connection

A customer picks which business to connect. Your token cannot see any other, even if the person who connected it can.

Customers stay in control

Every connection is listed under Settings › Connected apps, where the person — or the business owner — can end it at any time.

Changes never ambush you

Breaking changes ship beside the old behaviour, carry Deprecation and Sunset headers, and are emailed to the developers whose apps use them, at least 90 days ahead. The policy.

Watched for abuse

Apps go live instantly; an automated reviewer reads every listing and watches usage, so the few bad actors are stopped without slowing everyone else down.

Recent changes