Skip to content
← Back to Pocketbird
Every day

Scanning and pasting — capture without typing

Photograph a slip, paste a bank SMS, scan up to twenty slips at once, or import a CSV statement. Everything is read on the phone itself, and nothing is written until you confirm.

Find it atTransactions tab → "Scan or Select"Last updated · 2026-08-07
01

Handing the app the evidence

The reason people stop tracking money is not that budgeting is hard. It is that typing ฿89, 7-Eleven, today, food is boring on the fourth try. So Pocketbird takes the evidence you already have — the transfer slip in your camera roll, the bank SMS in Messages, the receipt in your pocket, the statement your bank exported — and turns it into a transaction you only have to check.

All of it is read on the phone itself: Vision text recognition for images, Apple's on-device language model for pasted text. No receipt, no SMS and no statement is uploaded anywhere to be read.

  • The rule the whole feature is built on: the machine reads, you confirm. A scan never posts a transaction by itself, and anything it read weakly is flagged for you to look at.
  • Rows created automatically land in a pinned "To Review" / "รอตรวจสอบ" inbox at the top of the Transactions list until you tick them off.
  • Five doors are inside the app: scan one slip, scan a receipt from inside the add form, paste text, scan up to twenty slips at once, or import a CSV statement. More start outside it — the iOS Share sheet, Siri and Shortcuts, a Control Centre button, and the Ask Pocketbird chat.
TipNothing is written to your records by opening a scan, by reading a file, or by dismissing a screen. Only "Confirm", "Save" and "Import" write anything.
02

Scanning one slip or receipt

On a Thai bank transfer slip the app pulls out the amount actually transferred, the recipient, the fee, the reference number and any memo. On an ordinary shop receipt it pulls the grand total, the date and the merchant.

  1. Open the Transactions tab and tap the camera-with-viewfinder button in the nav bar — "Scan or Select" / "สแกนหรือเลือกรายการ".
  2. "Take Photo" / "ถ่ายรูป" opens the iOS document camera, which finds the slip's edges and straightens it live. Only the first page you capture is used.
  3. "Choose from Library" / "เลือกจากคลังรูป" opens the system photo picker instead, for a slip someone sent you.
  4. A "Reading slip…" / "กำลังอ่านสลิป…" panel covers the screen while it reads.
  5. The confirm screen "Confirm from Slip" / "ยืนยันจากสลิป" opens with the fields filled in and the photo already attached. Check the highlighted fields, then tap "Confirm" / "ยืนยัน" — it stays disabled until the amount is a readable number.

Unlike a manual add, the confirm screen opens with the advanced fields already expanded — account, pocket, trip, tags, note, date, receipt photo — and with the keypad deliberately not focused, so you read before you type.

Amount
The grand total on a receipt, or the transferred amount on a bank slip. On a slip the fee, the remaining balance, the pre-subsidy price and any co-pay line are deliberately excluded.
Date
The date printed on the slip; if none is found, today. Buddhist-Era years are converted — a 4-digit year above 2500 has 543 subtracted, a 2-digit year of 60 or more is read as 25xx BE and below 60 as 20xx CE.
Note
On a receipt, the merchant. On a bank slip, two lines: the recipient, then the memo and "Ref <number>" / "อ้างอิง <เลขที่>" joined by " · ".
Counterparty
Bank slips only — the recipient's name, trimmed to 80 characters so a run-on OCR line can never become a giant contact.
Category and tags
Matched against your own categories and tags, never a stock list. A subcategory or tag whose name literally appears on the slip wins, and a merchant you have filed before beats a fresh guess.
Type and payment source
A scan always produces an expense paid by a digital source, whatever the slip says — the confirm screen is where you correct that before saving.
  • A clean read shows "Auto-filled from slip — review the highlighted fields before confirming" / "เติมจากสลิปอัตโนมัติ — ตรวจช่องที่ไฮไลต์ไว้ก่อนยืนยัน" at the top.
  • A murky read shows "Couldn't read this clearly — enter the details and check anything filled in" / "อ่านได้ไม่ชัด — กรอกรายละเอียดเองและตรวจสิ่งที่เติมไว้ด้วย".
  • No text at all shows "Couldn't read the slip — enter the details manually" / "อ่านสลิปอัตโนมัติไม่สำเร็จ — กรอกรายละเอียดเอง", and the form is yours to fill in by hand.
  • Per field, a confident read is marked "Read from the receipt" / "อ่านได้จากใบเสร็จ". A flag disappears the moment you actually change that field.
  • A total printed in another currency is flagged even when it was read perfectly — "Total reads as USD, not baht — tap to enter the amount in baht" / "ยอดรวมเป็นสกุลเงิน USD ไม่ใช่บาท — แตะเพื่อกรอกยอดเป็นบาท" — because otherwise the figure would be booked as baht.
  • Every transaction created this way is flagged To Review, so a bad read can never quietly settle into your history.
