kiira

Books that don't choke
on 400 kopis a day.

Other software wants an invoice per plate of noodles. That's not how a kopitiam runs. Kiira books one daily tally, rolls the month into a single consolidated B2C e-invoice for LHDN, and keeps your supplier WhatsApp threads filed alongside.

Daily sales summary · not per-plate Consolidated B2C · one click Supplier WhatsApp · filed in-thread
Monday · 15 Apr
Kopitiam Ah Lim · Jalan Alor
Counter takings
RM 1,442.60
143 bills avg RM 10.09
🍜 Food ☕ Drinks 🧾 Cash + QR
Captured in 11s · voice note
one line · one day · done

Per-plate bookkeeping is a joke on F&B.

Xero, Bukku and the rest were built for people who write 30 invoices a month. You write 300 bills a day. Here's what that means in practice.

The volume

400 counter sales a day.

If you entered each one as a separate invoice — like accounting software was designed for — you'd spend three hours an evening on data entry. Nobody does that. So it doesn't get done, and the books limp along.

The margin

A teh ais at 60% cost, a nasi at 40%.

Without honest numbers, you don't know which dishes actually make money. Kiira books suppliers and sales cleanly enough that your tax agent can tell you — and so can you, on the dashboard.

The month-end

LHDN wants one e-invoice.

For walk-in sales, LHDN explicitly allows consolidated B2C — one rolled-up e-invoice per month, submitted within 7 days. Kiira does the rolling. You do the approving.

Daily sales summary

One line per day.
Done in eleven seconds.

At closing, snap a photo of your POS Z-report. Or press-and-hold the WhatsApp mic: "Today RM 1,442, 143 bills, one-fifty in QR the rest cash." Kiira reads it, writes it, and files it against the right day.

📷 Photo

Snap your Z-report.

End-of-shift printout, cash tally sheet, anything with a total on it. Kiira's OCR reads the number, the split if there is one, and the time. If something's ambiguous it asks.

🎤 Voice

Say the numbers out loud.

BM, EN, 中, Manglish, Hokkien-inflected — the transcriber's been tuned for the way people actually talk in Malaysia. "Eh today punya sales seribu empat ratus." Booked.

💬 Text

Type it if that's quicker.

"1442.60, 143 bills, cash 1290 qr 152.60" — Kiira parses the split. You can paste the shift sheet from your group chat, or forward it from the manager.

🔁 Auto

Or let it pull itself.

If your POS exports to Google Drive or email, Kiira can watch that inbox and pull the Z-report automatically at a time you pick. You only see it if something looks off.

Consolidated B2C e-invoice

30 days of counter sales.
One submission to LHDN.

The Inland Revenue's own rules say walk-in sales can be rolled up: one B2C e-invoice per month, submitted within 7 days of month-end. Kiira pulls from your daily summaries, skips any walk-ins who asked for a named invoice mid-month, rounds SST to LHDN's spec, and waits for your tap.

  • Pulls from every daily summary
    Whatever way you captured the day — photo, voice, text, auto — gets included.
  • Skips customers who got named invoices
    A walk-in who wanted a full e-invoice in their name is excluded so you don't double-count.
  • SST aggregated once, not per-line
    No 1-sen rounding mismatches. We sum SST at the rollup level, the way LHDN wants.
  • Never auto-files
    Kiira messages you on the cadence day you picked. You approve. It ships.
April 2026 · daily counter sales
30 days
MTWTFSS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Weekday Weekend
Taller = busier
Rolled up
RM 42,318.40
1 e-invoice
Submitted 7 May · 1 e-invoice · UUID 01HXJ…

The rest of your books
already arrives on WhatsApp.

Your fishmonger sends the price list in a picture. The rice supplier's invoice lands as a PDF. Your landlord's reminder is a voice note. All of it comes through WhatsApp already — Kiira just files it.

Suppliers

Wet market, rice, drinks, gas.

Forward the chat, photo, or PDF — Kiira pulls supplier name, total, line items where possible, and files under Cost of Sales. Delivery notes and invoices get linked so your accountant can reconcile.

Rent & utilities

Landlord, TNB, Indah Water.

Recurring bills booked on the day they arrive, tagged to the right property if you run more than one outlet. The dashboard shows utilities as a share of revenue, shift over shift.

Staff

Pay, EPF, SOCSO, tips.

