Skip to Content
FeaturesInvoicing & Payments

Invoicing & Payments

Create professional invoices, send them by email with a PDF attachment, and get paid online through Stripe.

Just need one invoice?

If you don’t want to set up a full workspace for a single one-off invoice, try the free Invoice Generator . It builds a clean, professional invoice PDF right in your browser, with multi-currency support, an optional tax or VAT line with a reverse-charge note, and your logo. No account is required. The first download asks for an email address so you can subscribe to occasional updates; after that, the same browser downloads without asking again. Your invoice details are never sent to our servers, and your business and client details are saved in your own browser for next time you use it.

Creating an invoice

There are two ways to create an invoice:

From scratch

Go to Invoices → New Invoice and fill in the details:

  1. Select a client (required). The client picker is searchable — start typing a name to filter the list. All clients show here, even ones you haven’t started a project with yet, so you can invoice a retainer or one-off work without having to create a project first.
  2. Select a project (optional). This list is filtered to the projects belonging to the client you just picked; type to search within them.
  3. Add line items, Each line item has a description, quantity, and unit price. The line total is calculated automatically.
  4. Set the tax rate, Kiaro pre-fills this from the client’s Default VAT rate when the client has one set, otherwise from Settings → Invoice Settings, otherwise 0. You can override it per invoice, and changing it on a saved invoice does not affect other invoices. The same pickup applies to invoices created from time entries and from milestones.
  5. Add a discount (optional). Below the line items, click Add discount, choose Amount or Percent, and enter the value. See Discounts.
  6. Set issue and due dates
  7. Add notes, Optional notes that appear on the invoice (e.g., payment terms)

Kiaro remembers the last client you invoiced and pre-selects them the next time you open this form, so repeat billing for the same client is one click lighter.

Invoice numbers are generated automatically and are unique within your workspace.

Client snapshot sidebar

As soon as you pick a client, a Client Snapshot panel appears on the right of the form. It always confirms the currency and tax rate that will land on this invoice and shows the client’s primary contact (with a one-click mail link), so you have a sanity-check before you start filling line items. Below that, if you have prior history with this client, you also see: typical days-to-pay, currently open invoices (per currency), and unbilled time across their projects. Rows with no data yet are hidden, not stubbed out. Open the panel on mobile from the Client Snapshot toggle above the form.

From time entries

If you track time with hourly rates on your projects, you can generate invoices directly from your time data. Go to Invoices → From Time Entries (or Time → Create Invoice from Time):

  1. Select a client
  2. Optionally filter by date range
  3. Review and select uninvoiced billable time entries
  4. Click Create Invoice

Kiaro groups the selected entries by task, calculates line item amounts from hours multiplied by the project’s hourly rate, and creates a draft invoice. The time entries are marked as invoiced so they won’t be included in future invoices.

See Time Tracking for more details on setting up hourly rates and logging time.

Line items

Each invoice must have at least one line item. Line items include:

  • Description, What the charge is for
  • Quantity, Number of units (supports decimals for hourly billing)
  • Unit price, Price per unit in cents

The subtotal, discount, tax, and total are calculated automatically from your line items, discount, and tax rate, and update below the line items as you type.

If you start filling in a line item, Kiaro asks you to complete the description before saving. Completely empty rows are still allowed (the default empty row at the bottom won’t block you), but a row with a price or quantity but no description will be flagged inline so it isn’t quietly dropped on save.

Tax

The tax rate defaults to whatever you set in Settings → Invoice Settings. You can change it on any individual invoice. Tax is calculated as a percentage of the subtotal after any discount.

Discounts

You can take a discount off any invoice, the same way as in the free Invoice Generator :

  1. Below the line items, click Add discount.
  2. Choose Amount for a fixed amount off (for example 250.00 in the invoice’s currency) or Percent for a percentage off (for example 10).
  3. Enter the value. The Discount, Tax, and Total lines update straight away.

The discount comes off the subtotal before tax, so tax is charged on the discounted amount. For example, a 1,000.00 subtotal with a 10% discount and 21% tax comes to 900.00 plus 189.00 tax, a total of 1,089.00.

A fixed discount can’t be more than the subtotal, and a percentage can’t be more than 100%. To remove a discount, click the × next to it and save.

