Oracle3
Open-source trading engine and MCP server for prediction markets. Fee-aware no-arbitrage trading across related contracts, live on Kalshi, Polymarket and Solana or on paper.
Bogholderisystem til danske mikrovirksomheder med AI-agent eller manuel styring
Translation pending
AI summary · README
FinanceTypeScript · HTMLGitHub @mikkelkrogsholmSelf-installOwner unconfirmed
Paste into Claude or ChatGPT for installation instructions suited to your environment.
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Installable projects can be verified without a deployment domain. Use GitHub sign-in for a personal repository, or the repository verification file above for an organization repository.
Ask about other verification options
Loading the full README. The saved excerpt is shown below.
Bogholderen i maskinen — bygget til små danske virksomheder. Rentemester er et kommende bogholderisystem for danske mikrovirksomheder, freelancere, konsulenter og små ApS’er. Det kan bruges på to måder — en AI-agent kan drive det daglige bogholderarbejde for dig, eller du kan styre det selv direkte — mens selve regnskabet i begge tilfælde holdes på plads af faste regler, bilag, momslogik og en kontrollerbar historik. Du skal ikke bruge aftenen på at klikke rundt i et regnskabsprogram. Systemet skal finde bilag, matche betalinger, bogføre det sikre og spørge dig om resten.Read the full README ↗
Bogholderen i maskinen — bygget til små danske virksomheder.
Rentemester er et kommende bogholderisystem for danske mikrovirksomheder, freelancere, konsulenter og små ApS’er. Det kan bruges på to måder — en AI-agent kan drive det daglige bogholderarbejde for dig, eller du kan styre det selv direkte — mens selve regnskabet i begge tilfælde holdes på plads af faste regler, bilag, momslogik og en kontrollerbar historik.
Målet er enkelt:
Du skal ikke bruge aftenen på at klikke rundt i et regnskabsprogram.
Systemet skal finde bilag, matche betalinger, bogføre det sikre og spørge dig om resten.
Rentemester er stadig under udvikling, men retningen er klar: agent-first bogholderi med danske regler som fundament.
Den kanoniske vej fra en ren clone til første verificerede postering er
docs/onboarding.md. Den adskiller udviklerinstallation,
driftsinstallation, oprettelse af en ny virksomhed og migration fra et andet
system, og inkluderer de grønne kontrolporte for CLI, cockpit og MCP.
Kort for en lokal udviklerinstallation:
git clone https://github.com/mikkelkrogsholm/rentemester.git
cd rentemester
bun install
bun link
rentemester --version
command -v rentemester
command -v rentemester-mcp
rentemester-mcp er en stdio-server, ikke en interaktiv hjælpekommando; brug
bun run smoke-mcp til at verificere den. Brug aldrig CLI-argumenter eller
repo-filer til adgangskoder, API-nøgler eller andre hemmeligheder.
Rentemester er tænkt til dig, der driver en mindre dansk virksomhed med relativt simple forhold:
Det er ikke tænkt som første version til store virksomheder, lager, løn, kasseapparat, avanceret projektregnskab eller komplekse internationale forhold.
På sigt skal Rentemester kunne hjælpe med det praktiske bogholderi fra ende til ende:
Den vigtige pointe er, at AI’en ikke bare får lov til at gætte.
AI-agenten kan gøre arbejdet, men Rentemesters kerne skal kontrollere, at bogføringen overholder reglerne.
Traditionelle regnskabssystemer er ofte bygget sådan her:
Du logger ind
→ finder bilag
→ vælger konti
→ afstemmer bank
→ laver moms
→ eksporterer til revisor
Rentemester vender modellen om:
Systemet indsamler data
→ agenten udfører rutinearbejdet
→ reglerne kontrollerer alt
→ du håndterer kun undtagelserne
Med andre ord:
Agenten handler. Reglerne afgør. Ledgeren håndhæver.
Rentemester er bygget til at blive brugt på to måder — og begge er gyldige. Det er ikke to forskellige programmer; det er samme kerne, samme regler og samme ledger, betjent af enten en agent eller et menneske.
En selvstændig AI-agent driver bogholderiet for dig. Agenten læser bilag, foreslår posteringer og bogfører det entydige — alt sammen gennem Rentemesters værktøjer, ikke ved at gætte.
Det ser sådan ud i praksis:
Teknisk sker det enten via kommandoen agent run (én komplet, gentagelig runde) eller via Rentemesters MCP-server, så en agent i fx en chatklient kan kalde de samme værktøjer skridt for skridt. Agenten gætter aldrig: alt den ikke kan afgøre med sikkerhed, bliver til en opgave på listen — aldrig en postering.
Du driver det selv, direkte. Hver handling i Rentemester er en kommando på kommandolinjen — udsted en faktura, importér en bank-CSV, bogfør en udgift, kør momsrapporten, luk en periode.
Det ser sådan ud i praksis:
Begge måder skriver i samme ledger, følger samme regler og efterlader samme reviderbare spor. Forskellen er kun, hvem der trykker på knapperne.
Fordi bogføring kræver tillid.
En chatbot må gerne være kreativ. Et bogholdersystem må ikke være kreativt med dit regnskab.
Rentemester bygges derfor med en hård kerne:
AI’en må hjælpe. Systemet skal sige nej, når noget ikke er sikkert nok.
Forestil dig en typisk måned:
Målet er ikke at fjerne ansvar. Målet er at fjerne gentagelser, rod og unødige klik.
Rentemester har et lokalt web-baseret kontrolpanel — cockpittet — der ligger oven på samme ledger, regler og API som CLI'en. Hvis du ikke har lyst til at leve i terminalen, er det her du skal være.
Cockpittet giver dig en visuel hverdag:
I én terminal — start API'en (samme kerne som CLI'en bruger):
bun run src/cli.ts serve --workspace ./min-workspace
# Cockpit backend listening on http://127.0.0.1:4319
I en anden terminal — start cockpit-UI'en:
bun run cockpit:dev
# Bun-dev-server på http://localhost:5319
Åbn http://localhost:5319 i en browser. Buns native dev-server proxer
/api-kald videre til backend på port 4319, så cockpittet og CLI'en altid
arbejder på den samme ledger. bun run cockpit:build og
bun run cockpit:test bruger også Bun direkte; Vite og Vitest indgår ikke i
cockpit-toolchainen. Root og cockpit er ét Bun-workspace med én installation
og én lockfile.
Den fulde lokale releasekontrol køres på alle maskinens kerner med Bun 1.4:
bun run verify:local
Den kører backend- og cockpittests parallelt samt typecheck, lint, audit, licenser, builds, smoke og containerverifikation. GitHub genkører ikke de tusindvis af tests ved push; det bygger og verificerer i stedet produktimaget.
Alt cockpittet kan, kan CLI'en også — og omvendt. Samme regler, samme audit-trail, samme append-only historik. Cockpittet er en blødere indgang; CLI'en er en hårdere én.
Ikke-reviewede kandidater og godkendte releases udgives på GHCR. Begge kan
fastlåses på den eksakte digest fra release-manifest.json; kandidatens digest
kan bruges før Digisense-review, men er ikke dermed compliance-godkendt:
export RENTEMESTER_IMAGE='ghcr.io/mikkelkrogsholm/rentemester@sha256:<valgt-digest>'
docker compose -f docker-compose.example.yml up -d
Afprøv en ikke-reviewet kandidat mod et nyt workspace eller en verificeret
datakopi, aldrig den eneste live-ledger. Hosted-profilen har individuelt Better
Auth-login, MFA og server-side RBAC. Compose-eksemplet vælger i stedet eksplicit
local-container: en enkel no-login profil, der binder inde i containeren, men
kun må publiceres på værtens 127.0.0.1 som i den checkede Compose-fil. Den
profil må aldrig eksponeres på LAN eller internet. Eksemplet bruger
Docker-volumes, som initialiseres med den korrekte non-root-ejer; eksisterende
data skal importeres som en bevidst, separat operation.
Image og cockpit versioneres samlet. Det offentlige www/-site har derimod
egen CI og deploy-livscyklus og er ikke en del af containeren. Se
docs/versioning.md, CHANGELOG.md og
docs/release/README.md for versions- og
Digisense-godkendelsesflowet. Vurderingen af Bun 1.4, de funktioner Rentemester
bør udnytte, og den videre container-/complianceplan står i
docs/bun-1.4-assessment.md. De to anbefalede
driftsprofiler—enkel lokal enkeltvirksomhed og isoleret hosted flerfirma—er
beskrevet i docs/deployment-modes.md.
Et eksekverbart eksempel ligger i examples/agent-demo/ — det viser én månedes bogføring fra ende til ende over Rentemesters MCP-overflade.
bun run agent-demo
# eller direkte:
bun examples/agent-demo/run.ts --company /tmp/agent-demo --mode rule-based
Demoen importerer en bank-CSV, ingester 6 bilag (Google Workspace, OpenAI, AWS, DSB, Elgiganten, og en restaurant-bon uden formålsbeskrivelse), foreslår match mod bankudtog, auto-bogfører 5 høj-confidence udgifter, og lader resten ligge i exception-køen. Til sidst kører den momsrapport, audit-verifikation og healthcheck. Ingen API-keys, intet netværk — alt kører lokalt over MCP-stdio mod src/mcp/server.ts.
Se examples/agent-demo/README.md for forventet output og kode-walkthrough.
Rentemester er stadig under udvikling og bør endnu ikke være din eneste kilde til sandhed (se forbeholdet længere nede). Men kernen virker allerede — alt nedenfor kan køres i dag, både af en agent og af et menneske. Listen er grupperet, så du som virksomhedsejer kan se hvad det betyder for dig.
Sådan kommer data ind
.eml-filer / maildrop) — første trin mod en rigtig bilagsmailBogføring og daglig drift
Fakturering
Moms og rapporter
Sikkerhed, backup og udlevering
audit verify-kommando der tjekker hele kædenBrug og drift
agent run), der kører én komplet, gentagelig bogføringsrunde på en allerede init-initialiseret virksomhedsmappeDet er ikke færdigt, men fundamentet er lagt rigtigt: regler først, dokumentation først, audit først.
Meget virker allerede, men før Rentemester kan bruges som dit rigtige bogholderisystem mangler der bl.a.:
Rentemester skal ikke kaldes færdigt, før det kan tåle at være source of truth.
Rentemester bygges med danske regler som udgangspunkt.
Projektet samler og versionsstyrer relevante kilder som bl.a.:
Regler skal ikke bare beskrives i tekst. De skal gøres testbare:
Det er den langsomme vej. Men det er den rigtige vej.
Rentemester bygges som open source.
Principperne er:
En lille virksomhed skal ikke miste adgang til sit regnskab, fordi et abonnement, API eller eksternt system ændrer sig.
Rentemester er ikke en revisor, bogholder eller juridisk rådgiver.
Projektet er under udvikling og må ikke bruges ukritisk til rigtig bogføring endnu. Brug altid sund fornuft, og få hjælp fra en bogholder eller revisor, når det gælder moms, skat, årsregnskab og tvivlsspørgsmål.
Ambitionen er, at Rentemester på sigt kan blive et pålideligt værktøj — men tillid skal fortjenes med regler, tests, dokumentation og praktisk brug.
Rentemester er et forsøg på at bygge bogholderi til en ny virkelighed:
Agenten er bogholderen.
Ledgeren er loven.
Reglerne er kontrakten.
Bilagene er beviserne.
Dashboardet er kontrolrummet.
Et regnskabssystem bygget til AI-agenter — men med danske regler, bilag og revision i centrum.