@extends('layouts.app') @section('content') {{-- Hero --}}
Free Plugin

Free Agency Invoice Plugin

Everything a professional agency needs to create invoices, accept payments, and manage clients — fully functional, completely free.

Agency Pulse Free Invoice Plugin
{{-- Feature Groups --}}

📄 Invoice Builder & Management

  • Custom Post Type Architecture: A dedicated agency_pulse_invoice Custom Post Type powers the entire invoicing system, deeply integrated within the WordPress dashboard.
  • Rich Line-Item Editor: A fully dynamic, in-admin invoice builder for composing line items with descriptions, quantities, unit prices, and per-line totals — all calculated in real time.
  • Invoice Status Lifecycle: A complete status system covering Draft, Pro Forma, Unpaid, Partial, and Paid — each with distinct workflow rules, display logic, and protection against accidental changes.
  • Invoice Locking & Guardrails: Issued invoices (Unpaid, Partial, Paid) are automatically locked for editing in the admin, with a clear notice bar, per-metabox overlays, and a dedicated “Reopen Invoice” action.
  • Auto-Number Generation: Automatically generates a unique, sequential invoice number when an invoice is first issued, ensuring a clean billing audit trail.
  • Invoice Duplication: A one-click duplicate action in the admin list view for rapidly creating new invoices based on an existing document structure.
  • Trash Protection: Prevents accidental deletion of active Unpaid or Paid invoices, enforcing data integrity for all financial records.
  • Auto-Draft Prevention: Blocks WordPress from generating unwanted auto-draft records for the invoice post type, keeping the admin list clean and accurate.

🧮 Totals, Tax & Multi-Currency

  • Real-Time Dynamic Totals: A dedicated JavaScript engine recalculates subtotals, tax amounts, and the invoice grand total instantly as the admin modifies line items, with no page reload required.
  • Flexible Tax Rate System: Supports configuring and applying multiple named tax rates directly within the invoice builder, with per-invoice tax rate selection.
  • Multi-Currency Support: Assign a specific currency to each invoice, independent of a base store currency, with full display formatting throughout the admin and public views.
  • Exchange Rate Locking: When an invoice is issued in a non-base currency, the live exchange rate is fetched and permanently locked to the invoice record, ensuring consistent billing regardless of future market fluctuations.
  • Partial Payment Tracking: Full ledger support for recording multiple partial payments against a single invoice, with automatic balance recalculation and status promotion to “Partial” or “Paid.”
  • Payments Ledger: A dedicated metabox within the invoice editor for recording and reviewing all manual and gateway-processed payment entries against an invoice.

🔒 Access Control & Token-Based Sharing

  • User Assignment: Each invoice can be assigned to a specific WordPress user via a typeahead search, creating a secure, personalized billing relationship.
  • Frontend Query Scoping: Logged-in users on the frontend are automatically restricted to viewing only invoices assigned to their account, preventing unauthorized access to other clients’ data.
  • Secure Token Access: Generates unique, shareable access tokens for each invoice, enabling clients to view their invoice via a private URL without requiring a WordPress login.
  • Custom Rewrite Rules: Registers clean, human-readable URL patterns specifically for token-based invoice access, ensuring compatibility across all WordPress permalink configurations.
  • Permission-Based Role System: A dedicated invoice-admin role with granular capability controls separates billing administrators from general site users.

🎨 Invoice Templates & Design

  • Template Custom Post Type: A dedicated agency_pulse_inv_tpl post type for creating, managing, and versioning multiple branded invoice layouts.
  • Default Template Provisioning: Automatically creates a professional default invoice template on plugin activation, ensuring the system is ready to use out of the box.
  • Template Engine & Renderer: A dedicated rendering service dynamically binds live invoice data (client info, line items, totals, company branding) into the selected layout at render time.
  • Default Template Protection: The system default template is protected from accidental deletion or trashing, with all dangerous actions removed from its row in the admin list.
  • Template Duplication: Administrators can duplicate any existing template as a starting point for a new custom design.
  • Template Reset: A one-click action to restore the default template to its original, factory state.

🌐 Frontend Views & Shortcodes

  • Public Invoice View: A polished, client-facing invoice page rendered from the active template, including all line items, totals, branding, and an embedded payment form.
  • Client Invoice List: A frontend page displaying all invoices assigned to the currently logged-in user, with status indicators and direct links to each document.
  • Invoice Checkout Page: A dedicated secure checkout flow for clients to review and pay their outstanding invoice balance online.
  • Payment Response Page: A post-payment confirmation page that displays the outcome of a transaction (success or failure) to the client after gateway processing.
  • Print-Optimized Styles: Dedicated print stylesheets ensure invoices render cleanly and professionally when clients print or save the document as a PDF.
  • Shortcode Suite: All frontend views are available as shortcodes ([apwp_invoices_list], [apwp_invoice_detail], [apwp_payment_form], [apwp_invoice_checkout], [apwp_payment_response]) for flexible page placement.
  • Gutenberg Block Suite: Every frontend view is also available as a native Gutenberg block (Invoices List, Invoice Detail, Invoice Checkout, Payment Form, Payment Response) for use in the block editor.

