En detaljert oversikt over alle norske lover, standarder og bransjekonvensjoner
Macct håndhever automatisk for små foretak. For revisor, bokfører,
Skatteetaten og bedriftseier som vil kjøre ettersyn.
| Regel | Krav | Hvordan i Macct |
| § 4 nr. 1 |
Dobbel bokføring — debet skal alltid være lik kredit |
Hardvalidert i AccountingService.opprettBilag — bilag uten balanse avvises med klar feilmelding. |
| § 5 |
Krav til bilag: dato, beskrivelse, motpart, beløp |
Validert via DTO-validering (Jakarta Bean Validation) og service-laget. |
| § 10 |
Sporbarhet — bokførte opplysninger skal kunne følges fra dokumentasjon (kvittering, faktura) til pliktig regnskapsrapportering, og motsatt vei |
Implementert — valutakurs har dokumentert kilde, bilag har vedlegg-filnavn og ekstern referanse, bilagsnummer er monotont per selskap (atomisk sekvens). Hvert bilag, faktura og partner registreres med opprettet_av_bruker_id + tidsstempel, og alle viktige hendelser (innlogging, IDOR-forsøk, sanity-job-avvik, godkjenninger) logges til en uforanderlig revisjonslogg. |
| § 9 |
Kontoplan |
NS 4102 ferdig utfylt med 260+ kontoer. |
| § 11 |
Spesifikasjoner: hovedbok, kundereskontro, leverandørreskontro |
Implementert som rapport-endepunkter med daglig sanity-jobb (ReskontroSanityJob) som verifiserer at hovedbok og reskontro stemmer eksakt. |
| § 13 |
Oppbevaring 5 år |
Implementert — bilag er uforanderlig etter opprettelse, uavhengig av om perioden er åpen eller lukket. Endring eller sletting blokkeres direkte i lagringslaget. Korrigering kan kun gjøres via stornering (motbilag). |
| § 14 |
Korrigering ved stornering — ikke sletting |
Implementert via /api/bilag/{id}/reverser. Lager nytt motbilag med byttet debet/kredit; original beholdes uendret. Krysslenker via stornert_av_id / storner_av_id. Dobbel storno blokkeres. Faktura følger samme prinsipp: etter sending er den uforanderlig — korreksjon krever kreditnota. |
| § 10 |
Sporing av endringer på master-data (kunde-/leverandørinformasjon, selskap, lønn, brukerrettigheter) |
Implementert via audit-trigger i lagringslaget — hver endring lagrer et før/etter-snapshot (JSON) sammen med hvem som endret og når. Lar revisor se hele endringshistorikken for hver kunde, leverandør, ansatt etc. |
| Regel | Krav | Hvordan i Macct |
| § 1-6 |
Definisjon lite foretak (omsetning < 84 MNOK, balanse < 168 MNOK, < 50 årsverk) |
Sjekkes i Nrs8Validator. Macct er primaert designet for selskap som faller under denne grensen. |
| § 4-1 |
Grunnleggende prinsipper:
— Opptjeningsprinsippet
— Sammenstillingsprinsippet
— Forsiktighet (laveste verdi)
— Konsistens
|
Innebygget — faktura fører inntekten ved levering (ikke betaling), avskrivninger sammenstiller kostnaden over levetid, åpne fremmedvaluta-fordringer revalueres til balansedagens kurs (NRS 8 § 4-9). |
| § 4-3 |
Kongruensprinsippet — resultat går via resultatkonto, ikke direkte mot egenkapital |
Hardvalidert — AccountingService blokkerer direkte postering på 2050/2070/2080 unntatt for bilagstype 'aapningsbilag', 'avslutning' eller 'storno'. |
| § 4-9 |
Omregning av poster i fremmedvaluta til balansedagens kurs |
Implementert — ved årsavslutning revalueres åpne fordringer og gjeld i fremmedvaluta til balansedagens kurs (31.12). Urealisert kursdifferanse bokføres på 8060 (gevinst) eller 8160 (tap), med fullt audit-spor av hver enkelt revaluering. |
| § 5-2 |
Anleggsmidler aktiveres og avskrives |
Soft-warning — Macct varsler ved beløp > 30 000 NOK på konto 6500-6599 (jf. sktl. § 14-40). Avskrivningsplan er manuell. |
| Forenkling/krav | Hvordan i Macct |
| Forenklede notekrav (8 obligatoriske noter) |
Generert i årsregnskapet via AarsregnskapService. |
| Ingen kontantstrømoppstilling påkrevd |
Utelatt — vi genererer ikke denne for små-foretaks-flyten. |
| Bevertning — fradragsgrense 592 kr/pers (2026, skattebetalingsforskriften § 6-46-1) |
Soft-warning på konto 7330 (Representasjon) ved beløp > 592 kr. Bruker får forklaring og henvises til 7350 (gaver, ikke-fradrag) for overskytende. |
| Forsiktighet for fordringer — laveste verdi |
Delvis via årsslutt-revaluering. Manuell vurdering av tapsrisiko på den enkelte kunde er ikke automatisert. |
| Revisjonsplikt — kan fravelges hvis omsetning < 7 MNOK + balanse < 27 MNOK + < 10 årsverk (asl. § 7-6) |
Sjekkes i Nrs8Validator — viser status og henviser til Foretaksregisteret for selve fravalget. |
| Regel | Krav | Hvordan i Macct |
| § 14-40 |
Aktiveringsgrense 30 000 kr eks. mva for varige driftsmidler |
Soft-warning på beløp > 30 000 NOK på konto 6500-6599 (Verktøy, inventar, driftsmateriale, programvare) — der WorldCom-mønsteret typisk oppstår. Brukeren henvises til 12xx-aktivering. For fremmedvaluta-bilag vises beløpet både i NOK og opprinnelig valuta. |
| § 14-41 |
Saldoavskrivning, gruppe A-J med faste satser (10–30 %) |
Ikke automatisert — må føres manuelt med korrekt sats per gruppe. |
| § 6-1 |
Fradrag i næringsvirksomhet |
Implementert via NS 4102-konteringen. Konteringsforslaget peker mot riktig fradragskonto basert på tekstanalyse. |
| Selskapsskatt 22 % (AS, 2026) |
Bokført i årsoppgjøret på konto 8300 (Skattekostnad) → 2500 (Betalbar skatt) for AS. |
| Regel | Krav | Hvordan i Macct |
| § 2-1 |
Registreringsplikt — omsetning > 50 000 kr siste 12 mnd |
Innstilling — selskap markeres som mva-pliktig via selskap_innstillinger. Ingen automatisk overvåking av terskelen. |
| Mva-satser: 25 % (høy), 15 % (mat), 12 % (lav, transport/kultur), 0 % (eksport/fritatt) |
Alle satser som SAF-T-koder (3, 31, 33, 5, 52, 6, 1, 11, 13, 14...). Mva auto-beregnes per linje. |
| Bimaanedlig terminoppgave (6 terminer/år) |
Implementert via /api/rapport/mva og bokføringen på konto 2740 (Oppgjørskonto). |
| Termin-lås etter levert mva-melding |
Implementert — regnskapsperiode.mva_lukket settes ved bokført mva-oppgjør. Senere mva-bilag i terminen blokkeres. |
| SAF-T v1.30 (mandatory fra jan 2025) |
Eksport via SaftExportService. |
| Konto-mva-kode-konsistens |
Hardvalidert — 1610-1619 må ha inngående mva-kode, 27xx (utenom 2740) må ha utgående, 3xxx tillater bare utgående, 4xxx-7xxx bare inngående. |
| Komponent | I Macct |
| Kontoklasser 1-8 (eiendel, EK+gjeld, salgsinntekt, varekost, lønn, av-/nedskrivning, drift, finans+skatt) |
260+ kontoer ferdig utfylt og enforcet. |
| Reskontrokonti 1500 (kunde) / 2400 (leverandør) krever per-partner-spesifikasjon |
Hardvalidert — linjer på 1500/2400 uten partner blir avvist både i bokføringstjenesten og i lagringslaget. |
| MVA-utligningskonti 1610-1619 / 27xx |
Innebygget — brukes ved automatisk MVA-postering. |
| Regel/krav | I Macct |
| Hovedbok i NOK |
Innebygget — bilagslinje.debet/kredit alltid i NOK; konvertert via formel ved write. |
| Daglig kurs fra Norges Bank |
Auto — @Scheduled cron 17:30 UTC virkedager; lastNObservations=30 (~6 ukers historikk). |
| Kurs-kilde må dokumenteres ved manuell overstyring (bokf-l. § 7) |
Hardvalidert — når brukeren overstyrer den auto-hentede kursen kreves det eksplisitt kilde-tekst (f.eks. "DNB vekslingsnota nr. X-12345"). Auto-hentet kurs merkes med "Norges Bank YYYY-MM-DD". |
| Realisert kursdifferanse ved innbetaling |
Auto-bokført på 8040 (Valutagevinst) eller 8150 (Valutatap) når betalings-kurs avviker fra faktura-kurs. |
| Urealisert kursdifferanse ved 31.12 (NRS 8 § 4-9) |
Implementert ved årsavslutning. Åpne fordringer og gjeld revalueres til balansedagens kurs; differansen bokføres på 8060 (gevinst) eller 8160 (tap). |
| 4 felter per regnskapslinje: valutakode, valutakurs, belop_valuta, belop_nok |
NOT NULL på bilagslinje, faktura, fakturalinje, faktura_betaling. Default NOK / 1.0 / belop / belop. |
| Omregningsfaktor (1 vs 100 for JPY/HUF/KRW) |
På valuta-master — valuta.antall_per_kurs. Form: belop_nok = belop_valuta * valutakurs / antall_per_kurs. |
| Lag | Mekanisme |
| Brukergrensesnitt |
Inline-validering og soft-warnings. Brukeren får forklarende meldinger som peker mot riktig kontering. |
| Forretningslogikk |
Hard-validering: balansekrav, partner-krav for kunde-/leverandørsfordringer, låste perioder, MVA-kode-retning, kongruens-prinsipp, kurs-kilde, og at fakturadato er innen rimelig intervall. |
| Lagring |
Innebygde regler i datalaget enforser de samme invariantene som forretningslogikken: partner-krav på 1500/2400, én valuta per bilag, uforanderlighet i avsluttet periode, og monotont bilagsnummer per selskap. |
| Daglig avstemming |
Reskontro-sanity (kl 03:15 UTC): kontrollerer at sum av kundefordringer og leverandørgjeld per partner stemmer med saldo i hovedboken. Valuta-avstemming (kl 03:30 UTC): kontrollerer at formelen belop_nok = belop_valuta × kurs / omregningsfaktor stemmer på tvers av alle bokførte rader. Avvik > 0,01 NOK varsles til firmapost@macct.no. |
For et SMB-foretak som driver innenfor NRS 8-rammen er Macct «komplett». For
større eller mer komplekse organisasjoner mangler: