What OpenBusinessERP does

Every feature on this page can be checked in the source code. Screenshots show the fictional demo company.

01

Getting started

Setup wizard

The wizard at /setup sets up a new company in one pass. It asks for company details, VAT number and small-business status, the bank account (printed on invoices as an EPC QR code), logo and defaults, outgoing mail, and ends with your first invoice and its PDF preview. Every step can be skipped and resumed later; the dashboard lists the steps still open.

Company · tax · bank · logo · mail · first invoice

Guide: Switching from Excel

Setup wizard with steps for company, tax, bank, logo, mail and first invoice

Import wizard

Move in from spreadsheets or another system. The wizard imports customers, suppliers, products, opening balances and open invoices and bills from CSV or XLSX. It maps the columns, validates the rows, runs a dry run first, and lets you undo an import.

CSV · XLSX · dry run · undo

Guide: Switching from Excel

Data import wizard mapping spreadsheet columns

02

Sales and payments

Sales and invoicing

One list covers quotes, orders, invoices and credit notes, with status filters, overdue tracking and totals. Each document shows its step in the Quote → Order → Delivered → Invoiced → Paid chain. Documents go out as PDF by email, and can be issued in the customer’s language rather than the user’s. For businesses in Switzerland or Liechtenstein with a Swiss or Liechtenstein IBAN, the invoice PDF ends with the A6 QR-bill payment slip.

Posted to the general ledger automatically · per-document currency · Swiss QR-bill slip for CH/LI businesses

Guide: Mandatory invoice details · Swiss QR-bill

Sales list with quotes, orders and invoices

E-invoicing: XRechnung, ZUGFeRD, Peppol

An issued invoice can be exported from its own page; the Leitweg-ID for public-sector customers is entered on the invoice. The exporter writes EN 16931 invoices in CII syntax (XRechnung 3.0, ZUGFeRD 2.1, Factur-X 1.0) and UBL syntax (Peppol BIS Billing 3.0). ZUGFeRD / Factur-X can be built as a hybrid PDF with the XML embedded. Before download, the invoice is checked against a subset of the EN 16931 and XRechnung rules (BR, BR-CO, BR-DE and the Peppol rule R003); a fatal finding blocks the file. The file is yours to send: the program has no Peppol access point. Invoices from Quotes & invoices are sent as PDF today, and incoming e-invoices are not imported.

A rule subset, not the KoSIT validator, and not certified. ZUGFeRD PDFs are not strict PDF/A-3b. The receiver’s validator decides.

Guide: E-invoicing in Germany from 2025 · Mandatory invoice details

A paid invoice with line items, totals, payments and activity

PDF templates

Pick one of three layouts for quotes and invoices (classic, modern or compact), then set the accent colour, the font and which letterhead blocks appear.

Templates: classic · modern · compact

Recurring invoices

Subscription and contract templates generate sales invoices on a schedule: weekly, monthly, quarterly or yearly, with an interval count (for example every 2 months).

Generated invoices are ordinary sales invoices

Recurring invoice templates with their schedule

CRM

A pipeline board takes deals from lead to won and links them to contacts and companies. Activities, forecasting and win/loss analysis sit next to the board. A won deal becomes a quote in one click.

Accounts · leads · opportunities · activities · forecast

CRM pipeline board with deals by stage

Appointments and online booking

Plan services, staff and rooms with working hours on a calendar, with reminders. Publish a public booking page at /book/<slug> that customers open directly or that you embed on your website. A completed booking can be invoiced in one click.

Services · staff and room resources · reminders

Public online booking page with services and time slots

03

Purchasing and stock

Purchasing

Purchase orders, goods receipts and supplier bills are matched step by step (three-way match), so you pay only for what was ordered and received. Supplier catalogues keep supplier prices next to your own items.

Purchase order → goods receipt → supplier bill → payment

Purchase orders list

Products and inventory

One catalogue holds everything you sell or buy: SKU, unit, sales price, cost, margin, tax rate and stock on hand, with minimum-stock alerts and CSV export. Inventory adds warehouses, a stock movement ledger, transfers and stocktakes, valued at moving average cost.

Moving-average valuation · transfers · stocktakes

Inventory with warehouses and stock movements

04

Banking and accounting

Banking and reconciliation

Import bank statements and reconcile them in a two-pane workspace: open statement lines on the left, suggested invoices and bills on the right. Rules categorise recurring lines such as fees or salaries.

Formats: ISO 20022 camt.053 / camt.054, SWIFT MT940, CSV