Send the weekly payroll sheet — Kiira reads rows, books wages, and keeps EPF / SOCSO / EIS splits clean. Service charge and tips captured as a liability, not revenue, so you don't over-pay tax.

Delivery platforms

GrabFood, Foodpanda, ShopeeFood.

Platform payouts reconciled against dine-in sales so your P&L is honest. Commissions, delivery subsidies, and refunds split out — not buried in net receipts.

What it actually looks like.

One thread, from first cup to last tally. This is a real-ish day at a hypothetical kopitiam. Your mileage — and your opening hour — may vary.

  1. 06:14 Supplier

    Roti supplier messages the morning order.

    Photo of the delivery note arrives on your personal WhatsApp. Forward it to Kiira. Booked — Pak Su, 48 loaves, RM 144.00, filed under Cost of Sales · Bakery.

  2. 10:41 Wet market

    Fishmonger's invoice, smudged.

    Crumpled handwritten chit. Photo it. Kiira reads the total, asks "assume ikan kembung again?" — you reply yes. Booked — RM 86.50, Cost of Sales · Seafood.

  3. 14:02 Question

    You ask about SST on service charge.

    "Eh, do i charge SST on service charge ah?" Kiira doesn't answer — it flags for your accountant. Next time they log in, the question's waiting with the chat context attached.

  4. 22:18 Closing

    Tally the day, in one voice note.

    "Today RM 1,442, 143 bills, cash seribu dua ratus sembilan puluh, the rest QR." Booked — Daily sales summary · 15 Apr · RM 1,442.60 (cash RM 1,290.00, QR RM 152.60). On 7 May, this rolls into the consolidated B2C e-invoice.

Same books.
A third of the evenings.

The thing that stops most F&B owners from keeping honest books isn't the rules — it's the three hours a night of receipt punching. Take that away and suddenly you've got a real P&L.

Counter sales entry
One invoice row per bill · 400 a day
One daily summary · 11s
Supplier invoices
Type from photo · misread totals
Forward the chat · parsed
Month-end to LHDN
Export, reformat, submit to MyInvois
Tap to approve consolidated B2C
Tax Qs at 11pm
Google, guess, hope
Flag · accountant picks up in the morning
Where the books live
A separate desktop app nobody opens
A WhatsApp thread you already open

Questions from F&B owners.

Do I need a POS to use Kiira?

+
No. If you tally with a notebook, a spreadsheet, or just by counting the cash drawer, that works — snap a photo or say the number and Kiira writes it down. If you do have a POS (StoreHub, Loyverse, Square), we can pull the Z-report automatically.

My accountant already uses SQL Account / Bukku. Do I have to migrate?

+
Nope. Kiira exports to SQL Account and AutoCount formats — your tax agent's month-end reconciliation doesn't change. A lot of our F&B users run Kiira alongside an existing desktop app, because Kiira is the bit that actually gets used day-to-day.

How does SST work for F&B?

+
If your annual revenue clears the RM500K SST threshold, you're registered and charging 8% service tax on F&B. Kiira tracks your rolling 12-month revenue so you can see the threshold approaching. When you do register, service tax is computed on every daily summary and included in the consolidated B2C submission to LHDN.

I have to submit MyInvois because a customer asked — but they're a walk-in. How?

+
That's the normal flow. A customer who wants a named e-invoice (a company running a team lunch, say) gets a one-off e-invoice with their TIN and our DuitNow QR stamped on it. They're then excluded from the month's consolidated B2C rollup — no double-counting.

What about service charge and tips?

+
Service charge you collect on behalf of staff is a liability, not revenue — booking it as revenue over-pays tax and understates margin. Kiira books service charge to a liability account, pays it out on payroll, and keeps SST computed on the right base.

Do you handle GrabFood / Foodpanda / ShopeeFood payouts?

+
Yes. Forward the weekly payout statement (PDF or the email) and Kiira reconciles gross sales, platform commission, subsidies, and refunds against your in-store sales. One honest P&L across dine-in and delivery, not three confusing ones.

What happens if I'm running three outlets?

+
Each outlet is its own thread. You (or the manager) sends the daily summary from that outlet's number, Kiira tags it to the right location, and the dashboard consolidates. Each outlet's takings roll into one company-level consolidated B2C submission to LHDN.
Kopitiam · warung · café · hawker

Start tonight.
Tally the day, done.

Message Kiira on WhatsApp with tonight's take. The books are live from there. Free tier covers counter sales and supplier bills — you only pay when LHDN phase 5 lands on you.