Hidden feature
Copy a slip image anywhere, and a paste row appears with a live thumbnail
Do thisCopy a slip image in any app, then open Transactions → the "Scan or Select" nav-bar menu
A "Paste from Clipboard" / "วางจากคลิปบอร์ด" row appears, and its icon is a live thumbnail of the copied image, so you can see what you are about to scan. Tapping it scans that image straight away. The row is absent when the clipboard holds no image, and the thumbnail is only re-read when the clipboard actually changed, so iOS shows its "pasted from…" banner at most once per copied image.
Hidden feature
Tap the misread-amount warning and one keystroke replaces the whole number
Do thisOn a slip confirm screen, tap the amber "This amount may be misread — tap to fix" row
The amount field focuses with the entire OCR guess already selected, so typing the first digit wipes it — no backspacing over a wrong number. The selection is one-shot: a later tap into the field places the cursor as usual. The same trick works on the other two amount warnings, "No amount found — tap to enter it" / "ไม่พบยอดเงิน — แตะเพื่อกรอก" and the foreign-currency one.
  • You can also start a scan from inside the add form: Transactions → "+" → the "Scan receipt" / "สแกนใบเสร็จ" button under Amount and Category. It appears only on a brand-new manual add — never when editing, duplicating, recording a debt payment, or after a scan has already filled the form.
  • The camera item is hidden, not greyed out, on hardware with no document camera — so what you see in the menu is always something you can actually tap.
  • Behind the scenes the image is straightened, turned grayscale, contrast-boosted and read twice — once with language correction on, which is best for Thai words, and once with it off, which is best for digits — then the uncorrected numbers are spliced into the corrected text.
  • Classic thermal-printer glitches are repaired before parsing: "29. 70" and "22-60" become 29.70 and 22.60. The dash form is restricted so real dates like 10-05-2017 are left alone.
  • Cash-tendered and change lines, tax summaries, reference and account numbers, subtotals, discounts and quantities are all excluded from the search for the grand total.
Heads upScanning from inside a half-typed form overwrites the money fields you already typed — it is treated as you choosing the scan over your own draft. Type and payment source are reset to expense and digital; amount, note, counterparty and date are overwritten only where the scan actually read something.
03

Smart paste — a bank SMS becomes a transaction

Thai banks already text you every time money moves. Smart paste takes that text — or copied slip text, or a plain note you wrote yourself — and lets the on-device language model pull one or more transactions out of it. You review the drafts and save the ones you want.

  1. Copy the SMS or the slip text in the other app.
  2. Open Smart paste: Transactions → "Scan or Select" → "Smart Paste" / "วางอัจฉริยะ", or the "Smart paste" button inside the add form.
  3. Paste into the box under "Text to understand" / "ข้อความที่จะให้วิเคราะห์". The footer states the deal plainly: "Nothing is saved until you tap Save." / "ยังไม่มีการบันทึกจนกว่าจะแตะบันทึก"
  4. Tap "Analyze" / "วิเคราะห์" and wait through "Analyzing…" / "กำลังวิเคราะห์…".
  5. Review the drafts and tap "Save" / "บันทึก" — or "Save 3" / "บันทึก 3" when several are ticked.
