Bokio bookkeeping verification (Swedish IT-konsult AB)
This skill packages a recurring workflow: answering "how do I do X in Bokio" questions and
double-checking SIE-4 exports, for a single-shareholder Swedish aktiebolag doing IT
consulting (SNI 62.0x). It is a thin wrapper that always defers to a live, external
reference repo rather than baking in accounting rules that go stale.
Reference source (always check for updates first)
The authoritative reference material lives at:
https://github.com/erp-mafia/accounted — path .claude/skills
This repo contains a large set of Claude skills for Swedish bookkeeping compliance,
written for an accounting-software company. Relevant subset for this workflow:
industry/konsult-it/ — IT-konsult-specific patterns (reverse charge on foreign SaaS,
EU/non-EU service invoicing, 3:12 for IT consultants, software capitalization)
modifier/single-shareholder-ab-fmb/ — fåmansbolag mechanics for a one-owner AB
(marked as POC/test content in the repo itself — treat its figures as provisional and
prefer swedish-tax-planning for anything load-bearing)
swedish-tax-planning/, swedish-vat/, swedish-invoice-compliance/,
swedish-year-end-closing/, swedish-payroll/, swedish-financial-reporting/,
swedish-asset-accounting/, swedish-accounting-compliance/ — horizontal skills
swedish-sie-import-export/ — SIE-4 record types, validation rules, encoding handling
swedish-project-accounting/, swedish-sru-filing/, swedish-e-invoicing/ — lower
priority for a solo consultant AB (mostly aimed at people building accounting software),
but load if the question is specifically about SRU filing, e-invoicing, or WIP/project
accounting
Step 0: check for updates, every time
Before answering, clone or re-fetch the repo (shallow, sparse-checkout on .claude/skills
is enough) and compare against what you last read in this conversation or prior sessions:
cd /tmp && rm -rf accounted-check && git clone --depth 1 --filter=blob:none --sparse \
https://github.com/erp-mafia/accounted.git accounted-check
cd accounted-check && git sparse-checkout set .claude/skills
git log -1 --format=%H
If you have a previously recorded commit hash for this repo, diff against it
(git log <old>..<new> --oneline -- .claude/skills) and re-read any changed files before
proceeding. If this is the first time in a session, just read the relevant SKILL.md files
fresh — don't assume training data or an old cached read is current. Note the commit hash
you used so a future check can diff against it.
If the repo is unreachable (network restrictions), say so plainly and proceed with
whatever version of the skills you already have loaded, flagging that you couldn't confirm
it's current.
Step 0b: Skatteverket outranks everything else
The accounted skills repo is a secondary source — someone's write-up of the rules, which
can lag or contain errors (it explicitly flags some of its own content as provisional, e.g.
single-shareholder-ab-fmb). Skatteverket's own current published material is the primary
source and wins whenever the two conflict, as long as it's genuinely the latest version.
For any figure or rule that actually matters to the answer (a threshold, a rate, a deadline,
a form field, a ställningstagande), search skatteverket.se and web-search generally for the
current position before finalizing the answer:
- Prefer skatteverket.se pages, current-year broschyrer/blanketter, and ställningstaganden
over the repo's summary of them.
- Check the publication/last-updated date on whatever you find — an old cached SKV page or
a ställningstagande that's since been replaced is not "the latest version." If you can't
tell whether it's current, say so.
- When Skatteverket's own text and the
accounted repo agree, cite Skatteverket's version
(dnr/paragraph) as the primary reference and treat the repo as corroboration.
- When they disagree, go with Skatteverket, tell the user there was a discrepancy, and note
it (in your response, not silently) so they know the repo may need updating upstream.
- Skip this live-verification step only for background/framework material that isn't
time-sensitive (e.g. the general definition of an elektronisk tjänst) — not for anything
with a number, date, or threshold attached.
Workflow A: "How do I do X in Bokio?"
- Identify the accounting/tax topic (VAT treatment, invoicing, payroll, year-end, asset
capitalization, etc.) and load the matching skill(s) from the table above.
- Answer with concrete BAS account numbers, the relevant law reference (ML/IL/BFL/ÅRL
paragraph), and — since the question is "how do I do this in Bokio" specifically —
translate the bookkeeping answer into what to actually click/enter in Bokio (which
account, which VAT code, which document type) where you can infer it; flag clearly when
you're inferring Bokio's UI behavior rather than citing it directly.
- Flag when a figure is time-dependent (IBB/PBB, momssatser, thresholds) and verify the
current-year value against skatteverket.se per Step 0b rather than trusting the repo's
cached table alone.
Workflow B: verify a SIE-4 export
- Confirm the file is SIE type 4 (ideally 4E — full verifications, not just balances).
If given a different format (TSV/CSV extract), explain that SIE-4 is preferred because
it preserves per-verification structure, and ask for that instead if double-checking is
the goal.
- Detect encoding (declared
#FORMAT PC8/CP437 is common from Bokio; verify it decodes
cleanly, watch for mojibake) and convert to UTF-8 for readability.
- Parse the file and check, per
swedish-sie-import-export:
- Every
#VER block's #TRANS amounts sum to exactly 0.00
#IB/#UB continuity across periods, and that result accounts (3xxx-8xxx) have zero IB
- Verification numbering is sequential with no gaps within each series
#UB/#RES balances reconcile against the sum of the verifications that feed them
- Check account usage against the
konsult-it patterns where applicable: foreign SaaS
purchases (4531/4535 with matching 2614/2645), EU/non-EU service sales (3308/3305),
owner salary (7210/7220) and its 3:12 implications, software capitalization (1010/1012 +
2089 fond), and flag anything that looks like a common error pattern documented in that
skill (e.g. domestic VAT charged on an EU B2B invoice, one-sided reverse charge entries).
- Report per-verification: what it books, whether it balances, whether the account choice
and any VAT/tax treatment look correct, and flag anything time-dependent (fiscal year
length, deadlines implied by
#RAR) worth confirming was a deliberate choice.
- Summarize findings in a table or short list — verification-by-verification for a small
file, or grouped by pattern for a large one — rather than restating every line of the raw
file.
What NOT to do
- Don't rely on memorized Swedish tax figures without checking the reference repo first —
IBB, PBB, momssatser, and 3:12 parameters change yearly and mid-year.
- Don't treat
single-shareholder-ab-fmb figures as final — it's explicitly marked POC/test
content in the repo; cross-check against swedish-tax-planning/references/312-regler.md
for anything the user will act on.
- Don't quietly skip the update check because "it was probably fine last time" — that's the
entire point of this skill.
- Don't treat the
accounted repo as the final word on any figure or rule that matters —
it's a convenient cache of Skatteverket's position, not a replacement for it.
1---2name: bokio-swedish-ab-bookkeeping3description: Answer Swedish bookkeeping/tax/VAT questions about how to do something in Bokio, and verify SIE-4 exports from Bokio, for a single-shareholder Swedish IT-konsult aktiebolag. Use this skill whenever the user asks "how do I book X in Bokio", asks to double-check their Bokio bookkeeping, or uploads a .SE/.SI/SIE-4 file for review.4---56# Bokio bookkeeping verification (Swedish IT-konsult AB)78This skill packages a recurring workflow: answering "how do I do X in Bokio" questions and9double-checking SIE-4 exports, for a single-shareholder Swedish aktiebolag doing IT10consulting (SNI 62.0x). It is a thin wrapper that always defers to a live, external11reference repo rather than baking in accounting rules that go stale.1213## Reference source (always check for updates first)1415The authoritative reference material lives at:1617`https://github.com/erp-mafia/accounted` — path `.claude/skills`1819This repo contains a large set of Claude skills for Swedish bookkeeping compliance,20written for an accounting-software company. Relevant subset for this workflow:2122- `industry/konsult-it/` — IT-konsult-specific patterns (reverse charge on foreign SaaS,23 EU/non-EU service invoicing, 3:12 for IT consultants, software capitalization)24- `modifier/single-shareholder-ab-fmb/` — fåmansbolag mechanics for a one-owner AB25 (marked as POC/test content in the repo itself — treat its figures as provisional and26 prefer `swedish-tax-planning` for anything load-bearing)27- `swedish-tax-planning/`, `swedish-vat/`, `swedish-invoice-compliance/`,28 `swedish-year-end-closing/`, `swedish-payroll/`, `swedish-financial-reporting/`,29 `swedish-asset-accounting/`, `swedish-accounting-compliance/` — horizontal skills30- `swedish-sie-import-export/` — SIE-4 record types, validation rules, encoding handling31- `swedish-project-accounting/`, `swedish-sru-filing/`, `swedish-e-invoicing/` — lower32 priority for a solo consultant AB (mostly aimed at people building accounting software),33 but load if the question is specifically about SRU filing, e-invoicing, or WIP/project34 accounting3536### Step 0: check for updates, every time3738Before answering, clone or re-fetch the repo (shallow, sparse-checkout on `.claude/skills`39is enough) and compare against what you last read in this conversation or prior sessions:4041```bash42cd /tmp && rm -rf accounted-check && git clone --depth 1 --filter=blob:none --sparse \43 https://github.com/erp-mafia/accounted.git accounted-check44cd accounted-check && git sparse-checkout set .claude/skills45git log -1 --format=%H46```4748If you have a previously recorded commit hash for this repo, diff against it49(`git log <old>..<new> --oneline -- .claude/skills`) and re-read any changed files before50proceeding. If this is the first time in a session, just read the relevant SKILL.md files51fresh — don't assume training data or an old cached read is current. Note the commit hash52you used so a future check can diff against it.5354If the repo is unreachable (network restrictions), say so plainly and proceed with55whatever version of the skills you already have loaded, flagging that you couldn't confirm56it's current.5758### Step 0b: Skatteverket outranks everything else5960The `accounted` skills repo is a secondary source — someone's write-up of the rules, which61can lag or contain errors (it explicitly flags some of its own content as provisional, e.g.62`single-shareholder-ab-fmb`). **Skatteverket's own current published material is the primary63source and wins whenever the two conflict**, as long as it's genuinely the latest version.6465For any figure or rule that actually matters to the answer (a threshold, a rate, a deadline,66a form field, a ställningstagande), search skatteverket.se and web-search generally for the67current position before finalizing the answer:6869- Prefer skatteverket.se pages, current-year broschyrer/blanketter, and ställningstaganden70 over the repo's summary of them.71- Check the publication/last-updated date on whatever you find — an old cached SKV page or72 a ställningstagande that's since been replaced is not "the latest version." If you can't73 tell whether it's current, say so.74- When Skatteverket's own text and the `accounted` repo agree, cite Skatteverket's version75 (dnr/paragraph) as the primary reference and treat the repo as corroboration.76- When they disagree, go with Skatteverket, tell the user there was a discrepancy, and note77 it (in your response, not silently) so they know the repo may need updating upstream.78- Skip this live-verification step only for background/framework material that isn't79 time-sensitive (e.g. the general definition of an elektronisk tjänst) — not for anything80 with a number, date, or threshold attached.8182## Workflow A: "How do I do X in Bokio?"83841. Identify the accounting/tax topic (VAT treatment, invoicing, payroll, year-end, asset85 capitalization, etc.) and load the matching skill(s) from the table above.862. Answer with concrete BAS account numbers, the relevant law reference (ML/IL/BFL/ÅRL87 paragraph), and — since the question is "how do I do this in Bokio" specifically —88 translate the bookkeeping answer into what to actually click/enter in Bokio (which89 account, which VAT code, which document type) where you can infer it; flag clearly when90 you're inferring Bokio's UI behavior rather than citing it directly.913. Flag when a figure is time-dependent (IBB/PBB, momssatser, thresholds) and verify the92 current-year value against skatteverket.se per Step 0b rather than trusting the repo's93 cached table alone.9495## Workflow B: verify a SIE-4 export96971. Confirm the file is SIE type 4 (ideally 4E — full verifications, not just balances).98 If given a different format (TSV/CSV extract), explain that SIE-4 is preferred because99 it preserves per-verification structure, and ask for that instead if double-checking is100 the goal.1012. Detect encoding (declared `#FORMAT PC8`/CP437 is common from Bokio; verify it decodes102 cleanly, watch for mojibake) and convert to UTF-8 for readability.1033. Parse the file and check, per `swedish-sie-import-export`:104 - Every `#VER` block's `#TRANS` amounts sum to exactly 0.00105 - `#IB`/`#UB` continuity across periods, and that result accounts (3xxx-8xxx) have zero IB106 - Verification numbering is sequential with no gaps within each series107 - `#UB`/`#RES` balances reconcile against the sum of the verifications that feed them1084. Check account usage against the `konsult-it` patterns where applicable: foreign SaaS109 purchases (4531/4535 with matching 2614/2645), EU/non-EU service sales (3308/3305),110 owner salary (7210/7220) and its 3:12 implications, software capitalization (1010/1012 +111 2089 fond), and flag anything that looks like a common error pattern documented in that112 skill (e.g. domestic VAT charged on an EU B2B invoice, one-sided reverse charge entries).1135. Report per-verification: what it books, whether it balances, whether the account choice114 and any VAT/tax treatment look correct, and flag anything time-dependent (fiscal year115 length, deadlines implied by `#RAR`) worth confirming was a deliberate choice.1166. Summarize findings in a table or short list — verification-by-verification for a small117 file, or grouped by pattern for a large one — rather than restating every line of the raw118 file.119120## What NOT to do121122- Don't rely on memorized Swedish tax figures without checking the reference repo first —123 IBB, PBB, momssatser, and 3:12 parameters change yearly and mid-year.124- Don't treat `single-shareholder-ab-fmb` figures as final — it's explicitly marked POC/test125 content in the repo; cross-check against `swedish-tax-planning/references/312-regler.md`126 for anything the user will act on.127- Don't quietly skip the update check because "it was probably fine last time" — that's the128 entire point of this skill.129- Don't treat the `accounted` repo as the final word on any figure or rule that matters —130 it's a convenient cache of Skatteverket's position, not a replacement for it.