Yearly bookkeeping
Template for yearly bookkeeping for small holding companies. Country-agnostic (DK example), ERP-agnostic (Ofinda example).
npx -y skills add NOGIT007/holding-accounting --skill yearly-bookkeepingAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
End-of-year bookkeeping pipeline for a small holding company. Trigger when the user asks to "start regnskab YYYY", "lav årsregnskab", "bogfør året", "close the books YYYY", or creates a new regnskab{YYYY}/ folder. Drives the full input → markdown → xlsx → reports → approval → annual report → ERP pipeline by orchestrating the four phase-specific skills.
SKILL.md
4.4 KB, ~1.0k tokens by cl100k_base, as published. Nobody here has run it
Yearly bookkeeping — orchestrator skill
This skill closes one accounting year for a holding company. It does not do the work itself — it orchestrates the four phase skills:
convert-inputs— source files → markdown.build-workbook— markdown → xlsx workbook.generate-reports— xlsx → 3 PDF reports.upload-to-erp(optional) — xlsx → ERP via the configured connector.
Mandatory pre-reads
Before doing anything, read these files in order. Do not paraphrase or skim.
settings/business.md— company profile (name, registration number, owner, fiscal year).countries/{country}/rules.md— posting rules tied to the chart of accounts.countries/{country}/tax.md— corporate tax rules.countries/{country}/compliance.md— bookkeeping-law controls.regnskab{YYYY}/note{YYYY}.md— year-specific notes from the user (proposed dividend, shareholder loan changes, extraordinary postings). If missing, STOP and ask the user to create it. A template lives attemplates/note_YYYY.md.template.
The active country is read from settings/.env (COUNTRY=...) or defaults to dk.
Then read the previous year's closing balances from the previous year's workbook. These become the opening balances for the year being processed.
Pipeline
Phase 1 — Confirm handover
- Verify
regnskab{YYYY}/input/exists and contains the expected source files. - Verify
regnskab{YYYY}/note{YYYY}.mdexists and is filled in. - If anything is missing, list what is missing and ask the user to upload before proceeding.
Phase 2 — Convert inputs
Invoke the convert-inputs skill. It produces regnskab{YYYY}/input/markdown/*.md. From this point on, always read the markdown versions — never the original PDFs / xlsx files.
Phase 3 — Build the workbook
Invoke the build-workbook skill. It produces regnskab{YYYY}/{YYYY} {Company}-vN.xlsx with all sheets defined in countries/{country}/rules.md § 5.
Phase 4 — Generate reports + approval gate
Invoke the generate-reports skill. It runs scripts/run_reports.py {YYYY} and produces the three PDFs in regnskab{YYYY}/output/.
Present in chat (not in a file yet):
- Saldobalance — all accounts with non-zero balances.
- Journal — full list of postings in the year.
- Reconciliation summary — diffs and unresolved items.
- Resultatdisponering — overført resultat, foreslået udbytte, hensat selskabsskat.
Link the three PDFs.
HARD STOP. Do not proceed to Phase 5 until the user replies with explicit approval ("OK", "godkendt", "approve", "ja generer", or similar).
Phase 5 — Final deliverables (after approval)
For DK companies:
- Use the
docxplugin skill to generate the annual report (årsrapport) inregnskab{YYYY}/output/. - Generate the XBRL xml (
regnskab{YYYY}/output/regnskab{YYYY}.xml). Verify validation. - Share both files via
computer://links.
For other countries: follow the statutory filing format defined in countries/{country}/.
Phase 5b — Optional ERP upload
If ERP_CONNECTOR is set in settings/.env, ask the user whether to push the year to the ERP. If yes, invoke the upload-to-erp skill.
Output conventions
- All deliverables live in
regnskab{YYYY}/output/— never elsewhere. - File names follow the patterns in
countries/{country}/rules.mdandscripts/README.md. - Numbers and dates use the format defined in the country's
rules.md.
Sanity checks before signing off
-
note{YYYY}.mdwas read and reflected in the Notes sheet. - Opening balances tie to prior year's closing balances exactly.
- Trial balance nets to zero.
- Each reconciliation nets to zero.
- Tax provision uses the country's current rate.
- Proposed dividend from
note{YYYY}.mdis reserved on the equity account. - All numbers and dates use the country's required format.
- Statutory filing (XBRL or equivalent) is well-formed.
- User has explicitly approved before any docx / xml / ERP push.