Skip to content
← Back to Pocketbird
Every day

Logging money

Recording one income or expense: the amount-first form, the calculator hiding in every money field, categories, tags, people, receipt photos, and how to fix a row you got wrong.

Find it atTransactions tab → +Last updated · 2026-08-07
01

What one transaction is

Every number anywhere in Pocketbird traces back to one small record. A transaction is an amount in baht, a direction — money out or money in — and, if you want one, a category. Everything else on the form is optional.

The form is built around that. On a new transaction the amount field is focused the moment it opens, so the shortest possible log is three moves: type the amount, tap a category, tap Save. The seven fields most people rarely need are folded away until you ask for them.

The same form does four jobs — adding, editing, duplicating, and confirming a receipt the app read for you — so everything below holds in all four.

  • Amounts are stored positive — the Expense/Income direction carries the sign — and are rounded to two decimals (satang) as they are read.
  • Money is always Thai baht, always written with ฿ before the number and no space — ฿1,234.56 — and a minus hugs the first digit, ฿−1,234.56, whether you use the app in Thai or English.
  • A new transaction is dated now. You can change the date, but you have to open More details to reach it.
  • Only your personal categories are offered here — shop and business categories can never be picked in this form — and anything you have deleted, whether a category, tag, account, pocket or trip, is never offered again.
02

Opening Quick Add

Three ways in, all the same sheet: the "+" at the top right of the Transactions tab, the same "+" on Summary, and ⌘N if a keyboard is attached. The title reads "Add Transaction" / "เพิ่มรายการ".

  1. Tap "+". The sheet opens with the amount field focused and the decimal number pad already up.
  2. Type the amount.
  3. Tap a category in the grid, or a chip in the "Recent" / "ล่าสุด" row above it.
  4. Tap "Save" / "บันทึก" at the top right.
Hidden feature
⌘N opens Quick Add from any tab
Do thisWith a hardware keyboard attached, press ⌘N anywhere in the app
The Add Transaction sheet opens exactly as if you had tapped "+", without leaving the tab you were on. There is nothing to switch on — it works whenever a keyboard is connected.
Amount — "จำนวนเงิน"
Required. The big ฿-prefixed field, placeholder "0.00", decimal number pad. Save stays disabled until the amount reads as more than 0.
Type — "ประเภท"
Two segments, "Expense" / "รายจ่าย" and "Income" / "รายรับ". Defaults to Expense.
Category — "หมวดหมู่"
Optional. A transaction can be saved with no category at all.
Paid With — "จ่ายด้วย"
The picker inside it is labelled "Source" / "แหล่งเงิน" and offers "Cash" / "เงินสด", "Digital" / "ดิจิทัล" and "Credit" / "เครดิต". It defaults to whatever you saved with last — Digital on a brand-new install.
Account — "บัญชี" (the quick-switch row)
A one-line menu that appears only on a fresh add, and only when you have at least one account that is not archived. The first option is "None" / "ไม่ระบุ".
More details — "รายละเอียดเพิ่มเติม"
Expands the seven optional fields. Once open, the same button reads "Fewer details" / "ย่อรายละเอียด".
TipThe number pad only pops up by itself on a fresh add. Opening an existing row to edit it, or confirming a scanned receipt, starts with the keyboard down so you can read the category and the date before you touch anything.
03

Typing an amount

Every money field in the app is the same control, and it changes shape as you use it: a grouped, ฿-prefixed figure when you are not in it, a clean un-grouped number while you type, so the thousands separators never fight your cursor. It also hides a calculator.

  1. Tap into the amount field. A small ±÷ icon appears beside it, named "Calculator" / "เครื่องคิดเลข".
  2. Tap it. The system number pad drops away and an in-app calculator keypad takes its place.
  3. Build the expression from the keys: digits, a decimal point, + − × ÷, brackets, %, and ⌫.
  4. Tap "=". The result is written back into the field as a normal grouped amount.
