Chitalishte (community) libraries
A good fit for small and mid-sized collections, with no server or dedicated IT staff required.
Open source · Windows · No subscription
InvLib covers the full workflow required by Bulgarian Ordinance No. 3 of 18 November 2014 — inventory ledger, cataloging, patrons and circulation, barcode labels, deaccession, stocktaking, and annual reports. It runs offline, installs on Windows, with no monthly fee and no data sent anywhere.
Built for real, everyday work in a library.
The software is generic by design — a library's own settings are entered once, and nothing about a specific institution is hard-coded.
A good fit for small and mid-sized collections, with no server or dedicated IT staff required.
A local system with no mandatory cloud subscription — your data stays in your own building.
Works just as well for a school's book collection — the registers and structure aren't tied to any particular type of institution.
An interface built around day-to-day library work — from checkout to the annual report.
Existing library software in Bulgaria often requires a paid subscription, institutional membership, or a complex server setup. For a small community or municipal library, that's a disproportionate burden for what's actually needed — an accurately kept inventory ledger and registers that comply with the law.
Every register required by the regulatory framework for public libraries has its own section — with automatic numbering, printing, and protected storage.
Inventory ledger per Annex No. 4 and the fund-movement register per Art. 13 — with printing and PDF export.
UDC classification, authority control for authors and titles, record import by ISBN (Google Books / SRU).
Patron cards, loan periods and renewals by category, overdue notices, a patron account with receipts.
Fund and patron-card labels (Code 39), printing on A4 sheets or roll printers, USB barcode scanner support.
Every one of the app's roughly 14 printable documents is shown on screen first, before it reaches the printer.
Write-off acts under Art. 30–39, with committee, grounds, and a list of the affected items.
Representative-sample method under Art. 40–41, including mobile scanning with a phone.
The library's Section A/B journal, modeled on the official electronic journal, plus annual statistical reports.
The app publishes the catalog to a GitHub repository, and a page on the library's own website reads it live — no server, no patron data exposed.
UNIMARC/MARCXML, Dublin Core, and CSV — for exchange with other library systems.
National ID numbers are stored encrypted with a password; old loans are anonymized automatically.
A shared database across multiple library workstations, with a per-employee audit trail.
New versions are delivered directly through GitHub Releases, with no manual reinstall.
The app's real interface, loaded with sample data.
InvLib is built directly on the text of Bulgarian Ordinance No. 3 of 18 November 2014 on library service standards — every section in the app maps to a specific article, not the other way around.
Read the full guide to Ordinance No. 3 and the inventory ledger, or the full article-by-article compliance map in the repository's public documentation: naredba-3-karta.md. The dual BGN/EUR display follows the Bulgarian Act on the Introduction of the Euro in the Republic of Bulgaria for the transition period, and patron data protection follows Regulation (EU) 2016/679 (GDPR).
The information in this section is for general guidance only and does not constitute legal advice. For regulatory questions, consult the current official text of the ordinance.
The latest Inventar-Setup-X.Y.Z.exe from GitHub Releases — the current
version is 2.4.0.
The installer and interface are entirely in Bulgarian — just follow the steps.
Library name, address, and committee are entered once, on first launch.
Installer SHA-256: 979a29e86e7448a90e822d1ee28e0820f5f2ba04283e810e86a7247bc4f61e9a
— full checksum file: SHA256SUMS.txt.
Release date: 21 August 2026 —
full release notes.
Requires Windows 10 or 11 (64-bit). An internet connection is only needed for automatic updates, ISBN lookups, and publishing the online catalog — everything else works offline. The installer isn't code-signed yet — if Windows SmartScreen warns you, see what that means.
InvLib is developed in the open on GitHub, under the GPL-3.0-or-later license. Every release is built automatically by GitHub Actions and passes over 530 automated tests.
Recent changes
In real, daily use at community libraries — including NCh "Vasil Levski – 1922" in Yavorec, the library it was originally built for. Developed by Plamen Hristov.
Design ideas are checked against established open-source systems in the library sector, but every borrowed idea passes through a filter: does it fit Ordinance No. 3, and the needs of one community library building, rather than a multi-branch consortium? Unlike the paid or institutional-membership systems common in Bulgaria, InvLib stays free, open-source, and deliberately focused, not a simplified copy.
Full documentation lives in the app's repository — for librarians and for developers alike.
A complete guide to day-to-day work in the app — installation, library setup, and every section.
Open the manual (PDF) →A practical, article-by-article guide — inventory ledger, fund movement register, deaccession, stocktaking.
Read the guide →First-launch steps, and why Windows SmartScreen may warn about an unsigned installer.
Read more →For developers — the app's structure, IPC model, database, and design references.
Read more →Code style, tests, and what to check before opening your first pull request.
Read more →Scope and how to responsibly report a vulnerability — via GitHub Security Advisories.
Read more →Current priorities, as described in the app's repository.
Will remove the Windows SmartScreen and antivirus warnings. Options explored: SignPath Foundation, Azure Trusted Signing, Certum Open Source.
The app is generic by design — the goal is for other chitalishte and municipal libraries to try it and help shape it around their real needs.
Discussed openly in GitHub Issues; ideas are also checked against established open-source systems in the library sector.
Browse Issues →The software is generic — a library's own details are entered in Settings, and nothing about any particular institution is written into the code.
This list is not filled in yet. If you use InvLib and would like your library listed here, write to plam4o.4o@outlook.com — give the library's name and its website, if it has one.
Works offline; the library database stays in a local file on your computer and isn't uploaded to the cloud by default. Internet is used only for specific features — automatic updates, ISBN lookups, and publishing the online catalog.
National ID numbers are stored encrypted with a password; old loans are anonymized automatically, with GDPR's requirements in mind.
Every action is logged per staff member; automatic backups protect the collection from data loss.
Yes — InvLib is open source under the GPL-3.0-or-later license, with no fees, no subscription, and no "paid tier". Download the installer from GitHub Releases and use it freely, subject to the terms of the GPL-3.0-or-later license itself.
Yes. The entire database is a local file on your computer. Internet is only needed for automatic updates, ISBN lookups, and publishing the online catalog.
Yes — the app imports records from CSV and UNIMARC/MARCXML, and exports to the same formats, so your data is never locked in.
The database can live in a shared folder on the local network, with several workstations using it and an audit trail of which staff member did what.
National ID numbers are stored encrypted with a password, old loans are anonymized automatically with GDPR's requirements in mind, and the online catalog is designed not to publish patrons' personal data.
GPL-3.0-or-later. The full text is in LICENSE.
Yes — the GPL-3.0-or-later license explicitly permits reviewing, modifying, and redistributing the code, subject to the license's own terms.
The app keeps automatic backups of the database so the collection isn't lost to a crash or a corrupted file.
New versions are delivered directly through GitHub Releases and automatic updates — no manual reinstall.
Through GitHub Issues, or by email at plam4o.4o@outlook.com.
Open a suggestion in GitHub Issues — that's where development ideas are discussed and prioritized.
Get in touch with questions, feature requests, or help getting set up for the first time.