Gå til indhold

Odoo 19 Community: Knyt automatisk bankbetalinger til fakturaer – vores open source-modul Bank Statement Matcher

14. september 2026 af
Odoo 19 Community: Knyt automatisk bankbetalinger til fakturaer – vores open source-modul Bank Statement Matcher
Alexander Biringer | Biricon IT Services GmbH

At importere kontoudtog i Odoo er kun det første skridt. Den egentlige værdi opstår først, når en banktransaktion pålideligt kan matches med den rigtige kunde- eller leverandørfaktura, kreditnota eller betaling.

Netop her mangler Odoo 19 Community en brugervenlig funktion i brugerfladen. Derfor bliver importerede banklinjer i første omgang stående på bankens mellemregningskonto og skal matches med en åben regnskabspost, før de kan behandles videre.

Derfor har vi udviklet Bank Statement Matcher til vores egen installation af Odoo 19 Community. Da problemet også berører andre, stiller vi modulet gratis til rådighed på GitHub under den frie AGPL-3-licens.

Se projektet på GitHub:

Odoo 19 Bank Statement Matcher

Fra import af kontoudtog til den rigtige faktura

Med vores allerede offentliggjorte projekt Odoo 19 Bank Statement Import kan kontoudtog i forskellige formater indlæses i Odoo 19 Community. Det gælder blandt andet CAMT.053, CAMT.054, OFX og SWIFT MT940.

Den nye Bank Statement Matcher føjer det næste afgørende arbejdstrin til denne import:

Hvilken importeret banktransaktion hører til hvilken åben post?

Modulet søger i åbne tilgodehavender og gældsposter, vurderer mulige match og viser brugerne, hvorfor en bestemt matching foreslås. Forslaget kan kontrolleres, bekræftes, rettes eller erstattes af et manuelt valg.

Det giver en sammenhængende arbejdsgang i Odoo 19 Community:

  1. importér kontoudtog

  2. find mulige match

  3. gennemgå forslagene samlet

  4. acceptér entydige match

  5. behandl uklare tilfælde manuelt

Det kan Odoo 19 Bank Statement Matcher

Modulet er udviklet til det daglige arbejde med bogføring. Det understøtter blandt andet følgende funktioner:

  • søgning efter matchende kunde- og leverandørfakturaer, kreditnotaer og betalinger

  • automatisk søgning efter matchningsforslag, når en banklinje oprettes

  • tydelig visning af den anvendte matchningsregel og dens sikkerhedsniveau

  • fornyet søgning på et senere tidspunkt

  • matching af en enkelt banklinje eller samlet behandling af flere banklinjer

  • manuelt valg af en åben post, når ingen af forslagene passer

  • ophævelse af en allerede foretaget matching

  • registrering af flere lige gode match uden at vælge vilkårligt mellem dem

  • henvisninger til tilbud eller ordrer, som endnu ikke har en åben regnskabspost

  • valgfri direkte overførsel fra OCA's kontoudtogsimport til matchningsvisningen

  • tysk oversættelse af den engelske kildetekst

Den centrale oversigt findes i Odoo under Bogføring → Bogføring → Matching af banklinjer. Her kan man søge i og behandle flere åbne banklinjer samlet.

Gennemskuelig matching frem for en sort boks

Når det gælder økonomiske data, er det ikke nok blot at foreslå et vilkårligt match. Brugerne skal kunne se, hvorfor en banktransaktion skulle passe til et bestemt bilag.

Bank Statement Matcher arbejder derfor med klart definerede regler og forskellige sikkerhedsniveauer:

SikkerhedRegelBetydning
100ReferenceDer blev fundet et bilagsnummer, en betalingsreference eller en oprindelsesreference i posteringsteksten.
80Partner og beløbForretningspartneren og det udestående beløb stemmer overens.
60Entydigt beløbBeløbet svarer nøjagtigt til én og kun én åben post.
30PartnerPartneren stemmer, men beløbet gør ikke. Dette er kun et fingerpeg.

For hver journal kan man angive, hvor højt sikkerhedsniveauet skal være, før et entydigt forslag må accepteres via en massehandling. Mindre sikre match vises stadig, men skal kontrolleres og bekræftes enkeltvis.

Det er vigtigt at understrege: Modulet bogfører ikke automatisk i baggrunden uden opsyn. Det opretter forslag. En matchning sker først, når brugeren aktivt vælger det – enkeltvis eller via den kontrollerede massebehandling.

Også vanskelige bankreferencer håndteres

Banker overfører ikke altid betalingsreferencer i et ensartet format. Et fakturanummer kan være kombineret med navne, tal eller andre oplysninger. Skilletegn kan mangle eller være gengivet anderledes end i det oprindelige dokument.

Derfor normaliserer Matcher de værdier, der sammenlignes, og tager også højde for overgange mellem bogstaver og tal. På den måde kan referencer eksempelvis genkendes, selv når de er føjet direkte til andet indhold i bankteksten.

