Crater
Open-source invoice and expense management app for freelancers and small businesses.
Why consider Crater?
Crater is an open-source invoicing and expense application built with Laravel and Vue.js. It provides estimates, invoices, payments, and reports with a mobile app for on-the-go billing.
Learn Crater by building
Practical setup notes, real use cases, and copy-ready examples in one focused guide.
In this guide10 sections
What is Crater?
Crater is an open-source invoicing and expense management application built with PHP (Laravel) and Vue.js, accompanied by native mobile applications for Android and iOS built with React Native. It operates as a clean, developer-friendly alternative to commercial invoicing tools like Invoice Ninja and FreshBooks.
Crater focuses on simplicity: create professional estimates and convert them into invoices, accept client payments via Stripe or PayPal, track business expenses, generate customizable branded invoice PDF templates, and review financial summary reports—all from a responsive web dashboard or the companion mobile app.
Who Is It For?
- Freelancers & Consultants: Creating and emailing branded invoices from mobile devices, tracking which clients have paid and which have outstanding balances.
- Small Businesses: Managing a simple, transparent billing workflow with expense tracking for monthly bookkeeping.
- Developers Building White-Label Billing Systems: Extending Crater's open-source codebase to build customized client billing portals.
Key Features
- Estimates and invoice conversion: Create client estimates that convert to invoices with one click.
- Integrated payment gateway support: Accept Stripe and PayPal payments directly from invoice payment links.
- Customizable PDF invoice templates with company logo, signature fields, and tax configurations.
- Expense tracking with categorization, receipt uploads, and billable expense conversion to invoice line items.
- Companion iOS and Android mobile apps for on-the-go invoice generation and payment tracking.
Deploying Crater with Docker Compose
version: '3.7'services: db: image: mysql:8.0 container_name: crater_db restart: unless-stopped environment: - MYSQL_ROOT_PASSWORD=root_secure_pass - MYSQL_DATABASE=crater - MYSQL_USER=crater - MYSQL_PASSWORD=secure_crater_pass volumes: - ./db_data:/var/lib/mysql app: image: ghcr.io/crater-invoice/crater:latest container_name: crater_app restart: unless-stopped depends_on: - db environment: - APP_URL=http://localhost:8080 - APP_KEY=base64:generate_a_32_char_base64_app_key - DB_HOST=db - DB_DATABASE=crater - DB_USERNAME=crater - DB_PASSWORD=secure_crater_pass ports: - "8080:80" volumes: - ./storage:/var/www/html/storage/appStart the instance:
docker compose up -dNavigate to http://localhost:8080 to complete setup, configure your company details, and create your first invoice.
Practical Use Cases
1. Estimate-to-Invoice Conversion Pipeline
A freelance photographer creates a project estimate for a client; upon client approval, the estimate converts to a live invoice with an integrated Stripe payment link.
2. Expense-to-Invoice Client Reimbursement
A consultant logs $240 in software subscription expenses as billable items; they convert to invoice line items and appear on the next monthly client invoice.
3. Mobile On-Site Invoice Generation
A contractor generates and emails a job completion invoice directly from the Crater mobile app on-site, before leaving the customer premises.
Troubleshooting and Limitations
- Stripe Webhook Configuration: For payment status auto-updates, configure Stripe Webhooks to point to
https://your-crater-domain.com/api/v1/stripe/webhook. - Storage Volume Symlinks: Crater uses Laravel's
storage:linkcommand to create a public filesystem symlink; ensure the symlink exists inside the running container.
Official Resources
- Official Website: https://craterapp.com
- GitHub Repository: https://github.com/crater-invoice/crater
- Documentation: https://docs.craterapp.com
Related tools
More options with a similar category or technology profile.
McFly
Fly through your shell history with an intelligent neural network search engine.
cheat
Interactive command-line cheatsheets for system administrators and software engineers.
Pipenv
Python development workflow for humans uniting Pipfile, pip, and virtualenv.
Rye
Comprehensive Python package and workspace management tool written in Rust.