Getting started
PennyTally supports iPhone and iPad running iOS or iPadOS 18 or later, with an interface available in 18 languages. No PennyTally account is required. Create a ledger, select CNY, USD, EUR, GBP, HKD, CAD, AUD, NZD, SGD or CHF, then add income or expenses. You can change the default entry currency in Ledger settings. Reporting-currency conversion is available only for local ledgers that are not being moved; it saves a complete JSON backup first. iCloud and shared ledgers do not support this conversion. Basic records work offline.
Tap +, then choose Manual entry, Image entry or Voice entry. Drag + to move it. Manual entry opens the form immediately; receipt and voice input are prepared before the form opens. Check the editable form and tap Save, or Confirm and save for recognized input. Nothing is saved automatically. Payer, recorder and sharing fields are under More details.
Add a receipt
Choose + → Image entry, then Take a photo, Choose photo or Choose file. Capture up to 5 pages or import an image or unlocked PDF, adjust the crop or rotation, then continue to recognition. Existing entry forms still offer Add receipt. Images can be up to 20 MiB each. PDFs and saved receipts can be up to 5 pages and 8 MiB. Photos are resized to a maximum edge of 3,000 pixels and stored as a PDF; retain originals separately when required. For a copied image, tap Paste in image entry. Recognition starts only after you tap; review the result and save manually.
Review recognized details and tap Show amount, date or merchant on receipt to see the highlighted source. The app cross-checks a clear subtotal, tax and discount against the total. Unclear fields start unselected; mismatched calculations and uncertain text are flagged. Check the amount and currency, apply selected fields, then save the entry. Recognition never saves an entry for you. View the receipt from entry details or revision history. CSV contains attachment status only; use JSON to back up the receipt itself.
For a screenshot, choose + → Image entry → Choose photo. After cropping and recognition, reliably recognized details prefill the form. Uncertain fields remain for review; use Review recognized details to inspect candidates and highlighted sources. Correct or complete the form for one completed transaction, then tap Confirm and save. Receipt Options includes crop, recognition retry and removal; cancelling a crop leaves the current draft unchanged.
To capture a screen in another app, create a shortcut with Apple’s Take Screenshot action followed by Read image in PennyTally, passing the screenshot as Image. You can assign that shortcut to Back Tap. An ordinary screenshot does not automatically open PennyTally. One incoming image can wait locally while another screen is open; continue or discard it in PennyTally. After it opens as an entry, save it before closing the draft.
Voice or text entry
Choose + → Voice entry to open the input box beside +. Type one completed transaction, or tap the microphone when the box is empty. During recording, tap the stop button to finish transcription. Check or edit the text, then tap the upward arrow to continue to the editable entry form. Offline speech availability depends on the device and language; if unavailable, type instead.
Offline AI is built into the app and ready to use. Analysis stays on this device. Review the results before saving. The model files (about 290 MB) ship with the app; no separate model download or App Attest registration is required. Voice, entry text and receipts are not sent to a model provider. Microphone permission is requested only when you choose to record. Saved entries and receipts follow your ledger’s sync settings.
Foreign-currency entries
An entry starts in the ledger’s default entry currency, which can be changed in Ledger settings. Open Entry currency to choose CNY, USD, EUR, GBP, HKD, CAD, AUD, NZD, SGD or CHF. Currency conversion shows the converted amount, editable rate and reference date. Automatic rates follow the entry date; weekends and holidays may use an earlier published rate. Use rate for entry date refreshes that date’s quote. A labelled cached rate for the same currency pair and entry date is available offline; if none is available, enter a rate manually. Future dates require a manual rate.
Saving fixes the original amount, rate and converted amount. Editing notes or the date of a saved entry does not replace its rate; explicitly fetch or enter a new rate to change it. Manual rates also stay unchanged when a draft’s date changes. Repeat entry fetches a rate for the new entry. Check the reference date and enter your actual bank rate when needed. Totals use saved converted amounts. JSON backups preserve original amounts and rates; use an updated app to restore version 2 backups.
For a local ledger, open Ledger settings → Reporting currency to recalculate historical entries from their original amounts using historical reference rates. Preview the totals, then choose Back up and convert this ledger. The app saves a complete JSON backup first and keeps the same ledger. iCloud/shared ledgers are excluded. Conversion backups can be exported or restored as independent local copies in Import and export.
Family payments and equal shares
Open Settings → Family members and choose a family ledger to add, rename or remove bookkeeping members. The entry form’s More details page has the same management link and quick payer/recipient buttons. Members belong to the ledger and follow its local, iCloud or shared storage. They do not grant access: invitations are managed separately. Renaming keeps member totals together; removing a member preserves history. Existing local presets are imported automatically.
For a shared expense, enable Split equally and add the members who bear the cost. The payer need not be a participant. Check each share before saving. Shares use the ledger currency after conversion; leftover cents are assigned in name order.
For expenses, choose Expense for → a member or Household. The payer can be different from the person the expense belongs to; the recorder is separate from both. Old entries remain Unspecified until you edit them. Reports show each member’s attributed expenses, payments, income and equal shares, plus household and unattributed expenses. Conflicted entries are excluded. Attribution and shares do not increase total expenses or represent settled debt. JSON v5 includes the member list and attribution; older backups remain supported. All shared-ledger users should update before editing these new fields.
Editing and deletion
Open an entry to edit, view history or repeat it. Swipe left to delete permanently. Deleted ledgers can still be restored from Recently deleted. Deleted ledgers can be restored for 30 days. After that, they and their entries, receipts and history are permanently deleted.
Import, export and restore
Open Ledger settings → Import and export, or the same option in Settings. Confirm the ledger before exporting. CSV is a readable table; JSON preserves complete history and receipts. Exported files are not encrypted.
Import CSV, TSV or XLSX files from bookkeeping apps, or personal reconciliation bills from Alipay and WeChat Pay. Their CNY formats are detected from the original headers, including older Alipay GBK exports. Unzip password-protected downloads first; PDF certificates are not supported. The original direction, status and transaction ID columns are required. Refunds, repayments, transfers, investments and closed or pending payments need review. The source, merchant, item description, payment method and order ID are preserved in the note. These bills default to China Standard Time (UTC+8); select Device time zone only when it matches the exported times. Select a worksheet and header row, then choose a single amount column or separate income and expense columns. Without a type column, explicitly choose whether negative amounts mean expense and positive amounts mean income. Currency symbols and units must agree with the selected currency. Under Other columns, you can map a separate time column and a payee or merchant, which is kept in the note. Preview the totals and every row before confirming. Older XLS files must first be saved as CSV or XLSX. Transfers, other currencies, duplicate transaction IDs and invalid rows require review; explicitly choose whether to skip them. Imports create a separate local ledger and do not include account balances, attachments or revision history. Each import supports up to 10 MB, 10,000 rows and 64 columns.
Qianji tables, Suishouji app/cloud exports and YNAB Register CSV/TSV files have dedicated column recognition. Source accounts, projects and tags are preserved in notes; they do not create account balances. For YNAB, unzip the export, choose Register rather than the budget file, and explicitly select the date order used by your region. Currency must be confirmed when absent from the file. Qianji bill flags, nonzero fees or coupons, linked transactions, reversals and totals for the parent rows of split transactions require separate review. YNAB split component rows remain separate entries. Imported amounts are never silently adjusted for fees, discounts or exchange rates.
Shark bookkeeping exports with Date (日期), Category (类别), Income/Expense (收支类型), Amount (金额) and Note (备注) are supported in CSV and in copies saved as XLSX. Chinese year/month/day dates and GBK-compatible text are supported. Keep the original export name containing 鲨鱼记账 for source recognition; renamed files remain available through generic column mapping. Confirm the currency if it is absent. Summary rows, transfers, refunds, negative reversals and invalid dates require review. Headerless legacy exports have not been verified.
English Spendee and Wallet by BudgetBakers transaction tables are also recognized. Choose CSV or a copy saved as XLSX; Wallet semicolon separators are supported. Select the export’s date order and confirm its currency. Spendee wallet names and both apps’ labels remain in notes; Wallet also keeps the payee and payment method. Wallet uses the original amount and currency, never its reference-currency total. Transfer rows, unknown transfer flags, missing or mismatched currencies and invalid dates require review. Each import creates a separate ledger for the selected currency. These adapters cover the documented English column layouts, not proprietary backups or every app version.
Restore a JSON backup when you need complete PennyTally history. Review the preview and restore an independent local ledger; existing records are not overwritten or automatically uploaded. JSON backups support up to 50 MiB, 10,000 entries and 50,000 revisions. Version 7 backups include the default entry currency and require this app version or later.
iCloud status
Cloud sync is optional. Choose Settings → iCloud sync and storage, sign into iCloud in Apple settings, then enable it in the app. Select a local ledger and explicitly move it to iCloud. Use the same Apple Account on your devices.
Check iCloud storage and network availability if changes are delayed. The latest upload and download show observed events only. If a request times out, refresh the status before retrying: the original request may still finish. Do not repeatedly migrate, delete the app or overwrite a ledger to force sync. Keep a JSON backup of important records.
Family invitations and permissions
In Settings → iCloud sync and storage, the owner moves that ledger to iCloud. In Ledgers, open that ledger’s menu and choose Invite people; the same page is available from Settings → Ledger settings → choose a ledger → Sharing and invitations. Enter the recipient’s Apple Account email, choose a permission and tap Invite and send link. After confirming sharing for a new ledger, the app prepares the invitation and opens the system send sheet. Choose Messages, Mail or AirDrop to send the link; preparing it does not send an email automatically. Waiting to join does not confirm delivery. Send the link again from People with access if needed.
The recipient first installs PennyTally and signs in to iCloud with the invited Apple Account. They open the received link and follow Apple’s prompt to accept; PennyTally imports the ledger, which appears in Ledgers after iCloud finishes downloading it. If joining fails, use Settings in PennyTally to retry the invitation or check iCloud status. No Apple Family Sharing group is required. A forwarded link does not give uninvited accounts access, and family member names used for bookkeeping do not grant access.
Only the owner manages members. Read-only members can view the selected ledger; editors can change the whole ledger. Leaving or stopping sharing first saves a local copy. Already exported or saved copies cannot be removed from other people’s devices.
Missing records or a storage error
Check the selected ledger, month, search filters and revoked entries. Cloud ledgers may be temporarily unavailable when the current Apple Account cannot be confirmed. Local ledgers remain separate.
If the app cannot open its store, use Retry and contact support if the error remains. The app keeps damaged files rather than silently replacing them. Do not uninstall or delete cloud data before preserving a backup. Previously revoked entries from older versions can still be restored. Deleting an entry now permanently removes it, its receipts and edit history without using Recently deleted. Recently deleted applies to ledgers, which can be restored there. Deleted ledgers can be restored for 30 days. After that, they and their entries, receipts and history are permanently deleted.
PennyTally Help and Support
Need help with PennyTally? Email contact@yorkglobal.co.uk. Include your app version, device model, iOS or iPadOS version and steps to reproduce the issue. Remove private ledger content before sending screenshots.
For a privacy request, email contact@yorkglobal.co.uk with only the information needed to identify your support correspondence. We never need your Apple Account password or a complete ledger.