Skip to content

Billing Settings ​

Billing settings control global defaults for your Tenanta platform: trial configuration, auto-renewal behaviour, currency, payment gateways, security, and registration options.

Navigate to Tenanta Admin → Billing → Settings.

Billing Settings


General Settings ​

SettingDefaultENV OverrideDescription
Billing Enabled✓TENANTA_BILLING_ENABLEDMaster toggle — disabling blocks all billing operations
CurrencyUSDBILLING_CURRENCYISO currency code used for all billing (e.g. USD, EUR, GBP, INR)
Currency Symbol$—Symbol displayed in invoices and the pricing page
Invoice PrefixINVINVOICE_PREFIXPrefix added to invoice numbers (e.g. INV-0001)
Invoice Numberingsequential—sequential (INV-0001, INV-0002...) or date-based (INV-20250101-001)
Default Billing CyclemonthlyBILLING_CYCLEDefault billing cycle for new subscriptions (monthly or annual)

Free Plan ​

SettingDefaultENV OverrideDescription
Free Plan Enabled✓TENANTA_FREE_PLAN_ENABLEDAllow tenants to register on a free plan with no payment required

When enabled, the free plan appears on the pricing page and registration form. Free plan tenants are provisioned immediately without payment processing.


Trial Configuration ​

SettingDefaultENV OverrideDescription
Trial Enabled✓TENANTA_TRIAL_ENABLEDOffer a free trial to new paid-plan subscribers during registration
Trial Days14TENANTA_TRIAL_DAYSNumber of free trial days before the first charge (minimum: 1)
Require Payment Method for Trial✗TENANTA_TRIAL_CARD_REQUIREDWhether to collect card details at the start of a trial
Trial Card Verification Amount0TENANTA_TRIAL_CARD_VERIFICATION_AMOUNTAmount to authorize when trial requires card. 0 = capture/verify only (gateway-dependent)

Tip: Leaving "Require Payment Method for Trial" off typically increases trial sign-ups. You can collect payment details when the trial ends.

Note: Disabling Trial Enabled affects new signups only — existing trial tenants are not deleted or automatically moved to free.

Trial Lifecycle ​

  1. Tenant registers and selects a paid plan with trial
  2. Tenant database is provisioned immediately (or after card verification if required)
  3. A trial ending reminder is sent X days before expiry
  4. When the trial expires, subscription status moves to inactive and tenant access is locked
  5. Tenant must upgrade or pay to restore access

Auto-Renewal Configuration ​

SettingDefaultENV OverrideDescription
Auto-Renewal Enabled✓TENANTA_AUTO_RENEWAL_ENABLEDAutomatically charge subscriptions when they expire
User Can Disable✓—Allow tenant owners to turn off auto-renewal from their billing portal
Retry Days3—How many days to retry a failed payment before suspending (retry on days 0, 1, 2)
Renewal Reminder (days before)7TENANTA_AUTO_RENEWAL_REMINDER_DAYSDays before renewal to send a reminder email
Trial Ending Reminder (days before)3TENANTA_TRIAL_ENDING_REMINDER_DAYSDays before trial ends to send a warning email

The auto-renewal job runs via Laravel Scheduler. Make sure your cron is configured:

bash
* * * * * cd /path-to-project && php artisan schedule:run >> /dev/null 2>&1

Payment Methods ​

Toggle which payment gateways are available to your customers. Gateways are stored in the tenanta_billing_payment_methods database table.

GatewayNotes
StripeCredit card — most reliable for global use
PayPalPopular for international customers
RazorpayRecommended for India
PaystackRecommended for Africa
PayURecommended for Latin America & Eastern Europe
XenditRecommended for South-East Asia
Offline / Bank TransferManual — admin must verify payment

Enabling a gateway here makes it visible on the checkout page. You must also configure the gateway API keys — see Payment Gateways.

Default Enabled Methods ​

On first bootstrap (empty tenanta_billing_payment_methods table), the following gateways are enabled automatically: Stripe, PayPal, Paystack, Razorpay, Offline.


Registration Settings ​

SettingDefaultENV OverrideDescription
Email Verification Required✓TENANTA_REQUIRE_EMAIL_VERIFICATIONTenants must verify email before billing features activate
Trial as Default✓TENANTA_REGISTRATION_TRIAL_DEFAULTDuring registration, "Start Free Trial" is selected by default
Allow Immediate Payment✓TENANTA_ALLOW_PAY_NOW_OPTIONAlso offer "Pay Now" during registration
Min Password Length8TENANTA_MIN_PASSWORD_LENGTHMinimum password length for tenant owner registration (range: 6–64)
Require Password Confirmation✓TENANTA_REQUIRE_PASSWORD_CONFIRMATIONShow a "Confirm Password" field during tenant registration

Security Settings ​

SettingDefaultENV OverrideDescription
Require Payment Verification✓TENANTA_REQUIRE_PAYMENT_VERIFICATIONVerify payment transactions before activating subscriptions
Enable Audit Logging✓TENANTA_ENABLE_AUDIT_LOGGINGLog all billing settings changes with old/new values and admin ID
Encrypt Payment Data✓TENANTA_ENCRYPT_PAYMENT_DATAEncrypt sensitive payment data at rest

Warning: Disabling these security settings is not recommended for production environments.


Saving Settings ​

After making any changes, click Save Settings at the bottom of the page. Changes take effect immediately — no cache clearing or server restart needed. Settings are cached for 1 hour.

Note: Currency changes do not retroactively update existing invoices. Invoices always display the currency that was active when they were created.