PLPettyLedgerA CnF Works production tool
Technical details

What runs, where it lives, and what leaves the Mac.

The useful answers for people who do not want to install mystery software and hope for the best.

Current packaged CPUApple Silicon / arm64. The existing packaged executable is a Mach-O 64-bit arm64 app.
PackagingStandalone macOS `.app` inside a DMG. The packaged app includes its Python runtime and dependencies; end users do not need to install Python.
InterfaceThe app launches a local Flask web application and opens it in the default browser. The server binds to `127.0.0.1`, not a public network interface.
Data location~/Documents/PettyLedger_Data/
DatabaseSQLite. Receipt history, account data, smart memory and settings are local.
Original receiptsCopied into the PettyLedger data directory so the editor can reopen the source file.
Accepted receipt filesPNG, JPG/JPEG, WebP and PDF. The web app has a 100 MB request limit.
AI providerAnthropic Messages API, using the API key entered by the user. The default model in the current local source is `claude-sonnet-5`.
API key storageSaved locally in PettyLedger's SQLite settings table.
Network useReal AI parsing sends the selected receipt to Anthropic. PettyLedger does not use a PettyLedger-owned cloud database, login system or sync service for receipt data.
ExportsCSV, XLSX, PDF and DOCX depending on report. Global raw/detail/summary/P-card handoffs plus per-episode reports.
BackupExport Everything ZIP packages the local database, original receipt files, generated reports and a manifest.
AI behavior

The parser is intentionally not the final authority.

PettyLedger asks the model for structured receipt data and applies local normalization for returns/refunds. The review screen is where the user decides what becomes ledger data.

The app retries a failed AI parse once. After two failures, it creates a manual-entry placeholder instead of silently losing the receipt.

Current-model maintenance matters. Anthropic retires model IDs over time. This local revision updates PettyLedger away from retired Sonnet 4 / 3.5 model IDs to currently active choices. Keep model IDs current when producing future releases.
Distribution note

Source and DMG are two different release states.

The source in this local project is ahead of the old packaged artifacts currently sitting in dist/ and packaging/release/. A new DMG must be rebuilt on macOS before these source/UI changes are the public downloadable build.

The included build scripts create the app, then create the DMG. Signing/notarization is a separate Apple Developer step.

PettyLedger settings showing API key, model, data folder and smart memory
Settings exposes the model, data location, backup and smart memory rather than hiding the technical bits.
Known boundaries

What PettyLedger is not.

Not accounting software

It does not provide tax, payroll, legal or accounting advice.

Not direct platform sync

No live CASHét, GreenSlate or PSL synchronization. Handoff is file-based.

Not offline AI

Manual entry and demo mode are local. Real AI parsing sends the selected receipt to Anthropic.