Free, open source, and built for the perpetual entrepreneur.
Built by an indie developer, sustained by your support. If Booksmaster saves you $100 at tax time, consider donating $10 to keep development going.
Booksmaster is free, open source bookkeeping software designed specifically for contractors, freelancers, and perpetual entrepreneurs who cycle through multiple ventures before finding sustained success.
Most bookkeeping software assumes you're on a hockey-stick growth trajectory. QuickBooks, FreshBooks, Xero—they're all optimized for businesses scaling to 10+ employees, with features you'll never use and price tags that assume you're profitable.
Reality: Most contractors and freelancers cycle through 3-5 ventures before sustained success. You need bookkeeping that works today, not software designed for a future you may never hit.
- ✅ No subscriptions - $0 forever (vs QuickBooks $300/year, FreshBooks $200/year)
- ✅ AI receipt scanning - 6x more accurate than traditional OCR
- ✅ Contractor-focused - Categories and workflows built for 1099 workers
- ✅ Privacy-first - Your data stays on your device (cloud sync optional)
- ✅ Gamified - XP, levels, achievements make bookkeeping less painful
- ✅ Export everything - Your data, your control. No vendor lock-in.
- What is Booksmaster?
- Why Open Source?
- Key Features
- Screenshots
- Download
- How It Works
- Architecture
- Getting Started (Developers)
- Comparison
- Support This Project
- Roadmap
- FAQ
- License
- Contributing
- Community
Unlike QuickBooks ($300/year), FreshBooks ($200/year), or Wave (free but sells your data), Booksmaster is:
- 🔓 Truly free - MIT licensed, use forever
- 🔒 Privacy-first - All data stays on your device (cloud sync optional)
- 🛠️ Customizable - Fork it, modify it, make it yours
- 🤝 Community-driven - No corporate agenda, just solving real problems
Built for reality, not growth fantasy. Most contractors and freelancers cycle through 3-5 ventures before finding sustained success. You need bookkeeping software that works today, not one optimized for a hockey-stick growth trajectory you may never hit.
Booksmaster is free and always will be. If it saves you time or money, consider supporting development:
Recurring Support:
- 💚 GitHub Sponsors - $5-100/month
- ☕ Ko-fi - Monthly or one-time
One-Time Donation:
- 💙 PayPal - Any amount
Other Ways to Help:
- ⭐ Star this repo on GitHub
- 🐛 Report bugs or request features
- 📝 Contribute code or documentation
- 📢 Tell other contractors/freelancers
Why donate? This project took 6 months to build. Your support = more features, faster bug fixes, and continued maintenance. Even $5/month helps me dedicate time to this instead of client work.
Problem: Traditional OCR fails on complex receipts (manifests, logos, handwriting).
Solution: Google Gemini Vision AI understands context, not just characters.
- 6x more accurate than traditional OCR (Tesseract)
- 5x faster than manual entry
- Automatically extracts:
- Vendor name (even from logos)
- Total amount (even when buried in itemized lists)
- Date (multiple formats)
- Payment method (cash, check, card)
- Learns your patterns - Gets smarter with use
Real-world test: 100 receipts scanned. Traditional OCR: 67% accurate. Gemini Vision: 94% accurate.
Built for 1099 workers, not corporate enterprises.
Categories that matter:
- Materials & Supplies
- Tools & Equipment
- Fuel & Mileage
- Subcontractors
- Insurance
- Permits & Licenses
- Business Use of Home
- Professional Services (CPA, lawyer)
Workflows optimized for:
- Multiple job tracking
- Per-project expense allocation
- Client invoice management
- Quarterly tax estimates
- Schedule C report generation
Problem: Bookkeeping is boring. Receipts pile up until tax panic.
Solution: XP, levels, achievements, and quests make it less painful.
- Earn XP for scanning receipts, linking documents, categorizing expenses
- Level up from "Rookie Bookkeeper" to "Master Accountant"
- Unlock achievements ("Receipt Hoarder", "Tax Prepared", "Audit-Ready")
- Complete quests for guided workflows (e.g., "Prepare Q1 Tax Estimate")
Psychology: Small dopamine hits = consistent bookkeeping habits.
Your data stays YOUR data.
- Local-first architecture - All data stored in browser localStorage
- No cloud uploads - Receipt images stay on your device
- Optional Supabase backup - Encrypted cloud sync (coming soon)
- Check redaction - Automatic masking of routing/account numbers
- No tracking - No analytics, no ads, no data selling
- Open source - Audit the code yourself
Data export: JSON, CSV, QuickBooks IIF, Schedule C CSV. Your data is never held hostage.
Beyond simple receipt scanning:
- Manifest detection - Links itemized receipts to payment receipts
- Supporting documents - Attach contracts, invoices, warranties
- Check image handling - Secure storage with auto-redaction
- Duplicate detection - Prevents double-counting income
- Document linking - Multiple docs per transaction
- OCR verification - Manual review workflow for AI suggestions
Schedule C compliant from day one.
- IRS-ready categorization - Maps to Schedule C line items
- Quarterly estimates - Calculate 1099 tax obligations
- Year-over-year trends - Track business growth
- QuickBooks export - Seamless CPA handoff
- Mileage tracking - IRS standard rate calculations
- Income verification - Invoice vs deposit reconciliation
- Offline-first - Works without internet (except AI scanning)
- Fast - No server round-trips, instant UI updates
- Desktop app - Electron wrapper for native experience
- Auto-save - localStorage persistence
- Export backups - Regular JSON exports recommended
XP progress, financial metrics, tax deadline reminders, and quick actions
Drag & drop receipts, AI auto-categorization, manual review workflow
Filter by category, date range, job, or vendor. Export to CSV or QuickBooks
Level up, earn badges, complete quests. Make bookkeeping less boring
IRS-ready categorization mapped to Schedule C line items
Note: Screenshots coming soon! App is functional, documentation in progress.
Windows: Download BooksmasterSetup.exe (99MB)
Mac/Linux: Coming soon (or run from source)
Live Demo: booksmaster.netlify.app
Web version works in any modern browser. Desktop app recommended for better performance.
- Drag & drop images or use your phone camera
- AI extracts vendor, amount, date, payment method
- Review and approve suggestions
- AI suggests categories based on vendor patterns
- Manual override available
- System learns from your corrections
- Create invoices for clients
- Mark as paid to add to income ledger
- Link deposit receipts for verification
- Schedule C tax report (IRS format)
- Quarterly tax estimates
- Profit & loss statements
- Export to QuickBooks for CPA
- Attach supporting documents to transactions
- Track expenses per job/project
- Monitor mileage with IRS rates
- Set tax deadline reminders
Frontend:
- Framework: Next.js 14 (App Router, React 18)
- Language: TypeScript (strict mode)
- Styling: TailwindCSS 3 + CSS Variables
- State: Zustand with localStorage persistence
- UI Components: Custom components + Lucide React icons
- Desktop: Electron (Windows installer)
AI & OCR:
- AI Receipt Scanning: Google Gemini Vision API (user-provided key)
- Image Segmentation: Meta SAM (Segment Anything Model)
- Fallback OCR: Tesseract.js (client-side)
Integrations:
- Bank Sync: Plaid API (optional, user-provided credentials)
- Cloud Backup: Supabase (planned, optional)
- Error Monitoring: Sentry (planned)
Storage:
- Primary: Browser localStorage (IndexedDB for large files)
- Backup: Manual JSON export
- Cloud: Optional Supabase sync (coming soon)
Deployment:
- Web: Netlify (static export)
- Desktop: Electron Builder (Windows .exe)
┌─────────────────────────────────────────────────────────┐
│ User Interface │
│ (Next.js 14 + TailwindCSS) │
└─────────────────┬───────────────────────────────────────┘
│
┌─────────────────┴───────────────────────────────────────┐
│ State Management │
│ (Zustand + localStorage) │
└─────────────────┬───────────────────────────────────────┘
│
┌─────────┼─────────┐
│ │ │
┌───────▼───┐ ┌──▼──────┐ ┌▼──────────┐
│ Receipt │ │Expense │ │ Reports │
│ Scanner │ │Tracker │ │ Generator │
└───────┬───┘ └──┬──────┘ └┬──────────┘
│ │ │
┌───────▼────────▼─────────▼─────────┐
│ AI Processing Layer │
│ - Gemini Vision (receipt scanning) │
│ - SAM (image segmentation) │
│ - Pattern learning (categorization) │
└───────┬─────────────────────────────┘
│
┌───────▼─────────────────────────────┐
│ Local Storage Layer │
│ - localStorage (receipts, txns) │
│ - IndexedDB (images, large files) │
│ - Manual JSON export (backup) │
└─────────────────────────────────────┘
Data Flow:
- User uploads receipt image
- Gemini Vision API extracts metadata (vendor, amount, date)
- AI categorization suggests expense type
- User reviews and approves (or corrects)
- Transaction saved to localStorage
- Learning engine updates patterns for future scans
Privacy Model:
- All data stays in browser (local-first)
- API calls only for AI scanning (user's Gemini key)
- Optional cloud backup (user controls encryption keys)
- No telemetry or analytics without explicit consent
- Node.js 18+ and npm
- Git
- Google Gemini API key (free tier available)
- Get yours: makersuite.google.com/app/apikey
-
Clone the repository:
git clone https://github.com/AIalchemistART/booksmaster.git cd booksmaster -
Install dependencies:
npm install
-
Set up environment variables:
cp .env.example .env.local
-
Add your API keys to
.env.local:# Required for AI receipt scanning NEXT_PUBLIC_GEMINI_API_KEY=your_gemini_api_key_here # Optional: Bank sync (Plaid sandbox) PLAID_CLIENT_ID=your_plaid_client_id PLAID_SECRET=your_plaid_sandbox_secret PLAID_ENV=sandbox
-
Run the development server:
npm run dev
-
Open in browser:
- Web: http://localhost:3000
- Electron: Use
npm run electron:dev(requires build first)
Web App (Static Export):
npm run buildOutput: out/ directory
Desktop App (Electron):
npm run electron:buildOutput: dist/Booksmaster Setup 0.3.0.exe (Windows)
Deploy to Netlify:
npx netlify-cli deploy --prod --dir=out --no-buildnpm run dev # Next.js dev server (port 3000)
npm run build # Build static site
npm run start # Start production server
npm run lint # ESLint
npm run lint:fix # Auto-fix linting issues
npm run test # Run Jest tests
npm run test:watch # Watch mode for tests
npm run test:coverage # Generate coverage report
npm run electron:dev # Run Electron in dev mode
npm run electron:build # Build Windows installerbooksmaster/
├── src/
│ ├── app/ # Next.js App Router pages
│ │ ├── page.tsx # Dashboard
│ │ ├── receipts/ # Receipt scanner
│ │ ├── transactions/ # Expense ledger
│ │ ├── invoices/ # Client invoices
│ │ └── reports/ # Tax reports
│ ├── components/ # React components
│ │ ├── dashboard/ # Dashboard widgets
│ │ ├── gamification/ # XP, achievements
│ │ ├── modals/ # Dialogs
│ │ ├── ocr/ # Receipt scanning
│ │ └── settings/ # Settings panels
│ ├── lib/ # Business logic
│ │ ├── gemini-categorization.ts # AI categorization
│ │ ├── receipt-processor.ts # Receipt handling
│ │ ├── tax/ # Tax calculations
│ │ └── gamification/ # XP/leveling
│ ├── store/ # Zustand state
│ │ ├── index.ts # Main store
│ │ └── gamification-slice.ts # Gamification state
│ └── types/ # TypeScript types
├── public/ # Static assets
├── electron/ # Electron main process
├── docs/ # Documentation
├── .github/ # GitHub config (FUNDING.yml)
└── README.md # This file
| Feature | Booksmaster | QuickBooks Self-Employed | FreshBooks | Wave |
|---|---|---|---|---|
| Price | FREE (MIT) | $20/mo ($240/yr) | $17/mo ($204/yr) | Free* |
| AI Receipt Scanning | ✅ Gemini Vision | ❌ Traditional OCR | ❌ Traditional OCR | ❌ Basic OCR |
| Accuracy | 94% | ~67% | ~70% | ~65% |
| Open Source | ✅ MIT License | ❌ Proprietary | ❌ Proprietary | ❌ Proprietary |
| Privacy | ✅ Local-first | ❌ Cloud-only | ❌ Cloud-only | ❌ Cloud + ads |
| Offline Mode | ✅ Full features | ❌ Cloud required | ❌ Cloud required | ❌ Cloud required |
| Gamification | ✅ XP/Levels/Quests | ❌ | ❌ | ❌ |
| Data Export | ✅ JSON/CSV/IIF | Limited | Limited | Limited |
| Vendor Lock-in | ❌ None | |||
| Schedule C Reports | ✅ IRS-ready | ✅ | ✅ | |
| Multi-user | Coming soon | ✅ | ✅ | ✅ |
| Mobile App | Planned | ✅ | ✅ | ✅ |
| Best For | Contractors, DIY | Small businesses | Service businesses | Very small biz |
Wave's catch: Free tier shows ads and tries to upsell paid features (payments, payroll).
Q: Is Booksmaster really free?
A: Yes! MIT licensed. No subscriptions, no paywalls, no hidden costs. Download, use, modify, and share freely. If it helps you, consider donating.
Q: How do you make money?
A: Donations (GitHub Sponsors, Ko-fi, PayPal), consultation services ($100-200/hour), and custom development ($2k-10k projects). The core app will always be free.
Q: Will there be paid features?
A: Possible future optional paid add-ons (cloud sync, mobile apps). Desktop app remains free forever.
Q: Where is my data stored?
A: Locally in your browser's localStorage. Receipt images in IndexedDB. No cloud uploads unless you explicitly enable optional sync (coming soon).
Q: Can I run this without internet?
A: Yes! Offline-first architecture. Only AI receipt scanning requires internet (calls Google Gemini API). Everything else works offline.
Q: What about bank sync?
A: Optional Plaid integration. You provide your own Plaid credentials. Bank data synced directly to your device (not our servers).
Q: Is my data safe?
A: Yes. Local-first = no server breaches. Check redaction = no exposed bank info. Open source = auditable code. Regular JSON exports recommended for backups.
Q: Can I import from QuickBooks/FreshBooks?
A: Not yet. Manual CSV import coming soon. For now, start fresh or enter manually.
Q: Will this protect me in an IRS audit?
A: Booksmaster is a bookkeeping tool, NOT tax preparation software. We provide no guarantees of IRS compliance. Always consult a licensed CPA before filing taxes. See DISCLAIMER.md.
Q: Can I use this for my business taxes?
A: Yes, but you're responsible for accuracy. AI categorization may contain errors. Review all transactions before filing. We recommend CPA review.
Q: Does this file my taxes for me?
A: No. Booksmaster generates reports (Schedule C, quarterly estimates) but does NOT file taxes. Use TurboTax, H&R Block, or a CPA for filing.
Q: How do I report bugs?
A: Open a GitHub issue. For security vulnerabilities, email manny@aialchemist.net privately.
Q: Can I contribute code?
A: Yes! See CONTRIBUTING.md. We welcome bug fixes, features, and documentation improvements.
Q: Do you offer paid support?
A: Yes. Email manny@aialchemist.net for consultation services ($100-200/hour) or custom development ($2k-10k projects).
- ✅ AI receipt scanning (Gemini Vision)
- ✅ Gamification (XP, levels, achievements)
- ✅ Schedule C tax reports
- ✅ QuickBooks export
- ✅ Electron desktop app (Windows)
- ✅ MIT License open source
- Cloud backup (Supabase, encrypted, optional)
- Mobile app (React Native, optional paid)
- Multi-user support (accountant/co-parent access)
- CSV import (migrate from other software)
- Google Drive integration (receipt photo management)
- Invoice PDF generation with branding
- Payroll tracking (for contractors with employees)
- Multi-currency support
- Dark mode
- Desktop app (Mac, Linux)
Vote on features: GitHub Discussions
- Security Policy - Vulnerability reporting
- Contributing Guide - How to contribute
- Code of Conduct - Community standards
- Disclaimer - Tax software liability
- Changelog - Version history
- GitHub Setup Guide - Repository configuration
- MIT Changeover Checklist - Migration details
MIT License - Free to use, modify, and distribute.
Copyright (c) 2026 Manny (AIalchemistART)
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Booksmaster is a bookkeeping tool, not professional tax advice. While we strive for accuracy:
- ✅ AI categorization may contain errors - always review before tax filing
- ✅ Consult a licensed CPA or tax professional for tax compliance
- ✅ We provide no guarantees regarding IRS compliance
- ✅ You are responsible for the accuracy of your tax filings
See DISCLAIMER.md for complete legal disclaimers.
We welcome contributions! See CONTRIBUTING.md for guidelines.
Quick Start:
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Commit changes:
git commit -m 'feat: add amazing feature' - Push to branch:
git push origin feature/amazing-feature - Open a Pull Request
Security: Found a vulnerability? Report privately to manny@aialchemist.net (see SECURITY.md)
- Issues: Report bugs or request features
- Discussions: Ask questions and chat
- Email: manny@aialchemist.net
- Google Gemini - AI-powered receipt scanning
- Meta SAM - Intelligent receipt segmentation
- Plaid - Secure bank connections
- All contributors - Community support and feedback
Built with ❤️ by contractors, for contractors.