Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add norman-finance/norman-mcp-server --skill pl-opening-balancegit clone --depth 1 https://github.com/norman-finance/norman-mcp-serverWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/norman-finance/norman-mcp-server/pl-opening-balance)<a href="https://agentmods.dev/skills/norman-finance/norman-mcp-server/pl-opening-balance"><img src="https://agentmods.dev/badge/skills/norman-finance/norman-mcp-server/pl-opening-balance/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/norman-finance/norman-mcp-server/pl-opening-balance"><img src="https://agentmods.dev/badge/skills/norman-finance/norman-mcp-server/pl-opening-balance.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00071 | $0.00763 |
| Opus 5.5 | $0.00028 | $0.00305 |
| Sonnet 5.5 | $0.00014 | $0.00153 |
| Haiku 4.5 | $0.00007 | $0.00076 |
Grade A, and why
pl-opening-balance scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
Help the owner of a Polish sp. z o.o. bring the balances of its previous books into Norman. The books are continuous: the year opens with last year's closing balances (art. 5 ust. 1 and art. 12 ust. 1 of the accounting act), so Norman needs the trial balance (zestawienie obrotów i sald) on the day before its books in Norman start.
-
Status first:
get_accounting_setupshows the start of the books in Norman, whether an opening balance is in and whether it was made for another start (stale). Without a start month the owner chooses it in Account → Taxes → «Księgi w Normanie». -
The file: the trial balance from the previous program (Comarch Optima, Symfonia, enova365, wFirma, inFakt, Rewizor) as CSV or XLSX, on the day before the start, best with the BO columns. A PDF cannot be read by columns: ask for the CSV or XLSX export. A small company may type the balances instead (
manual_balances). Never record these files as documents. -
Preview:
preview_accounting_cutoverwithopening_file_ref(ormanual_balances), no mode or dates. Show the owner:- each source account with the PL_FULL account it maps to and how:
rule,ai(a suggestion),owner,previous; - Wn = Ma, the BO on 1 January and the turnover until the day before the start;
- the errors and warnings in the API's words.
Accounts Norman has no place for (kapitał zapasowy, rezerwy, rozliczenia międzyokresowe, kredyty) stay unmapped: never map them to a look-alike to get past the check. Clearing accounts that cancel out (490 with zespół 5) may be left out with
-.
- each source account with the PL_FULL account it maps to and how:
-
Fixed assets: balances on 010/020 depreciate on only once the assets are listed as taken over (
takeover_assets: name, account, kind, entry date, initial value, umorzenie, annual rate). Ask for the asset register (ewidencja środków trwałych) when the preview warns. -
Apply only when the owner asked for it after seeing the preview:
apply_accounting_cutoverwithconfirmed=true, the same file and the preview's wholeaccount_mapping. It replaces an earlier import of the year. -
After: Norman's own postings before the start leave the journal; the CIT takes the revenue and costs before the start from the import unless the owner entered them, and still needs the CIT advances of those months in «Księgi w Normanie». Point to «Księgi rachunkowe» → «Obroty i salda» in Norman to check the BO.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- yesterday First seen · 33 lines · 71 tokens per session scan A 90e47d65c17c
pl-opening-balance is a skill published in the GitHub repository norman-finance/norman-mcp-server (62 stars, last pushed today), licensed MIT. It adds 71 tokens to every session and 763 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-26.
Other skills, from other repositories
jangbu-import
A data-import workflow for turning bank files, card records, spreadsheets, receipts, tax invoices, and statement PDFs into a standard set of 13 transaction fields. OCR, or optical character recognition, is used to read information from document images and PDFs.
documentos
Prepare invoices and quotes for a connected Frihet workspace. Use for preparar factura, presupuesto, invoice draft, quote or quote conversion. Resolves missing client, currency and tax data before an authorized draft creation. Also use for invoice recovery after timeout, lost response or resultado desconocido al crear.
process-my-statements
Process a batch of PDF or CSV bank and credit-card statements end to end: extract every transaction (parallel Haiku subagents), canonicalize the party names, categorize against your locked chart of accounts (parallel Sonnet subagents), detect inter-account transfers, and assemble a reviewed Google Sheets workbook with…
generate-workbook
Build Excel workpapers pack via openpyxl. Use when working papers Excel or workbook.
csv-importer
A tool for importing transaction CSV files—spreadsheet files separated by commas—from Japanese accounting software and classifying every imported row.
prepare-primary-statements
Prepare primary financial statements from the adjusted trial balance — balance sheet and income statement (SOFP/SOCI). Use when draft FS or present statements.