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:
importér kontoudtog
find mulige match
gennemgå forslagene samlet
acceptér entydige match
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:
| Sikkerhed | Regel | Betydning |
|---|---|---|
| 100 | Reference | Der blev fundet et bilagsnummer, en betalingsreference eller en oprindelsesreference i posteringsteksten. |
| 80 | Partner og beløb | Forretningspartneren og det udestående beløb stemmer overens. |
| 60 | Entydigt beløb | Beløbet svarer nøjagtigt til én og kun én åben post. |
| 30 | Partner | Partneren 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:
| Modul | Funktion |
|---|---|
| account_statement_matcher | Leverer selve søgningen, vurderingen, kontrollen og matchningen. Kræver kun Odoo-modulet account. |
| account_statement_matcher_import_oca | Valgfri 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:
Kopiér modulmapperne til en konfigureret Odoo-addons-sti.
Opdatér applisten i Odoo.
Installér modulet Bank Statement Matcher.
Angiv for hver bankjournal, om der skal søges efter forslag ved import.
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.