💳 Payment Gateway Architecture

  • Centralized Gateway Manager: A core GatewayManager service orchestrates all registered payment gateways, providing a unified API for initialization, asset loading, and gateway discovery.
  • Gateway Registry: A GatewayRegistry component maintains the master list of all available gateways, enabling dynamic registration by companion plugins.
  • Abstract Gateway Contract: A formal GatewayInterface and AbstractGateway base class define the required contract for all gateway implementations, ensuring consistent behavior across integrations.
  • Webhook Infrastructure: A dedicated webhook handling layer processes asynchronous payment notifications from external providers, enabling reliable payment confirmation without relying on browser redirects.
  • REST API Endpoints: Built-in REST API routes for gateway-related actions, enabling secure, standardized communication between the frontend payment forms and the WordPress backend.
  • AJAX Payment Handlers: Dedicated AJAX layer (Agency_Pulse_Invoice_Gateway_AJAX) manages real-time payment initiation and response processing requests from the client-side checkout UX.
  • Payment Capture Automation: A Payment_Captured_Handler listens for the gateway payment capture hook and automatically marks the corresponding invoice as paid, triggering all downstream status updates.
  • Refund Support: An admin-accessible refund action allows processing of payment refunds directly from the invoice editor.
  • PayPal Integration: A bundled PayPal gateway implementation with a dedicated admin settings page for API credential management.
  • Stripe Integration: A bundled Stripe gateway implementation with a dedicated admin settings page for API credential management and webhook configuration.

📧 Email Notifications

  • Invoice Available Email: A configurable email notification dispatched to clients when a new invoice is issued, with customizable subject and body templates.
  • Payment Received Email: An automated confirmation email sent to the client immediately after any successful gateway payment, providing a clear record of the transaction.
  • Dynamic Placeholder Engine: Both email templates support dynamic data substitution placeholders (customer name, amount, invoice link, transaction ID, etc.) for fully personalized communications.
  • Company “From” Address: Payment confirmation emails are dispatched using the business’s configured company email address as the sender, maintaining professional branding.
  • Extensible Email Settings Manager: A tabbed email settings interface that companion plugins can extend with additional email template configurations.

🏢 Company & Client Information

  • Per-Invoice Company Selection: Each invoice can be associated with a specific company entity (name, logo, address), enabling multi-brand billing from a single WordPress installation.
  • Client Information Fields: Dedicated fields on each invoice for storing client name, email, billing address, city, state, country, and postal code.
  • Country & Subdivision Lookups: Bundled country and subdivision (state/province) data with AJAX-powered dropdown population in the invoice builder and checkout form.
  • Invoice Notes: A dedicated notes field on each invoice for attaching payment terms, project descriptions, or custom messages visible on the issued document.

📁 File Attachments

  • Invoice File Attachments: Attach one or more files from the WordPress Media Library directly to any invoice for delivery alongside the billing document.
  • Media Library Integration: A REST API-backed file handler resolves and displays file metadata (title, filename, type) for all attachments within the invoice editor.
  • Template File Support: Invoice template records also support file attachment fields, providing a consistent file management experience across both post types.

📊 Dashboard & Reporting

  • Extensible Dashboard System: A hook-based Dashboard_Widgets system with registered sections and a sidebar context, designed so companion plugins can inject their own reporting widgets.
  • Invoice Admin Dashboard: A dedicated dashboard page within the Invoices menu providing a centralized overview of invoice activity and quick-access navigation.
  • Dashboard Autocomplete: An AJAX-powered autocomplete handler within the dashboard for fast invoice and client lookups.
  • Enhanced Admin Columns: The invoice list view features custom columns for invoice number, client name, amount, due date, and status badge for rapid at-a-glance management.

⚙️ Settings & Configuration

  • Extensible Settings Hub: A tabbed settings interface with a General tab for core configuration, architected to allow any companion plugin to inject its own settings tab seamlessly.
  • Invoice General Settings: Configurable options for default invoice behavior, currency, and branding, managed from a dedicated admin settings page.
  • Email Settings Page: A separate, dedicated settings section for managing all transactional email templates with live preview guidance.
  • Gateway Settings Pages: Individual dedicated settings pages for each active payment gateway (Stripe, PayPal) for credential and webhook management.
  • Organized Admin Menu: The WordPress sidebar menu is programmatically reordered to present Dashboard, Add Invoice, All Invoices, Templates, and Settings in a logical, prioritized sequence.
  • Help Page: A built-in help and documentation page within the plugin’s admin menu.

🔧 Developer Infrastructure & Extensibility

  • Singleton Plugin Architecture: The core Agency_Pulse_Invoice class follows the Singleton pattern, ensuring a single, stable instance is accessible throughout the WordPress lifecycle.
  • Public Invoice API: A dedicated Agency_Pulse_Invoice_Invoice_API class exposes a stable, documented API surface for external code and companion plugins to interact with invoice data.
  • Global Helper Functions: A library of global helper functions (e.g., api_invoice_mark_paid(), agency_pulse_invoice()) providing clean, reliable shortcuts for common operations.
  • Comprehensive Hook System: Extensive use of WordPress actions and filters throughout the codebase (e.g., agency_pulse_invoice_activated, agency_pulse_invoice_payment_received, api_invoice_marked_paid) enabling deep customization without core modifications.
  • Data Migration Handler: An automated migration service that performs safe, throttled backfill operations (e.g., partial payment balance recalculation) on plugin updates without impacting site performance.
  • Auto-Update Checker: A built-in update checker that connects to the Agency Pulse update server to deliver plugin updates directly through the standard WordPress updates interface.
  • Internationalisation (i18n): Full translation-readiness with a registered text domain and a /languages directory, making the plugin compatible with any language or locale.
  • Composer Autoloading: PSR-4 autoloading via Composer for all PHP class dependencies, ensuring clean, conflict-free class resolution.
@endsection