A comprehensive Laravel-based web application for managing invoice collections and contact management with integrated email templating and Xero accounting software integration.
XERO Collections is a full-featured web application built with Laravel 11 and Vue 3, designed to streamline invoice collection management and customer relationship management.
The aim of this application is to follow up on overdue invoices and send a series of legal notices to those who do not respond in time, and record each activity to generate reports.
The application provides:
- Invoice Management: Create, manage, and track collection invoices with detailed status monitoring
- Contact Management: Maintain and organize customer contact information
- Email Templates: Customizable email templates for automated communications
- Activity Tracking: Comprehensive user activity logging and audit trails
- Xero Integration: Seamless integration with Xero accounting software for real-time data synchronization
- Role-Based Access Control: Secure role management with customizable permissions
- PDF Generation: Automatic PDF generation for invoices and documents
- Background Job Processing: Efficient email delivery and document processing using Laravel queues
- PHP: 8.2 or higher
- Composer: Latest version
- Node.js: 16.x or higher
- npm or yarn: Package manager
- Database: MySQL 8.0+ or PostgreSQL 13+
- Mail Server: SMTP configuration for email delivery
- Docker & Docker Compose (for containerized development)
- Git
- A modern code editor (VS Code, PHPStorm, etc.)
- OpenSSL
- PDO
- Mbstring
- Tokenizer
- XML
- GD
- cURL
git clone https://github.com/muhammad-shariq/xero-collections.git
cd xero-collectionscomposer installnpm installCopy the .env.example file and create your configuration:
cp .env.example .envUpdate the following variables in .env:
APP_NAME="Collections Web App"
APP_URL=http://localhost
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=collections_webapp
DB_USERNAME=root
DB_PASSWORD=
MAIL_MAILER=smtp
MAIL_HOST=smtp.sendgrid.net
MAIL_PORT=587
MAIL_USERNAME=apikey
MAIL_PASSWORD=your_sendgrid_api_key
[email protected]
XERO_CLIENT_ID=your_xero_client_id
XERO_CLIENT_SECRET=your_xero_client_secret
XERO_TENANT_ID=your_xero_tenant_id
php artisan key:generateCreate the database and run migrations:
php artisan migrateOptionally, seed sample data:
php artisan db:seednpm run buildFor development with hot module replacement:
npm run devUsing Laravel's built-in development server:
php artisan serveOr using Docker Compose:
docker-compose up -dThe application will be available at http://localhost:8000
- Email: [email protected]
- Password: DemoPassword123!
The demo application includes sample invoices, contacts, and email templates for testing purposes. Note that Xero integration on the demo account may have limited API calls.
For bug reports and feature requests, please visit our GitHub Issues page.
We welcome contributions! Please feel free to submit a Pull Request with your improvements.
If you discover a security vulnerability within the app, please send an email to Muhammad Shariq via [email protected]. All security vulnerabilities will be promptly addressed.
The Xero Collections is open-sourced software licensed under the MIT license.
Built with ❤️ by Muhammad Shariq