We use cookies to keep the site working and understand how you use it. See our Privacy Policy for details. No tracking ads, no selling your data.
An installable add-on for Seedly CRM that syncs invoices and payments to QuickBooks Online and Xero from one product. Each workspace connects its own books, independently. Tax rates are mapped explicitly, an unmapped rate blocks the push rather than guessing, and a sync log records what went and what came back.
The alternative in this market is QuickBooks-only, and limited to US businesses. That leaves operators in the UK, Australia and New Zealand, where Xero is dominant, with nothing they can install.
Seedly Accounting does both. QuickBooks Online and Xero, from one module, one install, one set of extension points. Whether your clients file with Intuit or with Xero, the CRM pushes to the right books. You do not pick a provider at purchase. You get both.
A client is invoiced through the CRM the way they always are. Nothing changes for the person raising it. The invoice exists in the CRM with its line items, tax rates and totals.
The accounting module sees the invoice and checks the workspace's connected books. If a QuickBooks Online or Xero organisation is connected and the tax rates are mapped, the push begins.
Every tax rate on the invoice is matched to an accounting code you mapped during setup. If a rate is not mapped, the push is blocked. A silently wrong VAT code is worse than a refused sync, so the module refuses rather than guesses.
The invoice lands in the connected accounting organisation with its line items, tax and totals intact. It looks like it was raised there, because structurally it was.
When the payment comes in and is recorded, it settles against the pushed invoice. The books match the CRM. No double entry, no manual reconciliation, no copy-paste.
Every push, every response, every timestamp is written to the sync log. What was pushed, when it went, what came back. If something looks wrong in the books, you trace it in seconds.
The operator sets up the module and the developer credentials once. Each client workspace connects its own books and maps its own tax rates. After that, invoices sync and nobody touches anything.
You create your own Intuit and Xero developer applications. The module never holds anyone's credentials but yours. This is independence, not a chore: you own the OAuth connections, you control the keys, and no third party sits between your CRM and the accounting platforms.
Add your Intuit and Xero client credentials to the CRM's environment. One set of keys drives every workspace. The module reads them at runtime through the CRM's documented extension points.
Install through the CRM's CLI. The installer registers the module, wires the extension points and creates the sync log table. It edits no core file. When you are done, the module is live and ready for workspaces to connect their books.
Every client workspace connects its own QuickBooks Online or Xero organisation independently. Workspace A can push to Xero while Workspace B pushes to QuickBooks. The connections are per-workspace, not shared.
Each workspace maps its CRM tax rates to accounting codes and sets the revenue account invoices post to. This is the client's setup, done once. An unmapped rate blocks the push until it is mapped, so nothing lands in the wrong code by accident.
From that point, invoices raised in the CRM push to the books and payments settle against them. The client does nothing different. The operator does nothing at all. The sync log keeps the record.
You can run the full sync flow against sandbox keys before you commit to anything. Xero's sandbox is self-serve, so you connect a test organisation, push a test invoice and watch it land, all without a production key. Intuit's sandbox works the same way while the production review runs in parallel.
And if it is not for you, uninstall restores the CRM byte-for-byte. The module removes itself, its routes, its table and its hooks. No orphaned files, no leftover columns, no residue. The CRM is exactly as it was before you installed. You can try it, remove it, and leave no trace.
Test the full push and settle flow against sandbox keys before you go near production.
One command removes the module and everything it created. The CRM is restored byte-for-byte.
Installs through documented extension points. Nothing in the core is touched, patched or overridden.
This is sold to people who will read the detail. Here is what the person running the installer needs to know.
The module registers against the CRM's documented extension points. It adds no files to the core, patches no existing routes and overrides no built-in behaviour. It is a guest in the house, not a renovation.
Run the uninstall command and the module removes itself, its routes, its table and its hooks. The CRM is restored to its pre-install state. No orphaned files, no leftover columns, no residue. You can try it and remove it without a trace.
The extension points the module uses were stabilised in 5.8.0. Earlier versions do not have them. Check your version before you install. The installer will refuse to run against an unsupported version rather than fail halfway through.
The module stores only the operator's developer credentials in the environment. Workspace-level OAuth tokens are held by the CRM's existing credential store. The module never reads accounting records beyond the tax rates and account names needed to file invoices correctly, and it never uses this data to train AI models.
Installer checklist: Verify Seedly CRM 5.8.0 or later. Register Intuit and Xero developer apps. Add client credentials to the environment. Run the CLI installer. Connect a sandbox organisation. Push a test invoice. Check the sync log. When you are satisfied, request Intuit production review and connect live books.
A new Xero app gets Starter automatically. No certification, no approval, no waiting. An operator can install this module and connect their first client the same afternoon. Moving up to Core is a tier change, not an application. Certification only matters for being listed on the Xero App Store, which is a different thing and irrelevant to running this.
The obvious objection to any accounting integration is "how long before it actually works". Here the answer is today.
How A Connection Is Counted
One client organisation is one connection. Thirty clients with their own books is thirty. Several CRM workspaces pointing at the same organisation cost one between them.
Five clients is free. Fifty is £15/month, about 30p per client per month. Upgrading is a tier change on the Xero app: no reinstall, no client reconnects.
Still Disclosed Properly
This sits beside the price because "one-time payment, no subscriptions" is true of this module and false of the thing it connects to. A buyer who finds a recurring Xero fee on their sixth client is entitled to feel misled. Framed accurately it is barely an objection; framed as a discovery it is a refund.
QuickBooks Has No Equivalent Cap
Intuit reviews an app before issuing production keys but charges nothing per connection. For an agency rolling out to a large client base at once, QuickBooks is the cheaper start. Xero is the one that reaches clients QuickBooks cannot serve at all.
Seedly Accounting is a digital product, delivered as source code. There is no hosted version, no managed install, and no SaaS subscription. You download the module, run the installer yourself, and run it on your own Seedly CRM instance. Self-install means you control the timing, the environment, and the keys, and it means you need to be comfortable running a CLI installer and setting environment variables.
The source code is licensed to a single agency. One licence, one operator, one CRM instance. You may install it on the Seedly CRM you operate and run it across the workspaces under that instance, but you may not resell, redistribute, sub-license, share, or transfer the source code to another agency, operator, or third party. The licence is tied to the purchasing agency, not to individual clients or workspaces.
You may modify the source code for your own use on your licensed instance. You may not repackage, rebrand, or on-sell the module, in whole or in part, as a product of your own. Modifications remain bound by the same single-agency licence terms as the original.
Because this is a digital product delivered as source code, all sales are final and non-refundable once the source has been downloaded. You can try the full sync flow against sandbox keys before you commit, but once the source is in your hands, it is yours to run under the terms above, not to return.