Ekwo works on top of Xero — or keeps the books on its own.
Both keep double-entry books. Ekwo reads what Xero exports and works from it to the chart of accounts and the standards of each country pack: it collects, checks, prepares what the country asks for, and lets an agent do the work. It can also keep the books by itself.
Your team keeps the books in Xero. Ekwo reads its exports and works on top of them: a copy in your own database, the reports and files the country asks for, the checks, and an agent on all of it.
Ekwo keeps the books by itself: invoices and e-invoices, bank statements, returns and financial statements. The history kept in Xero comes in with one import, whole or not at all.
The same five things, whatever software the books come from. Each links to the file of Ekwo OS that makes it true.
Reads the exports of other ledgers and the bank statements in the formats the packs name, and keeps the invoices it issues itself.
Maps every account to the country’s chart and writes the files the country expects: e-invoices to the profile the pack declares, the FEC where the country asks for it, the XBRL of the annual accounts where the pack names a taxonomy.
Refuses books that do not balance, rehearses every import before it writes, and checks that posted entries balance and that statements tie to their lines.
Prepares the VAT return from the books it keeps, the financial statements on the country’s scheme and the list of what falls due. It files nothing on its own.
Each of these is a tool of its MCP server: an agent can run it, show you the result and ask you before it writes.
Nothing in this list is written by hand: it is what the 44 country packs declare, at this build of the site.
factur-x-en16931ksef-fa3peppol-bis-3pint-aepint-aunzpint-jppint-sgxrechnungcamt.053cfonb120codanbb-cbso:26.0One export, one command. Nothing is written until you have read what Ekwo proposes.
Official documentation: General Ledger Detail report · Journal report · Export or print your chart of accounts · Export contacts out of Xero
Rehearse first. Nothing is written: Ekwo shows the correspondence of accounts it proposes, each suggestion with its reason, and saves it for you to complete.
ekwo import xero journal-report.csv chart.csv contacts.csv --dry-run --save-mapping mapping.jsonThen import for real, with the correspondence completed. Everything is written in one transaction, or nothing is.
ekwo import xero journal-report.csv chart.csv contacts.csv --mapping mapping.jsonFrom an agent, the same import is the MCP tool import_books, with the source xero: a dry run first, and the agent asks you before the real call.
With Xero
What works now, from the exports Ekwo reads.
Each import brings the posted entries into an Ekwo company, on your country’s chart. The copy is as recent as the last export imported: nothing is synchronised continuously, and the same files twice are refused.
General ledger, trial balance, financial statements on the country’s scheme, and the FEC with the checks an inspector applies first, where the country asks for it.
Statements in camt.053, cfonb120, and coda are read into Ekwo as lines waiting to be matched.
The import, the trial balance, the statements and the FEC are tools of the MCP server. An agent rehearses the import, shows you the correspondence and asks you before it writes.
Not from that copy: the VAT return, since imported lines carry no tax, and e-invoices, since invoices arrive as entries rather than as documents.
Sending entries, received invoices and their status back into Xero through its API. Nothing is built yet, and there is no date.
Ekwo on its own
Ekwo can keep the books by itself. The history comes in with the import above; from then on, everything is kept in Ekwo.
Invoices and credit notes are issued in Ekwo and posted by the database. The format libraries write a posted invoice to the e-invoicing profile the pack declares, with every published rule it breaks; sending it goes through the access point you choose.
Statements in camt.053, cfonb120, and coda come in as lines; each is matched to the invoice it pays, and the payment is booked.
The VAT return is prepared from the tax each posted line carries, the financial statements follow the country’s scheme, and a return that has been filed keeps the proof of it.
ekwo company export writes the whole company in a format that needs nothing of Ekwo to be read. The trial balance and the FEC are one call away.
The whole engine is public, under AGPL-3.0: the schema, the command line, the MCP server and every country pack.
The books live in a Postgres database you own, on your own Supabase project.
An MCP server with 56 tools: an agent reads and keeps the books with you.
44 country packs, made of files anybody can open, each citing the texts it was written from.
A company per country, each on its own pack, side by side.
Ekwo Cloud is the hosted edition, for those who would rather not run it themselves.
Compatibility
Open an Ekwo Cloud account and import an export of Xero, or install Ekwo on your own project with one command.
Or install it yourself
npx ekwo-os init