Files
Radix-Skills/skills/accounting/coop-bankimport/SKILL.md
T
dennis 236053cd7f Initial import: 10 Radix skills across 3 categories
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.
2026-06-15 14:41:04 +02:00

9.6 KiB
Raw Blame History

name, description, version, author, license, metadata
name description version author license metadata
coop-bankimport Reconcilier Coop Danmark-bankbetalinger mod Uniconta- eller e-conomic-fakturaer (og kreditnotaer, bonus, modregninger) — aktiveres ved "Coop afstemning", "Coop bankbetaling", "Coop opgørelse", "forenel Coop betaling med faktura", "Coop kreditnota". 0.2.0 radix-accountant MIT
hermes
tags related
accounting
dansk-regnskab
coop-danmark
uniconta
e-conomic
reconciliation
bankafstemning
dansk-csv-import
kontoplan-mapping
resultatopgoerelse
e-conomic-integration

Coop Danmark-bankimport & afstemning (Uniconta eller e-conomic)

Specifikt workflow til Coop Danmark ↔ [Uniconta|e-conomic]-afstemning. Hver bankbetaling fra Coop følges af en specifikation (opgørelse) der viser præcis hvilke fakturaer, kreditnotaer, bonusser og modregninger beløbet dækker. Målet er at matche bankbetalinger (Coop) → opgørelseslinjer → bogføringssystem-bilag og producere bogføringsklare posteringer.

Hvilket bogføringssystem?

System Fordel ved Coop-afstemning Ulempe
Uniconta Lokal data, ingen API-rate-limit, kender hele kontohistorik Manuel CSV-eksport nødvendig
e-conomic Cloud-baseret, kan bogføre direkte via API, kunde 1 (Coop) findes typisk allerede Rate-limit, kræver AppSecretToken

Spørg brugeren hvilket system de bruger — svaret bestemmer hvordan data hentes og hvordan bogføringsforslaget præsenteres.

Aktiveres ved

  • "Forenel denne Coop-bankbetaling med Uniconta"
  • "Importer Coop-opgørelse for uge 22"
  • "Hvorfor matcher Coop-bankbetalingen ikke Uniconta-saldoen?"
  • "Generer bogføringsforslag for denne Coop-indbetaling"

Forventede input

Brugeren leverer typisk:

  1. Coop bankbetalings-CSV (Sydbank, Jyske Bank eller Danske Bank — særskilt format for Coop)
  2. Coop-specifikation (PDF eller Excel) — viser linjer for hver faktura
  3. Bogføringssystem-data (ét af):
    • Uniconta-eksport (fakturaer, kreditnotaer, åbne poster) — typisk Excel
    • e-conomic API-kald (se e-conomic-integration skill): /invoices/booked?filter=balance$gt:0&filter=customer.name$like:Coop

Coops bankbetalingsformat (typisk)

Bogføringsdato;Posteringstekst;Beløb;Saldo
15-06-2026;"Coop Danmark A/S Bankbetaling 12345678";-23.456,78;100.000,00
  • Negativ beløb = du har modtaget penge fra Coop (kredit på din konto)
  • Reference = Coops bankaftale-id (8 cifre typisk)
  • Dato = afregningsdato

Coops specifikation (Excel/PDF, eksempel)

Fakturanr Fakturadato Beløb Moms Total Type
2026-1234 01-06-2026 1.000,00 250,00 1.250,00 Faktura
2026-1235 02-06-2026 2.500,00 625,00 3.125,00 Faktura
KN-2026-100 03-06-2026 -500,00 -125,00 -625,00 Kreditnota
Bonus-2026-06 30-06-2026 -1.000,00 0,00 -1.000,00 Bonus
Modregning-2026-06 30-06-2026 -250,00 0,00 -250,00 Modregning
Total 1.750,00 750,00 2.500,00

Bankbetalingen på 2.500,00 kr. dækker altså: 2 fakturaer 1 kreditnota bonus modregning.

Workflow

Fase 1: Importér bankbetaling

  1. Modtag Coop-CSV (typisk Sydbank-format)
  2. Filtrér Coop-poster (tekst matcher Coop Danmark)
  3. Vis hver bankbetaling med reference, dato, beløb

Fase 2: Importér opgørelse (specifikation)

  1. Modtag specifikationsfil (PDF eller Excel)
  2. Parse linjer: fakturaer, kreditnotaer, bonus, modregninger
  3. Beregn totaler og verificer at de matcher bankbetalingen
  4. Hvis differens: marker som "afventer manuel kontrol"

Fase 3: Match mod bogføringssystem

Variant A: Uniconta

  1. Hent Uniconta-fakturaer (via API eller eksport) for samme periode
  2. For hver faktura i opgørelsen: søg i Uniconta efter match på:
    • Primær match: fakturanr + beløb (høj confidence)
    • Sekundær match: beløb + dato ±7 dage (medium confidence)
    • Ingen match: marker som "mangler i Uniconta"

Variant B: e-conomic

  1. Hent bogførte fakturaer via API:
    GET /invoices/booked?filter=balance$gt:0&filter=customer.name$like:Coop
    
  2. Filtrér på kunde (Coop Danmark A/S) — de fleste Coops kunder findes som kunde 1, men tjek
  3. For hver faktura i opgørelsen: søg i e-conomic-respons efter match på:
    • Primær match: bookedInvoiceNumber + grossAmount (høj confidence)
    • Sekundær match: grossAmount + date ±7 dage (medium confidence)
    • Ingen match: marker som "mangler i e-conomic"