Bank reconciliation workspace with suggested matches

Receivables and dunning

Aging buckets show who owes you and how overdue each balance is. A dunning run proposes a reminder level per customer; levels have their own days after due, fee and text. You can exclude individual customers. Letters are drafts: nothing is sent until you send an approved draft.

Interest and fees are switched off by default

Receivables aging buckets and dunning run

Multiple currencies and FX revaluation

Sales and purchase documents carry their own currency and rate. Payments store the rate on the payment date, and the difference posts to an FX account. At period end the revaluation restates open receivables and payables: preview first, then post. The entry reverses automatically the next day.

Default currency EUR · rate per document and per payment

Accounting and VAT

Sales and purchase documents post to the ledger automatically. Review the journal, add manual entries, maintain the chart of accounts and close periods. On SKR03 and SKR04, sales and purchase VAT is posted per rate (19 % and 7 %) to the matching accounts. Reports: trial balance, balance sheet, profit & loss with previous-period comparison, and VAT return. All of them export to CSV.

Charts of accounts: German SKR03 and SKR04, Austrian EKR, Swiss KMU and a generic IFRS-style chart

Guide: DATEV export and SAF-T

Profit and loss report with previous-period comparison

DATEV and SAF-T export

The accountant export writes DATEV EXTF files (Buchungsstapel with all 125 columns, category 21, format version 13; debtor and creditor master data) in Windows-1252 with CRLF, as DATEV expects, and SAF-T 2.0 XML. Receivables and payables are booked on Debitor/Kreditor personal accounts with number ranges you can change. The tax-key mapping covers SKR03 and SKR04 and is set in the export settings, together with adviser number, client number and account length. Columns without a data source stay empty.

Not certified by DATEV or any tax authority. Have your accountant import a test file first.

Guide: DATEV export and SAF-T

Accountant export panel with DATEV and SAF-T options

05

Team and platform

44 interface languages

The interface ships in 44 languages, including right-to-left Arabic, Hebrew, Persian and Urdu and regional variants such as en-GB, pt-BR and es-MX. Quotes and invoices can be issued in a language other than the one the user works in.

Simple mode shows the essentials; Advanced shows every module

Settings hub with company, documents, regional formats and modules

Role presets and audit log

Give each person a preset instead of ticking permissions one by one: owner, accountant, sales, purchasing or read-only. Every insert, change and deletion in the business modules is written to an audit log with who, when, and the values before and after.

Logged at the database layer, so a new feature cannot skip it

Team settings with role presets for owner, accountant, sales, purchasing and read-only

Optional AI chat

Ask about your own data in plain language, for example “which invoices are overdue?”. You bring your own API key (Anthropic, OpenAI, Gemini, Mistral, Groq and others, or an OpenAI-compatible endpoint you host). Without a key, all other features work.

Off unless you configure a provider

REST API and modules

Every screen uses the same REST API under /api/v1/. Outside production mode the backend serves the OpenAPI schema with interactive docs. Each business area is a Python package with a manifest; modules can be switched on or off per installation.

FastAPI · SQLAlchemy 2 · Alembic · React 18 · TypeScript

Plainly stated

Limits

Read these before you rely on the software for your books.

  • Nothing is certified. The DATEV files are not certified by DATEV. E-invoices are checked against a subset of the EN 16931 rules, which confirms structure, not acceptance by a receiver or authority. The software is not certified as GoBD-compliant; GoBD compliance also depends on your procedure documentation (Verfahrensdokumentation), retention and operation.
  • Test the DATEV export with your tax adviser before the first real import. Adviser and client number, account length and chart of accounts must match their setup. Columns without a data source stay empty.
  • ZUGFeRD PDFs are not strict PDF/A-3b. The embedded XML is complete; a receiver that demands PDF/A-3b needs a post-processing step.
  • E-invoices are files you send yourself: no Peppol access point, and no import of incoming XRechnung or ZUGFeRD files.
  • No payroll, no tax filing: no Lohnabrechnung, no ELSTER submission of the VAT return and no annual financial statement (Jahresabschluss) workflow. Your accountant files.
  • Bank connection is file-based. Statements are imported as files; there is no live FinTS, EBICS or PSD2 connection.
  • There is no GitHub release yet. Docker from source or the image tagged edge is the supported path. The desktop installers are not code signed, and the PyPI package is not published.

Next step

Try it yourself

The demo runs on invented data. Your own installation is one Docker command.

Install it Open the demo All guides