For service businesses

Build an invoice app with PDFs and automatic email

Clients, services, invoices with line items and tax, a PDF of every invoice, an email with the PDF when you mark it sent, payments that keep the balance right, and a receipt when it is paid in full. Describe how you bill, and Kreova builds the app around it.

The example on this page is Larkspur Studio, a made-up design studio that bills its clients in US dollars. Its app was built on Kreova on October 29, 2026 from the prompt further down this page. Every client, invoice and payment in the pictures is sample data.

From a draft to a paid invoice

Billing follows the same path every time: write the invoice, send it, record what comes in, and thank the client when it is paid. Kreova builds that path as one app, and each step uses what the step before it saved.

1. Write the invoice

Pick the client and add lines from your list of services, or type your own. Each line has a quantity, a unit price and its own tax rate, and the subtotal, tax and total are worked out from the lines. The due date follows the client's payment terms.

2. The PDF comes from the same records

The PDF is made from what the app has saved at the moment you download or send it: your studio's details from Settings, the client, the lines, the tax, the total, what has been paid and the balance due. Change a line on a draft and the next PDF shows it.

A draft invoice, INV-2026-020 for Juniper Health Collective: two lines with quantity, unit price and tax rate, a subtotal of $2,400.00, tax of $74.25 and a total of $2,474.25, with Download PDF and Mark as sent buttons
Sample dataA draft invoice: lines from the services list, with the totals worked out.
The PDF of invoice INV-2026-021 for Fernhill Architects: the studio's name, address and phone, the client, three lines, a subtotal of $2,900.00, tax of $78.38, a total of $2,978.38 and a balance due of $0.00
The PDF the app made for the invoice we tested, after it was paid.

3. Mark it sent, and the email goes out with the PDF

Marking an invoice as sent locks it and sends one email to the client's billing contact, with the invoice PDF attached. Nothing is emailed while it is a draft. This is what our test produced when staff marked invoice INV-2026-021 as sent:

ToThe client's billing contact
SubjectInvoice INV-2026-021 from Larkspur Studio
AttachedINV-2026-021.pdf
SentOnce, a moment after the status changed to sent

4. Record payments, and the balance follows

Record each payment as it arrives, with its date, method and a reference. A part payment changes the status to part paid and leaves the balance owed. The payment that brings the balance to zero marks the invoice paid and sends the client a thank-you email with a receipt PDF. In our test, a $1,000.00 deposit sent nothing, and the final $1,978.38 sent the receipt once.

Invoice INV-2026-021 marked Paid: when it was sent, the invoice email line, three lines, a total of $2,978.38, and two payments, a $1,000.00 deposit and a final $1,978.38 payment with a Receipt PDF link
Sample dataThe tested invoice after two payments: the deposit, then the payment that settled it, with its receipt.

5. See what you are owed

The dashboard shows the total outstanding, every overdue invoice with how many days late it is, what was paid this month, and how many invoices are at each status.

The invoicing dashboard: $30,186.26 outstanding on 9 open invoices, $22,009.38 overdue on 7 invoices, $9,578.38 paid this month, a list of overdue invoices with days overdue, and a chart of invoices by status
Sample dataThe dashboard of the example app.

What "sent" means, and what happens when an email fails

  • An email counts as sent when the mail server accepts it. It does not tell you the client received it or opened it.
  • If the mail server refuses it or cannot be reached, Kreova tries again 4 more times over about an hour, then marks it failed. Each attempt and its reason is listed in Kreova, in the notification history under Services.
  • Each email goes out once for each change that triggers it: marking an invoice sent, or the payment that settles it. Saving the invoice again does not send it again.
  • In the rare case a server stops in the middle of a send, the client can get the same email twice. Kreova prefers a second copy to a missing invoice.
  • To email your clients, connect your own email account in Services, so invoices come from your address. Until then, Kreova's shared sender only emails people on your own team, which is how we tested this example.

Who can do what

Every person signs in with their own account, and the rules are kept on the server, so hiding a button is never the only protection. As staff we tried to void a sent invoice and to change the studio's settings: the server refused both. A signed-in stranger got no invoices, clients or payments, and could not download a PDF.