Hidden feature
Percent behaves like a pocket calculator, not a fraction
Do thisIn the calculator keypad, type "200+10%" or "200−10%"
"200+10%" is 220 — the service charge added on. "200−10%" is 180 — the discount taken off. "200×10%" is 20, "200÷10%" is 2000, and a bare "10%" is 0.1. The percent binds to the value on its left, so "(100+50)+10%" is 165.
  • A dim line under the expression keeps a running total as you type, so you see the answer before you commit to it.
  • If the expression cannot be evaluated, the keypad stays up with "Check the expression" / "ตรวจสอบสิ่งที่พิมพ์อีกครั้ง" and your typing is kept. Dividing by zero, unbalanced brackets and stray letters all produce no result and leave the field exactly as it was.
  • × and ÷ bind tighter than + and −, brackets group, and a trailing operator is tolerated — "1200+" evaluates to 1200.
  • The arithmetic is exact decimal, so 0.1 + 0.2 really is 0.30.
  • You cannot type a minus sign — the pad has no key for one. The calculator can produce a negative ("3000−4000="), but the transaction form refuses to save an amount that is not above 0.
  • Calculator mode is per field and is never remembered — the next field you tap starts as a plain number pad again.
Heads upTyping "1200+350" straight into the amount field does not work. The field is read as one whole number, so an expression counts as nothing entered at all and Save stays disabled. Arithmetic has to go through the calculator keypad.
TipLeave the field and it tidies itself: a whole amount shows with no decimals ("63,102"), a fractional one with exactly two ("1,051.70"). Tap back in and the separators drop away again. A pasted ฿, spaces and thousands commas are all tolerated — a comma is always a grouping separator, never a decimal point — but genuinely ambiguous input like "12..50" or "1.234.56" is rejected outright instead of being guessed at.
TipThe decimal pad has no Return key, so on this form the one way to put it away is the "Done" / "เสร็จ" button that sits just above it. Scrolling the form does not dismiss it, the way it does on the ledger's search field.
04

Categories, and how you paid

The category grid is round coloured tiles — one tap selects, and the colour is the category's own, not decoration. Above it sits a "Recent" / "ล่าสุด" chip row of the categories you actually use, so most logs never need the grid at all.

Hidden feature
Tap the chosen category a second time to clear it
Do thisIn the form, tap the category tile that already has a ring around it
The ring comes off and the transaction goes back to having no category — there is no separate "None" tile to hunt for. The same logic works one level down: tapping a selected subcategory returns you to just its parent, with the subcategory panel still open.
  • A tile with a small chevron has subcategories. Selecting it opens a panel below headed "Subcategories of %@" / "หมวดย่อยของ %@" — Pocketbird keeps one level of subcategory and no deeper.
  • The "Recent" row is ranked by how often you have used each category for that type across your most recent 250 transactions, most-used first, and is capped at 6. A brand-new account sees no chip row at all.
  • The grid only ever shows top-level categories of the current type. Flipping Expense↔Income clears a category that no longer fits — and when you are editing an existing row, flipping back restores the original.

Below the grid sits "Paid With" / "จ่ายด้วย". Pick an account instead and the two stop being separate questions: the account decides how you paid.

  • Picking an account makes the Paid With control read-only and says why: "Set by the selected account — cash accounts pay in cash, credit cards in credit, and bank and e-wallet accounts pay digitally."
  • Setting the account back to "None" / "ไม่ระบุ" hands the choice back to you, starting from the value that was showing.
  • A fresh add seeds your default account once per sheet. Clear it and it stays cleared — the app never puts it back behind your back.
  • Archived accounts are not offered for a new tag, but a transaction already tagged to one keeps it when you edit.
TipPocketbird remembers the payment source you last saved with and uses it as the next default — including for Siri, the Home Screen widget and the Control Center button. A run of cash logs stays cash without you re-picking it every time.
Hidden feature
Picking a credit card on a new expense unlocks instalments
Do thisOn a new expense, set "Account" / "บัญชี" to a credit-card account
An "Installments" / "การผ่อนชำระ" section appears, with a "Pay in installments" / "ผ่อนชำระ" toggle, terms of 3, 4, 6 or 10 months plus "Custom" / "กำหนดเอง" (2 to 36 months, the stepper starting at 12), and a live "Monthly" / "ทุกเดือน" row showing the total divided by the term. The purchase is still logged once and your card balance and available credit do not change. It is create-only: an existing transaction's term cannot be edited afterwards.
05

The rest of the form

Seven optional fields live behind "More details" / "รายละเอียดเพิ่มเติม". They are hidden only on a fresh add — open a transaction to edit it, duplicate it, or confirm a scan and the block is already expanded, so nothing that was filled in for you is ever out of sight.

