Streamline Client Invoicing with the Perfex CRM Wallet Module
Last year I spent three days reconciling sixty different micro-invoices for a web agency client. They charged fifty dollars here for a quick CSS tweak, thirty dollars there for an emergency DNS update, and another twenty dollars for an extra mailbox setup. Every single time a client paid one of those tiny bills, the payment gateway took thirty cents plus nearly three percent.
The transaction fees were brutal!
Worse than the fees was the human friction. Clients hated receiving four separate email notifications a week asking them to whip out a credit card for forty bucks. Invoices sat unpaid for weeks. The agency cash flow choked on administrative lag, and project managers spent half their mornings playing debt collector instead of shipping code.
There is a much cleaner way to run client billing.
Instead of charging a credit card ten times a month, you let the client deposit five hundred or a thousand dollars into a dedicated prepaid balance. Whenever a new invoice generates for ongoing site maintenance or hourly support, the system clears the invoice automatically against their available balance. No manual checkout screens. No repetitive transaction fees. Zero awkward collection emails.
Building a self-hosted client portal gives you total freedom to mold your billing operations to your exact business model. Many agencies and independent webmasters deploy modular php web application scripts to maintain complete ownership of their client data, payment gateways, and recurring service contracts.
If your agency runs on Perfex CRM, adding a prepaid credit balance and automated payment workflow is remarkably simple with the Wallet Module for Perfex CRM - Smart Invoice Payment. It introduces a digital wallet right inside the client portal, giving your customers the ability to top up funds, view balance statements, and settle invoices with a single click.
Let us walk through the server prerequisites, module installation, automated invoice deduction rules, client portal layout design, and technical optimizations needed to run an effortless wallet system.
Server Environment and Directory Preparation
Perfex CRM runs on a lightweight PHP and CodeIgniter architecture. Before installing new modules, verify that your hosting environment is tuned to handle background accounting transactions and database balance locks without timeouts.
Connect to your server via SSH or open your hosting control panel. Check that your server runs PHP 8.1 or 8.2 with the standard suite of extensions including cURL, OpenSSL, mbstring, and PDO MySQL.
Open your php.ini configuration file to verify memory and execution parameters. Set memory_limit to at least 256M and ensure max_execution_time is set to 300 seconds. While a simple balance calculation takes only a few milliseconds, automated cron jobs that iterate through hundreds of overdue invoices and match them against wallet balances require adequate execution headroom.
Check the directory permissions for the Perfex CRM modules directory located at modules inside your application root. Your web server user needs full write and execute access to this folder. When you upload module packages through the administrative interface, the system unpacks the archive directly into this directory and compiles asset links on the fly.
Developers and digital agency owners regularly browse reliable libraries for php scripts download to source verified plugins, billing extensions, and workflow modules without having to code custom accounting logic from scratch.
Installing and Activating the Wallet Module
Deploying the module into your Perfex CRM instance takes less than two minutes through the built-in module manager.
Log into your Perfex CRM dashboard with super administrator credentials. In the left navigation menu, click on Setup and select Modules. You will see an overview of your active and inactive system extensions alongside an Upload Module button at the top of the interface.
Select the wallet module zip archive from your computer and upload the package. The system extracts the codebase into the modules directory automatically. Once the upload finishes, find the Wallet Module entry in your list and click the Activate link.
The core framework immediately executes the database installation script. It creates dedicated database tables for client wallet balances, credit transactions, top-up logs, deposit payment methods, and balance change audit histories.
A new Wallet Settings tab appears inside your CRM setup area. Click on this section to configure your deposit limits, transaction rules, and notification preferences.
Configuring Deposit Rules and Payment Gateways
A smooth wallet experience starts with flexible deposit rules that encourage clients to maintain a healthy account balance.
Open the wallet configuration screen in the administrative dashboard. Set your minimum and maximum deposit thresholds. Setting a minimum top-up amount of one hundred dollars prevents clients from making excessive micro-deposits that defeat the purpose of reducing payment processing fees.
Select which payment gateways can be used for wallet top-ups. You can enable your standard online gateways like Stripe, PayPal, or Authorize dot Net for instant automated balance credits. You can also enable offline bank wire transfers. When a client submits a bank wire deposit, the system creates a pending transaction request that staff can verify and approve once funds land in the corporate bank account.
Configure the automated payment behavior. Toggle the auto-pay invoice setting to enabled. With this setting active, whenever a new invoice is generated for a client who possesses sufficient wallet balance, the system marks the invoice as paid immediately, creates a linked payment record, and deducts the exact amount from their wallet.
Set up low balance notification thresholds. If a client balance drops below fifty dollars, the system can dispatch an automated email reminder inviting them to top up their account before upcoming recurring invoices are generated.
Designing the Client Portal Wallet Layout
How you present the wallet inside the customer portal directly influences whether clients adopt the prepaid model. If the deposit interface is hidden or clunky, clients will continue paying manually on every invoice.
Place a prominent Wallet Balance Widget right on the client portal homepage dashboard. When a customer logs in to review open projects or view tickets, their live balance should be visible immediately in the header navigation or main overview grid alongside their open invoices and active support tickets.
Use a clean two-card layout for the primary wallet screen.
The top card should display the available balance in bold typography, flanked by a high-contrast Top Up Balance button and a brief explanation of how automated billing benefits the client by eliminating payment delays and service interruptions.
The lower section should house an interactive Transaction History table. This ledger should clearly display transaction dates, reference IDs, transaction types like Deposit or Invoice Payment, exact debit or credit amounts, and direct links to the corresponding settled invoices.
Transparency builds trust!
When clients can see every single cent deducted against specific invoice numbers, dispute inquiries drop to zero.
Streamlining Recurring Invoices and Support Retainers
The combination of recurring invoices and automated wallet deductions creates a frictionless retainer management system for web agencies.
When you onboard a client for monthly website maintenance, configure their recurring invoice inside Perfex CRM to generate automatically on the first of each month.
Set the payment terms to immediate. When the cron job fires on the first of the month, Perfex generates the invoice, the wallet module checks the client balance, executes the payment transaction, and emails the client a pre-settled receipt within seconds.
Your client never has to log in to click a pay button, and your team never has to track down late retainer payments.
If a client balance is insufficient to cover the entire invoice, configure the partial payment behavior. The module can deduct the remaining balance to pay down a portion of the bill, leaving only the remaining balance due, which the client can settle via standard checkout or another quick wallet deposit.
Client Portal Performance and Search Engine Visibility
While client portals sit behind authentication walls, the public marketing pages that promote your agency customer experience need to be fast, responsive, and properly structured for search engines.
When marketing your agency services, create dedicated service pages explaining your seamless client portal, automated billing transparency, and fast support turnaround times.
Structure these service landing pages with clean semantic HTML. Use a single H1 tag describing your service offering, followed by H2 sections detailing your client portal features, retainer tiers, and onboarding steps.
Ensure that your public registration and login pages load rapidly with zero layout shift. Keep your CSS and JavaScript bundles compressed, optimize any illustrative screenshots of your dashboard using modern WebP formats, and make sure form fields have proper descriptive labels for accessibility.
Fast loading times and clear semantic structure help search engines recognize your agency website as a reputable, high-performance destination for businesses seeking professional web management services.
Cron Job Automation, Security Audits, and Maintenance
Financial transactions demand reliable background execution and meticulous audit logging.
Verify that your Perfex CRM master cron job is scheduled correctly in your server crontab. The system should execute the cron runner command once every five or ten minutes. The wallet module hooks into this routine to process recurring invoice deductions, calculate low balance alerts, and sync pending bank wire approvals.
Check your MySQL database indexing. If your CRM manages thousands of clients and tens of thousands of historic invoices, ensure that tables associated with invoices, payments, and wallet transactions have proper index coverage on clientid and date fields. This ensures ledger lookups remain instantaneous even after years of active billing history.
Review the administrative wallet audit log periodically. The module maintains an immutable log of all balance adjustments, including manual credits granted by staff members for refunds or promotional goodwill. Monitoring these audit logs ensures internal accounting transparency and prevents unauthorized manual balance overrides.
Adopting a prepaid wallet architecture transforms the financial operations of any service-based business. By deploying the wallet module inside Perfex CRM, configuring sensible deposit rules, and delivering a clean, transparent client portal interface, you eliminate invoice chasing, reduce merchant fees, and create a seamless billing experience that keeps your clients happy.