Hidden feature
The clipboard chip pastes and analyzes in one tap, with no paste banner
Do thisCopy a bank SMS, then open Smart paste with the text box still empty
A card appears: "Found copied text" / "เจอข้อความที่คัดลอกไว้" with "Paste it to turn a payment SMS or slip into a transaction." / "วางเพื่อแปลง SMS แจ้งจ่ายเงินหรือสลิปให้เป็นรายการ" and a system Paste button. One tap pastes and immediately analyzes. The app never reads your clipboard to decide whether to show the card — it checks only whether the clipboard holds text at all, which is why iOS never asks you to allow the paste. The card also refreshes when you come back from another app.
"Include this transaction" / "รวมรายการนี้"
Ticks a draft into the save. Shown only when the text produced two or more drafts. On by default; an excluded draft dims to half opacity so you can still read it.
Amount
The parsed figure, in a normal money field. A draft with a zero amount cannot be saved, so you have to type the real number first.
"Type" / "ประเภท"
Expense or income, as a segmented control. Pre-set from the money-flow rule below.
"Note" / "โน้ต"
The merchant or payee the text named, ready to edit.
"Category" / "หมวดหมู่"
A menu of your personal categories matching the draft's type. Shop and business categories are never offered here. Leave it as "No category" / "ไม่ระบุหมวด" and you can file it later.
"Date" / "วันที่"
The date found in the text, otherwise today.
Source line
Small grey text under each draft showing the exact line of your pasted text it came from — the fastest way to tell two similar drafts apart.
  • Some messages are refused on purpose: OTP and password codes, promotions and interest-rate ads, failed or declined or insufficient-funds notices, balance-only messages and standalone fraud warnings. You get "No transactions found" / "ไม่พบรายการ" and an "Edit text" / "แก้ไขข้อความ" button, and the check runs before the model does.
  • Nearly every Thai bank SMS prints both the amount and the remaining balance. Each number is classified by the label in front of it, and a balance-labelled number is never booked as a transaction.
  • Direction is decided by where the money went, not by the verb. "ได้รับเงิน…จากบัญชีของท่าน" is an expense, because the merchant received it from you; "เข้าบัญชีของท่าน", "เงินเข้า", "รับโอนจาก", refunds and cashback are income. With no decisive signal, the model's own reading stands.
  • A foreign-currency amount is dropped to zero rather than booked as baht, which leaves the draft unsaveable until you type the baht figure yourself.
  • Masked account and reference numbers never become the note — the app substitutes the named counterparty when it can find one, and otherwise leaves the note empty.
  • Saved drafts are recorded as digital payments and flagged To Review, and saving closes the whole sheet stack so you land back on the list rather than on an empty add form.
Heads upSmart paste needs Apple Intelligence. Where it is unavailable the menu entries are hidden entirely rather than shown broken; where it is present but off you are told "Turn on Apple Intelligence in Settings to use Smart paste." / "เปิด Apple Intelligence ในการตั้งค่าเพื่อใช้วางอัจฉริยะ", and while the model is still downloading, "The on-device model is still downloading. Try again shortly." / "โมเดลบนเครื่องกำลังดาวน์โหลด ลองอีกครั้งในอีกสักครู่". Nothing here ever falls back to a cloud service.
04

Twenty slips in one sitting

For the evening when you finally deal with a week of transfer slips sitting in your camera roll: pick them all, let the phone read them one by one, then tick and import in one go.

  1. Transactions → "Scan or Select" → "Scan Multiple Slips" / "สแกนหลายสลิป". The screen is titled "Scan Slips" / "สแกนสลิป".
  2. Tap "Choose Slip Photos" / "เลือกรูปสลิป" and select up to 20 images in the system picker.
  3. Watch the counter — "Scanning slip 3 of 12…" / "กำลังสแกนสลิปที่ 3 จาก 12…". Each finished slip replaces its placeholder row as soon as it is read.
  4. Review the list under "Found Slips (9/12)" / "สลิปที่พบ (9/12)". Every row shows a thumbnail, the merchant, the date, the guessed category, the amount and an import toggle.
  5. Tap "Import 9" / "นำเข้า 9" in the nav bar. It stays disabled while a scan is still running or nothing is ticked.
  • A row with no badge was read cleanly and comes pre-ticked. A row is only pre-ticked when the scan found text and found an amount.
  • "Needs review" / "รอตรวจสอบ" means an amount was found but flagged as a weak read — check it before you import.
  • "Not a slip" / "ไม่ใช่สลิป" means no readable amount at all. The toggle is disabled and the row can never be imported, but it stays on screen so you can see what happened to that photo.
  • Imported rows become expenses with the parsed amount and date, the merchant text as the note, and a digital payment source. A category is filled only when the guessed name exactly matches one of your own expense categories.
  • A finished import throws confetti and a checkmark badge, "Slips imported!" / "นำเข้าสลิปแล้ว!", which you can tap to dismiss early and which fades by itself after about 1.6 seconds. Under Reduce Motion the confetti is suppressed and the haptic stays.
  • If a save fails you get a "Couldn't Save" / "บันทึกไม่สำเร็จ" alert with "Report a Problem" / "รายงานปัญหา", which opens a pre-filled bug report.
