One API for every accounting system
Connect your customers to Dinero, e-conomic, Xero and QuickBooks with a single integration. We handle auth, field mapping, and provider quirks. You ship.
No credit card required · Pay as you go · Nordic-first
import { MonobooksClient } from '@monobooks/sdk'
const client = new MonobooksClient({
apiKey: 'mono_sk_live_...'
})
// Works for Dinero, e-conomic, Xero, QuickBooks
const { data: contacts } = await client.contacts.list()
const invoice = await client.invoices.create({
contact_id: contacts[0].id,
currency: 'DKK',
line_items: [{
description: 'Professional services',
quantity: 1,
unit_price: { amount: 500000, currency: 'DKK' }
}]
})Works with your customers' accounting software
One integration. Every provider. We normalise the differences so you don't have to.
Dinero
Denmark
LiveVisma e-conomic
Denmark & Norway
LiveXero
Global
Coming soonQuickBooks
Global
Coming soonThree steps to your first request
From sign-up to production in minutes, not months.
Get an API key
Sign up and generate your API key in seconds. No credit card required to start.
Connect a provider
Your customer authorises access to their accounting system through a simple OAuth flow you embed in your product.
Start building
One consistent API across all providers. We normalise fields, handle auth, and absorb provider changes.
Everything you need. Nothing you don't.
Built for developers who want to ship, not wrestle with provider APIs.
Unified Schema
One response shape across all providers. invoice.total is always { amount, currency } — never a provider-specific decimal or string.
Nordic-First
Built for Dinero and e-conomic from day one. VAT zones, EAN numbers, CVR lookups, and Daybook flows — all handled.
Provider Passthrough
Need a provider-specific field? Use _extend to send and receive provider fields alongside normalised data.
Type-Safe SDK
Official TypeScript SDK with full autocomplete and type safety out of the box. Zero runtime surprises.
Pay As You Go
No seat fees. No monthly minimums. Pay only for the API calls you make. Scale from zero.
Stays Current
When Xero changes their OAuth scopes or e-conomic ships a new API version, we update. Your code stays the same.
Write once. Connect to everything.
The same code works for every provider. Switch accounting systems without changing a line.
import { MonobooksClient } from '@monobooks/sdk'
const client = new MonobooksClient({
apiKey: 'mono_sk_live_...'
})
const { data: contacts } = await client.contacts.list()
// Same shape from every provider
console.log(contacts[0])
// → {
// id: 'uuid',
// provider_id: 'DIN-12345',
// name: { display: 'Acme ApS' },
// contact_type: 'customer',
// email: 'billing@acme.dk',
// currency: 'DKK'
// }Simple, transparent pricing
Start free. Upgrade when you need more providers or connections.
Free
Start building today
- 2 providers (Dinero + e-conomic)
- 5 connections
- All 7 resource types
- TypeScript SDK
- Community support
- Xero and QuickBooks
- Unlimited connections
- Priority support
No credit card required
Pro
For teams and growing products
- All providers (Dinero, e-conomic, Xero, QuickBooks)
- Unlimited connections
- All 7 resource types
- TypeScript SDK
- Priority email support
- SLA 99.9% uptime
- Early access to new providers
Need more connections on Free? Contact us.
Enterprise or white-label? hello@monobooks.io
Frequently asked questions
Ready to stop building accounting integrations?
Get your API key and make your first request in under 5 minutes.