kiira

Type a name.
Get paid by scan.

Tell Kiira on WhatsApp who to invoice. She builds the PDF, stamps the DuitNow QR on page one, sends it to your customer, and marks the invoice paid the second the transfer lands. You never open the app unless you want to.

DuitNow QR on every invoice Auto-reconciled on payment Free on starter
k Studio Aiman
Invoice · KR-2026-0042
Bill to
Syarikat Maju Sdn Bhd
TIN C20110055080
Due
27 Apr 2026
Net 7
Web Design PackageRM 4,000.00
SST 6%RM 240.00
Rounding− RM 40.00
Total due
RM 4,200.00
DuitNow · scan
QR
MyInvois · UUID 01HXJ… validated
page 1 · not a footer

Ten words. One invoice.

This is the whole flow. No form to open, no template to pick, no "generate PDF" button. Tell Kiira what and who — she fills in the rest from the customer record and your product catalogue.

1 Ask · 14:22
2 Drafted · 14:22
3 Send · 14:23
4 Paid · 20:17

Actual flow. No edits.

Everything it needs. Nothing it doesn't.

Malaysian banks, SSM, LHDN and your customer all want slightly different things on an invoice. Kiira puts each of them in the right place the first time — not in a footer nobody reads.

01
Your brand

Logo, colour, business name pulled from your Kiira profile. No template drop-down — it looks like you because it is you.

02
Invoice number

Your sequence, your prefix. Kiira enforces uniqueness without renumbering old invoices.

03
Customer block

Legal name, address, TIN, BRN — populated from the customer record so you don't keep retyping.

04
Line items + SST

Description, qty, unit price, SST at 0/6/8%. Rounded the way LHDN wants, not the way your spreadsheet guessed.

05
DuitNow QR · page one

A scan-to-pay QR with the total prefilled. Scans cleanly from a phone photo too — useful if the invoice is printed.

06
Payment link

Short URL for customers who can't scan — opens the same DuitNow flow in-browser. No "call for bank details" fallback.

07
MyInvois UUID

When you're on the Compliance tier, the LHDN-validated UUID stamps here after submission. Not before.

08
Terms + bilingual note

Payment terms in EN + BM, set at the customer level. Works for mixed-tongue customers without a second template.

DuitNow QR

Paid in two taps, not two emails.

Every invoice ships with a scan-to-pay DuitNow QR on page one — total prefilled, reference locked, auto-reconciled the moment the transfer lands. Your customer opens their banking app, scans, confirms. No "can you send me your bank details" detour.

01 Step 01

Customer scans with any banking app.

Maybank, CIMB, Public, HLB, RHB, AmBank, Bank Islam — every major banking app in Malaysia reads a DuitNow QR. No special wallet to install.

02 Step 02

Amount + reference come prefilled.

They can't overtype the total or the invoice reference. If your customer tries to pay RM 42 on an RM 420 invoice, the QR won't let them.

03 Step 03

Kiira sees the transfer, marks paid.

The bank webhook lands, Kiira matches the reference back to the invoice, flips the status to paid, and files the receipt in your sales ledger. You get a WhatsApp ping.

Scans cleanly on
Maybank CIMB Clicks Public Bank HLB Connect RHB AmOnline Bank Islam BSN

The quiet things that make it yours.

One-person businesses still get to have a real invoice. A proper number sequence, a logo at the right size, and a recurring rule for the retainer clients who pay the same thing every month.

Your number sequence · locked.

Pick your prefix and starting number once. Kiira enforces uniqueness, gap-free sequencing, and leading zeros — the things your accountant quietly wants.

Your brand, not a template.

Upload a logo, pick one accent colour, that's it. No 14-tab template editor. Invoices render in your brand, not in ours.

Recurring that actually recurs.

Monthly retainer? Set the rule once — Kiira drafts the invoice on the day, pings you on WhatsApp, sends once you approve. You can still edit before it ships.

Credit notes + part-payments.

