EmailaBiller

Knowledgebase

Published information for EmailaBiller.

Back up and rehearse an isolated recovery

Preserve the database, encryption key and both application trees, then verify a separate restore.

What a complete backup includes

Keep the consistent database snapshot, original .env and application key, private application code and dependencies, public web root, attachments, integration configuration, trust material and durable update or recovery state together.

Host-managed DNS, certificates, cron, database users, filesystem ownership and external provider state need their own inventory. Restoring local files does not reverse a remote payment, hosting or registrar action.

Use the supplied snapshot tool

The release provides tools/platform-upgrade-backup.php. Use a new private destination outside both installed roots and every public web root, as described by the exact release guide. Retain its manifest digest independently from the backup.

Verify before promoting

Use tools/installation-restore.php with that independently retained digest to verify the snapshot. Restore into a new private directory and a separate empty target database where required. The restored installation remains quarantined; no web server, queue, scheduler or provider operation should start automatically.

Verify database integrity, invoice and customer counts, attachments and decryption with the original key. Review pending jobs and reconcile external-provider actions before an intentional promotion. Never delete an isolation marker or an interrupted-update journal merely to make the application respond.

Configure products before opening checkout

Review seller details, package prices and integration readiness before accepting orders.

Set the business identity

Sign in to the staff workspace and confirm the actual legal seller, business details, invoice settings and policies. Configure the intended storefront and its currencies. Do not reuse sample identities or prices as live business settings.

Build the catalogue

Create product categories and plans, then add explicit prices for each billing term you offer. Review resource descriptions, variations and any addons from the customer's perspective. Confirm the displayed currency and total for each intended journey.

Connect the required services

The fresh-install core starts with checkout closed and does not bundle activated payment, hosting-server or registrar plugins. Install only reviewed compatible modules, supply your own provider settings and complete their actual test flows.

Verify an order end to end

On staging, check product selection, cart edits, customer registration or sign-in, invoice creation, authenticated payment verification and the expected fulfilment stage. Browser approval or a payment-return URL alone must not be treated as a settled payment.

Open live sales only after the provider, mail, scheduler and recovery checks for that installation pass. The Orbit package page is not evidence that your merchant or server connection is configured.

Set up outgoing email and the scheduler

Verify the email route and run one scheduler with the correct PHP executable.

Verify outgoing email

In the Email screens, save your SMTP profile, send the verification message and enter the code received by the intended mailbox. Map the verified routes for general, billing, support and security notifications.

A saved SMTP setting is not proof of delivery. Check the destination mailbox and the installation's queue or delivery diagnostics. Incoming email-to-ticket piping is not included in the fresh-install core.

Add one scheduler

Use the installation's PHP 8.4 CLI executable and private application directory. Schedule Laravel's artisan schedule:run once per minute using the hosting account's cron facility. Substitute your actual paths from the release instructions.

Do not add a second independent renewal job. Verify the scheduler heartbeat, queue processing and log rotation. Persistent workers require the release's coordinated stop and restart procedure during updates.

Understand side effects

Scheduled billing, outbox and provider work can generate invoices, send messages or contact configured services. Keep staging credentials and mail capture separate from production. A status page should observe health rather than trigger billing or provider actions.

Plans, trials and licensing

Account limits, billing periods, trials and version-update terms.

Current package prices and purchase availability are shown on the product pricing page.

EmailaBiller packages count billing client accounts, not hosted server accounts.

1–50 client accounts

  • USD 0.00 · free access

  • Free for up to 50 client accounts.

  • Emaila branding remains.

51–250 client accounts

  • USD 5.00 · per month

  • USD 50.00 · per year

  • Subscription updates included.

  • USD 5 per month or USD 50 per year.

251+ client accounts

  • USD 10.00 · per month

  • USD 100.00 · per year

  • No upper client-account package boundary.

  • Subscription updates included.

  • USD 10 per month or USD 100 per year.

Lifetime · branded

  • USD 500.00 · one-time purchase

  • Use the purchased version indefinitely.

  • Emaila branding remains.

  • USD 500 once.

  • Updates are not included.

  • An optional update costs USD 19 per released version.

Lifetime · unbranded

  • USD 575.00 · one-time purchase

  • Use the purchased version indefinitely.

  • Emaila branding removed.

  • USD 575 once.

  • Updates are not included.

  • An optional update costs USD 19 per released version.

Optional released-version update

  • USD 19.00 · one-time purchase

  • Optional update for an existing lifetime licence.

  • USD 19 for each selected released version.

  • Requires an eligible lifetime purchase and a specific target release.

  • This add-on is not a standalone product-use licence.

14-day trial

  • USD 0.00 · 14-day trial

  • Evaluate the product for 14 days.

  • Trial access is separate from paid subscriptions.

  • Trial availability and included limits will be confirmed before activation.

Prepare a fresh EmailaBiller installation

Use a separate staging hostname and keep the private Laravel application outside the web root.

Start separately

Use a new isolated staging directory, a dedicated HTTPS hostname and a new empty database. The current installable candidate is for a fresh installation, not an in-place update or an automatic migration from another billing product.

Use the reviewed versioned installable package, which includes its production PHP dependencies. GitHub's automatic source ZIP does not include vendor/.

Keep the directory boundary

Extract into the new parent directory. The private emaila-cloud-app/ directory and public public_html/ must be siblings. Point the hostname only at public_html/. Never expose the private application as a workaround for a hosting restriction.

Check PHP and HTTPS

Use PHP 8.4 with ctype, curl, DOM, fileinfo, mbstring, OpenSSL, PDO MySQL, sodium, tokenizer, XML and ZIP. Confirm DNS and the certificate before setup. CLI and web PHP must match before adding cron.

Complete the protected setup

Visit /install. Read the generated setup key privately from emaila-cloud-app/storage/app/private/setup-key.txt, then enter it into the setup form with the HTTPS URL and dedicated database settings. Continue through the core installer with the same private key and create your own administrator.

Sign in at the installation's staff URL, enrol the authenticator and retain recovery codes privately. The installer locks afterward. Preserve the new application key with backups; never copy another installation's environment or keys.