Skip to content
← Back to Pocketbird
With other people

Trips — travel budgets

A named date range you tag spending into. Prepaid flights are counted apart from what you spend on the ground, a budget becomes a daily allowance, and a recap wraps the trip up.

Find it atMore → TripsLast updated · 2026-08-07
01

What a trip is

A trip is a named date range — Japan, 10–16 June — that you tag transactions into, so one journey's spending sits in one place instead of scattered through the month. Both endpoints count, so a one-day trip is one day.

Travel breaks a plain total in two places: flights and hotels are usually paid weeks before you leave, and a card charge can land after you get home. So a trip splits its spend three ways — booked ahead, on the trip, settled after — purely by each transaction's own date, and reads the daily pace off the on-the-ground block only.

A trip also handles "I paid for the whole table". You record the full amount that left your account plus your own share; the trip counts your share, while your balance and your budgets keep counting the full amount.

  • Every trip figure counts expenses only. Income tagged to a trip — a refund, say — is listed but never changes the total.
  • A trip's budget is not your monthly budget. A trip expense still counts toward your normal cycle budget and Safe-to-Spend exactly as it would untagged.
  • Trip screens do not apply the personal-versus-Shop split that Summary and Insights use — every tagged expense counts, whichever side it came from.
  • Summary figures on a trip are shown in whole baht. The rows inside the trip's own transaction list keep their satang.
02

The Trips hub

Trips lives one level in: tap "More" / "เพิ่มเติม" in the tab bar, then "Trips" / "ทริป" (the suitcase). On iPad it is in the sidebar with every other tab. The hub lists every trip you have made — active first, then upcoming, then past — with a cover thumbnail, a status pill, the dates, the day count and what it has cost.

"On trip" / "อยู่ในทริป"
Today falls inside the range, first and last day included.
"Upcoming" / "กำลังจะถึง"
The start day has not arrived yet.
"Past" / "จบแล้ว"
Today is after the last day.
  • Inside active and upcoming, the soonest start comes first; past trips are listed most-recently-ended first. The order is always computed — you cannot drag a trip up the list.
  • The right-hand figure is what the trip has cost. A budgeted trip adds a second line: "%@ left" / "เหลือ %@", or "Over" / "เกิน" in expense red once spend passes the target.
  • At accessibility text sizes the cover thumbnail is dropped and the name stacks above the pill, so the trip's name gets the width instead of being squeezed.
  • At regular width — an iPad — the same trips render as cover cards in a grid instead of a list; how many columns depends on the canvas width.
  • With nothing created yet you get "No Trips Yet" / "ยังไม่มีทริป" and a reminder that saving up in advance is a Pocket's job, not a trip's.
  • Pull down on the hub — or on a trip's own screen — to force a real sync. The spinner holds until the push-then-pull round has actually finished, so what you are looking at is what the server has.
Hidden feature
Promote Trips onto the iPhone bottom bar
Do thisMore → the slider button "Edit Tabs" / "แก้ไขแท็บ" → under "In More", tap the green + next to Trips
Trips becomes a permanent bottom-bar tab. The bar holds at most four tools plus More; past that the + greys out and the footer tells you to remove one first. "Transactions" / "รายการ" can never be removed, and "Reset to Default" / "รีเซ็ตเป็นค่าเริ่มต้น" restores the original four. Demoting a tab sends it back to More rather than deleting it, and the whole layout is stored on that device — it does not follow you to another one.
03

Creating, editing and deleting a trip

  1. Trips hub → "+" in the nav bar ("Add Trip" / "เพิ่มทริป"). The "New Trip" / "ทริปใหม่" sheet opens.
  2. Name it under "Trip Name" / "ชื่อทริป".
  3. Set "Start Date" / "วันที่เริ่ม" and "End Date" / "วันสิ้นสุด" under "Dates" / "ช่วงเวลา".
  4. Optionally set a target in "Trip Budget (THB)" / "งบทริป (บาท)", add "Notes" / "โน้ต", and tap "Choose Photos" / "เลือกรูป" under "Cover Photos" / "รูปปก".
  5. Tap "Save" / "บันทึก".