Customer paid half? Kiira marks it partial, leaves the DuitNow QR live for the balance. Refund? Credit note linked to the original — and to the original MyInvois UUID if applicable.

Bilingual terms.

Set payment terms in EN + BM at the customer level. Maju Sdn Bhd gets the formal version. Kedai Pak Cik gets the casual one.

Tracked. Opened. Paid.

Every invoice shows whether the customer opened it, scanned the QR, and completed payment. No guessing whether your chase email landed.

Your sales ledger, written by the bank.

When a DuitNow transfer lands for an invoice you sent, Kiira matches the reference, marks the invoice paid, creates the receipt entry in your sales ledger, and reconciles against the bank line — all before you've refreshed the chat.

t0
Invoice sent

DuitNow QR stamped. Customer gets the PDF and a short link. Status: sent.

t1
Customer scans

Banking app opens with the amount prefilled. Status: opened.

t2
Transfer lands

Bank webhook fires within seconds. Kiira matches on reference. Status: paid.

t3
Books updated

Sales entry created, bank line marked reconciled, you get a WhatsApp ping. Status: closed.

Invoicing is free. Payment rails cost per transfer, not per month.

The invoice itself — PDF, DuitNow QR, WhatsApp send, reconciliation — is on the starter tier. MyInvois submission sits on Compliance (RM79/mo) because that's where LHDN charges us to live. No per-invoice fee either way.

Starter

RM 0
Bookkeeping starts here
  • Unlimited invoices
  • DuitNow QR on every invoice
  • WhatsApp send flow
  • Recurring + credit notes
  • MyInvois submission
LHDN tier

Compliance

RM 79
For when LHDN asks
  • Everything on Starter
  • MyInvois submission
  • Consolidated B2C rollup
  • Self-billed invoices
  • Peppol schema auto-updates

What people ask about sending invoices.

Do I need a Billplz or Stripe account to accept DuitNow?

+
No. DuitNow QR is a direct bank-to-bank rail — it doesn't route through a payment gateway. Your customer scans, their bank transfers to yours. We embed the QR with your business banking details and the invoice reference; Kiira watches the bank feed to reconcile.

What if my customer pays by bank transfer without scanning the QR?

+
Still works, as long as they include the invoice reference in the transfer (Kiira shows it prominently on the PDF). If they skip the reference, the transfer still lands in your bank feed — it just takes a one-tap manual match instead of auto-reconciling.

Can I send invoices in BM or Chinese?

+
Yes. Invoice PDFs render in the language you picked at the customer level — English, Bahasa Malaysia, or Chinese. Terms, line descriptions, and the thank-you footer all localise. The QR and machine-readable data stay in the standard format LHDN expects.

How does the WhatsApp-send flow find my customer?

+
Kiira looks up the customer record by name ("syarikat maju" → the closest match in your book) and sends to the contact number on file. If it\'s ambiguous, she asks before sending — never guesses. You can also paste a phone number directly.

Can my customer pay by card?

+
If you\'re on the payment add-on (Billplz or Stripe Connect), yes — the invoice includes both a DuitNow QR and a card checkout link. Most Malaysian B2B customers prefer DuitNow because it\'s free for them; cards make sense for overseas buyers or B2C.

Do recurring invoices auto-send?

+
Only if you turn that on. Default is: Kiira drafts on the scheduled day and pings you for approval. The hard rule across Kiira is that nothing leaves your books unreviewed — recurring invoices included. Once you\'ve approved the pattern a few times, you can opt into silent auto-send per customer.

What about the 72-hour MyInvois cancellation window on these?

+
If you\'re on the Compliance tier and the invoice has been submitted to MyInvois, Kiira shows the 72-hour countdown right on the invoice. Cancel cleanly within the window; past that, you issue a credit note linked to the original UUID.
Invoicing · free on starter

Stop chasing "can pay already?"

Every Kiira invoice ships with DuitNow QR, payment link, and auto-reconciliation from day one. No card to sign up. No per-invoice fee. No portal your customer needs to learn.