Turn everyday receipts into a clearer picture of your money.
Scan a purchase. Understand your spending. Plan what comes next.
A shared finance workspace that runs on your own server.
Get started · Download Android · Screenshot gallery · Русский
The current wallet includes debt repayments and shows balances separately from monthly income. Adjust an account with an auditable add/subtract/set action, and open spending categories to explore their receipt items. Wallet and chat guide →
Know who added each receipt. Filter receipts and purchases by their author, and compare category spending for each participant. Missing item categories are assigned when you confirm a manual or corrected receipt; your explicit category choices stay intact. Receipt authors and categories →
Choose Settings → Money tracking on the web, or profile → Money tracking on Android. All together merges every MDL account into the primary account: opening balances are added, transactions, receipts and plans are reassigned, and the empty source accounts are removed. Amounts, categories and receipt originals stay intact. New transactions use the single account. Switch to separate mode to create new accounts; the merged history stays on the primary account. Existing foreign-currency accounts remain separate without automatic conversion.
Use Set current balance on Overview or Accounts to enter how much you actually have now. Future transactions change that balance. The difference is an auditable correction rather than monthly income or expense; opening balances and transaction history are not overwritten.
A bank balance tells you how much is left. Finora helps you understand what you bought, where the money went, and what is still coming up. Keep the receipt, explore the items behind the total, and share the same picture with your household or team.
| What you can do | |
|---|---|
| 📷 Capture without retyping | Scan a receipt QR, upload photos, or capture a long receipt from top to bottom on Android. Review the recognized items and total before confirming a mobile import. |
| 🧾 Go beyond the total | Search purchases by name, category, store, date, account, currency or unit. Compare prices paid across your own receipts. Keep the original images alongside the results. |
| 💸 See the whole month | Track income, expenses, accounts, transfers, refunds, budgets and scheduled bills. Separate recurring income from occasional payments. |
| 🤝 Keep debts clear | Record money lent or borrowed, repay part or all of it, and add to an existing debt. Each movement keeps its account, date and history. Available on web and Android. |
| ✨ Ask better questions | Ask the optional AI assistant about spending, periods and products. Answers come with reports calculated from your organization's records. |
| 🏡 Share a workspace | Use separate organizations for a household or team. Switch between them with one account, assign roles and manage access from the web. |
| 1. Capture QR, gallery or a vertical scan |
2. Review Check the items, categories and total |
3. Understand See the month in one place |
![]() |
![]() |
![]() |
You stay in control. Correct the merchant, address, date, quantities, prices or categories before confirming. Recognition can leave uncertain fields for review; a missing total is never silently replaced with a guess.
The phone opens receipt websites through its own network, then sends the page text and screenshots to your Finora server for processing. One server-side AI key can serve your devices. Long-receipt stitching happens locally on the phone. Capture guide and limitations →
Mint, warm gold and a little more breathing room. On the web, choose Classic (signature green), White, or Material Black (neutral charcoal surfaces with mint accents). The toolbar cycles all three instantly; profile settings also offer the system appearance. Android retains its system, light and dark options. Preferences are saved independently on each device.
| Light, clear and calm | Dark, focused and comfortable |
![]() |
![]() |
Explore purchases, reports, the assistant and mobile finances →
Actual application screens. All people, organizations and financial records shown are fictional.
Organization administrators can create a receipt without a photo, QR code, AI service or imported bank transaction. On the web, open Receipts → Add receipt → Manual. On Android 1.12+, open the central Add tab → Manual receipt.
Enter the store, date, payment account and items. Quantity × price fills each line total; edit a line total to include a discount. Finora adds the lines and, after confirmation, records one receipt and one account expense with category breakdowns. You can attach an original later. A failed connection can be retried without duplicating the expense. Regular members keep their existing upload and review permissions.
English and Russian are available in both the web and native Android apps. Choose a language on the sign-in screen, or change it later under My profile → Interface language on the web and avatar → Language on Android.
The default Device language option uses Russian when the device's primary language is Russian, and English otherwise. An explicit choice is remembered on that browser or phone, including after signing out. Names, receipt contents and other information you enter stay exactly as you entered them.
| Choose before signing in | Change it in your profile |
|---|---|
![]() |
![]() |
English screen gallery · Русские экраны · Language guide
“Compare groceries in August and September.”
“Find my LAPTE purchases.”
“Where did I pay less for the same product?”
Finora's assistant searches and explains your own records. The backend validates the request and calculates reports; the AI adds an explanation. Follow-up questions keep context, and purchase results link back to their receipts.
Finora AI stays available in the lower-right corner of the web interface, knows the current page and can open a section on request. Expand the conversation for a full-height workspace. Ask about balances, debts, income plans, transactions and budgets, or compare receipt spending by user across the full recorded history. Budgets offers both cards and a compact category list, sorted by spending from largest to smallest.
- Useful without AI: preset summaries, category reports and price comparisons work without a provider.
- Choose your provider: OpenAI with an encrypted server-side key, or optional Ollama on your own hardware.
- Read-only by design: the chat cannot move money, post expenses or delete records.
- Clear data boundaries: only the selected organization's data is used. Recognition content and context needed for an answer are sent to the configured provider when AI is enabled.
Price comparisons use historical purchases, not live shop offers. How the assistant works →
Install Docker with Compose, Git and Python 3.11+, then:
git clone https://github.com/gadmin2151/Finora.git
cd Finora
python3 scripts/init.py
python3 scripts/deploy.pyOpen localhost:8088. Sign in as admin using the random initial password in .secrets/admin_password, then change it in Settings → Security. There is no shared default password or public registration.
The installer supports Debian 12 / 13 and Docker images for amd64 / arm64:
sudo apt-get update
sudo apt-get install -y git
sudo git clone https://github.com/gadmin2151/Finora.git /opt/finora
cd /opt/finora
sudo ./scripts/install-debian.sh --domain finance.example.comReplace the domain with your own. Caddy needs DNS pointing to the server and ports 80/443 for automatic HTTPS. Prefer a tunnel? Use the Cloudflare Tunnel guide.
Download the signed APK and view installation instructions →
Enter your server's HTTPS URL, username and password, then choose an organization. The native app supports receipt capture and review, history, monthly overview, income, debts and the assistant. Administration screens are available in the web interface.
Installation, updates and recovery · Full Russian manual · Configuration reference
| Area | Current support |
|---|---|
| Clients | Responsive web interface and native Android 8+. No native iOS app yet. |
| Language | English and Russian web/Android interfaces; device-language default and a saved manual choice. Receipt recognition is independent of the interface language. |
| Money | MDL reports; MDL, EUR, USD and RON accounts, with the exchange rate saved on each transaction. |
| Receipts | Photos, electronic receipt pages including Moldova's MEV/SFS, multiple photos and bank payment confirmations. Provider availability and image quality affect recognition. |
| Categories | 34 everyday presets, including groceries, sweets, coffee, energy drinks, tobacco and household supplies. Custom rules and reclassification of existing receipts. |
| Access | Organization-scoped data, administrator/member roles, password resets, session revocation and recoverable organization/user deletion. |
| Data | PostgreSQL plus private receipt files on your server. Encrypted backups and a recovery procedure. Records are not end-to-end encrypted. |
| Banking | Manual entry and receipt import. Automatic bank-account synchronization is not included. |
Finora is actively developed. Review recognized data before posting and keep backups of the database, receipt files and server secrets. Security policy · Backup and restore
FastAPI · PostgreSQL 17 · React / TypeScript · Kotlin / Jetpack Compose · Docker Compose
flowchart LR
Web[Web app] -->|HTTPS| API[Finora API]
Android[Android app] -->|HTTPS| API
Android -->|Phone network| Receipt[Receipt websites]
API --> Database[(PostgreSQL)]
API --> Originals[Private receipt originals]
Worker[Background worker] --> Database
Worker --> Originals
Worker --> AI[Optional OpenAI / Ollama]
Server CI checks tests, migrations, formatting, dependencies and both container architectures before publishing images. Android CI checks formatting, unit tests, release lint and the release build. See the workflows above for the latest results.
| Explore | Guide |
|---|---|
| Install, update or restore | Deployment · Русская инструкция |
| Set up your phone | Android · Long receipts |
| Manage shared finances | Organizations and users · Mobile income and debts |
| Choose your interface language | English and Russian · Bilingual screenshots |
| Understand the calculations | AI and reports |
| Contribute or report a problem | Developer guide · Issues · Security |
Have an idea that makes everyday finance simpler? Open an issue with the use case. Contributions to receipt handling, accessibility, translations and documentation are welcome; use synthetic examples instead of personal financial data.
The public service's bilingual privacy policy is also linked from Android sign-in and profile screens. Self-hosted operators control their own server data and backups.
Your receipts. Your money. Your server.
Built by gadmin2151 · 27G Finora · MIT license






