Get started
Set up Ekwo for Bosna i Hercegovina
Two ways in, and both end the same way: the rules of Bosna i Hercegovina installed in a database you own.
Run it yourself
Free, for ever. One command on your own Supabase project applies the schema, installs the Bosna i Hercegovina pack and creates your first company. Nothing is gated.
npx ekwo-os init --country BAIt asks for the rest as it goes: the connection to your project, the chart of accounts where there is a choice, your organisation and your first administrator.
Create your Ekwo Cloud account
The hosted edition, operated for you: the web application and your own instance. No password — Ekwo Cloud sends a code to your address.
Step by step
The same path as text: every command with Bosna i Hercegovina already on it, and the codes a first invoice is written with. An AI agent helping you reads the same text as Markdown, at /countries/ba/set-up.md.
Ekwo OS is open source software for keeping double-entry books in a database you own. This page is generated from the Bosna i Hercegovina pack, version 0.1.0; every code on it is read from the pack.
The Bosna i Hercegovina pack is community: contributed, and reviewed by nobody.
Ekwo is software, not an accountant and not tax advice: a pack is a reading of the rules at the date of its version, and it can be wrong for your situation. Have a qualified professional in Bosna i Hercegovina check your set-up and your first declarations. See what Ekwo is, and what it is not.
1. What you need
- A Supabase project of your own. The free plan is enough to start; Ekwo does not create it, pay for it or have access to it.
- From its dashboard: the connection string (Connect → Session pooler), the Project URL and the
service_rolekey (Project Settings → API). The key is used once, to create your first administrator, and is written nowhere. The anon (publishable) key, on the same page, is what you sign in with afterwards. - Node 20 or later on your machine. Nothing else: no Supabase CLI, no Docker, no clone.
2. Install
One command. It asks for the rest as it goes.
npx ekwo-os init --country BA
- One chart of accounts: Kontni okvir za privredna društva (Federacija BiH), 214 accounts.
- The books can be kept in
bs,en; the installer asks. Without a terminal, pass--language <code>. - A financial year follows the calendar unless you pass
--fiscal-year-start YYYY-MM-DD.
The same, with no question asked — every value your own:
npx ekwo-os init \
--country BA \
--language bs \
--db-url "postgresql://postgres.<ref>:<password>@<pooler host>:5432/postgres" \
--supabase-url "https://<ref>.supabase.co" \
--service-role-key "$SUPABASE_SERVICE_ROLE_KEY" \
--org "Your Organisation" --company "Your Company" \
--admin-email "you@example.com" \
--yes
3. Before you go live
Four settings of your project no installer can reach: turn off self sign-up, keep two administrators, keep the service_role key off every other machine, and read the disclaimer. init prints them; the installation guide explains each.
4. A first invoice
Sign in as the administrator you just created, pick the company, and write a draft. --dry-run shows the entry the database would write, and writes nothing; post books it.
ekwo login --supabase-url https://<ref>.supabase.co --anon-key <publishable key> --email you@example.com
ekwo use "Your Company"
ekwo contact add "First Customer" --country BA --ref customer-1
ekwo doc new --contact "First Customer" --ref invoice-1 --line "name=Consulting,price=1000.00,account=611,tax=BA-S-17"
ekwo post invoice-1 --dry-run
ekwo post invoice-1
A line names its account and its tax by code, never by rate. 611 is the account the pack names for sales; the chart may carry a closer one for what you sell — services, a reduced rate — and list_accounts lists them.
What the invoice says about your company — its address, its VAT number — comes from the company’s profile, which the MCP tool update_company_profile fills; ekwo init sets only the name.
The domestic sale taxes the pack carries today. Which one a sale carries is a question about that sale, for you or your accountant: the list is the pack’s, not advice.
| Tax code | Name | Rate |
|---|---|---|
BA-S-17 |
PDV 17 % — promet dobara i usluga na teritoriji BiH (prodaja) | 17 % |
5. With an AI agent
The MCP server lets an agent keep the books as you, under your own row level security, and never with the service_role key. Configuring it, and what an agent must and must not do.
What the Bosna i Hercegovina pack carries
- Charts of accounts: Kontni okvir za privredna društva (Federacija BiH) (214).
- 5 taxes, at 0 %, 17 %.
- The Prijava poreza na dodanu vrijednost (Obrazac P PDV) (
BA-PDV), 12 boxes, filed month. - Financial statements: Bilans stanja — Izvještaj o finansijskom položaju, Bilans uspjeha — Izvještaj o ukupnom rezultatu za period.
What it does not do
- No library of this repository writes the file of the BA-PDV yet: the return is computed and frozen here, and typed on the administration’s portal.
- Nothing is sent to an administration, a Peppol network or a bank by the open source software: transmission is yours, or an operator’s you appoint.
- What the pack leaves out on purpose is in its README.