How 247Billz Works
This page explains how invoices and payments work, what clients see, and what business owners must do before creating and sharing invoices.
Overview
- Businesses create invoices in the dashboard and share a public invoice link with clients.
- Clients open the link, review the invoice, and tap the Pay button to pay online.
- Payments are processed by the configured payment gateway (Flutterwave).
Checklist — What Business Owners Must Do Before Creating/Sharing Invoices
- Complete your Business Profile: add your business name, email, and address so invoices show correct details.
- Configure Payout Bank Account (required to accept online payments):
- Select your bank from the dropdown (the app submits the numeric bank code).
- Enter a valid 10-digit account number and verify it using the Verify button.
- If verification fails, double-check bank code and account number, then retry.
- Configure Payment Gateway Keys: ensure `FLW_SECRET_KEY` (server-side) is set in your environment. Without a valid server secret, payment initialization will fail.
- Test with a sample invoice (send to yourself) before sharing with customers.
What Clients See and What to Tell Them
- Clients open the invoice link and see a Pay button if the business accepts online payment.
- If the business has not configured a payout bank account, the client will see a clear notice: “This business has not configured their payout bank account yet. Payment cannot be processed.”
- If payment fails, the client will see a friendly message such as:"We couldn't complete your payment right now. Please try again later or contact the business."
Recommended User-Facing Messages
For Clients (friendly)
- Payment not available: "This business has not configured their payout bank account yet. Payment cannot be processed."
- Verification failed: "We couldn't verify your payment details. Please confirm your card or try another method."
- Generic payment error: "We couldn't complete your payment right now. Please try again later or contact the business."
For Business Owners (admin / dashboard)
- Bank verify failure: "Bank verification failed — check the bank and 10-digit account number, then try again."
- Missing payout account: "You must verify and save a payout bank account before you can receive online payments."
- Payment gateway error: "Payment gateway returned an error. Check gateway keys in settings and try again."
Troubleshooting & Common Errors
- "invalid account" — Usually the account number does not match the bank. Re-check the 10-digit number and verify it in your dashboard.
- "destbankcode/account_bank must be numeric" — Ensure the bank selector sends the numeric bank code (e.g., 044) to the server, not a label string.
- If you see provider messages in logs (e.g. from Flutterwave), map them to friendly messages in the UI and keep the provider details in server logs only.
Developer Notes (implementation suggestions)
- Validate on the client: bank code is numeric, account number is 10 digits.
- Validate on the server before calling provider and map provider errors to friendly messages.
- Log full provider responses for debugging; do not show raw messages to users.
Need more help?
Contact support at the business owner email or use the in-dashboard support ticket form. We recommend adding a link to this page from the dashboard and from invoice emails so users and owners can find it easily.