Trip Name — "ชื่อทริป"
Required. Save stays disabled while it is blank. Placeholder: "e.g. Japan Trip" / "เช่น เที่ยวญี่ปุ่น".
Start Date — "วันที่เริ่ม"
Defaults to today. Counts as day 1. Push it past the end date and the end date moves with it, so the range can never be invalid.
End Date — "วันสิ้นสุด"
Defaults to today and is counted in full. The picker cannot go earlier than the start date.
Trip Budget (THB) — "งบทริป (บาท)"
Optional. Leave it blank and the trip shows a plain total with no bar, no left-to-spend and no daily allowance. The footer states the trade: set one and the app tells you what you can spend per day for the rest of the trip.
Notes — "โน้ต"
Optional free text shown in the trip header. The editor grows to four lines. Placeholder: "Notes (optional)" / "โน้ต (ถ้ามี)".
Cover Photos — "รูปปก"
Up to six photos per pick; tap Choose Photos again to add more. The first one becomes the hub thumbnail, the rest a gallery on the trip.
TipThe date pickers follow the app's language, not the device region — Gregorian while the app is in English, Buddhist while it is in Thai.
Heads upSaving a new trip records one anonymous product event — that a trip was created, plus a single yes/no flag for whether it carries a budget. Giving an unbudgeted trip a budget later records a second one. No name, no dates and no amounts are ever included. Both stop the moment you turn "Share usage statistics" / "แชร์สถิติการใช้งาน" off in Settings, which also wipes whatever is still queued on the device. That toggle ships on.
Hidden feature
A calculator hides inside the Trip Budget field
Do thisTap into "Trip Budget (THB)" / "งบทริป (บาท)", then tap the small ±/÷ button that appears at the field's trailing edge — VoiceOver calls it "Calculator" / "เครื่องคิดเลข"
The keypad is replaced by a real calculator — digits, + − × ÷, brackets, %, backspace and "=" — with a live expression line and a running total. "=" writes the result back into the field. Useful for "seven nights at 2,400". A malformed expression or a divide by zero leaves the field untouched and shows "Check the expression" / "ตรวจสอบสิ่งที่พิมพ์อีกครั้ง". The button only exists while the field is focused, and the mode is never remembered. The same trick works in "My share" / "ส่วนของฉัน".
  • To change anything later, open the trip and tap "Edit" / "แก้ไข" at the top right. In edit mode Save stays greyed out until you actually change something, and once you have, swipe-down-to-dismiss is blocked so a stray drag cannot drop your edit.
  • Adding or removing photos alone does not re-stamp the trip's name, dates or budget, so a photo edit here cannot overwrite a name change you made on another device.
  • Each photo is downscaled to a 2048 px long edge at JPEG quality around 0.8 and capped at roughly 2 MB. A photo that is undecodable, or still over the cap after compression, is silently skipped — it never appears in the strip at all, and nothing tells you why.
  • Photo order is the order you added them and there is no drag to reorder — to change it, remove a photo and add it again. On a new device the gallery shows grey placeholders until the images finish downloading.
  • If a save fails, the sheet stays open with your edit intact and an alert reads "Couldn't Save" / "บันทึกไม่สำเร็จ".
Hidden feature
A trip can only be deleted from the hub, never from inside it
Do thisTrips hub → swipe a row left on iPhone, or press and hold a trip card on iPad → Delete
The trip detail screen has only "Edit" / "แก้ไข" in its toolbar and the form has only Cancel and Save, so this gesture is the whole delete path. It stages a "Delete Trip?" / "ลบทริป?" confirmation first. Grid cards on iPad have no swipe, which is why the long-press exists.
Heads upDeleting a trip keeps its transactions — they are unlinked from the trip first, so nothing leaves your ledger, and the unlink travels to your other devices too. The trip's cover photos do go with it, and there is no undo.
04

Getting spending into a trip

