fix(vat): danstillställningar 25% → 6% from 2026-07-01 in guidance and suggestions (#1491)
* fix(vat): danstillställningar 25% to 6% from 2026-07-01 in guidance and suggestions (#1483) From 2026-07-01 tillträde till danstillställningar is 6% VAT, aligned with other cultural events. 6% was already a supported rate; every guidance surface was silent on the change, so a dance-event customer plausibly got 25% suggested. - swedish-vat skill: rate table row + a July 2026 change note under rate misclassification (cutover date, mixed-venue split vs 25% alcohol), and the 2631 account table mentions dance admission - revenue_reduced_6 descriptor: dans/danstillstallning/dansband/entre keywords and updated description, which flows to both the UI suggestions and gnubok_suggest_categories via findMatchingTemplates - atom seed regenerated; the generator now emits a version-downgrade guard on the ON CONFLICT so two branches each carrying a full 108-atom seed can no longer clobber each other's atom bodies depending on merge order Closes #1483 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * review(vat): drop overbroad entré keyword, cite SkU25 and the prepayment rule Two findings from the Swedish compliance review bot: - bare 'entré' matched generic admission that is not always reduced-rate; the dance-specific keywords stay - the rate claim now cites its primary sources (riksdagen 2025/26:SkU25, Skatteverket halvårsskiftet 2026) and records that tickets sold and paid before 2026-07-01 keep 25% Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * review(vat): admission-specific keywords only, explicit cutoff wording, seed rebuilt post-merge - bare 'dans' also matched dance courses and artist fees; keep danstillställning/dansband and add danskväll - rate table states the boundary explicitly: 25% through 30 June 2026 - atom seed regenerated from the tree that now includes #1489, emitted as 20260810121001 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --------- Co-authored-by: Jakob Wennberg <311770904+jakobwennberg-oss@users.noreply.github.com> Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -36,7 +36,7 @@ Always read the full reference before answering ANY question about:
|
||||
|------|-----------|
|
||||
| 25% | Default rate, most goods and services |
|
||||
| 12% | Food, hotel, restaurant, camping (drops to 6% for food from April 2026) |
|
||||
| 6% | Books, newspapers, transport, cultural events, sports, repairs (bicycles/shoes/clothing) |
|
||||
| 6% | Books, newspapers, transport, cultural events, sports, repairs (bicycles/shoes/clothing), dance events (tillträde till danstillställningar, from 1 July 2026; 25% through 30 June 2026) |
|
||||
| 0% | Exports outside EU, intra-EU supplies (with conditions) |
|
||||
|
||||
## Quick reference: Key BAS accounts
|
||||
|
||||
@@ -379,7 +379,7 @@ Complete mapping for SKV 4700.
|
||||
| Account | Name | Purpose | Ruta |
|
||||
|------|------|------|------|
|
||||
| 2630 | Utgående moms, 6% | Summary account | 12 |
|
||||
| 2631 | Utgående moms försäljning inom Sverige, 6% | Books, transport, culture | 12 |
|
||||
| 2631 | Utgående moms försäljning inom Sverige, 6% | Books, transport, culture (incl. danstillställningar from 2026-07-01) | 12 |
|
||||
| 2632 | Utgående moms egna uttag, 6% | Owner withdrawals | 12 |
|
||||
| 2633 | Utgående moms uthyrning, 6% | Rental | 12 |
|
||||
| 2634 | Utgående moms omvänd betalningsskyldighet, 6% | Reverse charge | **32** |
|
||||
@@ -418,6 +418,8 @@ Complete mapping for SKV 4700.
|
||||
|
||||
Wrong VAT rate is the most common SME error. Confusion points: restaurant vs. takeaway food (both 12% but alcohol triggers 25% splitting), digital products (e-books 6% vs. SaaS 25%), mixed hotel packages, repair services (reduced rates only for specific categories: bicycles, shoes, leather goods, clothing, household linen).
|
||||
|
||||
**July 2026 change: danstillställningar.** From 2026-07-01, tillträde till danstillställningar (dance events: dansband evenings, club nights with dance character, dance courses with tillställning character) drops from 25% to 6%, aligning dance admission with other cultural events (riksdagen 2025/26:SkU25; Skatteverket "Nya lagar från halvårsskiftet 2026"). Tickets sold and paid before 2026-07-01 keep 25% even if the event is later: the prepayment follows the rate at payment. Watch the split at mixed venues: admission is 6%, but alcohol sales stay 25% and food/serving follows its own rate, so the entrance fee must be separated from serving revenue, same pattern as concert venues.
|
||||
|
||||
### EU trade errors
|
||||
|
||||
Forgetting reverse charge on EU purchases entirely (neither output nor input VAT reported). Common for IT services, advertising platforms (Google, Meta), consulting from EU suppliers. Also: missing periodisk sammanställning, not validating buyer VAT via VIES, zero-rating without transport documentation.
|
||||
|
||||
@@ -854,3 +854,4 @@ One line per decision: `[YYYY-MM-DD] <decision>: <why>`. Appended by agents and
|
||||
[2026-08-10] Receipt hunt cron keeps searchMail=false: the mailbox leg stays manual until its time budget is proven. A sweep of one 172-message mailbox took over 600s while the route's maxDuration is 300, so enabling it nightly would time out mid-run. Flip both this flag and RECEIPT_HUNT_COMPANY_IDS together once the per-company budget is measured.
|
||||
[2026-08-10] Account 2012 reverted from BAS_REFERENCE and the EF F-skatt template moved to 2013 (#1409): the primary source (bas.se BAS 2026 v2 PDF) has no 2012 anywhere; the EF equity block is 2010/2011/2013/2017/2018/2019. 2012 "Avräkning för skatter och avgifter" is a Visma/Bokio/BL program convention that the swedish-year-end-closing skill had absorbed as if standard. Kept per-company charts that already have 2012 untouched (their history is legal and the account is a valid free slot); only the reference, the seeded template and the skill guidance change.
|
||||
[2026-08-10] committed_at overrides audited via a dedicated COMMITTED_AT_OVERRIDE action and a SECURITY DEFINER writer (#1444): reusing SECURITY_EVENT would overload attack semantics onto a sanctioned backdate, and a plain INSERT inside set_committed_at() fails under the pg harness where SET ROLE service_role has no BYPASSRLS and audit_log has no INSERT policy. EXECUTE revoked from anon/authenticated so PostgREST cannot expose the writer as an audit-noise RPC.
|
||||
[2026-08-10] Atom seed migrations gained a version-downgrade guard in the generator (#1483): each seed is a full 108-atom upsert built from its branch's tree, so two parallel PRs each carrying a seed meant the last-applied one silently reverted the other's atom bodies while skills:check stayed green (it compares files to the manifest, never the DB). The ON CONFLICT now skips rows whose registry version is newer than the seed's. Dance-event VAT stayed guidance-plus-descriptor only: no rate cutover logic in the engine, since 6% already exists as a treatment and the entry date decides the rate the user picks.
|
||||
|
||||
@@ -1281,14 +1281,20 @@ export const BOOKING_TEMPLATES: readonly BookingTemplate[] = [
|
||||
vat_rate: 0.06,
|
||||
deductibility: 'full',
|
||||
mcc_codes: [],
|
||||
keywords: ['bok', 'böcker', 'tidning', 'tidskrift', 'e-bok', 'persontransport', 'taxi', 'buss', 'tåg', 'kultur', 'konsert', 'teater', 'museum', 'bio', 'idrott', 'books', 'culture', 'transport'],
|
||||
// Dance keywords: tillträde till danstillställningar dropped from 25% to
|
||||
// 6% on 2026-07-01 (2025/26:SkU25, aligned with other cultural events).
|
||||
// Admission sold and paid before that stays 25%; the descriptor reflects
|
||||
// current law only. Deliberately admission-specific terms only: bare
|
||||
// 'dans' or 'entré' would also match dance courses, artist fees and
|
||||
// generic entrance charges, which are not all reduced-rate. (#1483)
|
||||
keywords: ['bok', 'böcker', 'tidning', 'tidskrift', 'e-bok', 'persontransport', 'taxi', 'buss', 'tåg', 'kultur', 'konsert', 'teater', 'museum', 'bio', 'idrott', 'danstillställning', 'dansband', 'danskväll', 'books', 'culture', 'transport'],
|
||||
risk_level: 'NONE',
|
||||
requires_review: false,
|
||||
impact_score: 5,
|
||||
auto_match_confidence: 0.75,
|
||||
default_private: false,
|
||||
fallback_category: 'income_services',
|
||||
description_sv: 'Intäkter med 6% moms (böcker, persontransport, kultur, idrott)',
|
||||
description_sv: 'Intäkter med 6% moms (böcker, persontransport, kultur, idrott, danstillställningar fr.o.m. 2026-07-01)',
|
||||
common: true,
|
||||
},
|
||||
{
|
||||
|
||||
@@ -232,12 +232,12 @@
|
||||
"version": 1
|
||||
},
|
||||
"horizontal/swedish-vat": {
|
||||
"hash": "e0b55b8c5fafa4dd6bb28f71616637470c72f31df2cb7f8894bfbc40f49bf578",
|
||||
"version": 3
|
||||
"hash": "adb1b84256e9a17c8c54741530f529f9d0afa645c1f3ff2c77d13d44053544dc",
|
||||
"version": 4
|
||||
},
|
||||
"horizontal/swedish-vat/vat-compliance-reference": {
|
||||
"hash": "12cf0d3b485b506dc52ad44a251e1c4507948ad3378cd70210ef972b9f482c87",
|
||||
"version": 1
|
||||
"hash": "4fa3e4b047b15d3630a7cff41b1a96091daff32bcaa13410f2c4b964b57d0771",
|
||||
"version": 2
|
||||
},
|
||||
"horizontal/swedish-year-end-closing": {
|
||||
"hash": "ec90a8ecb3b36379350c7d7ae4e93bb50197d41a38a4c2091538320e59fc83b9",
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user