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 BA

It 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.

Read the installation guide

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.

Country

Bosna i HercegovinaAnother country?

You are
Already have an account? Log in

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_role key (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.