A practical billing tool for freelancers and small businesses in South Africa. Create quotes with line items, generate PDF invoices, share client portal links, and send WhatsApp payment reminders. Optional AI assists help you draft documents faster.
What the app actually does.
Create quotes with itemized line items (description, quantity, unit rate), custom notes, and configurable validity periods (7, 14, or 30 days). Each quote gets a unique shareable portal link where your client can review the full document and click "Accept" — which automatically generates a matching invoice.
Generate standalone invoices with a live preview, custom accent color, your business address, client details, and banking information. Download invoices as PDF files directly. Invoices can also be auto-created when a client accepts a quote (14-day payment term). Track status as Unpaid or Paid.
Share quote and invoice portal links directly via WhatsApp with pre-formatted messages that include the document number, total, and a clickable link. Send payment reminders with three tone presets: friendly, due today, or overdue. Messages include your banking details and invoice reference number.
Save client profiles with name, contact person, email, phone, address, and a custom prefix (e.g. "VYL"). The prefix is used for automatic document numbering. Clients can be quickly selected when creating new quotes or invoices.
Configure your company name, multiple business addresses, contact details, and multiple bank accounts (with bank name, account number, branch code, and PayShap ID). Set your accent color and default currency. Includes data backup export and import as JSON files.
View saved billing records with document number, client, date, and total. Toggle payment status between Paid and Credit. Send a WhatsApp reminder directly from any history record. Export your full history as a CSV file for spreadsheet use.
Optional shortcuts — not required to use the app.
These features use a free AI model via OpenRouter to help you work faster. They are completely optional. Every AI output is shown for your review before anything is saved or sent. If the AI service is unavailable, all manual workflows continue to work normally.
Paste a WhatsApp message, email, or rough notes into a text box. The AI extracts line items with descriptions, quantities, and rates, then fills in the quote builder form. You review and edit every field before saving.
Available in: Quote Builder
Click a button next to any line item description to expand vague text (e.g. "plumbing work") into specific scope bullet points (e.g. "Pressure test & leak diagnostic, replacement of mixer cartridge"). Helps reduce client disputes over scope.
Available in: Quote Builder, Invoice Generator
Generate a context-aware WhatsApp payment reminder message based on the client name, amount owed, due date, and your chosen tone. You can add extra context (e.g. "client paid 50% deposit"). The draft appears in the preview — you edit or switch back to a template before sending.
Available in: Payment Reminders
How a job moves through the system.
| Stage | What You Do | What Happens |
|---|---|---|
| 1. Add Client | Enter client name, contact, phone, email, address, and a 3-letter prefix. | Client profile saved. Prefix used for automatic document numbering (e.g. VYL-2026-001). |
| 2. Create Quote | Select client, add line items with description, quantity, and unit rate. Set validity period. | Quote generated with auto-number (e.g. Q-2026-001). Shareable portal link created. |
| 3. Share & Accept | Send the portal link to your client via WhatsApp. Client reviews and clicks "Accept". | Quote status changes to "Accepted". A matching invoice is automatically created with a 14-day due date. |
| 4. Collect Payment | Share the invoice link or send a WhatsApp payment reminder with your banking details. | Client pays via bank transfer using the reference number. You mark the invoice as "Paid". |
| 5. Record Keeping | View billing history. Export records as CSV. Back up all data as a JSON file. | Full audit trail. Data synced to cloud across all your devices. |
No paid tiers. No feature gating.
Everything listed on this page is included in the free account.
Straight answers.
Yes. There are no paid tiers, no trial periods, and no feature gating. You create a free account and get access to everything listed on this page.
Your data is stored in a Supabase-hosted PostgreSQL database, linked to your authenticated account. Each user can only access their own data (enforced via row-level security policies). You can also export a full backup as a JSON file at any time from Settings.
When you create a quote, the system generates a unique URL. You send this link to your client (typically via WhatsApp). They open it in their browser, see the full quote with line items and totals, and can click "Accept Quote". Accepting automatically updates the quote status and creates a matching unpaid invoice.
Yes. The Invoice Generator has a "Download PDF" button that renders the invoice preview into a downloadable PDF file. Quotes can be printed to PDF via the browser's print function using the app's built-in print styles.
The app connects to OpenRouter (a free AI API) to provide three optional shortcuts: parsing rough text into structured line items, expanding vague descriptions into detailed scope bullets, and drafting context-aware payment reminder messages. All AI output is shown in the form for you to review and edit before saving or sending. The AI never sends anything to your clients automatically. If the AI service is down, all features work normally without it.
The quote builder currently operates with 0% VAT (suited for businesses under the South African R1M VAT registration threshold). The invoice generator also defaults to 0% VAT. There is no configurable VAT rate input at this time.