Søgningen går bevidst fra Odoo-dokumentet til bankteksten. Det forhindrer, at korte, generelle talrækker i posteringsteksten giver et stort antal irrelevante match.

Reglerne er hverken begrænset til en bestemt bank, et bestemt land eller et fast nummersystem. Det gør også modulet relevant for andre Odoo 19 Community-installationer.

Hvorfor det er vigtigt at kunne søge igen

Ikke alle bankbetalinger kan matches allerede ved importen. I praksis kan en betaling komme ind, før den tilhørende faktura er oprettet eller bogført i Odoo. En leverandørfaktura eller kreditnota kan også blive registreret senere.

Derfor kan banklinjer kontrolleres igen senere med »Søg igen«. Så snart den relevante åbne post findes, kan en bankbevægelse, der tidligere ikke kunne matches, blive til et entydigt match.

Hvis bankteksten for eksempel nævner et tilbud eller en ordre, som der endnu ikke findes en faktura og dermed en åben post til, giver modulet en nyttig besked. I stedet for blot at vise »intet match« gør det opmærksom på, at fakturaen muligvis skal oprettes først.

Sikkerhed kommer først

En forkert automatisk matchning kan skabe mere arbejde i bogholderiet end en uafstemt banklinje. Derfor er Bank Statement Matcher bevidst udformet med forsigtighed for øje:

  • Hvis flere match får samme score, vælges der ikke vilkårligt mellem dem.

  • Svage forslag vises, men anvendes ikke via massehandlingen.

  • Før matchningen kontrolleres det igen, om den åbne post stadig er tilgængelig.

  • En post, som en anden bruger i mellemtiden har udlignet, behandles ikke igen.

  • Hver banklinje behandles i sit eget savepoint i databasen.

  • En fejl på én banklinje forhindrer ikke behandlingen af de øvrige linjer.

  • Ufuldstændige ældre data uden en gyldig bogføringsdato udelades for en sikkerheds skyld.

Dermed understøtter modulet automatisering dér, hvor den sparer tid, og kræver en manuel beslutning dér, hvor datagrundlaget ikke er entydigt nok.

Samspil med vores Bank Statement Import

Repositoriet består af to moduler:

ModulFunktion
account_statement_matcherLeverer selve søgningen, vurderingen, kontrollen og matchningen. Kræver kun Odoo-modulet account.
account_statement_matcher_import_ocaValgfri integration med OCA's import af kontoudtog. Efter import åbnes matchningsvisningen direkte med de nyimporterede linjer.

Det valgfrie integrationsmodul installeres automatisk, når både Matcher og OCA-modulet account_statement_import_file er til stede. Dermed hænger importen af kontoudtog og den efterfølgende matchning direkte sammen.

Læs mere om import af de understøttede bankformater i vores indlæg:

Odoo 19 Bank Statement Import – vores udvidelser til Odoo Community

Installation i Odoo 19 Community

Installationen foregår som for et almindeligt Odoo-tilføjelsesmodul:

  1. Kopiér modulmapperne til en konfigureret Odoo-addons-sti.

  2. Opdatér applisten i Odoo.

  3. Installér modulet Bank Statement Matcher.

  4. Angiv for hver bankjournal, om der skal søges efter forslag ved import.

  5. Vælg den ønskede minimumsscore for kontrolleret samlet matchning.

Modulet er udviklet og testet til Odoo 19.0 Community. Før det bruges med andre Odoo-versioner, skal især ændringer i de interne regnskabs- og afstemningsfunktioner undersøges.

Som ved enhver udvidelse til regnskabsområdet anbefaler vi først at afprøve installationen i et testmiljø med en kopi af egen database og typiske kontoudtog.

Gratis og open source til Odoo Community

Hos Biricon IT Services GmbH udvikler vi først og fremmest løsninger til konkrete krav fra vores egen drift. Hvis der heraf opstår et generelt anvendeligt modul, vil vi ikke gemme det væk i en enkelt installation.

Derfor er Odoo 19 Bank Statement Matcher gratis tilgængelig som et open source-projekt. Kildekoden kan læses, gennemgås, tilpasses og videreudvikles inden for rammerne af AGPL-3-licensen.

Vores mål er ikke at automatisere så mange bogføringsbeslutninger som muligt i blinde. Vi vil reducere gentaget arbejde og samtidig sikre, at økonomiske matchninger fortsat kan spores og kontrolleres.

Sådan ser vi meningsfuld open source-udvikling: Løs et reelt problem, dokumentér løsningen på en gennemskuelig måde, og stil den derefter til rådighed for fællesskabet.

Projekt, kildekode og bidrag

Den komplette kildekode, installationsvejledningen og den tekniske dokumentation findes på GitHub:

Åbn Odoo 19 Bank Statement Matcher på GitHub

Vi tager gerne imod erfaringer fra praksis, fejlrapporter, forbedringsforslag og bidrag fra Odoo Community.

Gratis. Gennemskueligt. Open source. Til Odoo 19 Community.