Everything Pascal does, explained in order.
From the first statement you drop in to the export you hand your accountant. Read it top to bottom once, or jump to the part you need.
Five steps from a statement to a balanced ledger
A ledger is one set of books: your personal accounts, or one company. Pascal Personal is free for one ledger, in the cloud or on your computer.
- Open Pascal. In the cloud, sign in from any browser. On desktop, install the app for macOS or Windows; it creates a database on your own disk and works offline.
- Add your accounts. Every bank account, card and currency account becomes a column on the canvas. Everyone you pay or get paid by shares one more column: Everyone else.
- Drop in a statement. Any format the bank exports. Rows stream in as they are read, and every line becomes a candidate posting.
- Review what Pascal understood. High-confidence labels can post themselves; the rest wait for you in guided review.
- Export whenever you like. Excel, or QuickBooks journal and bank files, with the audit trail attached.
Anything a bank can export
Pascal reads fourteen formats, including PDF, CSV, XLSX, OFX, QFX, QIF, JSON and HTML. Drop a file onto the canvas, or onto the account it belongs to, and the rows stream in as they are read.
- You can skip any row before it becomes a posting.
- Every line keeps the bank's own reference, so re-importing a statement, or importing one that overlaps another, never duplicates a thing.
- Each line becomes a candidate posting on the account you imported it into, with the counterparty on the other side.
- Amount signs follow the bank's. Pascal works out income, expense, transfer or fee afterwards.
How Pascal reads a transaction
Every candidate posting is classified as a vendor payment, internal transfer, fee, income or refund, then given one tax-treatment category, a confidence score between 0 and 1, and a one-line reason you can read. Only anonymised descriptions go to the model; see Security for exactly what is sent.
| Where a label comes from | What it means |
|---|---|
| Rule | From the transaction kind, or a rule you wrote. Example: payee matches Adobe, add the tag #software. |
| AI · auto-tagged | Proposed by the model. Posts itself only when its confidence clears the threshold you chose. |
| AI · confirmed by you | A proposal you approved, one by one or in bulk. Never overwritten afterwards. |
| Manual | Set by a person. Never overwritten by rules or the model. |
| Import | Carried in with the statement, or with a file you brought from another tool. |
| Transfer group | Two postings linked as one transfer, with any fee attached to the move. |
You make the calls that matter
- Needs review marks what the model is not sure about. Unusual amount marks a charge far from that payee's usual size.
- Guided review walks untagged transactions oldest first. Approve one by one, in bulk, or set a threshold above which labels post themselves.
- The inspector shows the postings, the category, the confidence and the reason for whatever is selected. Use ‹ and › to step through transactions, and Next to review to jump to the next open one.
- Manual and confirmed labels are never overwritten. Everything is undoable, and every change is logged.
Ten days, four accounts, one glance
Columns are your accounts, then Everyone else. Rows are days. Each chip is one posting, and a transaction with two sides shows up in two columns on the same row.
- Select opens the inspector for the posting you click. Hand pans the canvas. The date chip filters the rows, for example date:2026-03.
- Green chips are income, grey are expenses, blue are transfers and amber are fees. A dashed red border means it still needs review.
- The selected posting is shown in ink. Fit width keeps every column on screen; zoom in when a busy day needs room.
Never counted twice
- Equal and opposite amounts between your own accounts within three days surface as transfer candidates.
- Link them and they become one transfer group: two postings that balance, so neither side is income or spend.
- A fee charged for the move, like a $3 wire fee, is attached to the group and reported as a bank fee, never as spend at a vendor.
- A transfer group always balances to zero per currency. Unlink it and both sides go back to review.
Ask in plain language, or write the query
Press ⌘K (Ctrl+K on Windows) and type a sentence: what did I spend on subscriptions since January? Pascal turns it into a query over the fields that actually exist in your ledger and shows you the query it built, so you can adjust it. Or write the query yourself.
| Query | Matches |
|---|---|
| category:"Personal expense" | One tax-treatment category. Quote names that contain spaces. |
| tag:subscription | A tag. Combine with others using AND, OR and NOT. |
| payee:adobe* | A payee, with wildcards. |
| amount:<0 | Amount comparisons: <, <=, >, >=. Two of them make a range. |
| date:>=2026-01-01 | A date or a date range. A month on its own, like date:2026-03, works too. |
| NOT kind:transfer | Leave transfers, fees, income or refunds out. |
Balances that never mix
Each account has one currency, and a EUR invoice stays in EUR. Postings sum to zero per currency, so a ledger with dollars, euros and pounds is three balanced ledgers side by side, never one blended number.
Pascal notices. You decide.
Insights are computed over your latest posted transactions and refreshed whenever the ledger changes. They surface things; they never edit the books.
- Recurring charge: the same payee, the same amount, on a regular day.
- Unusual charge: an amount many times the payee's median.
- Fees: bank fees this month against last month.
- Possible transfer: two postings that look like one move, with a one-click Link as transfer.
Entities, queues and roles
- Each company or client workspace keeps its own accounts, currencies, review queue and exports. See the net position across all of them in one dashboard, then drop into any ledger. Switch from the command palette.
- Review queues empty themselves as labels are approved. Preparers propose, reviewers approve.
- Inter-company transfers surface as candidates across entities, so money is never counted twice.
- The audit trail records every label: manual, AI-assisted, AI auto, rule or import, with who, when and why. It survives the export.
Pascal Business comes in a cloud edition and an on-premise desktop edition with one database per client.
Excel and QuickBooks, with the trail attached
- An Excel workbook of the ledger, one sheet per account plus the postings.
- QuickBooks Online and QuickBooks Desktop: a journal export, and a bank export per account.
- Every export can carry the audit trail: who set each label, when, and why.
- Export whenever you like. Nothing is locked in, and the desktop database is a file on your own disk.
Pick where it runs. Change your mind later.
Pascal comes as Personal and Business, each in a fully encrypted cloud edition and a 100% local desktop edition for macOS and Windows. Whatever you choose, only anonymised transaction descriptions are sent to the AI model, never balances, account numbers or files. The full picture is on the Security page.