Account — "บัญชี"
The full picker, with each account's avatar. First row is "None" / "ไม่ระบุ". It edits the same value as the quick-switch row further up.
Pocket — "กระเป๋า"
Tags the transaction to a savings pocket so you can track it there. Its footer says it plainly: this does not move the pocket's balance.
Trip — "ทริป"
Shown only when you have trips. First row is "None" / "ไม่ระบุ".
Tags — "แท็ก"
Multi-select chips, with a "Recent" / "ล่าสุด" row of up to 5 tags on top and the rest under "More Tags" / "แท็กเพิ่มเติม" — a tag never appears in both. The dashed "Add Tag" / "เพิ่มแท็ก" chip creates a new tag on the spot (name required, icon or emoji and colour optional) and attaches it straight away.
Paid to / Received from — "จ่ายให้" / "รับจาก"
The person, with autocomplete; the heading flips with the type. Placeholder "Name (optional)" / "ชื่อ (ไม่บังคับ)", and names are clamped to 80 characters on save. The name is stored on the transaction as a snapshot as well as a link, so deleting that person later still leaves the row readable.
Note (optional) — "โน้ต (ไม่บังคับ)"
Free text, with no length limit.
Date — "วันที่"
A date picker — the date only, with no time of day.
TipThe first line of the note becomes the row's headline in the ledger. With no note the category name is used instead; with neither, the row reads "Uncategorized" / "ไม่มีหมวด". Three words in the note are the difference between a ledger you can read back and a column of category names.
Hidden feature
Press Return to create a person you have never paid before
Do thisIn "Paid to" / "จ่ายให้", type a name that does not exist yet and press Return
The person is created and linked in one keystroke, without reaching for the "Add %@" / "เพิ่ม %@" row underneath. Matching ignores case, accents and spaces, so typing "7 11" finds the "711" you already have instead of making a second one. The suggestion list shows four rows at a time and scrolls inside itself, so the form never grows.
Hidden feature
÷2 ÷3 ÷4 ÷5 fill in your share of a bill you fronted
Do thisTag an expense to a trip, enter the amount, then look under "My share" / "ส่วนของฉัน"
A "Split evenly" / "หารเท่ากัน" row of four buttons fills the share field with the amount divided by 2, 3, 4 or 5. The trip then counts only your share, while your balance still reflects the full amount you actually paid. A share is stored only when it is above 0 and below the amount — blank, zero, or anything equal to or larger than the amount all mean the whole thing was yours.
TipSet a date that falls inside one of your trips and a chip offers "In trip %@ — tag it?" / "อยู่ในช่วงทริป %@ — แท็กเลยมั้ย". When several trips cover that date you get one chip per trip. It is always an offer — the app never tags a trip on its own.
06

Receipt photos

One photo per transaction, and it syncs — a slip you photograph on your phone opens on your iPad too. The photo is only committed when you save the transaction, so backing out of the form leaves nothing behind.

  1. In "More details", tap "Attach Photo" / "แนบรูป".
  2. Choose "Take Photo" / "ถ่ายรูป" or "Choose from Library" / "เลือกจากคลังรูป".
  3. A thumbnail appears with an expand badge. Tap it to open the full-screen viewer.
  4. Change your mind with "Replace Photo" / "เปลี่ยนรูป" or "Remove Photo" / "ลบรูป", then save.
Hidden feature
Double-tap a receipt in the viewer to jump to 2×
Do thisOpen the full-screen photo viewer ("Photo" / "รูปภาพ") and double-tap the image
It toggles between 1× and 2× with no pinching, which is usually all you need to read a total. Pinch still zooms freely and dragging pans once you are zoomed in; the pan carries on from where the last drag stopped, and resets when you come back to 1×. VoiceOver gets the same thing as rotor actions — "Zoom in" / "ซูมเข้า" steps up one at a time to a maximum of 4×, "Zoom out" / "ซูมออก" comes back down, "Reset zoom" / "รีเซ็ตการซูม" starts over.
  • Every photo you pick is downscaled to a 2048 px long edge and re-encoded as JPEG, then hard-capped at about 2 MB. Anything still over the cap is not attached, and the field says so: "That photo was too large to attach." / "รูปนี้ใหญ่เกินไป แนบไม่ได้"
  • "Take Photo" is hidden entirely — not greyed out — on a device with no camera. And it is a plain camera snapshot, not the document scanner, so it asks for camera permission only and never touches your photo library.
  • Replacing a photo deletes the old one and stores a new one, so there is exactly one live photo per transaction — and deleting the transaction deletes its photo with it.
  • A row with a photo shows a paperclip in the ledger. A photo that arrived from another device downloads the first time you open it; offline you get a placeholder rather than an error.
