Hvad er OFX-format? Open Financial Exchange forklaret på dansk (Dansk)', 'excerpt': 'OFX er den åbne standard for udveksling af finansielle data mellem banker og software. Her er, hvad der er inde i en OFX-fil, og hvorfor Xero, MYOB og GnuCash foretrækker den.', 'tags': [ 'Guide', 'OFX', 'Kontoopgørelser', 'Xero', 'Regnskab' ], 'metaDescription': 'Lær hvad OFX (Open Financial Exchange) formatet er, hvordan det virker, og hvorfor Xero og anden regnskabssoftware foretrækker det til import af kontoudtog frem for CSV.', 'body__0': 'Din regnskabssoftware beder om en OFX-fil. Din bank gav dig en PDF. Og nu stirrer du på et format, du aldrig har hørt om, og undrer dig over, hvorfor et perfekt regneark ikke kan klare opgaven. OFX -- Open Financial Exchange -- er den usynlige standard, der driver moderne finansiel software. Det er grunden til, at Xero kan importere banktransaktioner uden at du skal mappe kolonner. Det er derfor, GnuCash kan opdage dubletter. Og det er fundamentet, som Quickbooks QBO-format er bygget på. Denne guide forklarer, hvad OFX egentlig er, hvad det indeholder, hvordan det sammenlignes med CSV og QBO, hvilken software der understøtter det, og hvordan man opretter OFX-filer fra PDF-kontoudtog. ', 'body__1': '## OFX i én sætning Open Financial Exchange er et XML-baseret dataformat til udveksling af finansiel information mellem finansielle institutioner, softwareapplikationer og slutbrugere. Det er den åbne standard, som Intuits QBO-format er baseret på -- og formatet, som de fleste regnskabssoftware, der ikke er QuickBooks, foretrækker til import af banktransaktioner. Tænk på OFX som det fælles sprog for finansielle data. Banker taler det. Regnskabssoftware læser det. Og i modsætning til CSV -- som bare er rækker og kolonner uden iboende mening -- bærer OFX struktureret metadata, der fortæller modtagersoftwaren præcis, hvad hver datadel repræsenterer. ---', 'body__2': '## OFX OFX blev født i 1997, skabt af Microsoft, Intuit og CheckFree. Hver havde sin egen konkurrerende standard -- Microsoft havde OFC (Open Financial Connectivity), Intuit havde sit eget udvekslingsformat, og CheckFree havde sine elektroniske faktureringsprotokoller. OFX var kompromiset, der forenede dem. ### Tidslinje for versioner - **OFX 1.0 (1997)** -- Den oprindelige specifikation, baseret på SGML (Standard Generalized Markup Language). SGML tillader uafsluttede tags, hvilket får OFX 1.x-filer til at se anderledes ud end moderne XML. - **OFX 1.6 (2002)** -- Den mest udbredte version. Stadig SGML-baseret. De fleste banker, der tilbyder OFX-downloads, genererer 1.6-filer. - **OFX 2.0 (2005)** -- Større omskrivning. Skiftede fra SGML til korrekt XML med afsluttende tags. - **OFX 2.2 (2016)** -- Sikkerhedsforbedringer og forbedret understøttelse af investeringstransaktioner. - **OFX 2.3 (Nuværende)** -- Den seneste version, vedligeholdt af Financial Data Exchange (FDX), et branchekonsortium, der overtog styringen fra de oprindelige stiftere. Overgangen fra SGML til XML er vigtig, fordi den påvirker parsing. En version 1.x-fil bruger uafsluttede tags (`<TRNTYPE>DEBIT` uden `</TRNTYPE>`), mens version 2.x bruger korrekt XML med afsluttende tags. De fleste moderne parsere håndterer begge, men versionsuoverensstemmelser er en almindelig fejl ved OFX-import. --- ', 'body__3': '## Hvad OFX kan indeholde OFX er ikke kun et format for kontoudtog. Specifikationen dækker en bred vifte af finansielle data: - **Bankkontoudtog** -- Transaktioner for check-, opsparings- og pengemarkedskonti. Den mest almindelige anvendelse. - **Kreditkortudtog** -- Transaktionshistorik med understøttelse af kategorikoder for handlende og købsdetaljer. - **Investerings- og mæglerudtog** -- Aktiekøb, udbyttebetalinger, fondsoverførsler og porteføljepositioner med omkostningsgrundlagsdata på lot-niveau. - **Betalingsoplysninger** -- Liste over betalingsmodtagere, planlagte betalinger og betalingsbekræftelser. - **Skatteoplysninger** -- 1099-formularer og andre skattedokumenter, der overføres mellem finansielle institutioner og skattesoftware. - **Låneopgørelser** -- Transaktionsoptegnelser og saldoplysninger for realkreditlån, billån og personlige lån. For de fleste revisorer og bogholdere betyder OFX én ting: import af bank- og kreditkorttransaktioner til regnskabssoftware uden kolonne-mapping eller gætteri på datoformater. ---', 'body__4': '## Inde i en OFX-fil Her er, hvordan en komplet OFX 1.6 bankkontoudtog-fil ser ud. Dette er det format, du oftest vil støde på -- den SGML-baserede version, som de fleste banker og konverteringsværktøjer genererer: ```xml OFXHEADER:100 DATA:OFXSGML VERSION:160 SECURITY:NONE ENCODING:USASCII CHARSET:1252 COMPRESSION:NONE OLDFILEUID:NONE NEWFILEUID:NONE <OFX> <SIGNONMSGSRSV1> <SONRS> <STATUS> <CODE>0 <SEVERITY>INFO </STATUS> <DTSERVER>20260228120000 <LANGUAGE>ENG </SONRS> </SIGNONMSGSRSV1> <BANKMSGSRSV1> <STMTTRNRS> <TRNUID>0 <STATUS> <CODE>0 <SEVERITY>INFO </STATUS> <STMTRS> <CURDEF>USD <BANKACCTFROM> <BANKID>021000021 <ACCTID>123456789 <ACCTTYPE>CHECKING </BANKACCTFROM> <BANKTRANLIST> <DTSTART>20260201120000 <DTEND>20260228120000 <STMTTRN> <TRNTYPE>CREDIT <DTPOSTED>20260201120000 <TRNAMT>3500.00 <FITID>20260201001 <NAME>DIRECT DEP PAYROLL <MEMO>ACME CORP PAYROLL </STMTTRN> <STMTTRN> <TRNTYPE>DEBIT <DTPOSTED>20260203120000 <TRNAMT>-87.50 <FITID>20260203001 <NAME>POS PURCHASE GROCERY <MEMO>WHOLE FOODS #10847 </STMTTRN> <STMTTRN> <TRNTYPE>CHECK <DTPOSTED>20260210120000 <TRNAMT>-1200.00 <FITID>20260210001 <NAME>CHECK 1045 <CHECKNUM>1045 </STMTTRN> </BANKTRANLIST> <LEDGERBAL> <BALAMT>4712.50 <DTASOF>20260228120000 </LEDGERBAL> <AVAILBAL> <BALAMT>4712.50 <DTASOF>20260228120000 </AVAILBAL> </STMTRS> </STMTTRNRS> </BANKMSGSRSV1> </OFX> ``` ### Anatomi af filen Filen har tre hovedafsnit: **1. Header-blokken** -- De almindelige tekstlinjer øverst (før `<OFX>`) erklærer OFX-versionen, kodningen og sikkerhedsindstillingerne. Dette er ikke XML -- det er en simpel nøgle-værdi-header, som parsere læser, før de behandler SGML/XML-kroppen. **2. Sign-On Response (`SIGNONMSGSRSV1`)** -- Autentificering og servermetadata. `CODE` på `0` betyder succes. De fleste importerede filer bruger pladsholder-værdier her. **3. Statement Response (`BANKMSGSRSV1`)** -- De faktiske finansielle data: - `BANKACCTFROM` -- Kontoen, som transaktionerne tilhører (routingnummer, kontonummer, kontotype) - `BANKTRANLIST` -- Listen over transaktioner, afgrænset af en start- og slutdato - `STMTTRN` -- Individuelle transaktionsoptegnelser - `LEDGERBAL` og `AVAILBAL` -- Afsluttende og tilgængelige saldi pr. en bestemt dato Bemærk SGML-syntaksen: tags som `<TRNTYPE>CREDIT` har ingen afsluttende `</TRNTYPE>`. Parseren udleder slutningen af en værdi ud fra starten af det næste tag -- gyldig SGML, men ugyldig XML, hvilket er grunden til, at OFX 2.x tilføjede afsluttende tags. ---', 'body__5': '## Nøgle OFX-tags Her er en reference-tabel over de tags, du oftest vil støde på i OFX-filer med kontoudtog: | Tag | Beskrivelse | Eksempel | |-----|-------------|---------| | `STMTTRN` | Omslag til kontoudtogstransaktion | Indeholder alle felter for én transaktion | | `TRNTYPE` | Transaktionstype | `DEBIT`, `CREDIT`, `CHECK`, `DEP`, `ATM`, `POS`, `XFER`, `FEE`, `SRVCHG`, `INT` | | `DTPOSTED` | Dato for postering | `20260215120000` (ÅÅÅÅMMDDTTMMSS) | | `TRNAMT` | Transaktionsbeløb (med fortegn) | `-87.50` (negativ = debet), `3500.00` (positiv = kredit) | | `FITID` | Finansiel institutions transaktions-ID | `20260215001` -- unikt ID til detektering af dubletter | | `NAME` | Navn på betalingsmodtager eller forhandler | `POS PURCHASE GROCERY` | | `MEMO` | Yderligere beskrivelse | `WHOLE FOODS #10847 AUSTIN TX` | | `CHECKNUM` | Checknummer | `1045` (kun for checktransaktioner) | | `REFNUM` | Reference nummer | Bank-tildelt reference for transaktionen | | `BANKACCTFROM` | Oplysninger om kildekonto | Indeholder `BANKID` (routing), `ACCTID` (konto), `ACCTTYPE` | | `LEDGERBAL` | Afsluttende/bogført saldo | Indeholder `BALAMT` og `DTASOF` | | `AVAILBAL` | Tilgængelig saldo | Indeholder `BALAMT` og `DTASOF` | | `CURDEF` | Valutakode | `USD`, `GBP`, `EUR`, `AUD`, `CAD` | ### FITID -- Hvorfor det er vigtigt `FITID` (Financial Institution Transaction ID) er det vigtigste tag i en OFX-fil fra et regnskabsmæssigt perspektiv. Det er et unikt ID tildelt hver transaktion, og det er det, der muliggør detektering af dubletter. Når du importerer en OFX-fil til Xero, GnuCash eller anden kompatibel software, gemmer den alle FITID'er, den har set. Importér den samme fil igen, og softwaren tjekker hver FITID mod sin database og springer dubletter over uden at vise dem. Dette er den primære fordel, OFX har over CSV. Med CSV er der ingen unik identifikator -- importér den samme fil to gange, og du vil have dobbeltposter, der skal rettes manuelt. ---', 'body__6': '## OFX vs CSV Begge formater kan få banktransaktioner ind i regnskabssoftware. OFX vinder på struktur; CSV vinder på fleksibilitet. ### Hvorfor OFX er bedre til regnskabsimport | Funktion | OFX | CSV | |---------|-----|-----| | **Kolonne-mapping** | Automatisk -- tags definerer mening | Manuel -- du tildeler hver kolonne | | **Dubletdetektering** | Ja (FITID-baseret) | Nej -- genimport skaber dubletter | | **Datoformat** | Utvetydigt (ÅÅÅÅMMDDTTMMSS) | Varierer efter region -- DD/MM/ÅÅÅÅ vs MM/DD/ÅÅÅÅ | | **Håndtering af beløb** | Værdier med fortegn og TRNTYPE | Skal parse fortegn, symboler, separatorer | | **Identifikation af konto** | Indlejret (routing + kontonummer) | Ikke inkluderet | | **Saldo-verifikation** | Afsluttende saldo inkluderet | Ikke typisk inkluderet | | **Transaktionstyper** | Typet (DEBIT, CREDIT, CHECK, etc.) | Fri tekst eller fraværende | | **Flerkonto-filer** | Understøttet i én fil | Separate filer nødvendige | Alene datoformatet sparer timer med fejlfinding. Med CSV er `01/02/2026` tvetydigt -- 1. januar eller 2. februar? OFX eliminerer dette med `ÅÅÅÅMMDDTTMMSS`. `20260201120000` er altid 1. februar 2026. ### Hvornår CSV er det bedste valg CSV har legitime fordele: - **Dataredigering** -- Du kan åbne en CSV i Excel, rette fejl, tilføje kategoriseringer og gemme igen. OFX-filer kræver en teksteditor og kendskab til tag-strukturen. - **Excel-analyse** -- Hvis du skal køre formler, pivottabeller eller diagrammer på transaktionsdata, er CSV det naturlige mellemliggende format. - **Brugerdefineret behandling** -- Programmatiske scripts og databehandlingspipelines håndterer CSV lettere end OFX's indlejrede tag-struktur. - **Universel kompatibilitet** -- Alle applikationer, der læser tabeldata, læser CSV. Ikke alle applikationer læser OFX. Rådet i praksis: brug OFX til import i regnskabssoftware og CSV til alt andet. ---', 'body__7': '## OFX vs QBO Dette er spørgsmålet, der forvirrer de fleste -- og svaret er enklere, end du måske tror. QBO (QuickBooks Web Connect) er OFX med en anden fil-endelse og et par Intuit-specifikke tags. Den underliggende datastruktur er identisk. En QBO-fil er en OFX-fil, som QuickBooks genkender som sin egen. ### De vigtigste forskelle | Aspekt | OFX | QBO | |--------|-----|-----| | **Fil-endelse** | `.ofx` | `.qbo` | | **Specifikation** | Åben standard (FDX) | Intuits mærkede delmængde | | **FI-identifikator** | Valgfri `FI`-blok | `INTU.BID`-tag (Intuit Bank ID) | | **Målsoftware** | Xero, MYOB, GnuCash, Wave, etc. | QuickBooks (Desktop og Online) | | **Kompatibilitet** | Bredere -- de fleste regnskabssoftware | QuickBooks-specifik | `INTU.BID`-tagget er den primære Intuit-tilføjelse -- en bankidentifikationskode, der fortæller QuickBooks, hvilken finansiel institution filen kommer fra, hvilket muliggør automatisk matchning til den korrekte bankkonto under import. I praksis kan du omdøbe en `.ofx`-fil til `.qbo`, og QuickBooks vil normalt læse den. Den modsatte vej virker også -- de fleste software, der læser OFX, vil behandle en `.qbo`-fil. Men for rene imports skal du bruge det format, hver applikation forventer. Der findes også QFX (Quicken Financial Exchange) -- samme OFX-fundament, andet mærke, anden fil-endelse, målrettet Quicken. ---', 'body__8': '## Software, der understøtter OFX OFX nyder bred understøttelse på tværs af regnskabs- og personlig finanssoftware: ### Xero (Foretrukket format) Xero anbefaler eksplicit OFX frem for CSV til manuel import af kontoudtog. OFX-filer mappes automatisk uden kolonnekonfiguration, inkluderer FITID-baseret dubletdetektering og bærer kontometadata. **Til import:** Gå til **Regnskab > Bankkonti**, vælg kontoen, klik på **Administrer konto > Importer et kontoudtog**, og vælg din `.ofx`-fil. Maksimalt 1.000 transaktioner pr. fil. ### MYOB (Fuld understøttelse) MYOB accepterer OFX til import af bankfeeds. Processen ligner Xero -- upload filen til den relevante bankkonto, og transaktionerne vises i bankfeeden til matching og kategorisering. ### GnuCash (Gratis, Open Source) GnuCash har indbygget OFX-import via `libofx`-biblioteket. Det er en af de bedste gratis muligheder for behandling af OFX-filer. **Til import:** Gå til **Fil > Import > Importer OFX/QFX**, vælg din fil, og map den til den korrekte konto. GnuCashs dubletdetektering bruger FITID til at forhindre dobbeltposter. ### Anden kompatibel software - **Wave** -- Gratis regnskabssoftware med OFX-importunderstøttelse - **Sage Business Cloud** -- Accepterer OFX til import af banktransaktioner - **FreeAgent** -- Understøtter OFX- og QIF-filuploads - **Moneydance** -- Personlig finanssoftware med OFX direct connect og filimport - **KMyMoney** -- Open source personlig finansmanager med OFX-understøttelse via `libofx` - **Microsoft Money** -- Udfaset, men stadig brugt af nogle; indbygget OFX-understøttelse var en af dens kernefunktioner - **Reckon (Australien)** -- Accepterer OFX-filer i sin import-workflow for bankfeeds QuickBooks er den bemærkelsesværdige undtagelse -- den foretrækker sin QBO-mærkede variant og fungerer mere pålideligt med `.qbo`-filer, der indeholder `INTU.BID`-identifikatoren. ---', 'body__9': '## Oprettelse af OFX-filer fra PDF-kontoudtog De fleste banker tilbyder ikke OFX-downloads direkte. De giver dig en PDF -- formateret til udskrivning, ikke til dataudveksling. Nogle tilbyder CSV-eksport for nylige transaktioner (typisk de sidste 90 dage), men for historiske data, lukkede konti eller banker uden digitale eksportmuligheder, er du fanget med PDF-filer. [PDFSubs Bank Statement Converter](/tools/bank-statement-converter) udtrækker transaktioner fra PDF-kontoudtog og genererer gyldige OFX-filer med korrekt struktur. Outputtet inkluderer unikke FITID'er for hver transaktion, korrekt ÅÅÅÅMMDD datoformatering, fortegnsbelagte beløb med passende transaktionstyper og kontometadata -- alt, hvad regnskabssoftware behøver for en ren import. Konverteren fungerer med kontoudtog fra over 20.000 banker på 133 sprog. Digitale PDF-filer (tekstbaserede kontoudtog) behandles i din browser -- filen forlader aldrig din enhed. Scannede eller billedtunge kontoudtog rutes via server-side AI-ekstraktion. Planer starter ved $15/måned, med konvertering af kontoudtog til $29/måned (Business plan + BSC add-on, 500 sider). Alle betalte planer inkluderer en 7-dages gratis prøveperiode. For en detaljeret gennemgang af import af de resulterende OFX-filer til Xero, se [Xero bank statement import guide](/blog/import-bank-statements-xero). ---', 'body__10': '## Almindelige OFX-problemer og hvordan man løser dem OFX-filer er strukturerede, men ikke skudsikre. Her er de mest hyppige problemer og hvordan man løser dem: ### 1. Ugyldig XML/SGML-syntaks **Symptom:** Din software afviser filen med en parse-fejl. **Årsag:** Forkert formaterede tags, manglende afsluttende tags (i 2.x-filer) eller ugyldige tegn i beskrivelser. Ampersander (`&`) er den mest almindelige synder -- de skal kodes som `&` i XML, men efterlades ofte rå i navne som "AT&T." **Løsning:** Åbn filen i en teksteditor og erstat rå `&` med `&`. Tjek også for uafsluttede tags, hvis filen er version 2.x. ### 2. Manglende eller dublette FITID'er **Symptom:** Import skaber dublette transaktioner, eller softwaren rapporterer manglende identifikatorer. **Årsag:** Nogle konverteringsværktøjer genererer den samme FITID for hver transaktion (f.eks. `0` eller `1`), eller udelader tagget helt. **Løsning:** Hver `FITID` skal være unik i filen. Et almindeligt mønster kombinerer datoen og en sekventiel tæller: `20260215001`, `20260215002` osv. Rediger pladsholder FITID'er i en teksteditor før import. ### 3. Forkert datoformat **Symptom:** Transaktioner vises på forkerte datoer, eller softwaren viser datoer fra 1900 eller 2099. **Årsag:** `DTPOSTED`-værdien følger ikke ÅÅÅÅMMDDTTMMSS-formatet. ÅÅÅÅMMDD (uden tid) er fint, men DD/MM/ÅÅÅÅ eller MM-DD-ÅÅÅÅ vil forårsage fejl. **Løsning:** Sørg for, at alle `DTPOSTED`-værdier bruger `ÅÅÅÅMMDD` eller `ÅÅÅÅMMDDTTMMSS`. Både `20260215` og `20260215120000` er gyldige. ### 4. Problemer med tegnkodning **Symptom:** Transaktionsbeskrivelser viser uordentlige tegn, spørgsmålstegn eller manglende accenter. **Årsag:** Fil-headeren erklærer én kodning (typisk `USASCII` eller `UTF-8`), men det faktiske indhold bruger en anden kodning. Dette er især almindeligt med internationale kontoudtog, der indeholder ikke-ASCII-tegn. **Løsning:** Ændr `ENCODING`-headeren til at matche den faktiske fil-kodning. For internationale kontoudtog med accenter er `UTF-8` det sikreste valg. Nogle ældre software kræver `USASCII` uden specielle tegn. ### 5. Versionskompatibilitet (1.x vs 2.x) **Symptom:** Software, der forventer OFX 2.x, afviser en 1.x-fil eller omvendt. **Årsag:** OFX 1.x bruger SGML (tags behøver ikke at være lukket), mens 2.x bruger XML (lukkede tags). Parsere bygget til én version kan fejle på den anden. **Løsning:** De fleste moderne regnskabssoftware håndterer begge versioner. Hvis din ikke gør, konverter mellem versioner ved at tilføje afsluttende tags (1.x til 2.x) eller fjerne dem (2.x til 1.x). Teksteditorens søg-og-erstat håndterer dette for små filer. ---', 'body__11': '## Ofte stillede spørgsmål ### Hvad står OFX for? OFX står for Open Financial Exchange -- en åben standard for elektronisk udveksling af finansielle data mellem finansielle institutioner og slutbrugerapplikationer, vedligeholdt af Financial Data Exchange (FDX). ### Er OFX det samme som QBO? Næsten. QBO er Intuits mærkede version af OFX til QuickBooks. Datastrukturen er identisk -- QBO tilføjer et `INTU.BID`-tag for bankidentifikation og bruger `.qbo`-endelsen. Du kan ofte omdøbe `.ofx` til `.qbo`, og QuickBooks vil acceptere det. ### Kan jeg åbne en OFX-fil i Excel? Ikke direkte som struktureret data. Excel åbner filen som en tekstfil og viser den rå SGML/XML-markup. For at se OFX-data i Excel skal du enten konvertere den til CSV eller XLSX først, eller bruge et tredjeparts-add-in, der parser OFX-tags til regnearkskolonner. ### Hvilken er bedst til Xero -- OFX eller CSV? OFX er bedst til Xero. Den importeres automatisk uden kolonne-mapping, inkluderer FITID-baseret dubletdetektering, bruger et utvetydigt datoformat og bærer kontometadata. Xeros egen dokumentation anbefaler OFX frem for CSV til manuel import af kontoudtog. ### Leverer banker OFX-downloads? Nogle gør, men det er inkonsekvent. Store banker i USA, Storbritannien og Australien kan tilbyde OFX- eller QFX-downloads for nylige transaktioner (typisk de sidste 90 dage). Mange mindre banker, kreditforeninger og internationale institutioner leverer kun PDF-kontoudtog. For historiske data ud over downloadvinduet er PDF-konvertering normalt den eneste mulighed. ### Er OFX sikker? OFX-specifikationen inkluderer bestemmelser for SSL/TLS-kryptering under transmission og certifikatbaseret autentificering for direkte forbindelser. En OFX-fil gemt på disk er dog almindelig tekst -- den indeholder kontonumre og transaktionsdetaljer i læsbar form. Behandl OFX-filer med samme omhu, som du ville give ethvert finansielt dokument. ### Hvad er forskellen mellem OFX 1.x og 2.x? OFX 1.x bruger SGML-markup (tags behøver ikke at være lukket), mens OFX 2.x bruger korrekt XML (alle tags skal åbnes og lukkes). Dataindholdet er det samme -- forskellen er syntaktisk. Version 1.6 forbliver det mest genererede format. De fleste moderne regnskabssoftware parser begge versioner uden problemer. ### Kan jeg redigere en OFX-fil manuelt? Ja. OFX-filer er almindelig tekst og kan redigeres i enhver teksteditor. Du kan rette beskrivelser, korrigere beløb, tilføje manglende FITID'er eller justere datoer. Bare bevar tag-strukturen -- et uafsluttet eller forkert matchet tag vil forårsage importfejl. For OFX 2.x-filer skal du sikre dig, at hvert åbningstag har et tilsvarende lukketag.', 'svgLabels': {} }]} ```json {
PDFSub Team