← ClaudeAtlas

pennylane-reconciliationlisted

Match bank transactions to invoices in Pennylane: find transactions lacking a justification and invoices left unpaid, propose pairings, apply the matching, and letter ledger entry lines. Use when the user talks about reconciliation, bank matching, transactions without an invoice, unmatched invoices, orphans, or "what is left to reconcile". Load the pennylane-access skill first.
Xileades/pennylane-api-toolkit · ★ 0 · DevOps & Infrastructure · score 70
Install: claude install-skill Xileades/pennylane-api-toolkit
# Reconciliation and lettering **Prerequisite: `pennylane-access`.** Scopes: `transactions:all`, `supplier_invoices:all`, `customer_invoices:all`, plus `ledger_entries:all` for accounting lettering. Two **distinct** mechanisms, routinely confused: 1. **Payment matching** — links a bank transaction to an invoice. This is what you want in 95 % of cases. 2. **Lettering** — groups ledger entry lines on a counterparty account. A lower, accounting-level operation. ## 1. Establish the picture **There is no server-side filter on reconciliation state, amount or label of a transaction.** The only filters are `id`, `bank_account_id`, `journal_id`, `date`. Everything else happens in memory. ```powershell $tx = PLGetAll 'company-a' 'transactions' @( @{ field = 'date'; operator = 'gteq'; value = '2026-01-01' } ) $needsJustifying = $tx | Where-Object { $_.attachment_required } ``` On supplier invoices, `payment_status` **is** filterable: ```powershell PLGetAll 'company-a' 'supplier_invoices' @( @{ field = 'payment_status'; operator = 'in'; value = @('to_be_paid','partially_paid') } ) ``` ### Which field tells the truth The documentation declares none authoritative. In practice: | Question | Source | |---|---| | Which links exist? | `PLMatchesSupplier` / `PLMatchesCustomer` — the real list | | How much is left to pay? | `remaining_amount_with_tax` on the invoice | | Transaction balance? | `outstanding_balance` | | Convenience flag | `reconciled` (**supplier invoice only*