Nothing joins a trip by itself. There are three ways in: tag a transaction while you log it, backfill a batch from inside the trip, or send a group bill's expense into a trip as you split it.

  1. Open any transaction form — the + button, tapping an existing transaction, or the receipt-scan confirm screen.
  2. On a fresh manual add, tap "More details" / "รายละเอียดเพิ่มเติม" to reveal the advanced fields. When you are editing, duplicating, or confirming a scan, they are already open.
  3. Under "Trip" / "ทริป" pick a trip, or "None" / "ไม่ระบุ". Trips are listed active, then upcoming, then past.
  4. Save.
Heads upThe "Trip" / "ทริป" section does not exist in the transaction form until you have created at least one trip — it is hidden, not disabled. The same is true of the search filter's trip section and of the group bill form. If you cannot find it, the first step is More → Trips → "+".
Hidden feature
Set the date inside a trip and a one-tap tag chip appears
Do thisIn a transaction form with no trip picked, set the date to a day that falls inside a trip's range
A sparkles chip offers "In trip %@ — tag it?" / "อยู่ในช่วงทริป %@ — แท็กเลยมั้ย"; one tap tags it and the chip disappears. If the date falls inside several overlapping trips you get "This date falls in several trips — tag one:" / "วันนี้อยู่ในหลายทริป — เลือกแท็ก:" and one chip per trip. It only ever suggests — nothing is tagged without your tap.
  1. To backfill a trip after the fact, open it and tap "Add transactions to trip" / "เพิ่มรายการเข้าทริป".
  2. The "Add to Trip" / "เพิ่มเข้าทริป" list is pre-filtered to the trip's own dates. Turn "Only this trip's dates" / "เฉพาะช่วงทริป" off to browse your whole ledger.
  3. Tap rows to tick them. Both expenses and income are offered; transactions already in this trip are not shown.
  4. Tap "Add" / "เพิ่ม" — it stays disabled until at least one row is ticked.
Hidden feature
Adding a transaction that already belongs to another trip moves it
Do thisTrip A → "Add transactions to trip" / "เพิ่มรายการเข้าทริป" → tick a transaction currently in trip B → "Add" / "เพิ่ม"
The transaction leaves trip B and joins trip A. Only rows already in the trip you are standing in are hidden from the list, so a row belonging to another trip is offered like any other, with no warning that both totals are about to change. If the two trips' dates do not overlap you will need to turn off "Only this trip's dates" / "เฉพาะช่วงทริป" to see it at all. This is the fastest way to move something you filed under the wrong trip.
  • A group bill can go into a trip in the same step: More → "Groups" / "กลุ่ม" → open a group → add a bill → the "Trip" / "ทริป" section. It only shows when the log toggle — "Log what I paid as an expense" / "บันทึกยอดที่จ่ายไปเป็นรายจ่าย" as payer, or "Log my share as an expense" / "บันทึกส่วนของฉันเป็นรายจ่าย" otherwise — is on, and you have at least one trip.
  • That bridge is create-only. Opening an existing bill to edit it forces the log toggle off, so editing a bill never re-logs or re-tags anything.
  • In a group bill the suggestion chip matches against today's date, not the bill's date — if a trip is running today, "In trip %@ — tag it?" / "อยู่ในช่วงทริป %@ — แท็กเลยมั้ย" appears.
  • The trip tag syncs. Tagging, untagging or moving a transaction between trips reaches your other devices.
05

"My share" — when you paid for everyone

You front a ฿4,000 dinner for four. Your account really is ฿4,000 lighter, but the trip did not cost you ฿4,000 that night. My share records both truths at once: the full amount keeps counting against your balance and your budgets, and only your slice counts toward the trip.

  1. Tag the transaction to a trip and make sure its type is Expense — the field appears only under both conditions.
  2. Type what you personally consumed into "My share" / "ส่วนของฉัน", under the trip picker.
  3. Save.