The discount shows as its own line between Subtotal and Tax everywhere the invoice appears: the invoice page, the PDF, the client portal, and the invoices CSV export. A percentage discount is labelled with its rate, for example Discount (10%). The amount your client pays online is the discounted total.

Like the rest of the invoice, the discount can only be changed while the invoice is a draft. To change the discount on an invoice you’ve already sent, void and reissue it; the new draft keeps the original discount so you can adjust it.

If you sync invoices to Xero, the discount is sent as a separate negative Discount line using the same account and tax code as the invoice, so the total in Xero matches the total in Kiaro.

Saving as draft

The save button at the bottom of the invoice form changes label based on the Status you’ve selected. Pick Draft and the button reads Save Draft (or Save as Draft on a new invoice); switch the status to Sent and it becomes Save & Mark Sent, and so on. The button always saves the current state, the label just makes it explicit what saving means under the chosen status. You can save and reopen a draft as many times as you like.

When you’re editing an existing invoice, a small Last saved X ago indicator appears next to the Save button so you can see at a glance how recent the saved copy is.

Currency

Each invoice captures its currency at creation time. Kiaro picks the currency in this order:

  1. The client’s billing currency if one is set on the client record
  2. Otherwise the workspace default from Settings → Invoice Settings

Once an invoice is created, its currency is locked. Changing the client’s or workspace’s currency later does not retroactively affect existing invoices.

Supported currencies: USD, EUR, GBP, ZAR.

PDF generation and preview

Every invoice can be previewed and downloaded as a PDF. The PDF includes:

  • Your business details from invoice settings (logo, address, VAT ID)
  • The client’s Bill To block with their full billing address and tax number
  • Line items and totals in the invoice’s locked currency

The client’s tax number is labelled with whatever you set as Tax ID label in Settings → Invoice Settings, so a US workspace prints “EIN” rather than “VAT”.

Where the Bill To block comes from

While the invoice is still a draft, the Bill To block reads live from the client’s profile. If the VAT number, company name or address is wrong, fix it at Clients → (the client) → Edit and the draft picks it up. There is no need to delete the draft and start again.

The invoice page shows the same block under the line items so you can check it without opening the PDF, along with a note about where the details are coming from.

When you send the invoice, or finalize it for download, the details are copied onto the invoice and locked so later changes to the client can never rewrite a document you already issued. After that, use More → Correct billing info on the invoice itself. See Changing Sent Invoices.

Bank accounts and payment instructions

Add the bank details clients should pay into under Settings → Invoice Settings → Bank Accounts. Give each account a label (for example “International” or “SA”) and a currency, then fill in the structured fields: account holder, bank name, account number or IBAN, SWIFT/BIC, routing or branch code, and country. Anything that doesn’t fit a field, such as a payment reference, intermediary bank, or company registration number, goes in Additional instructions. Older accounts that used the single free-text box still work exactly as before; open one and fill in the fields whenever you’d like cleaner, copy-ready details. Bank accounts save automatically, so there’s no separate Save button for this section.

Choosing the account on an invoice

Every invoice has a Pay to picker, so you always see, and can change, which account a client will pay into. This appears on the regular invoice form and on invoices created from tracked time. Kiaro pre-fills it for you in this order:

  1. An account you pick explicitly on the invoice
  2. Otherwise the account whose currency matches the invoice’s currency, preferring the one you’ve marked Default when several share a currency (so a EUR invoice picks your EUR account, and two ZAR accounts respect your default)
  3. Otherwise your default account

While an invoice is a draft, the picker follows your current setup: if you add, edit, or change the default account, drafts update to match. The choice is frozen once the invoice is sent, so sent, paid, and voided invoices always keep the details they went out with.

Where clients see it

The chosen account is shown as the Payment Instructions block on the invoice itself, in the client portal, on the downloaded PDF, and in the copy attached to the email. Structured accounts render as clean labelled lines, and in the portal your client can copy the account number, IBAN, or SWIFT with one tap. This applies to every way an invoice is created, including from tracked time or a milestone.

Logo and branding