07

Saving — and saving a stack of receipts

Save sits at the top right and reads "Save" / "บันทึก" — except when you arrived from a scan, where it reads "Confirm" / "ยืนยัน", because there you are approving something the app filled in rather than writing it yourself.

Hidden feature
A transaction you just saved can be undone for four seconds
Do thisSave a new transaction, then watch the bottom of the ledger for the "Logged %@" / "บันทึก %@ แล้ว" capsule
It carries an "Undo" / "เลิกทำ" button that deletes the transaction that was just created, and it disappears by itself after four seconds. It shows after a normal Save as well as after a one-tap quick-log chip. It deliberately does not show after an edit — undoing there would delete a row you already had — nor when you used "Save and add another".
Save and add another — "บันทึกและเพิ่มอีก"
Saves and immediately resets the form instead of closing it, with the number pad already back up. It appears only on a fresh manual add — never when editing, duplicating, confirming a slip, or on a debt payment.
  • Cleared for the next entry: amount, note, category, tags, the person and the receipt photo.
  • Kept for the next entry: type, date, payment source, account, pocket and trip — the things that stay the same across a stack of receipts from one afternoon.
  • Saving fires a short success haptic and syncs immediately when you are signed in.
  • If the save fails, the sheet stays open and shows "Couldn't Save" / "บันทึกไม่สำเร็จ" with an "OK" / "ตกลง" button — your typing is never thrown away.
TipA transaction you typed yourself is never flagged "To Review" / "รอตรวจสอบ". That queue at the top of the ledger is only for rows the app captured on your behalf — Siri, the widget, a scan, a smart paste — and those rows already count in every balance, so reviewing is about the details, not the money.
08

Fixing a row: edit, duplicate, delete

Tap any row in the ledger and the edit form morphs open out of it. It is the same form, pre-filled, with every optional field already expanded.

  • In edit mode "Save" / "บันทึก" stays greyed out until something actually changes, so a no-op save is impossible. Attaching or removing a photo counts as a change.
  • A transaction created by recording a debt payment is partly locked: Amount, Type and Category are disabled, with the banner "This is a debt payment. To change the amount, delete it and record a new one from the debt." The date, the note and everything else stay editable.
  • Change the amount or the type on an expense that triggered a round-up and the old spare change is taken back out of the pocket and recomputed in the same save.
  • Correcting a category teaches Pocketbird which category you mean for that merchant, so the next capture with the same name arrives pre-filled. That memory lives on this device only and is erased when you sign out.
Hidden feature
Long-press a ledger row for Duplicate and Delete
Do thisPress and hold a transaction in the ledger, or in the full-screen search results
A menu offers "Duplicate" / "ทำซ้ำ" and "Delete" / "ลบ". Transaction rows have no swipe actions at all — the ledger scrolls as one piece — so this long-press is the only way to reach either command from the list. The delete confirmation then appears as a small bubble pointing at that exact row and naming it: "%@" will be deleted. This can't be undone.
  • A duplicate opens as a new, unsaved form — the original is untouched, and the copy only exists once you tap Save.
  • What comes across: amount, type, note, payment source, account, pocket, trip, your share, tags, the person, the instalment term — and its own independent copy of the receipt photo.
  • What does not: the date resets to today, a deleted category is dropped so the copy opens uncategorized, the link to a debt is dropped so the copy never posts to that debt, and a photo that has not downloaded to this device yet is simply left out.
  • Duplicating from inside the edit form swaps the sheet rather than stacking a second one on top, and unsaved edits in the form you were in are deliberately not carried into the copy.