Hidden feature
÷2 ÷3 ÷4 ÷5 buttons fill your share for you
Do thisTransaction form → tag a trip, type Expense, enter the amount → the "Split evenly" / "หารเท่ากัน" row of small bordered buttons
Tapping ÷3 fills "My share" / "ส่วนของฉัน" with the amount divided by three, plays a light haptic and puts the keypad away. The buttons only appear once an amount is entered, and they stop at five — for a bigger table, type the share, or use the calculator inside the field. VoiceOver reads them as "Split %lld ways" / "หาร %lld คน".
  • A blank, zero or unreadable share means no share at all — the whole amount was yours.
  • A share equal to or larger than the amount is discarded, and the reader clamps it again when displaying, so a trip total can never exceed what was actually paid.
  • Only trip surfaces read the share. Balances, cash on hand, budgets, Safe-to-Spend and every cycle figure keep using the full amount, because that is what left the account.
  • Inside the trip, that row leads with your share and adds a quiet second line "of %@ paid" / "จากที่จ่ายจริง %@" showing the full amount, so the row and the total can never look like a bug.
  • When you pay a group bill inside Groups, the ledger row it creates already carries the full bill as its amount and your slice as My share.
Hidden feature
Duplicating a transaction carries its trip and its share
Do thisLong-press a transaction on the ledger or in search results → "Duplicate" / "ทำซ้ำ"
The copy opens pre-filled with the source's trip tag and its My share, so a duplicated group dinner is still a group dinner. The date resets to today and the advanced fields are already expanded, so nothing is hidden behind the disclosure.
06

Reading the trip screen

The header carries the status pill, the dates, your notes, and — while the trip is running — "Day %lld of %lld" / "วันที่ %lld จาก %lld". Below it, the "Total spend" / "ใช้จ่ายรวม" section answers the two questions that matter: what has this cost, and what is it costing me per day.

"Total spend" / "ใช้จ่ายรวม"
Everything tagged to the trip, expenses only, in expense red.
"Booked ahead" / "จ่ายล่วงหน้า"
Tagged expenses dated before the start day, captioned "paid before the trip" / "จ่ายก่อนออกเดินทาง". Shown only when there is some.
"On the trip" / "ระหว่างทริป"
Tagged expenses dated inside the range. This is the block the daily numbers are built from.
"Settled after" / "จ่ายหลังจบทริป"
Tagged expenses dated after the last day, captioned "paid once the trip ended" / "จ่ายหลังกลับแล้ว". Shown only when there is some.
"Spent per day" / "ใช้จริงวันละ"
On-the-ground spend divided by the trip days that have already happened, captioned "on the trip so far" / "ระหว่างทริปถึงตอนนี้". Appears once at least one trip day has elapsed and there is on-trip spend.
TipThe three-way split only appears when some tagged spend actually falls outside the trip's own dates — otherwise all three lines would repeat the total. When it does appear, the three lines always add back up to the headline figure, because the total is literally their sum. There is no prepaid checkbox anywhere: the split is derived from dates alone, so fixing a transaction's date is how you fix which block it lands in.
  • Under "Spending by day" / "รายจ่ายรายวัน" a bar chart plots one bar per trip day, with today's bar tinted brighter than the rest.
  • Only on-trip days are plotted. The booked-ahead block is deliberately left out so one ฿40,000 flight cannot flatten every real bar into nothing.
  • Days you spent nothing stay in the chart as gaps rather than being squeezed out, and the whole section is hidden when nothing at all was spent on the ground.
  • The chart has no tap, scrub or long-press. With VoiceOver it reads one sentence — the number of days, the total, and which day was highest.

"Spending by category" / "แยกตามหมวด" ranks the trip's categories largest first with each one's share of the total. Subcategories fold into their parent, income is left out, and anything without a category is grouped as "Uncategorized" / "ไม่มีหมวด". A real but tiny share reads "<1%" rather than 0%.

Hidden feature
A "Scope" switch hides the prepaid block from the category list
Do thisTrip detail → "Spending by category" / "แยกตามหมวด" → the segmented "Scope" / "ขอบเขต" control → "On the trip" / "ระหว่างทริป"
Switching from "All" / "ทั้งหมด" to "On the trip" / "ระหว่างทริป" drops everything dated outside the trip, so flights and hotels stop drowning the categories you actually controlled day to day. Percentages recompute against the scoped total, so they still add to 100%. The control only appears when there is off-trip spend to exclude — with none, the two scopes would be the same list. "All" is always the default, because the total is still the truth.
  • The "Transactions" / "รายการ" section at the bottom lists everything tagged to the trip, newest first. Tapping a row opens that transaction for editing.
  • That list includes income; the totals above it do not. A refund tagged to the trip is visible here but never lowers the trip's cost.
  • With nothing tagged yet it reads "No transactions in this trip yet." / "ยังไม่มีรายการในทริปนี้"