Hidden feature
Tap a batch row to read the original slip full-screen
Do thisIn the batch review list, tap a row's thumbnail or its details area
A zoomable full-screen viewer titled "Slip" / "สลิป" opens on the original photo, so you can settle an argument about whether that really says 1,500 or 1,600. Your import toggle is untouched — the preview is read-only, and tapping a row never ticks or unticks it.
Heads upBatch-imported rows are not flagged To Review and do not teach the app which category you file a merchant under — the batch screen writes them directly. Skim the list carefully before importing, because nothing will remind you afterwards.
  • The screen states its own privacy rule: "Pocketbird can only see the photos you pick here — never your whole library — and slips are read entirely on this device. No photo or permission request leaves your phone." The app never asks for photo-library permission, because the picking happens inside the system picker.
  • The photos live in memory only for as long as the review sheet is open — the batch screen never saves or syncs them.
  • The same screen exists inside a shared shop, with an extra "Import as" / "นำเข้าเป็น" control choosing "Sale" / "ยอดขาย" or "Cost" / "ต้นทุน" — it defaults to Cost, and you can tap one row's tag to change that single row.
05

Importing a CSV statement

For the month you gave up on: download the statement from your bank or card issuer, hand the app the file, and check every row before any of it becomes yours. Nothing imports until you tap Import, and rows you untick are forgotten.

  1. Go to More → Settings → "Profile & Setup" / "โปรไฟล์และการตั้งค่า" → "Import from CSV" / "นำเข้าจากไฟล์ CSV".
  2. Tap "Choose CSV File" / "เลือกไฟล์ CSV" and pick a .csv or .txt file in the Files picker.
  3. "Reading file…" / "กำลังอ่านไฟล์…" shows while it parses, off the main thread, so a long statement never freezes the screen.
  4. Review the rows under "Found Transactions (48/52)" / "รายการที่พบ (48/52)" and untick anything you do not want.
  5. Tap "Import 48" / "นำเข้า 48".
Encoding
UTF-8 first, with a leading byte-order mark stripped. Legacy Thai bank exports in Windows-874 / TIS-620 are decoded as a last resort, so an old export still reads in Thai instead of garbage.
Date columns
Six formats are accepted: yyyy-MM-dd, dd/MM/yyyy, MM/dd/yyyy, dd-MM-yyyy, yyyy/MM/dd and dd/MM/yy. Buddhist-Era years are converted by the same rule the slip reader uses.
Amount columns
-1,234.56 and the parenthesised (1234.56) both work, as do values prefixed with ฿ or THB. A number only counts as money if it contains a decimal point or a thousands comma — that is how reference numbers and dates are kept out of the amount column.
Direction
If the header names both a withdrawal column (ถอน, เงินออก, เดบิต, withdrawal, debit, paid out, money out) and a deposit column (ฝาก, เงินเข้า, เครดิต, deposit, credit, paid in, money in), the column decides and rows with an amount in neither are skipped as summary lines. Otherwise the sign decides: negative or parenthesised is income, positive is expense.
Balance column
A column named คงเหลือ, balance or outstanding is recognised and never read as the transaction amount.
Note column
The longest field in the row that is neither a date nor an amount — usually the merchant description.
Hidden feature
Tick an "Already imported" row to force a real second charge through
Do thisOn the CSV review list, tap the toggle on a row badged "Already imported" / "นำเข้าแล้ว"
Rows that match something already in your records are badged and left unticked so an overlapping statement cannot double-import — but they stay visible and ticking one imports it anyway. Use it when you really did buy the same ฿120 lunch twice on the same day. A match means the same calendar day, the same signed amount and the same note, and only within the statement's own date span.
  • Two identical charges inside one file are never merged — two ฿50 coffees on one day are usually two real coffees.
  • Rows that yield no date and amount are skipped, including the header row itself.
  • Quoted fields follow the full CSV standard, so a description containing a comma or even a line break imports intact.
  • Imported rows are recorded as digital payments. Categories are filled best-effort — first from merchants you have filed before, then by keyword against your personal expense categories — while credit and income rows generally stay uncategorized.
  • A CSV import deliberately does not round up into a pocket, does not teach the merchant memory, and does not flag its rows To Review. The clean-up screen below is the intended follow-up instead.
  • A file with no usable columns says so: "No readable transactions found (date and amount columns required)" / "ไม่พบรายการที่อ่านได้ (ต้องมีคอลัมน์วันที่และจำนวนเงิน)".