Vis match-status for hver linje (uanset variant):

  • Matchet (faktura fundet)
  • ⚠️ Forskelligt beløb (faktura fundet, men beløb afviger)
  • Manglende (faktura ikke fundet)

Fase 4: Generer bogføringsforslag

For hver matchet bankbetaling:

BOGFØRINGSFORSLAG — Coop bankbetaling [reference]
═══════════════════════════════════════════════════
Dato: [dd-MM-yyyy]
Bankbeløb: 2.500,00 kr. (positivt = indbetaling)
───────────────────────────────────────────────────

DEBET (kontonr / navn)              BELØB
───────────────────────────────────────────────────
[56200] Bank, Sydbank                2.500,00

KREDIT (kontonr / navn)             BELØB
───────────────────────────────────────────────────
[10120] Tilgodehavender, salg       1.250,00   (faktura 2026-1234)
[10120] Tilgodehavender, salg       3.125,00   (faktura 2026-1235)
[10120] Tilgodehavender, salg        625,00   (kreditnota KN-2026-100)
[52100] Bonus og rabatter            1.000,00  (bonus)
[58000] Modregning                      250,00  (modregning)

Total debet:  2.500,00
Total kredit: 2.500,00
═══════════════════════════════════════════════════
Diff: 0,00 ✅ Balanceret
═══════════════════════════════════════════════════

Fase 5: Bruger-godkendelse

⚠️ Vis altid bogføringsforslaget og vent på eksplicit godkendelse før der postes til Radix/Uniconta/e-conomic.

Hvis brugeren vil bogføre direkte i e-conomic (se e-conomic-integration skill):

  1. Vis bogføringsforslaget med konkrete kontonumre
  2. Generer entries JSON-objekt klar til /journals/:id/vouchers/:n/entries POST
  3. Generer et UUID v4 Idempotency-Key
  4. Vent på "ja, bogfør" — udfør derefter API-kald
  5. Verificer at svaret er 201 Created og at entries indeholder bogførings-ID

Almindelige problemer

  • Bankbeløb matcher ikke opgørelse-total: typisk fordi opgørelsen kun viser netto (efter Coops egne fradrag som emballage-pant, kampagnerabat, mv.)
  • Faktura findes ikke i Uniconta: kan skyldes at fakturaen er bogført i forkert regnskabsår, eller at Uniconta-eksporten er ufuldstændig
  • Kreditnota findes, men med forkert fortegn: dobbelt-negativ bliver positivt — håndtér dette eksplicit
  • Coop-bonus mangler konto: virksomheder der ikke har en dedikeret bonuskonto bruger typisk 52100 (Bonus/rabatter) — bekræft med brugeren
  • Modregning uden specifikation: spørg brugeren — kan være emballage-pant, reklamation, eller andet
  • ALTID verificer at bankbeløb = sum(opgørelseslinjer) ±0,01 kr. (afrundingstolerance)
  • ALTID vis match-status per linje (matchet / afvigende / manglende)
  • ALTID vent på brugerens "ja, bogfør" før API-kald

Kontering (typisk dansk kontoplan)

Kontotype Kontonr (SUM/DG) Bruges til
Bank 56200 Bank, Sydbank/Jyske/Danske (pengebevægelsen)
Tilgodehavender 10120 Åbne fakturaer der betales af Coop
Bonus/rabatter 52100 Coops bonus, årsbonus, kampagnerabat
Modregning 58000 Emballage-pant, reklamation, Cops egne fradrag
Kreditnotaer 10120 (negativ) Coops kreditnotaer (vareretur mv.)

Tallene er eksempler — bekræft altid med virksomhedens egen kontoplan.

Eksempel-aktivering

Bruger: "Jeg har lige fået en Coop-betaling på 12.345,67 kr. d. 15-06-2026. Her er opgørelsen — kan du finde ud af hvad der dækker hvad?"

Svar (forkortet):

Bankbetaling genkendt: 12.345,67 kr. d. 15-06-2026

| Opgørelseslinje | Beløb | Uniconta-match | Status |

|---|---|---|---| | Faktura 2026-1234 | 1.250,00 | UN-5678 | Matchet | | Faktura 2026-1235 | 3.125,00 | UN-5679 | Matchet | | Faktura 2026-1240 | 5.000,00 | UN-5680 | Matchet | | Kreditnota KN-2026-100 | -625,00 | UN-5681 | Matchet | | Bonus Q2 2026 | -1.404,33 | (bogføres direkte) | ⚠️ Ingen reference | | Total | 7.345,67 | | | | Diff vs bank | 5.000,00 | | ⚠️ Mangler 5.000,00 kr. |

Bogføringsforslag:

DEBET  56200 Bank             12.345,67
KREDIT 10120 Tilgodehavender   1.250,00
KREDIT 10120 Tilgodehavender   3.125,00
KREDIT 10120 Tilgodehavender   5.000,00
KREDIT 10120 Tilgodehavender    -625,00
KREDIT 52100 Bonus            -1.404,33

⚠️ Bemærk: Diff på 5.000,00 kr. — enten mangler en faktura i opgørelsen, eller opgørelsen er ufuldstændig. Vil du:

  1. Indberette bogføringsforslag som det er (med diff markeret)
  2. Springe bankbetalingen over indtil videre
  3. Kontakte Coop for komplet specifikation