Hidden feature
Swipe a row inside a trip to unlink it, not delete it
Do thisTrip detail → "Transactions" / "รายการ" → swipe a row left → "Unlink" / "เอาออกจากทริป"
The transaction leaves the trip and stays in your ledger untouched, with a success haptic and a queued sync so your other devices agree. There is no confirmation step, so be deliberate — but nothing is lost either way, and you can re-add it from the trip's own add-transactions picker. With VoiceOver the same action is on the rotor.
07

The budget and the daily allowance

A total tells you what happened. A budget turns it into something you can act on mid-trip: give the trip a target and the app converts what is left into what you can spend per remaining day — the one number that changes what you order tonight.

"Budget" / "งบประมาณ"
Your target, under a progress bar tinted green, amber or red.
"Left to spend" / "เหลือใช้ได้"
Budget minus spend, in green — replaced by "Over budget" / "เกินงบแล้ว" in red, showing the overage as a positive figure, once you pass the target.
"Daily allowance" / "ใช้ได้วันละ"
What is left divided by the days still to come, with the sub-line "%lld days left" / "เหลืออีก %lld วัน". Shown only while days remain and you are not over budget.
  • The days remaining include today — you can still spend on the day you are standing in. Before the trip starts that is the whole trip; once it is over it is zero, and the allowance disappears.
  • The allowance never goes negative. It floors at zero and lets the red label carry the bad news, so you are not asked to spend a negative amount a day.
  • The bar turns amber at 80% of the budget and red only once spend passes it. Landing exactly on the budget is not over budget.
  • There are no per-category budgets inside a trip. A trip's target is one figure for the whole trip.
  • With no target set, none of this appears — no bar, no left-to-spend, no allowance. The trip shows its plain total, which is a perfectly good way to use a trip.
TipAdding a budget to a trip that never had one is an ordinary edit: Trip detail → "Edit" / "แก้ไข" → "Trip Budget (THB)" / "งบทริป (บาท)" → "Save" / "บันทึก". Nothing about the trip's spending changes — the bar, the remaining figure and the allowance are all derived, so they appear against the spend that is already there.
08

The trip recap

When a trip is over — or halfway through — the recap is the one screen that answers what everyone asks: what did it cost, and what was that per day. It is built to leave the app as an image.

  1. Open the trip and tap "See trip recap" / "ดูสรุปทริป". The row only exists once the trip has spent something.
  2. Read the card: the trip name and dates, "Total" / "รวมทั้งหมด" and "Per day on the trip" / "เฉลี่ยวันละระหว่างทริป", the prepaid lines when they apply, and for a budgeted trip "Budget" / "งบประมาณ" and "Planned per day" / "แผนไว้วันละ".
  3. Scroll on for "Spending by day" / "รายจ่ายรายวัน" and the full category list, "Where it went" / "เงินไปไหนบ้าง".
  4. Tap "Share" / "แชร์" at the top right for a system share sheet carrying the rendered image, or "Done" / "เสร็จ" to close.
TipThe share control is not there the instant the sheet opens — it appears once the image has finished rendering, a fraction of a second later. If the top-right corner looks empty, wait rather than tapping around.
  • The per-day figure in the recap is the on-trip rate, not the total divided by the days. Dividing a total that contains a ฿40,000 flight by seven days would describe no day of the trip.
  • The colour bar and its legend show the five largest categories only — enough to read the shape of the trip. The list below it still shows every category.
  • The recap always uses the "All" / "ทั้งหมด" scope. Unlike the trip screen it has no on-trip lens for its category list.
  • The shared image is rendered 640 pt wide at double scale or better and carries the "Pocketbird" wordmark so it explains itself in a chat. That wordmark is not shown inside the app.
  • The shared image contains no chart — text and proportional bars survive scaling and screenshot compression better than a plotted chart does.