Heads upDeleting has no undo in the app. There is no trash can to fish a row back out of, and the four-second Undo capsule only ever applies to a transaction you just created. Deleting does clean up after itself: a debt payment's effect on that debt is reversed, a round-up it triggered is withdrawn back out of the pocket, and the attached photo goes too. If the delete itself fails to save it is rolled back and the row stays visible, rather than half-disappearing.
Hidden feature
Tap a row's round category icon to start selecting several
Do thisOn the Transactions list, tap the coloured circle at the left of a row — not the row itself
The list starts wiggling, every swatch turns into a selection circle, and that row is already selected. Tap more rows, then use the floating bar: a "%lld selected" / "เลือกแล้ว %lld รายการ" count above "Change Category" / "เปลี่ยนหมวด", "Delete" / "ลบ" and "Done" / "เสร็จ". The visible route to the same mode is "Select" / "เลือกหลายรายการ" in the capture menu, which starts with nothing selected. A bulk delete asks once and applies the same debt and round-up reversals as deleting one row at a time.
Hidden feature
VoiceOver turns every gesture here into a rotor action
Do thisWith VoiceOver on, swipe up or down on a ledger row
You get "Duplicate" / "ทำซ้ำ" and "Delete" / "ลบ" without the long-press, "Mark as reviewed" / "ทำเครื่องหมายว่าตรวจแล้ว" and "Edit" / "แก้ไข" on a To Review row, and "View %@ transactions" / "ดูธุรกรรมแท็ก %@" on each tag chip. Nothing in this part of the app is reachable by gesture alone.
09

Logging without opening the form

Some things you buy the same way every week, and for those the form is more ceremony than it is worth. Pocketbird has shorter routes: one inside the app, and several that never open it at all.

Inside the app, a strip of chips sits above the search bar on the Transactions tab. Tap one and the expense is logged on the spot: the same category, amount, type, note, payment source and account as the original, dated today.

  • A chip only appears for a category-and-amount pair you have logged at least twice, and only the four most frequent are shown, most frequent first.
  • Only expenses with a live category qualify. Delete the category and the chip goes with it.
  • The chip's amount keeps its satang, because that is the exact figure it will log.
Hidden feature
Long-press a quick-log chip to name it
Do thisOn the Transactions tab, press and hold one of the quick-log chips
"Edit label" / "แก้ไขชื่อ" opens a small text alert with a "Label" / "ชื่อ" field, so two ฿45 Food chips can become "กาแฟเช้า" and "ข้าวเที่ยง" instead of two identical tiles. Once a chip has a label, "Remove label" / "ลบชื่อ" appears beside it. The label syncs to your other devices.
  • Siri and Shortcuts: say "Add an expense in Pocketbird" / "เพิ่มรายจ่ายใน Pocketbird" and it logs without opening the app, answering "Added a %@ expense" / "เพิ่มรายจ่าย %@ แล้ว". You have to be signed in and to have accepted the privacy terms first, and the amount must be greater than 0.
  • The "Pocketbird Quick Add" / "Pocketbird เพิ่มด่วน" Home Screen widget has three preset buttons — ฿20, ฿60 and ฿100 out of the box. Long-press the widget and choose Edit Widget to change them. A tap is queued and written the next time you open the app, not the instant you press it.
  • Control Center, the Lock Screen and the Action button can carry "Quick Add" / "เพิ่มอย่างรวดเร็ว", which opens the form, and "Scan Receipt" / "สแกนใบเสร็จ", which opens it with the document scanner already running.
  • Share a slip image or a payment SMS to Pocketbird from any app: an image is read and handed to the confirm form with the photo already attached, text goes to Smart Paste, and when both are shared the image wins.

Two settings change what happens every time you log, and both live outside this screen.

  • More → Tags → "Automation Rules" / "กฎอัตโนมัติ" adds a tag automatically to every new transaction matching one condition: "Note contains" / "โน้ตมีคำว่า", "Category is" / "หมวดหมู่คือ", or "Amount at least" / "ยอดตั้งแต่". The row only appears once you have at least one tag. Rules only ever add tags — they never replace the ones you picked — they run on capture only, so editing an old transaction never re-runs them, and they are stored on this device: they do not sync.
  • More → Settings → "Round-Up Savings" / "ออมเงินปัดเศษ" is off until you turn it on. With it on, every expense you log is rounded up to the nearest ฿5, ฿10, ฿20 or ฿50 — ฿10 by default — and the difference is moved into a savings pocket you choose. There is no Save button on that screen; changes apply as you make them.