Upload your business logo under Settings → Invoice Settings → Branding. The logo saves automatically as soon as you upload or remove it, so you do not need to click Save Settings afterwards, and switching to a new logo replaces the old one immediately.

On paid plans your logo and accent colour appear on your invoices, proposals, and the client portal. On the Free plan those documents carry Kiaro branding instead; your business name still appears so clients know whose workspace they are in. See Plans & Pricing for the full breakdown.

Sending invoices

Click Send on any invoice to email it to the client. The email includes:

  • A professional HTML email with the invoice summary
  • The invoice PDF as an attachment
  • A payment link (if you have Stripe Connect configured)

Sending an invoice automatically sets its status to Sent and sets the issue date to today if not already set.

Resending invoices

After an invoice has been sent, a Resend Invoice button appears on the invoice detail page. Use this when a client didn’t receive the original email or needs it sent again. Resending re-emails the full invoice with the PDF attachment and payment link.

Schedule send

Don’t want to send now? On draft invoices, click Schedule Send, pick a date, and choose a send time.

Times run in 15-minute steps: 09:00, 09:15, 09:30, 09:45, and so on. Your invoice goes out within a minute of the slot you choose, so a send set for 09:15 leaves at about 09:16. Slots that have already passed today are not offered.

All times are shown and interpreted in your workspace timezone, the one set in Settings, not your computer’s. If you travel or work from a different timezone, the send still happens at the time your workspace says.

Once scheduled, the invoice page shows a Sends [date] at [time] marker and the button changes to Edit schedule. Open it to move the send, or choose Remove schedule to cancel it and leave the invoice as a plain draft. The invoice stays a draft until it actually sends, then moves to Sent like any other invoice.

Finalize & download (send from your own email)

If you prefer to send invoices through your own email client, click Finalize & download on any draft. Kiaro will assign the next sequential invoice number, finalize the invoice, and download the final PDF so you can attach it to your own message. The invoice number is drawn from the same sequence as invoices you send through Kiaro, so your numbering stays in order regardless of which channel you use.

Invoices you issue this way show a Downloaded badge in your invoice list and on the invoice page, so you can tell at a glance which invoices you delivered yourself versus the ones Kiaro emailed (which show Sent). A downloaded invoice is treated exactly like a sent one everywhere else: it is still outstanding, still payable online, can still go overdue, and is still pushed to your accounting integration if you have one connected.

Two things to know:

  • Once finalized, you can’t edit line items or amounts. If you spot a mistake after finalizing, use Void & reissue to start a corrected draft.
  • To check the layout without finalizing, use Preview PDF. Draft previews carry a faint “DRAFT” watermark and a placeholder identifier in place of an invoice number, so they can’t be mistaken for a final document.

How emails look to your client

Invoice emails are personalized to look like they come from you, not from Kiaro:

  • Sender name: “Your Name via Kiaro”, your client sees your name first
  • Reply-to: Your email address, when the client replies, it goes to your inbox
  • Greeting: Uses the primary contact’s first name (e.g., “Hi Sarah,”) instead of the company name
  • Footer: “Sent on behalf of [Your Business Name]“

Customizing the email text

Under Settings → Invoice Settings → Custom Email Text (optional) you can set your own subject line and message for the invoice email and for the automatic overdue reminder. Leave a field blank to use the default. To build on the default rather than start from scratch, click Use default text to drop it into the field, then add your own line (for example, keep “Please find attached invoice {number} for {amount}.” and add “Thank you for your business.”). Your custom message replaces the opening line of the email; the invoice details, the pay button, and your business footer are always added automatically.

You can include these tokens, which are filled in when the email is sent: {number}, {amount}, {business}, {client}, {due}. Overdue reminders also support {days} (days past due).

On sent or overdue invoices, click Copy Payment Link to copy the Stripe payment URL to your clipboard. Use this if you prefer to send invoices from your own email, paste the link into your message so clients can still pay online.

Invoice statuses

  • Draft, Being prepared, not yet sent. Only draft invoices can be deleted.
  • Sent, Delivered to the client by email
  • Downloaded, Finalized for you to send yourself via Finalize & download. Treated the same as Sent: still outstanding and payable, just delivered by you rather than emailed by Kiaro
  • Paid, Payment received (updated automatically via Stripe or manually)
  • Overdue, Past the due date without payment

