The object model
A single company can hold multiple connections — e.g. QuickBooks for expenses
and an eTIMS connection for Kenyan tax compliance — at the same time.
Create a company
A company represents your SMB customer. Create one with thePOST /companies
endpoint; the response includes the company id you use in every subsequent call.
company.id. For accounting integrations the response also returns an
authUrl to start the OAuth connection.
Connect an accounting system (Expenses)
To sync expenses, connect the company to an accounting platform. The simplest path is the Link component; you can also drive the OAuth flow directly with theauthUrl.
The
authUrl only carries a working client_id and redirect_uri once your
Application has QuickBooks credentials configured — see
Set up the QuickBooks Online integration.
Without that step, authUrl still comes back but silently fails to redirect anywhere.status becomes
connected. List a company’s connections to get the connectionId you need for syncing:
Connect eTIMS (Kenya compliance)
For Kenyan tax compliance, the company is connected to eTIMS instead of (or in addition to) an accounting platform. This is normally done once, in the dashboard — you enter the KRA PIN, OSCU device serial, and branch details, and Sync2Books runs the device onboarding for you. See eTIMS provisioning.Next steps
The sync model
How data is pushed and how you confirm the result.
Get started with Expenses
Connect a company and sync your first expense.