Wat is OFX-formaat? Open Financial Exchange uitgelegd
OFX is de open standaard voor het uitwisselen van financiële gegevens tussen banken en software. Hier leest u wat er in een OFX-bestand staat en waarom Xero, MYOB en GnuCash het verkiezen.
Uw boekhoudsoftware vraagt om een OFX-bestand. Uw bank gaf u een PDF. En nu staart u naar een formaat waarvan u nog nooit hebt gehoord, zich afvragend waarom een prima spreadsheet de klus niet kan klaren.
OFX -- Open Financial Exchange -- is de onzichtbare standaard die moderne financiële software aandrijft. Het is de reden dat Xero banktransacties kan importeren zonder dat u kolommen hoeft toe te wijzen. Het is waarom GnuCash duplicaten kan detecteren. En het is de basis waarop QuickBooks' QBO-formaat is gebouwd.
Deze gids legt uit wat OFX werkelijk is, wat het bevat, hoe het zich verhoudt tot CSV en QBO, welke software het ondersteunt en hoe u OFX-bestanden maakt van PDF-bankafschriften.
OFX in één zin
Open Financial Exchange is een op XML gebaseerd dataformaat voor het uitwisselen van financiële informatie tussen financiële instellingen, softwareapplicaties en eindgebruikers. Het is de open standaard waarop Intuit's QBO-formaat is gebaseerd -- en het formaat dat de meeste boekhoudsoftware (niet QuickBooks) verkiest voor het importeren van banktransacties.
Beschouw OFX als de lingua franca van financiële gegevens. Banken spreken het. Boekhoudsoftware leest het. En in tegenstelling tot CSV -- dat slechts rijen en kolommen zijn zonder inherente betekenis -- bevat OFX gestructureerde metadata die de ontvangende software precies vertelt wat elk gegevenselement vertegenwoordigt.
De geschiedenis van OFX
OFX werd geboren in 1997, gecreëerd door Microsoft, Intuit en CheckFree. Elk had zijn eigen concurrerende standaard -- Microsoft had OFC (Open Financial Connectivity), Intuit had zijn eigen uitwisselingsformaat, en CheckFree had zijn protocollen voor elektronische facturering. OFX was het compromis dat hen verenigde.
Versietijdlijn
- OFX 1.0 (1997) -- De oorspronkelijke specificatie, gebaseerd op SGML (Standard Generalized Markup Language). SGML staat ongesloten tags toe, waardoor OFX 1.x-bestanden er anders uitzien dan moderne XML.
- OFX 1.6 (2002) -- De meest wijdverbreide versie. Nog steeds SGML-gebaseerd. De meeste banken die OFX-downloads aanbieden, genereren 1.6-bestanden.
- OFX 2.0 (2005) -- Grote herschrijving. Overgestapt van SGML naar correcte XML met sluitende tags.
- OFX 2.2 (2016) -- Beveiligingsverbeteringen en verbeterde ondersteuning voor beleggingstransacties.
- OFX 2.3 (Huidig) -- De nieuwste versie, onderhouden door de Financial Data Exchange (FDX), een brancheconsortium dat het beheer overnam van de oorspronkelijke oprichters.
De overgang van SGML naar XML is belangrijk omdat deze de parsing beïnvloedt. Een versie 1.x-bestand gebruikt ongesloten tags (<TRNTYPE>DEBIT zonder </TRNTYPE>), terwijl versie 2.x correcte XML met sluitende tags gebruikt. De meeste moderne parsers verwerken beide, maar versieconflicten blijven een veelvoorkomende OFX-importfout.
Wat OFX kan bevatten
OFX is niet zomaar een formaat voor bankafschriften. De specificatie omvat een breed scala aan financiële gegevens:
- Bankrekeningafschriften -- Transacties van betaalrekeningen, spaarrekeningen en geldmarktrekeningen. Het meest voorkomende gebruiksscenario.
- Creditcardafschriften -- Transactiegeschiedenis met ondersteuning voor merchant category codes en aankoopdetails.
- Beleggings- en effectenafschriften -- Aankoop van aandelen, dividendbetalingen, fondsoverboekingen en portefeuilleposities met kostprijsgegevens op lotniveau.
- Factuurbetalingsinformatie -- Lijsten van begunstigden, geplande betalingen en betalingsbevestigingen.
- Belastinginformatie -- 1099-formulieren en andere belastingdocumenten die tussen financiële instellingen en belastingsoftware worden uitgewisseld.
- Leningafschriften -- Hypotheek-, autolening- en persoonlijke leningtransactierecords en saldigegevens.
Voor de meeste accountants en boekhouders betekent OFX één ding: het importeren van bank- en creditcardtransacties in boekhoudsoftware zonder kolomtoewijzing of gokken naar datumformaten.
Binnen een OFX-bestand
Dit is hoe een compleet OFX 1.6 bankafschriftbestand eruitziet. Dit is het formaat dat u het vaakst zult tegenkomen -- de op SGML gebaseerde versie die de meerderheid van de banken en conversietools genereert:
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>
Anatomie van het bestand
Het bestand heeft drie hoofdsecties:
1. Het Headerblok -- De platte tekstregels bovenaan (vóór <OFX>) declareren de OFX-versie, codering en beveiligingsinstellingen. Dit is geen XML -- het is een eenvoudige key-value header die parsers lezen voordat ze de SGML/XML-body verwerken.
2. De Aanmeldingsreactie (SIGNONMSGSRSV1) -- Authenticatie- en servermetadata. CODE van 0 betekent succes. De meeste geïmporteerde bestanden gebruiken hier placeholderwaarden.
3. De Afschriftreactie (BANKMSGSRSV1) -- De werkelijke financiële gegevens:
BANKACCTFROM-- Het account waartoe de transacties behoren (routeringsnummer, accountnummer, accounttype)BANKTRANLIST-- De lijst met transacties, begrensd door een start- en einddatumSTMTTRN-- Individuele transactierecordsLEDGERBALenAVAILBAL-- Slot- en beschikbare saldi per een specifieke datum
Let op de SGML-syntaxis: tags zoals <TRNTYPE>CREDIT hebben geen sluitende </TRNTYPE>. De parser leidt het einde van een waarde af uit het begin van de volgende tag -- geldige SGML, maar ongeldige XML, daarom voegde OFX 2.x sluitende tags toe.
Belangrijke OFX-tags
Hier is een referentietabel van de tags die u het vaakst zult tegenkomen in OFX-bestanden van bankafschriften:
| Tag | Beschrijving | Voorbeeld |
|---|---|---|
STMTTRN |
Wrapper voor afschrifttransactie | Bevat alle velden voor één transactie |
TRNTYPE |
Transactietype | DEBIT, CREDIT, CHECK, DEP, ATM, POS, XFER, FEE, SRVCHG, INT |
DTPOSTED |
Datum van boeking | 20260215120000 (JJJJMMDDUU MMSS) |
TRNAMT |
Transactiebedrag (met teken) | -87.50 (negatief = debet), 3500.00 (positief = credit) |
FITID |
Transactie-ID van financiële instelling | 20260215001 -- unieke identificatie voor detectie van duplicaten |
NAME |
Naam van begunstigde of handelaar | POS PURCHASE GROCERY |
MEMO |
Extra beschrijving | WHOLE FOODS #10847 AUSTIN TX |
CHECKNUM |
Chequenummer | 1045 (alleen voor cheque-transacties) |
REFNUM |
Referentienummer | Door de bank toegewezen referentie voor de transactie |
BANKACCTFROM |
Informatie over bronrekening | Bevat BANKID (routering), ACCTID (account), ACCTTYPE |
LEDGERBAL |
Slot-/grootboeksaldo | Bevat BALAMT en DTASOF |
AVAILBAL |
Beschikbaar saldo | Bevat BALAMT en DTASOF |
CURDEF |
Valutacode | USD, GBP, EUR, AUD, CAD |
De FITID -- Waarom het belangrijk is
De FITID (Financial Institution Transaction ID) is het allerbelangrijkste tag in een OFX-bestand vanuit boekhoudkundig oogpunt. Het is een unieke identificatie die aan elke transactie is toegewezen en die detectie van duplicaten mogelijk maakt.
Wanneer u een OFX-bestand importeert in Xero, GnuCash of een andere compatibele software, slaat het de FITID's op die het heeft gezien. Importeer hetzelfde bestand opnieuw en de software controleert elke FITID tegen zijn database, waarbij duplicaten stilzwijgend worden overgeslagen.
Dit is het belangrijkste voordeel dat OFX heeft ten opzichte van CSV. Met CSV is er geen unieke identificatie -- als u hetzelfde bestand twee keer importeert, krijgt u dubbele vermeldingen die u handmatig moet opschonen.
OFX versus CSV
Beide formaten kunnen banktransacties in boekhoudsoftware krijgen. OFX wint op structuur; CSV wint op flexibiliteit.
Waarom OFX beter is voor boekhoudkundige imports
| Kenmerk | OFX | CSV |
|---|---|---|
| Kolomtoewijzing | Automatisch -- tags definiëren betekenis | Handmatig -- u wijst elke kolom toe |
| Detectie van duplicaten | Ja (op FITID gebaseerd) | Nee -- opnieuw importeren creëert duplicaten |
| Datumformaat | Ondubbelzinnig (JJJJMMDDUU MMSS) | Varieert per regio -- DD/MM/JJJJ vs MM/DD/JJJJ |
| Afhandeling van bedragen | Getekende waarden met TRNTYPE | Moet tekens, symbolen, scheidingstekens parsen |
| Identificatie van rekening | Ingebouwd (routering + rekeningnummer) | Niet inbegrepen |
| Saldoverificatie | Slot-saldo inbegrepen | Meestal niet inbegrepen |
| Transactietypes | Getypeerd (DEBIT, CREDIT, CHECK, etc.) | Vrije tekst of afwezig |
| Bestanden met meerdere rekeningen | Ondersteund in één bestand | Afzonderlijke bestanden nodig |
Alleen al het datumformaat bespaart uren aan probleemoplossing. Met CSV is 01/02/2026 dubbelzinnig -- 1 februari of 2 januari? OFX elimineert dit met JJJJMMDDUU MMSS. 20260201120000 is altijd 1 februari 2026.
Wanneer CSV de betere keuze is
CSV heeft legitieme voordelen:
- Gegevensbewerking -- U kunt een CSV openen in Excel, fouten corrigeren, categorisaties toevoegen en opnieuw opslaan. OFX-bestanden vereisen een teksteditor en kennis van de tagstructuur.
- Excel-analyse -- Als u formules, draaitabellen of grafieken op transactiegegevens wilt uitvoeren, is CSV het natuurlijke tussenformaat.
- Aangepaste verwerking -- Programmatische scripts en datapijplijnen verwerken CSV gemakkelijker dan de geneste tagstructuur van OFX.
- Universele compatibiliteit -- Elke applicatie die tabelgegevens leest, leest CSV. Niet elke applicatie leest OFX.
Het praktische advies: gebruik OFX voor het importeren in boekhoudsoftware en CSV voor al het andere.
OFX versus QBO
Dit is de vraag die de meeste mensen in de war brengt -- en het antwoord is eenvoudiger dan u zou denken.
QBO (QuickBooks Web Connect) is OFX met een andere bestandsextensie en enkele Intuit-specifieke tags. De onderliggende gegevensstructuur is identiek. Een QBO-bestand is een OFX-bestand dat QuickBooks als zijn eigen herkent.
De belangrijkste verschillen
| Aspect | OFX | QBO |
|---|---|---|
| Bestandsextensie | .ofx |
.qbo |
| Specificatie | Open standaard (FDX) | Intuit's merkonderdeel |
| FI-identificatie | Optioneel FI-blok |
INTU.BID-tag (Intuit Bank ID) |
| Doelsoftware | Xero, MYOB, GnuCash, Wave, etc. | QuickBooks (Desktop en Online) |
| Compatibiliteit | Breder -- de meeste boekhoudsoftware | QuickBooks-specifiek |
De INTU.BID-tag is de belangrijkste Intuit-toevoeging -- een bankidentificatiecode die QuickBooks vertelt van welke financiële instelling het bestand afkomstig is, waardoor automatische koppeling met de juiste bankrekening tijdens de import mogelijk is.
In de praktijk kunt u een .ofx-bestand hernoemen naar .qbo en QuickBooks zal het meestal lezen. De andere kant op werkt ook -- de meeste software die OFX leest, verwerkt een .qbo-bestand. Maar voor schone imports gebruikt u het formaat dat elke applicatie verwacht.
Er is ook QFX (Quicken Financial Exchange) -- dezelfde OFX-basis, andere merknaam, andere bestandsextensie, gericht op Quicken.
Software die OFX ondersteunt
OFX geniet brede ondersteuning in boekhoud- en persoonlijke financiële software:
Xero (Voorkeursformaat)
Xero beveelt OFX expliciet aan boven CSV voor handmatige imports van bankafschriften. OFX-bestanden worden automatisch toegewezen zonder kolomconfiguratie, bevatten FITID-gebaseerde detectie van duplicaten en dragen accountmetadata met zich mee.
Importeren: Ga naar Accounting > Bank Accounts, selecteer de rekening, klik op Manage Account > Import a Statement en kies uw .ofx-bestand. Maximaal 1.000 transacties per bestand.
MYOB (Volledige ondersteuning)
MYOB accepteert OFX voor imports van bankfeeds. Het proces is vergelijkbaar met Xero -- upload het bestand naar de betreffende bankrekening en transacties verschijnen in de bankfeed voor matching en categorisatie.
GnuCash (Gratis, Open Source)
GnuCash heeft ingebouwde OFX-import via de libofx-bibliotheek. Het is een van de beste gratis opties voor het verwerken van OFX-bestanden.
Importeren: Ga naar File > Import > Import OFX/QFX, selecteer uw bestand en koppel het aan de juiste rekening. GnuCash's detectie van duplicaten gebruikt de FITID om dubbele vermeldingen te voorkomen.
Andere compatibele software
- Wave -- Gratis boekhoudsoftware met OFX-importondersteuning
- Sage Business Cloud -- Accepteert OFX voor imports van banktransacties
- FreeAgent -- Ondersteunt uploads van OFX- en QIF-bestanden
- Moneydance -- Persoonlijke financiële software met OFX direct connect en bestandsimport
- KMyMoney -- Open-source persoonlijke financiële manager met OFX-ondersteuning via
libofx - Microsoft Money -- Stopgezet maar nog steeds door sommigen gebruikt; ingebouwde OFX-ondersteuning was een van de kernfuncties
- Reckon (Australië) -- Accepteert OFX-bestanden in zijn importworkflow voor bankfeeds
QuickBooks is de opvallende afwezige -- het verkiest zijn QBO-merkvariant en werkt betrouwbaarder met .qbo-bestanden die de INTU.BID-identificatie bevatten.
OFX-bestanden maken van PDF-bankafschriften
De meeste banken bieden geen directe OFX-downloads aan. Ze geven u een PDF -- opgemaakt om af te drukken, niet voor gegevensuitwisseling. Sommige bieden CSV-exports voor recente transacties (doorgaans de laatste 90 dagen), maar voor historische gegevens, gesloten rekeningen of banken zonder digitale exportopties, zit u vast aan PDF's.
PDFSub's Bank Statement Converter extraheert transacties uit PDF-bankafschriften en genereert geldige OFX-bestanden met de juiste structuur. De uitvoer bevat unieke FITID's voor elke transactie, correcte JJJJMMDD-datumformattering, getekende bedragen met de juiste transactietypes en accountmetadata -- alles wat boekhoudsoftware nodig heeft voor een schone import.
De converter werkt met afschriften van meer dan 20.000 banken in 133 talen. Digitale PDF's (tekstgebaseerde afschriften) worden in uw browser verwerkt -- het bestand verlaat uw apparaat nooit. Gescande of beeldrijke afschriften worden via server-side AI-extractie verwerkt.
Plannen beginnen bij $10/maand, met conversie van bankafschriften voor $29/maand (Business plan + BSC add-on, 500 pagina's). Alle betaalde plannen zijn inclusief een gratis proefperiode van 7 dagen. Voor een gedetailleerde handleiding voor het importeren van de resulterende OFX-bestanden in Xero, zie de Xero bank statement import guide.
Veelvoorkomende OFX-problemen en hoe ze op te lossen
OFX-bestanden zijn gestructureerd, maar niet onfeilbaar. Hier zijn de meest voorkomende problemen en hoe u ze kunt oplossen:
1. Ongeldige XML/SGML-syntaxis
Symptoom: Uw software weigert het bestand met een parseerfout.
Oorzaak: Onjuist gevormde tags, ontbrekende sluitende tags (in 2.x-bestanden) of ongeldige tekens in beschrijvingen. Ampersands (&) zijn de meest voorkomende boosdoener -- ze moeten worden gecodeerd als & in XML, maar worden vaak onbewerkt gelaten in namen zoals "AT&T."
Oplossing: Open het bestand in een teksteditor en vervang losse & door &. Controleer ook op ongesloten tags als het bestand versie 2.x is.
2. Ontbrekende of dubbele FITID's
Symptoom: Import creëert dubbele transacties, of de software meldt ontbrekende identificaties.
Oorzaak: Sommige conversietools genereren dezelfde FITID voor elke transactie (zoals 0 of 1), of laten de tag volledig weg.
Oplossing: Elke FITID moet uniek zijn binnen het bestand. Een veelvoorkomend patroon combineert de datum en een sequentiële teller: 20260215001, 20260215002, enz. Bewerk placeholder FITID's in een teksteditor vóór het importeren.
3. Verkeerd datumformaat
Symptoom: Transacties verschijnen op de verkeerde datums, of de software toont datums van 1900 of 2099.
Oorzaak: De DTPOSTED-waarde volgt niet het JJJJMMDDUU MMSS-formaat. JJJJMMDD (zonder tijd) is prima, maar DD/MM/JJJJ of MM-DD-JJJJ zal leiden tot verkeerde parsen.
Oplossing: Zorg ervoor dat alle DTPOSTED-waarden JJJJMMDD of JJJJMMDDUU MMSS gebruiken. Zowel 20260215 als 20260215120000 zijn geldig.
4. Problemen met tekencodering
Symptoom: Transactiebeschrijvingen tonen onleesbare tekens, vraagtekens of ontbrekende accenten.
Oorzaak: De bestandsheader declareert één codering (doorgaans USASCII of UTF-8), maar de werkelijke inhoud gebruikt een andere codering. Dit komt vooral voor bij internationale bankafschriften met niet-ASCII-tekens.
Oplossing: Wijzig de ENCODING-header zodat deze overeenkomt met de werkelijke bestands codering. Voor internationale afschriften met accenttekens is UTF-8 de veiligste keuze. Sommige oudere software vereist USASCII zonder speciale tekens.
5. Versiecompatibiliteit (1.x versus 2.x)
Symptoom: Software die OFX 2.x verwacht, wijst een 1.x-bestand af, of andersom.
Oorzaak: OFX 1.x gebruikt SGML (tags hoeven niet gesloten te worden), terwijl 2.x correcte XML gebruikt (alle tags moeten geopend en gesloten worden). Parsers gebouwd voor de ene versie kunnen problemen ondervinden met de andere.
Oplossing: De meeste moderne boekhoudsoftware verwerkt beide versies. Als de uwe dat niet doet, converteer dan tussen versies door sluitende tags toe te voegen (1.x naar 2.x) of ze te verwijderen (2.x naar 1.x). Zoek-en-vervang in een teksteditor regelt dit voor kleine bestanden.
Veelgestelde vragen
Waar staat OFX voor?
OFX staat voor Open Financial Exchange -- een open standaard voor de elektronische uitwisseling van financiële gegevens tussen financiële instellingen en eindgebruikersapplicaties, onderhouden door de Financial Data Exchange (FDX).
Is OFX hetzelfde als QBO?
Bijna. QBO is Intuit's merkversie van OFX voor QuickBooks. De gegevensstructuur is identiek -- QBO voegt een INTU.BID-tag toe voor bankidentificatie en gebruikt de .qbo-extensie. U kunt vaak een .ofx-bestand hernoemen naar .qbo en QuickBooks zal het accepteren.
Kan ik een OFX-bestand openen in Excel?
Niet direct als gestructureerde gegevens. Excel opent het bestand als een tekstbestand en toont de ruwe SGML/XML-markup. Om OFX-gegevens in Excel te bekijken, moet u het eerst converteren naar CSV of XLSX, of een add-in van derden gebruiken die OFX-tags naar spreadsheetkolommen parset.
Wat is beter voor Xero -- OFX of CSV?
OFX is beter voor Xero. Het wordt automatisch geïmporteerd zonder kolomtoewijzing, bevat FITID-gebaseerde detectie van duplicaten, gebruikt een ondubbelzinnig datumformaat en bevat accountmetadata. Xero's eigen documentatie beveelt OFX aan boven CSV voor handmatige imports van bankafschriften.
Bieden banken OFX-downloads aan?
Sommige wel, maar het is inconsistent. Grote banken in de VS, het VK en Australië bieden mogelijk OFX- of QFX-downloads aan voor recente transacties (doorgaans de laatste 90 dagen). Veel kleinere banken, kredietverenigingen en internationale instellingen bieden alleen PDF-afschriften. Voor historische gegevens buiten het downloadvenster is PDF-conversie meestal de enige optie.
Is OFX veilig?
De OFX-specificatie bevat bepalingen voor SSL/TLS-encryptie tijdens transmissie en certificaatgebaseerde authenticatie voor directe verbindingen. Een OFX-bestand dat op schijf is opgeslagen, is echter platte tekst -- het bevat rekeningnummers en transactiegegevens in leesbare vorm. Behandel OFX-bestanden met dezelfde zorg als elk financieel document.
Wat is het verschil tussen OFX 1.x en 2.x?
OFX 1.x gebruikt SGML-markup (tags hoeven niet gesloten te worden), terwijl OFX 2.x correcte XML gebruikt (alle tags moeten geopend en gesloten worden). De inhoud van de gegevens is hetzelfde -- het verschil is syntactisch. Versie 1.6 blijft het meest gegenereerde formaat. De meeste moderne boekhoudsoftware parset beide versies zonder problemen.
Kan ik een OFX-bestand handmatig bewerken?
Ja. OFX-bestanden zijn platte tekst en kunnen in elke teksteditor worden bewerkt. U kunt beschrijvingen corrigeren, bedragen aanpassen, ontbrekende FITID's toevoegen of datums wijzigen. Zorg er gewoon voor dat u de tagstructuur behoudt -- een ongesloten of ongeldige tag zal importfouten veroorzaken. Voor OFX 2.x-bestanden zorgt u ervoor dat elke openings tag een bijbehorende sluitende tag heeft.