Payment reminders

Kiaro handles payment reminders automatically, or you can send them manually, your choice.

Automatic reminders

When enabled (the default), Kiaro sends reminders on a configurable schedule:

  1. Before due date, A “heads up” reminder X days before the invoice is due (default: 3 days). This prevents overdue situations by reminding clients before the deadline.
  2. After due date, A gentle overdue reminder X days after the due date (default: 1 day).
  3. Repeat reminders, If still unpaid, follow-up reminders every X days (default: 7 days), up to a maximum count (default: 3 reminders per invoice).

All of these are configurable in Settings → Invoice Settings → Email Preferences. Set any “days before” to 0 to disable pre-due-date reminders.

Manual reminders

On any sent or overdue invoice, click Send Reminder to send a reminder immediately. You can add a personal note that appears in the email, great for adding context like “Just checking if this came through OK?” The note appears in a highlighted block above the invoice details.

Email copies

Enable “Send me a copy of every email sent to clients” in Settings to receive a BCC of every client-facing email: invoices, reminders, upcoming and overdue notices, proposals, portal invitations, and payment receipts. You always know exactly what your client received, in your own inbox.

The copy covers mail Kiaro sends on your behalf to a client. It deliberately excludes anything addressed to you already (payment notifications, digests) and anything carrying a sign-in link or security code, which is never copied to a second mailbox.

Controlling reminders

Go to Settings → Invoice Settings → Email Preferences to:

  • Toggle automatic reminders on or off globally
  • Configure the schedule, days before, days after, repeat interval, max reminders
  • Enable BCC copies, receive copies of all client-facing emails
  • Customize email text, write your own subject lines and body text for invoice and reminder emails

Email history

Every email Kiaro sends on your behalf is logged and visible on the invoice detail page timeline, so you always know what was sent and when.

Following up on overdue invoices

When an invoice is 14 days past due, Kiaro shows a follow-up banner on the invoice and a brand-purple gradient strip on the invoice list rows.

Click Draft follow-up to open a side sheet. Pick Generate draft and Kiaro writes a stage-aware subject and body using the invoice’s amount, due date, days overdue, and your style guide. Edit either field, then Copy to clipboard and paste into your email client. Send from your own inbox so the reply lands with you.

When you finish, click Mark as followed up in the sheet (or I followed up on the banner) to log the touch. The banner hides until the stage escalates.

The tone of the draft moves through three stages:

  • Friendly reminder at 14 to 20 days past due with no prior follow-up.
  • Polite but direct at 21 to 29 days or after one prior follow-up.
  • Formal, request payment confirmation at 30+ days or after two prior follow-ups.

Kiaro never sends this email for you. If you want a Kiaro-branded reminder, use Send reminder on the invoice page instead.

Online payment via Stripe

If you’ve connected a Stripe account (see Stripe Connect), sent invoices include a payment link. Clients can pay directly from the email or from the Client Portal. When payment completes, the invoice status updates to Paid automatically.

You do not need the client portal switched on for this. If a client has portal access turned off, their Pay Invoice link opens that one invoice’s payment page and nothing else, no portal navigation and no access to your other work for them. Turning the portal on later changes nothing about how payment works, it just also gives that client the full portal.

When a client pays, two emails go out automatically: a receipt to the client, and a notification to you so you do not have to keep checking. Yours names the client, the invoice, the amount, and links straight to it in Kiaro. Marking an invoice paid yourself sends nothing, since you already know.

You can also manually mark an invoice as paid for offline payments.

When the payment button can’t be added

Sometimes Stripe refuses to set up payment for an invoice — most often because Connect onboarding was started but never finished, so the account cannot accept charges yet. Other causes include a currency your Stripe account cannot process, or a restriction on the account.

The invoice still sends: the client gets the email, the PDF, and your bank details. What it will not have is the Pay Invoice button. Kiaro tells you so right after sending, with the reason Stripe gave, so you can fix it in Settings → Invoices and resend. Check there if you expected a payment button and your client says they cannot see one.

Export

Export your invoice data from the invoices list page. Click Export and choose CSV or Excel (.xlsx). The export respects the filters currently applied to the list.

Last updated on