236053cd7f
Kategoriserer danske regnskabs-/ERP-skills, ERP-data-afstemnings-
skill og to devops-workflows (gitea-issue-agent, kanban-workflows)
som Radix-medlemmers AI-agenter kan dele.
Struktur:
skills/<kategori>/<skill-navn>/SKILL.md
skills/<kategori>/<skill-navn>/{references,templates,scripts}/
Indekseret af index.json (genereret af scripts/rebuild_index.py).
Kør `python3 scripts/rebuild_index.py --check` i CI for at fange
synkroniseringsfejl.
5.7 KiB
5.7 KiB
name, description, version, author, license, metadata
| name | description | version | author | license | metadata | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| dansk-csv-import | Importér danske bank-CSV-eksporter (Nordea, Danske Bank, Jyske Bank, Sydbank) og e-conomic-bankimport-format — aktiveres ved "importér CSV", "bankudtog", "kontoudtog", "Nordea eksport", "Danske Bank CSV", "Jyske Bank eksport", "e-conomic bankimport". | 0.2.0 | radix-accountant | MIT |
|
Dansk CSV-import (bankudtog)
Håndterer import af danske bank-CSV-eksporter til Radix ERP med korrekt detektering af:
- Bank (Nordea, Danske Bank, Jyske Bank, Sydbank, Nykredit, Arbejdernes Landsbank)
- Datoformat (dansk
dd-MM-yyyyeller ISOyyyy-MM-dd) - Decimalformatering (komma som decimal — dansk standard)
- Feltsemikolon (dansk CSV-standard, ikke komma)
- Tegnsæt (Latin1, UTF-8 med/uden BOM)
Aktiveres ved
- "Importér denne Nordea-CSV til Radix"
- "Jyske Bank har sendt kontoudtog — hjælp med at indlæse det"
- "Parse denne bankeksport"
- "Vis alle transaktioner fra marts 2026 i denne CSV"
Genkendte bankformater
Nordea (Erhverv)
Bogføringsdato;Tekst;Beløb;Saldo;Valuta;Reference
01-06-2026;"Nets *12345";-123,45;12.345,67;DKK;
- Separator:
; - Encoding: Latin1
- Beløb: dansk format (
-123,45) - Dato:
dd-MM-yyyy
Danske Bank
Dato;Tekst;Beløb;Saldo
01-06-2026;"MobilePay - Anders Hansen";-250,00;5.000,00
- Separator:
; - Encoding: UTF-8 med BOM
- Beløb: dansk format
- Dato:
dd-MM-yyyy
Jyske Bank
Dato;Beskrivelse;Beløb;Saldo
01-06-2026;"POS DSB 1234 København";-89,00;3.456,78
- Separator:
; - Encoding: Latin1
- Dato:
dd-MM-yyyy - Negative beløb: kan være
-89,00eller(89,00)— begge understøttes
Sydbank
Bogføringsdato;Posteringstekst;Beløb;Saldo
01-06-2026;"Coop Danmark A/S Bankbetaling";-12.345,67;45.678,90
- Separator:
; - Encoding: Latin1
- Dato:
dd-MM-yyyy
e-onomic bankimport-format
Dato;Tekst;Beløb;Saldo;Modkonto;Valuta;Bankkonto
01-06-2026;"Nets *12345";-123,45;12.345,67;5820;DKK;5508 8765432
- Separator:
; - Encoding: UTF-8 med BOM
- Modkonto (e-conomics kontonr, fx 5820 for bank) — bruges direkte ved bogføring
- Bankkonto i dansk 14-cifret format (reg.nr. + kontonr) — verificer mod kundens egen bankaftale
- Dato:
dd-MM-yyyy(men konverter til ISOyyyy-MM-ddfør API-kald til e-conomic)
Workflow
- Modtag CSV-fil (enten via sti eller indhold direkte i chat)
- Detektér bank-format ud fra header (kolonnenavne) — spørg brugeren hvis usikker
- Detektér encoding (tjek for BOM, prøv Latin1, UTF-8)
- Parse CSV med korrekt separator (
;for dansk) - Normaliser data:
- Datoer →
dd-MM-yyyy(ensret formattering) - Beløb → Python float (erstat
,med., fjern tusindtalsseparator) - Negativ beløb → negativ tal (fjern evt. parentesnotation)
- Tekst → trim, fjern dobbelte mellemrum
- Datoer →
- Vis preview med de første 5-10 transaktioner (bed brugeren bekræfte format)
- Vis statistik:
- Antal transaktioner
- Periode (første/sidste dato)
- Total ind, total ud, slutbalance
- Kontroller at slutbalance matcher det brugeren forventede
- Identificér dubletter (samme dato + beløb + tekst)
- Kortlæg konti (se kontoplan-mapping skill) — eller lad brugeren vælge
- Generer klar-til-import JSON til Radix ERP API
Eksempel-aktivering
Bruger: indsætter en filsti eller indhold:
Bogføringsdato;Tekst;Beløb;Saldo;Valuta
01-06-2026;"Nets *12345 MobilePay";-123,45;12.345,67;DKK
02-06-2026;"Coop Danmark";-5.678,90;6.666,77;DKK
...
Svar:
✅ Genkendt format: Nordea Erhverv (Latin1, semikolon-separeret)
Dato Tekst Beløb Saldo 01-06-2026 Nets *12345 MobilePay −123,45 12.345,67 02-06-2026 Coop Danmark −5.678,90 6.666,77 ... Statistik:
- Periode: 01-06-2026 til 30-06-2026
- Transaktioner: 47
- Total ind: 8.901,23 kr.
- Total ud: 23.456,78 kr.
- Slutbalance: 6.666,77 kr.
⚠️ 1 mulig dublet fundet (samme dato, beløb og tekst på række 12 og 23). Skal jeg springe dubletten over ved import?
Almindelige CSV-fælder
- ❌ Latin1-filer åbnet som UTF-8 →
æi stedet foræ - ❌ Datoer med
.(amerikansk) i stedet for-(dansk) - ❌ Beløb med
.som tusindtalsseparator ignoreret - ❌ Negative beløb som
(123,45)(parentes) ikke håndteret - ❌ Header-række fejlfortolket som data
- ❌ Linjeskift i
Tekst-felt (fx "Coop\nDanmark") brækker parser - ✅ ALTID detektér encoding først (BOM, Latin1, UTF-8)
- ✅ ALTID vis preview før import
- ✅ ALTID vis statistik og balancesum til kontrol
Radix ERP API-endpoint (for import)
Bogføringssystem-integration (efter import)
Efter import kan transaktioner bogføres direkte i e-conomic (se e-conomic-integration skill):
POST /journals/{journalId}/vouchers/{voucherNumber}/entries
Headers:
X-AppSecretToken: ${ECONOMIC_APP_SECRET_TOKEN}
X-AgreementGrantToken: ${ECONOMIC_AGREEMENT_GRANT_TOKEN}
Idempotency-Key: <UUID v4>
Eksempel-payload genereret fra importeret CSV:
{
"accountingYear": {"year": 2026},
"entries": [
{
"date": "2026-06-01",
"text": "Nets *12345 MobilePay",
"amount": -123.45,
"amountInBaseCurrency": -123.45,
"currency": "DKK",
"account": {"accountNumber": 1690},
"contraAccount": {"accountNumber": 5820},
"vatAccount": {"vatCode": "I25"}
}
]
}
⚠️ Bekræft ALTID med brugeren før bulk-import — vis diff (antal transaktioner, totaler) og kræv eksplicit "ja, importer" før API-kald.