06

The To Review inbox and the clean-up screen

Anything the app captured for you is pinned into an inbox at the top of the Transactions list, headed "To Review" / "รอตรวจสอบ" with a count. It exists so an automatic capture always ends with a human glance.

  1. Tap a row to open the edit form and correct whatever the scan got wrong.
  2. Or tap the check on the right of the row — "Mark as reviewed" / "ทำเครื่องหมายว่าตรวจแล้ว" — if it is already correct.
  3. With more than one queued, "Mark All Reviewed" / "ทำเครื่องหมายตรวจแล้วทั้งหมด" appears in the inbox header.
  • The inbox ignores your tag, cycle and search filters, so nothing captured automatically can hide behind a filter you forgot you set.
  • Flagged rows still count in every balance and every total — the money really was spent. Review is about the details, not the arithmetic.
  • They are held out of the normal day-by-day ledger until reviewed, so the same transaction never appears twice on screen.
  • Clearing the flag syncs, so reviewing on your phone empties the inbox on your iPad too.
  • Slip confirms, in-form scans, Smart paste, the Siri capture actions, a queued widget quick-add and a saved Ask Pocketbird proposal all land here. Batch slip imports and CSV imports do not.

A statement import leaves a different mess: dozens of rows with no category. The Categorize screen is built for exactly that, and it files a whole merchant in one tap.

Hidden feature
The bulk-categorize screen is in no menu — tap the grey slice on the Summary donut
Do thisSummary → the spending donut legend → the grey "no category" slice (or Insights → "By category" → the no-category row)
That opens "Categorize" / "จัดหมวดหมู่". In "Grouped" / "จัดกลุ่ม" mode, transactions sharing a note are clustered, each with a count, a total, and a sparkle chip suggesting a category — pick once and the whole group is filed. "One by One" / "ทีละรายการ" gives you multi-select instead. The screen also invites itself onto Summary once uncategorized spending reaches 40% of the cycle, and while that prompt is showing, the per-category insights stay quiet.
  • Turn on "All time" / "ทุกช่วงเวลา" to widen the screen beyond the current cycle and mop up everything an old import left behind.
  • The picker offers personal categories only — shop and business categories are never listed here.
  • Assigning is repeat-safe: re-filing a group overwrites the old pick, and rows that already carry the category are skipped.
  • Every category you confirm or correct teaches the app that merchant, so the next slip or SMS from the same shop is pre-filed there — ahead of any keyword guess. This memory lives on the device and is wiped when you sign out.
07

Keeping the receipt photo

A scan attaches its photo automatically, but you can also attach one to any transaction by hand — for the warranty, for the expense claim, or for the argument three months from now.

  1. In the add or edit form, open "More details" / "รายละเอียดเพิ่มเติม" and find the "Receipt Photo" / "รูปใบเสร็จ" section.
  2. Tap "Attach Photo" / "แนบรูป", then "Take Photo" / "ถ่ายรูป" or "Choose from Library" / "เลือกจากคลังรูป".
  3. Tap the thumbnail to open the full-screen viewer. "Replace Photo" / "เปลี่ยนรูป" swaps it and "Remove Photo" / "ลบรูป" takes it off.