09

Where trips show up elsewhere

  • The "Pocketbird Trip" / "Pocketbird ทริป" Home Screen widget shows the trip you are on: "Left per day" / "เหลือใช้วันละ" for a budgeted trip, "Over budget" / "เกินงบ" once you pass the target, or "Trip spend" / "ใช้ในทริป" when there is no budget — with "Day %lld of %lld" / "วันที่ %lld จาก %lld" underneath. Small size only; tapping it opens that trip, not the list.
  • While a trip is running, a card appears in the "Highlights" / "ไฮไลต์" feed on Summary → "Insights" / "ข้อมูลเชิงลึก" — the day you are on, what is left and roughly what you can spend a day, or an amber warning when you are over. Tapping it jumps straight into that trip.
  • Only one active-trip card is ever shown. When trips overlap, the one ending soonest wins — it has the least room left to correct course — and the feed itself is capped at four cards, so a real alert can still outrank it.
  • When the app spots at least three untagged travel-looking expenses within a ten-day window over the last sixty days, the same feed offers "Track this as a trip?" / "บันทึกเป็นทริปไหม?". It matches words like flight, hotel, agoda, โรงแรม and ตั๋วเครื่องบิน in a note or category name; generic words like "travel" are excluded on purpose, and the card retires itself as soon as a real trip covers those dates.
  • The "Add Transaction" / "เพิ่มรายการ" App Intent takes an optional "Trip" / "ทริป" parameter, so a Shortcut can file a capture straight into a trip. There is no spoken trip phrase — the trip is something you set in Shortcuts or that Siri asks you for. Captures made this way are flagged for checking and land in "To Review" / "รอตรวจสอบ", and a Shortcut pointing at a trip you have since deleted saves the transaction untagged rather than failing.
  • Ask Pocketbird can answer trip questions — what a trip cost, whether you are over budget on it, how much you can spend per day.
  • Exports carry the trip: the cycle CSV ends with a trip column holding the trip's name (using the full amount, not your share), and the full data export carries the trip name, the recorded share and a trips list with dates, notes and budget. Cover photos are never in an export — they come back by signing in with cloud sync on.
  • Trips sync: name, dates, notes, budget, which transactions belong to them, your recorded share, and the cover photos. Cloud sync only runs with your consent — with it off, trips and their photos stay on the device. When two devices edit the same trip, the more recently edited version wins.
  • A connected AI assistant can list your trips and file transactions into them, but it only ever sees a trip's id, name and two dates — never the budget, notes, photos or spend — and there is no tool for it to create, rename or delete a trip. Both reading and writing need their own consent, and both ship off.
Hidden feature
Long-press the active-trip card to snooze it for exactly a week
Do thisSummary → "Insights" / "ข้อมูลเชิงลึก" → press and hold the active-trip card
A context menu offers "Snooze for a week" / "เลื่อนไปอีกสัปดาห์" and "Dismiss" / "ปิด". Snoozing hides the card for seven days and then brings it back; the ✕ in the card's corner dismisses it for the current budget cycle instead, and a different trip can still surface in the meantime. Both choices stay on that device.
Hidden feature
Pull up one trip's spending from the transaction search
Do thisTransactions → "Search transactions" / "ค้นหารายการ" → the filter icon → the "Trips" / "ทริป" section
Trips are a full search facet: pick one or several and the results narrow live behind the sheet, each one appearing as a removable chip. A "Search trips" / "ค้นหาทริป" field narrows a long list without losing what you already selected. Selecting any trip excludes untagged transactions, which is exactly how you audit a trip against the rest of the month. The section is hidden if you have no trips.
Hidden feature
budgie://trips opens the hub from anywhere
Do thisOpen the URL budgie://trips — from a Shortcut, a note, or a link on the device
The bare link selects Trips; adding ?id=<uuid> also pushes that trip's detail, which is how the Trip widget lands you inside a trip rather than on the list. An unknown or malformed id falls back to the hub instead of failing, so a link built for a trip you later deleted still opens something useful.