RoleCan doCannot do
OwnerEverything, including the studio's settings and voiding invoicesNothing is held back
StaffWrite and edit drafts, send invoices and record paymentsVoid invoices or change the settings

Want your clients to sign in and see their own invoices? Ask for a client portal, and test it the same way.

The prompt this app was built from

Change the names, services and steps to match how you bill, then send it. Kreova asks when something important is missing.

The Larkspur prompt

Build an invoicing app for "Larkspur Studio", a small design studio that bills its clients in US dollars.

Records

  • Clients (companies) with a billing contact name and email, an address and payment terms in days (default 14).
  • Services with a name, a unit price and an optional tax rate.
  • Invoices for a client with line items (description, quantity, unit price, tax rate). The subtotal, tax and total are worked out from the lines. Each invoice has an issue date, a due date from the client's terms, a number (INV-2026-001 and up) and a status: draft, sent, part paid, paid, void.
  • Payments recorded against an invoice with an amount, a date and a method. The invoice's balance and status follow from its payments.
  • A PDF of each invoice with the studio's name and address, the client, the lines, the tax, the total and the balance due.

Email

  • When staff mark an invoice as sent, email the client's billing contact once, with the invoice PDF attached and a short note. Show on the invoice when the email went out, or why it failed.
  • When a payment brings the balance to zero, email the client a thank-you with a receipt PDF.

Roles

  • Owner: everything, including the studio's settings (name, address, default tax rate, the note on invoices) and voiding an invoice.
  • Staff: create and edit draft invoices, send them and record payments. Cannot void invoices or change settings.

Dashboard

Total outstanding, overdue invoices with how many days overdue, paid this month, and invoices by status.

Sample data

The owner account, 1 staff account, 8 clients, 10 services and 20 invoices at every status with payments, some overdue. Use example.com addresses for every client.

Kreova asked a few questions first, then built it in five rounds of one to five minutes each: the first build, a "continue" request, and three requests for the invoice pages, the emails, and the clients, settings and staff pages. That used five build credits.

What you set up, and what it does not do

  • Describe how you bill, check the sample app, then ask for changes in plain words until it fits.
  • Fill in your business details and default tax rate in Settings, and bring in your clients and services from a spreadsheet or by hand.
  • Connect your own email account, so invoices reach your clients from your address.
  • Invite your staff. Each one gets their own login.
  • On Pro, put the app on your own domain.

The app works the numbers out from the tax rates you give it. It does not know your local tax rules, so check the rates and the wording on your invoices with your accountant. The example takes no card payments, sends no overdue reminders and does not connect to accounting software. Kreova can add online payments through your own Stripe account, or a reminder email around the due date, if you ask. Test anything you plan to rely on before you send real invoices.

What it costs

Kreova charges for building, not for using the app. Each build uses a build credit, and questions that change nothing are free. Sending invoices and recording payments costs nothing extra.

Free

$0/ month

Build your app and run it on a free krva.cc address. 5 build credits a month, no card.

Power

$79.99/ month

Everything in Pro with 60 build credits a month, for owners who keep improving the app.

Compare the plans in full

Questions, answered

Before you build it.

What owners ask about invoicing first.

Ask support

Yes, once you connect your own email account in Services. Kreova's shared sender only emails people on your own team, so connect yours before you invoice clients.

The notification history shows whether your mail server accepted each email, or why it did not. Like any email, that does not prove the client opened it.

Not in the example. Kreova can add a pay button that takes card payments through your own Stripe account, so the money goes straight to you. Test it before you rely on it.

The example bills in US dollars only. Ask for a currency on each client or invoice: our freight forwarding example keeps invoices in dollars, euros and pounds.

Yes. Ask for your logo, colors, extra fields or different wording, and the next PDF follows. It is made from your records each time, so past invoices show their own lines and amounts.

No. Kreova builds your own app from your description, so it follows your services, your steps and your roles. You change it by asking, and every version is saved.

Your invoice app

Describe how you bill. Kreova builds the app.

Start from this, or write it your own way.

✓ No credit card✓ Live on its own address✓ Change anything by asking