InvoiceForge self-updates
A Wordpress plugin for creating, editing and managing invoices.
by InvoiceForge Team · github.com/konchetobe/invoice-forge · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/konchetobe/invoice-forge/archive/refs/heads/main.zipShips its own WordPress updater (Plugin Update Checker), so new versions show up under Dashboard → Updates.
InvoiceForge - Professional Invoice Management for WordPress
InvoiceForge is a production-grade WordPress invoice management plugin designed for freelancers, small businesses, and agencies. It provides comprehensive invoicing capabilities with payment gateway integration, client portal, multi-currency support, and compliance-ready templates.
Features (Phase 1A - Foundation)
Core Features
- Invoice Management: Create, edit, and manage invoices with sequential numbering
- Client Management: Maintain a comprehensive client database
- Custom Post Types: Native WordPress integration for invoices and clients
- Admin Dashboard: Clean, intuitive interface for managing all aspects
Security
- Nonce verification on all forms
- Capability-based access control
- Input sanitization and validation
- Encrypted storage for sensitive data (API keys)
Technical Features
- PSR-4 autoloading with Composer
- PHP 8.1+ with strict types
- WordPress coding standards compliance
- Translation-ready (i18n)
- Comprehensive logging system
Requirements
- WordPress 6.0 or higher
- PHP 8.1 or higher
- MySQL 5.7+ or MariaDB 10.3+
- Composer (for development)
Installation
From WordPress Admin
- Download the latest release ZIP file
- Go to Plugins > Add New > Upload Plugin
- Upload the ZIP file and click Install Now
- Activate the plugin
Manual Installation
-
Clone or download this repository:
git clone https://github.com/invoiceforge/invoiceforge.git cd invoiceforge -
Install Composer dependencies:
composer install --no-dev --optimize-autoloader -
Copy the
invoiceforgefolder to your WordPress plugins directory:cp -r invoiceforge /path/to/wordpress/wp-content/plugins/ -
Activate the plugin in WordPress admin
Development Installation
git clone https://github.com/invoiceforge/invoiceforge.git
cd invoiceforge
composer install
Configuration
Initial Setup
- Navigate to InvoiceForge > Settings
- Configure your company information:
- Company Name
- Company Email
- Company Phone
- Company Address
- Company Logo
- Configure email settings (optional)
- Save settings
Creating Your First Invoice
- Go to InvoiceForge > Clients
- Add a new client with their details
- Go to InvoiceForge > Invoices
- Click Add New Invoice
- Select the client, set dates, and fill in details
- Save the invoice
File Structure
invoiceforge/
├── assets/
│ └── admin/
│ ├── css/admin.css
│ └── js/admin.js
├── languages/
├── src/
│ ├── Admin/
│ │ ├── AdminController.php
│ │ ├── Assets.php
│ │ └── Pages/
│ │ ├── ClientsPage.php
│ │ ├── InvoicesPage.php
│ │ └── SettingsPage.php
│ ├── Core/
│ │ ├── Activator.php
│ │ ├── Container.php
│ │ ├── Deactivator.php
│ │ ├── Loader.php
│ │ └── Plugin.php
│ ├── Database/
│ │ └── Schema.php
│ ├── PostTypes/
│ │ ├── ClientPostType.php
│ │ └── InvoicePostType.php
│ ├── Security/
│ │ ├── Capabilities.php
│ │ ├── Encryption.php
│ │ ├── Nonce.php
│ │ ├── Sanitizer.php
│ │ └── Validator.php
│ ├── Services/
│ │ └── NumberingService.php
│ └── Utilities/
│ └── Logger.php
├── templates/
│ └── admin/
│ ├── client-editor.php
│ ├── client-list.php
│ ├── invoice-editor.php
│ ├── invoice-list.php
│ └── settings.php
├── AGENTS.md
├── composer.json
├── invoiceforge.php
├── README.md
├── ROADMAP.md
└── uninstall.php
Development
Running Tests
composer test
Code Quality
# PHP CodeSniffer
composer phpcs
# Auto-fix coding standards
composer phpcbf
# Static analysis
composer phpstan
Building for Production
composer install --no-dev --optimize-autoloader
Hooks & Filters
Actions
invoiceforge_invoice_created- Fired when an invoice is createdinvoiceforge_invoice_updated- Fired when an invoice is updatedinvoiceforge_client_created- Fired when a client is createdinvoiceforge_settings_saved- Fired when settings are saved
Filters
invoiceforge_invoice_number_format- Customize invoice number formatinvoiceforge_invoice_statuses- Modify available invoice statusesinvoiceforge_default_currency- Set default currencyinvoiceforge_admin_menu_capability- Change required capability for admin menu
Roadmap
See ROADMAP.md for the complete implementation plan.
Contributing
See AGENTS.md for AI development instructions and coding standards.
Support
- Documentation: https://invoiceforge.io/docs
- Support: support@invoiceforge.io
- GitHub Issues: https://github.com/invoiceforge/invoiceforge/issues
License
This plugin is licensed under the GPL v2 or later.
Credits
Built with ❤️ by the InvoiceForge Team