Hidden feature
Double-tap a receipt photo to jump to 2×
Do thisOpen a receipt photo full-screen, then double-tap it — or pinch and drag
Double-tap jumps straight to 2× and double-tapping again resets, which beats pinching your way across a faded thermal receipt line by line. Pinch zooms freely from 1× up and drag pans. VoiceOver users get the same thing as rotor actions — "Zoom in" / "ซูมเข้า", "Zoom out" / "ซูมออก" and "Reset zoom" / "รีเซ็ตการซูม" — stepping 1× at a time up to 4×.
  • Every attached image is downscaled to a 2048-px long edge and re-encoded as JPEG. If the result is still over about 2 MB it is refused with "That photo was too large to attach." / "รูปนี้ใหญ่เกินไป แนบไม่ได้".
  • Taking a photo here needs only camera permission — this path never touches your photo library. The "Take Photo" item is hidden on hardware with no camera.
  • One live photo per transaction. Replacing removes the old one and stores the new one.
  • Photos sync through a private cloud folder, and on a second device the placeholder is replaced the first time you open the photo — so a device that never opens it never downloads it. Offline you keep the placeholder.
  • Deleting a photo deletes the stored file first and the record second, so no orphan file is left behind in the cloud.
  • A transaction with a photo shows a small paperclip in the ledger row, read out as "Has photo" / "มีรูปภาพ".
  • In a shared shop the same field carries a plain warning: "Shop partners can see this photo" / "หุ้นส่วนในร้านเห็นรูปนี้ได้".
08

Capturing without opening the app

The fastest capture is the one that starts where the slip already is — in Photos, in Messages, in your banking app. Share it to Pocketbird and the app opens on the right review screen.

  • Share one image and the share sheet reads it on the spot; Pocketbird then opens on the slip confirm screen with the photo attached.
  • Share text — an SMS from Messages, say — or a web link, and Pocketbird opens Smart paste already filled in and analyzes it for you.
  • The extension accepts exactly one image, or text, or one web link at a time. If a share carries both an image and text, the image wins.
Hidden feature
Share several slips in a row, then deal with them one at a time
Do thisIn Photos, share three slips to Pocketbird one after another without opening the app in between
All three are read and queued, and Pocketbird presents them one at a time, oldest first — dismiss one confirm screen and the next appears. Each queued slip is consumed exactly once, so relaunching can never create the same transaction twice. If the app crashes while you are editing one confirm screen, that single slip is lost; re-share it. Signing out clears the queue, so a slip shared by a previous account can never land in the next one.
Heads upThe share sheet fails closed. If you are not signed in it shows "Sign In Required" / "ต้องเข้าสู่ระบบก่อน" and captures nothing; if you have not accepted the privacy terms it shows "Consent Required" / "ต้องยินยอมก่อน". Both checks run before any reading happens.
Smart paste, spoken
"Smart paste in Pocketbird", "Paste a transaction in Pocketbird" or "Log from clipboard in Pocketbird" opens the app on Smart paste.
Scan a receipt, spoken
"Scan a receipt in Pocketbird", "Scan a receipt with Pocketbird" or "Snap a receipt in Pocketbird" opens the add form with the document camera already up.
Log from Text, spoken
"Log from text in Pocketbird", "Log this message in Pocketbird" or "Log a bank message in Pocketbird" parses the text without opening the app, asks you to confirm, then saves. It uses the deterministic reader, not the language model, so unlike Smart paste it does not need Apple Intelligence.
  • Log from Text refuses what it should: an OTP or promo gets "That doesn't look like a transaction — nothing was logged." / "ข้อความนี้ไม่ใช่รายการเงิน — ไม่ได้บันทึกอะไร", and a message it can read but not trust is stashed with "I couldn't read that confidently — open Pocketbird to review it in Smart paste." / "อ่านข้อความนี้ได้ไม่ชัดเจน — เปิด Pocketbird เพื่อตรวจใน วางอัจฉริยะ".
  • Both voice actions check that you are signed in and have consented before anything is written.
