Files
2026-06-16 15:44:37 +02:00

15 KiB
Raw Permalink 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", "Coop årsafstemning", "åben post pr. balancedato", "Coop revisorafstemning" eller "Coop årsregnskab". 0.3.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.

Skillen dækker også årsafslutnings-/åben-post-afstemning til revisor, hvor alle TranbergDahl/Uniconta-debitorer behandles som én samlet Coop-modpart, selv om Uniconta-eksporten er grupperet pr. butik/debitor.

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"
  • "Afstem åbne Coop-poster pr. 31-12 til revisor"
  • "Sammenlign TranbergDahls Uniconta-debitorer med Coop kreditor-kontoudtog"

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

Ved årsafslutnings-/revisorafstemning er input typisk:

  1. Uniconta debitor-kontoudtog alle — grupperet pr. TranbergDahl/Coop-butik med debitorsaldo på gruppelinjen og faktura-/kreditnota-detailposter under.
  2. Coop kreditor-kontoudtog — flad SAP-lignende eksport med Reference, Posting Date, Clearing Date, Amount in Doc. Curr., Document Type, Document Number og evt. Assignment.
  3. Kontrolsaldo fra Uniconta/finans pr. balancedato, fx saldo på samlet Coop-tilgodehavende.
  4. Eventuel kendt liste/antal over fakturaer som mangler i Coop-opgørelsen.

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

Årsafslutningsflow: åben post pr. balancedato

Brug dette flow når målet er dokumentation til revisor eller årsregnskab, ikke bogføring af en enkelt bankbetaling.

Afklar før analyse

  1. Bekræft balancedato, typisk 31-12-yyyy.
  2. Bekræft at alle TranbergDahl/Uniconta-debitorer skal behandles som én samlet Coop-modpart.
  3. Bekræft hvilket felt i Coop-eksporten er fakturanummer. Standard: Reference; brug kun Assignment som sekundær hjælpekolonne hvis brugeren bekræfter det.
  4. Bekræft matchregel. Standard til revisor: fakturanr. + beløb med modsat fortegn og tolerance 0,01 kr.
  5. Bekræft kontrolsaldo fra Uniconta/finans og om kendte manglende fakturaer i Coop-opgørelsen skal vises separat.

Datamodellering

Uniconta/TranbergDahl-debitorfil

  • Læs gruppelinjer som debitor-masterdata: debitor nr., navn, by og debitorsaldo.
  • Læs detailposter som faktura-/kreditnota-linjer: dato, fakturanr., bilag, tekst, beløb, resterende, forfalden og type.
  • Brug sum af debitorsaldi fra gruppelinjerne som primær saldo mod Uniconta/finans. Brug ikke blindt sum af detailkolonnen Resterende, da den kan være ufuldstændig eller blank på udlignede/regulerede linjer.

Coop kreditor-kontoudtog

  • Brug Reference som fakturanr., når det er bekræftet.
  • Åben post pr. balancedato defineres som:
    • Posting Date <= balancedato, og
    • Clearing Date er blank eller Clearing Date > balancedato.
  • Forvent modsat fortegn mellem TranbergDahl-debitorbeløb og Coop-kreditorbeløb.
  • Medtag kreditnotaer på samme måde som fakturaer; forskellen ligger i fortegnet, ikke i afstemningsmetoden.

Matchhierarki

  1. Høj confidence: fakturanr. + beløb med modsat fortegn, tolerance 0,01 kr.
  2. Mellem confidence: fakturanr. findes, men beløbet afviger. Marker som Beløbsdifference.
  3. Lav confidence / manuel kontrol: samme beløb, men manglende fakturanr. Brug kun som analysehint, ikke som revisor-konklusion.
  4. Mangler i Coop: fakturanr. findes i Uniconta/TranbergDahl, men ikke i Coop-eksportens fakturanummerfelt.
  5. Kun i Coop: fakturanr. findes i Coop-eksporten, men ikke i Uniconta/TranbergDahl-eksporten.

Revisor-egnet output

Lav altid en arbejdsbog eller rapport med disse faner/sektioner:

Sektion Indhold
Forside / Konklusion Formål, balancedato, kilder, kontrolsaldo, samlet konklusion, væsentlige forbehold
Metode Matchregel, cutoff-regel, fortegnskonvention, tolerance og felter brugt
Saldoafstemning Uniconta/finans-saldo, sum af debitorsaldi, Coop åbne poster, kendte mangler/reguleringer og uforklaret difference
Debitorsaldi Alle TranbergDahl/Uniconta-butikker som underposter til én samlet Coop-modpart
Matchede poster Fakturanr. + beløb matcher med høj confidence
Beløbsdifferencer Fakturanr. findes begge steder, men beløb matcher ikke
Mangler i Coop Fakturaer/kreditnotaer i Uniconta/TranbergDahl som ikke findes i Coop-kontoudtog
Kun i Coop Coop-reference som ikke findes i Uniconta/TranbergDahl
Kendte mangler Brugeroplyste kendte mangler, fx antal eller liste over fakturaer der mangler i Coop
Checks Maskinelle checks: saldo binder, antal binder, ingen dubletter uden forklaring, dato-cutoff anvendt

Kvalitetskrav

  • Vis beløb med dansk formatering og kr.
  • Brug både antal og beløb i alle opsummeringer.
  • Bevar debitor nr. og debitor navn på alle Uniconta-linjer, selv om rapportens konklusion er én samlet Coop-modpart.
  • Marker kendte Coop-reguleringer som forklaringstype, ikke som automatisk match.
  • Skriv tydeligt hvis saldoafstemningen bygger på en ekstern kontrolsaldo, og vis difference mod kildesaldoerne.
  • Slut med en revisor-egnet konklusion: Afstemt, Afstemt med kendte differencer, eller Ikke fuldt afstemt - kræver dokumentation.

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
  • Sum af detailposter matcher ikke Uniconta-saldo: ved debitor-kontoudtog kan gruppelinjens debitorsaldo være den saldo, der binder til finans, mens detailkolonnen kun viser restbeløb på udvalgte linjer.
  • Coop viser kun hovedkontoret, mens Uniconta viser butikker: behandl butikkerne som underposter til én samlet Coop-modpart og rapportér både samlet saldo og debitorfordeling.
  • Faktura findes i Coop, men ikke åben pr. balancedato: forklares ofte af Clearing Date; klassificér den efter cutoff, ikke bare efter om fakturanr. findes i hele filen.
  • 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