Uploading receipts
Snap, drop, or pick a file; statuses; what happens on rejection.
The main thing you do in the client portal is upload receipts. This page covers the flow end-to-end β how to upload, what happens after, what the statuses mean, and what to do when a receipt comes back rejected.
How to upload
On your phone (recommended)
- Sign in at
/portal/login - Tap π· Take photo β your camera opens directly
- Frame the receipt β try to fill the screen, avoid glare and shadows
- Snap β confirm
- Upload starts automatically
The whole flow takes maybe 5 seconds. Snap a receipt at the counter, send it before you put your phone away.
You can also tap Pick from library to choose a photo or PDF that's already on your phone β useful for the bills that arrive as PDF email attachments.
On a computer
Drag the file into the drop zone, or click Choose file to browse. PDFs work well from a computer.
What we accept
| Image formats | PNG, JPEG, HEIC, HEIF (Apple) |
| PDFs | Yes β for digital invoices and statements |
| Max size | 10 MB per file |
| At once | One file per upload (batch uploads coming) |
If your file is too big or in the wrong format you'll see an inline error before upload starts β no time wasted.
What happens after upload
The moment your receipt finishes uploading:
- The file lands in private Kiravy storage (only your firm + you can see it)
- Kiravy AI starts reading the receipt β vendor name, date, total, tax β in the background
- The receipt appears in your firm's Needs review queue
- You see a Receipt sent to your accountant confirmation, with Send another for the next one
You don't wait on the upload screen. The AI extraction is happening behind the scenes; your accountant picks it up when they get to it.
Your recent uploads
The home screen shows your last submissions with a status badge per row. You see only your own uploads β other people on your team have their own list.
| Status | What it means |
|---|---|
| Reviewing | Either Kiravy AI is still reading the file, or your accountant has it in their queue. Most receipts sit here briefly. |
| Saved | Your accountant confirmed the values and booked it into your books. Done. |
| Failed | Kiravy AI couldn't read the receipt (blurry, dark, too small). See re-upload below. |
| Discarded | Your accountant decided not to use this one β usually with a reason. See when rejected below. |
When a receipt is rejected
If your accountant marks a receipt as Discarded, the row stays in your Recent uploads with a Discarded badge and, usually, a one-line reason they typed in:
- "Duplicate of receipt from 14 May"
- "This belongs to your other company, please re-send to that portal"
- "Photo is too dark to read β please retake"
There's no notification email today; you'll see the rejection next time you open the portal.
If you want to act on it (e.g. retake a photo), just upload the new version. There's no formal re-upload button or thread β each upload is independent. The discarded one stays in your history for the record.
Can I edit what the AI extracted?
Not in v1 β the AI extraction (vendor, date, total) is visible to your accountant on the firm side, but the portal doesn't yet show you what was read. You upload, they review and correct. A future portal version will surface the extracted fields so you can correct obvious mistakes before they look at it.
In the meantime, the safer move is: if you spot a problem with how a receipt was booked, message your accountant directly. They have the upload + extracted values + booked transaction all linked together on their side.
Privacy and what gets stored
- The original file lives in private Kiravy storage. Only your firm's assigned staff + you can view it
- File URLs are signed with a 1-hour expiry β you can't share a permanent link to an uploaded receipt by guessing the URL
- Files stay in storage even after the firm books them β for audit, both you and the firm need to be able to defend the entry years later
- You don't see other portal users' uploads even from your own business; each person's history is separate
Tips for receipts the AI actually reads well
- Fill the frame β closer is better than further
- Even lighting β avoid shadows from your hand or phone
- Flat surface β a table beats your lap; reduces skew
- Whole receipt visible β don't crop off the total
- Hand-written corrections OK β Kiravy AI is decent at handwriting on top of printed receipts
- Multiple languages OK β English, Bahasa Malaysia, Chinese all work
If a receipt comes back Failed repeatedly, a clearer photo at lower exposure usually fixes it.
What's coming
- Multi-file upload β drop 20 receipts at once
- Preview extracted fields in the portal β see what the AI read; flag obvious mistakes
- Push notifications / email when your accountant changes a status
- Document types beyond receipts (bills, statements, contracts)
- Per-month upload history view with filters
What's next
- Portal overview β if you skipped here directly
- (Firm side: Receipts (OCR)) β what your accountant does with what you send