Hidden feature
"Log from Image" exists only in Shortcuts — there is no phrase for it
Do thisIn the Shortcuts app, chain "Log from Image" / "บันทึกจากรูป" after any action that produces an image
Point it at your latest screenshot, for example, and the image is read in the background; Pocketbird then opens straight on the pre-filled slip review with the image attached. A confident read is even spoken back: "Found a ฿250.00 slip — review and save it in Pocketbird." An unreadable image is rejected with "That image doesn't look like a slip or receipt — nothing was logged." and nothing is queued. There is deliberately no spoken phrase for it, so a shortcut is the only way to reach it.
Hidden feature
Put Scan Receipt in Control Centre, on the Lock Screen, or on the Action button
Do thisIn iOS, add the "Scan Receipt" / "สแกนใบเสร็จ" control — or bind it to the Action button
It opens Pocketbird straight into the add form with the document camera already presented, so capturing at a checkout counter takes one press rather than unlocking, finding the app and finding the scan menu. A "Quick Add" / "เพิ่มอย่างรวดเร็ว" control is available the same way for typing one in by hand.
Hidden feature
Four URLs you can drop into your own shortcuts
Do thisUse an "Open URL" action with budgie://scan-receipt, budgie://smart-paste, budgie://quick-add or budgie://import-slip
budgie://scan-receipt opens the add form with the document camera already up, budgie://smart-paste opens Smart paste, budgie://quick-add opens a plain add form, and budgie://import-slip pulls any slip waiting in the share queue into its review screen. All four sit behind the app's normal gates — you must be signed in and have accepted the privacy terms.
09

Two more readers: the chat and the shop

Two places read a document for you outside the scan menu. One is the Ask Pocketbird chat, which also takes PDFs. The other is a shared shop, where the same OCR files a receipt as stock you bought rather than a personal expense.

Hidden feature
The paperclip in Ask Pocketbird takes a receipt photo or a PDF
Do thisSummary → Ask Pocketbird → the paperclip left of the message box
It offers "Photo" / "รูปภาพ" and "PDF file" / "ไฟล์ PDF", shows "Reading attachment…" / "กำลังอ่านไฟล์แนบ…" while it extracts, and then proposes transactions you can save with one tap — into the To Review inbox, like every other capture. Type a message first and it rides along with the attachment. Note that PDFs are read for their embedded text, so a PDF that is really a scanned image yields nothing.
TipGovernment co-pay slips — ไทยช่วยไทย, คนละครึ่ง, เราชนะ, เที่ยวด้วยกัน, เป๋าตัง, g-wallet — get their own reader rather than the language model, because those slips print three numbers: the goods price, the state's share and what you actually paid. The app books only the amount behind the paid label and replies "I read your co-pay slip — here's the amount you actually paid." / "อ่านสลิปโครงการร่วมจ่ายของคุณแล้ว — นี่คือจำนวนเงินที่คุณจ่ายจริง"
  • The paperclip is disabled while a reply is still streaming or a previous attachment is still being read, and the thumbnail kept in the transcript is a small 320-px copy, not the full-resolution photo.
  • In a shared shop, More → Shop → the shop → the "Log" / "บันทึก" segment → the document-viewfinder button, "Scan Receipt" / "สแกนใบเสร็จ", opens the same OCR into a shop entry pre-set to "Cost" / "ต้นทุน".
  • A single shop scan guesses the payment source from the receipt: card, transfer, e-wallet or QR cues make it digital, and cash cues — or no cue at all — make it cash. Rows imported through the shop batch screen are always cash.
  • Reading a shop receipt works offline, but saving it does not: "You're offline. Your scanned details are kept — connect to save them to the shop." / "คุณออฟไลน์อยู่ รายละเอียดที่สแกนไว้ถูกเก็บไว้แล้ว — เชื่อมต่ออินเทอร์เน็ตเพื่อบันทึกเข้าร้าน" Your scan is not thrown away while you find signal.
  • Shop receipt photos go to a folder shared with the shop's members, not to your personal storage.
Heads upPocketbird has exactly one QR scanner, and it reads group-invite codes at More → Groups → Join. There is no payment QR anywhere in the app — nothing here scans a PromptPay code to pay someone.