Какво е OFX формат? Обяснение на Open Financial Exchange
OFX е отворен стандарт за обмен на финансови данни между банки и софтуер. Ето какво има във файл OFX и защо Xero, MYOB и GnuCash го предпочитат.
Вашият счетоводен софтуер иска файл OFX. Банката ви е дала PDF. И сега се чудите за формат, за който никога не сте чували, и се питате защо една напълно добра електронна таблица не може да свърши работата.
OFX -- Open Financial Exchange -- е невидимият стандарт, който захранва модерния финансов софтуер. Той е причината Xero да може да импортира банкови трансакции, без да се налага да съпоставяте колони. Той е причината GnuCash да може да открива дубликати. И той е основата, върху която е изграден форматът QBO на QuickBooks.
Това ръководство разглежда какво всъщност е OFX, какво съдържа, как се сравнява с CSV и QBO, кой софтуер го поддържа и как да създавате OFX файлове от PDF банкови извлечения.

OFX с едно изречение
Open Financial Exchange е базиран на XML формат за данни за обмен на финансова информация между финансови институции, софтуерни приложения и крайни потребители. Това е отвореният стандарт, на който се базира форматът QBO на Intuit -- и форматът, който повечето счетоводен софтуер, различен от QuickBooks, предпочита за импортиране на банкови трансакции.
Мислете за OFX като за лингва франка на финансовите данни. Банките го говорят. Счетоводният софтуер го чете. И за разлика от CSV -- който е просто редове и колони без присъщо значение -- OFX носи структурирани метаданни, които казват на приемащия софтуер точно какво представлява всяка част от данните.
Историята на OFX
OFX е създаден през 1997 г. от Microsoft, Intuit и CheckFree. Всеки от тях имаше свой собствен конкуриращ стандарт -- Microsoft имаше OFC (Open Financial Connectivity), Intuit имаше свой собствен формат за обмен, а CheckFree имаше свои протоколи за електронно фактуриране. OFX беше компромисът, който ги обедини.
Хронология на версиите
- OFX 1.0 (1997) -- Оригиналната спецификация, базирана на SGML (Standard Generalized Markup Language). SGML позволява незатворени тагове, което кара файловете OFX 1.x да изглеждат различно от модерния XML.
- OFX 1.6 (2002) -- Най-широко разпространената версия. Все още базирана на SGML. Повечето банки, които предлагат изтегляне на OFX, генерират файлове 1.6.
- OFX 2.0 (2005) -- Основно пренаписване. Преминаване от SGML към правилен XML със затварящи тагове.
- OFX 2.2 (2016) -- Подобрения в сигурността и по-добра поддръжка на инвестиционни трансакции.
- OFX 2.3 (Текуща) -- Най-новата версия, поддържана от Financial Data Exchange (FDX), индустриален консорциум, който пое управлението от първоначалните основатели.
Преходът от SGML към XML е важен, защото засяга парсинга. Файл от версия 1.x използва незатворени тагове (<TRNTYPE>DEBIT без </TRNTYPE>), докато версия 2.x използва правилен XML със затварящи тагове. Повечето модерни парсери обработват и двете, но несъответствията във версиите остават често срещана грешка при импортиране на OFX.

Какво може да съдържа OFX
OFX не е само формат за банкови извлечения. Спецификацията обхваща широк спектър от финансови данни:
- Банкови извлечения -- Трансакции по разплащателни, спестовни и парични сметки. Най-честият случай на употреба.
- Извлечения по кредитни карти -- История на трансакциите с поддръжка на кодове на категории търговци и подробности за покупките.
- Инвестиционни и брокерски извлечения -- Покупки на акции, дивиденти, преводи на средства и позиции по портфейл с данни за себестойност на партида.
- Информация за плащане на сметки -- Списъци на получатели, планирани плащания и потвърждения за плащане.
- Данъчна информация -- Формуляри 1099 и други данъчни документи, предавани между финансови институции и данъчен софтуер.
- Извлечения по заеми -- Записи на трансакции и информация за баланса по ипотечни, автомобилни и потребителски заеми.
За повечето счетоводители и счетоводители OFX означава едно нещо: импортиране на банкови и кредитни трансакции в счетоводен софтуер без съпоставяне на колони или отгатване на формат на дата.
Вътре в OFX файл
Ето как изглежда един пълен OFX 1.6 файл с банково извлечение. Това е форматът, който ще срещате най-често -- версията, базирана на SGML, която повечето банки и инструменти за преобразуване генерират:
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>Анатомия на файла
Файлът има три основни секции:
1. Заглавен блок -- Редовете с обикновен текст отгоре (преди <OFX>) декларират версията на OFX, кодирането и настройките за сигурност. Това не е XML -- това е просто заглавие ключ-стойност, което парсерите четат преди обработката на SGML/XML тялото.
2. Отговор на влизане (SIGNONMSGSRSV1) -- Данни за удостоверяване и метаданни на сървъра. CODE 0 означава успех. Повечето импортирани файлове използват стойности-заместители тук.
3. Отговор на извлечение (BANKMSGSRSV1) -- Действителните финансови данни:
BANKACCTFROM-- Сметката, към която принадлежат трансакциите (маршрутен номер, номер на сметка, тип сметка)BANKTRANLIST-- Списъкът с трансакции, ограничен от начална и крайна датаSTMTTRN-- Индивидуални записи за трансакцииLEDGERBALиAVAILBAL-- Заключителни и налични салда към определена дата
Забележете SGML синтаксиса: тагове като <TRNTYPE>CREDIT нямат затварящ </TRNTYPE>. Парсерът подразбира края на стойност от началото на следващия таг -- валиден SGML, но невалиден XML, което е причината OFX 2.x да добави затварящи тагове.
Ключови OFX тагове
Ето референтна таблица на таговете, които ще срещате най-често във файлове с банкови извлечения OFX:
| Таг | Описание | Пример |
|---|---|---|
STMTTRN |
Обвивка за трансакция в извлечение | Съдържа всички полета за една трансакция |
TRNTYPE |
Тип на трансакцията | DEBIT, CREDIT, CHECK, DEP, ATM, POS, XFER, FEE, SRVCHG, INT |
DTPOSTED |
Дата на записване | 20260215120000 (ГГГГММДДЧЧММСС) |
TRNAMT |
Сума на трансакцията (с знак) | -87.50 (отрицателно = дебит), 3500.00 (положително = кредит) |
FITID |
Идентификатор на трансакция от финансовата институция | 20260215001 -- уникален идентификатор за откриване на дубликати |
NAME |
Име на получател или търговец | POS PURCHASE GROCERY |
MEMO |
Допълнително описание | WHOLE FOODS #10847 AUSTIN TX |
CHECKNUM |
Номер на чек | 1045 (само за трансакции с чек) |
REFNUM |
Референтен номер | Референтен номер, присвоен от банката за трансакцията |
BANKACCTFROM |
Информация за изходната сметка | Съдържа BANKID (маршрутен), ACCTID (сметка), ACCTTYPE |
LEDGERBAL |
Заключително/счетоводно салдо | Съдържа BALAMT и DTASOF |
AVAILBAL |
Налично салдо | Съдържа BALAMT и DTASOF |
CURDEF |
Код на валутата | USD, GBP, EUR, AUD, CAD |
FITID -- Защо е важен
FITID (Financial Institution Transaction ID) е най-важният таг във OFX файл от гледна точка на счетоводството. Това е уникален идентификатор, присвоен на всяка трансакция, и той позволява откриването на дубликати.
Когато импортирате OFX файл в Xero, GnuCash или друг съвместим софтуер, той съхранява всеки видян FITID. При повторно импортиране на същия файл, софтуерът проверява всеки FITID спрямо своята база данни, като тихо пропуска дубликатите.
Това е основното предимство на OFX пред CSV. При CSV няма уникален идентификатор -- ако импортирате един и същ файл два пъти, ще имате двойни записи, които трябва да почистите ръчно.
OFX срещу CSV
И двата формата могат да прехвърлят банкови трансакции в счетоводен софтуер. OFX печели по структура; CSV печели по гъвкавост.
Защо OFX е по-добър за импортиране в счетоводството
| Характеристика | OFX | CSV |
|---|---|---|
| Съпоставяне на колони | Автоматично -- таговете определят значението | Ръчно -- вие присвоявате всяка колона |
| Откриване на дубликати | Да (базирано на FITID) | Не -- повторното импортиране създава дубликати |
| Формат на дата | Еднозначен (ГГГГММДДЧЧММСС) | Варира според региона -- ДД/ММ/ГГГГ срещу ММ/ДД/ГГГГ |
| Обработка на суми | Стойности с знак, с TRNTYPE | Трябва да се парсват знаци, символи, разделители |
| Идентификация на сметка | Вградена (маршрутен + номер на сметка) | Не е включена |
| Проверка на салдо | Включено заключително салдо | Обикновено не е включено |
| Типове трансакции | Типизирани (DEBIT, CREDIT, CHECK и т.н.) | Свободен текст или липсващ |
| Файлове с множество сметки | Поддържани в един файл | Необходими са отделни файлове |
Само форматът на датата спестява часове от отстраняване на проблеми. При CSV, 01/02/2026 е двусмислено -- 1-ви февруари или 2-ри януари? OFX елиминира това с ГГГГММДДЧЧММСС. 20260201120000 винаги е 1-ви февруари 2026 г.
Кога CSV е по-добрият избор
CSV има легитимни предимства:
- Редактиране на данни -- Можете да отворите CSV в Excel, да коригирате грешки, да добавите категоризации и да го запазите отново. OFX файловете изискват текстов редактор и познаване на структурата на таговете.
- Анализ в Excel -- Ако трябва да изпълнявате формули, pivot таблици или диаграми върху данните от трансакциите, CSV е естественият междинен формат.
- Персонализирана обработка -- Програмни скриптове и потоци от данни обработват CSV по-лесно от вложената структура на таговете на OFX.
- Универсална съвместимост -- Всяко приложение, което чете таблични данни, чете CSV. Не всяко приложение чете OFX.
Практическият съвет: използвайте OFX за импортиране в счетоводен софтуер и CSV за всичко останало.
OFX срещу QBO
Това е въпросът, който обърква повечето хора -- и отговорът е по-прост, отколкото очаквате.
QBO (QuickBooks Web Connect) е OFX с различно разширение на файла и няколко специфични за Intuit тага. Основната структура на данните е идентична. QBO файлът е OFX файл, който QuickBooks разпознава като свой.
Основните разлики
| Аспект | OFX | QBO |
|---|---|---|
| Разширение на файла | .ofx |
.qbo |
| Спецификация | Отворен стандарт (FDX) | Марков subset на Intuit |
| Идентификатор на FI | Незадължителен FI блок |
INTU.BID таг (Intuit Bank ID) |
| Целеви софтуер | Xero, MYOB, GnuCash, Wave и др. | QuickBooks (Desktop и Online) |
| Съвместимост | По-широка -- повечето счетоводен софтуер | Специфичен за QuickBooks |
Тагът INTU.BID е основното допълнение от Intuit -- код за идентификация на банката, който казва на QuickBooks от коя финансова институция е файлът, позволявайки автоматично съпоставяне с правилната банкова сметка по време на импортиране.
На практика можете да преименувате .ofx файл на .qbo и QuickBooks обикновено ще го прочете. Обратното също работи -- повечето софтуер, който чете OFX, ще обработи .qbo файл. Но за чисти импорти използвайте формата, който всяко приложение очаква.
Има и QFX (Quicken Financial Exchange) -- същата OFX основа, различен брандинг, различно разширение на файла, насочен към Quicken.
Софтуер, който поддържа OFX
OFX се радва на широка поддръжка в счетоводен и личен финансов софтуер:
Xero (Предпочитан формат)
Xero изрично препоръчва OFX пред CSV за ръчно импортиране на банкови извлечения. OFX файловете се съпоставят автоматично без конфигурация на колони, включват откриване на дубликати на базата на FITID и носят метаданни за сметката.
За импортиране: Отидете на Accounting > Bank Accounts, изберете сметката, кликнете Manage Account > Import a Statement и изберете вашия .ofx файл. Максимум 1000 трансакции на файл.
MYOB (Пълна поддръжка)
MYOB приема OFX за импортиране на банкови потоци. Процесът е подобен на Xero -- качете файла в съответната банкова сметка и трансакциите се появяват в банковия поток за съпоставяне и категоризиране.
GnuCash (Безплатен, с отворен код)
GnuCash има вградено OFX импортиране чрез библиотеката libofx. Това е една от най-добрите безплатни опции за обработка на OFX файлове.
За импортиране: Отидете на File > Import > Import OFX/QFX, изберете файла си и го съпоставете с правилната сметка. Откриването на дубликати в GnuCash използва FITID, за да предотврати двойни записи.
Друг съвместим софтуер
- Wave -- Безплатен счетоводен софтуер с поддръжка на OFX импорт
- Sage Business Cloud -- Приема OFX за импортиране на банкови трансакции
- FreeAgent -- Поддържа качване на OFX и QIF файлове
- Moneydance -- Софтуер за лични финанси с директна връзка OFX и импорт на файлове
- KMyMoney -- Мениджър за лични финанси с отворен код с поддръжка на OFX чрез
libofx - Microsoft Money -- Прекратен, но все още използван от някои; вградената OFX поддръжка беше една от основните му характеристики
- Reckon (Австралия) -- Приема OFX файлове в работния процес за импортиране на банкови потоци
QuickBooks е забележимото изключение -- той предпочита своя QBO вариант и работи по-надеждно с .qbo файлове, които включват идентификатора INTU.BID.
Създаване на OFX файлове от PDF банкови извлечения
Повечето банки не предлагат директно изтегляне на OFX. Те ви дават PDF -- форматиран за печат, а не за обмен на данни. Някои предлагат CSV експорти за скорошни трансакции (обикновено последните 90 дни), но за исторически данни, закрити сметки или банки без опции за цифров експорт, сте принудени да използвате PDF файлове.
PDFSub's Bank Statement Converter извлича трансакции от PDF банкови извлечения и генерира валидни OFX файлове с правилна структура. Резултатът включва уникални FITID за всяка трансакция, правилно форматиране на дата ГГГГММДД, суми с знак и подходящи типове трансакции, и метаданни за сметката -- всичко, което счетоводният софтуер се нуждае за чист импорт.
Конверторът работи с извлечения от над 20 000 банки на 130+ езика. Дигиталните PDF файлове (текстови извлечения) се обработват в браузъра ви -- файлът никога не напуска устройството ви. Сканирани или предимно изображения извлечения се насочват през AI екстракция на сървъра.
Планът All-In-One е $20/потребител/месец (годишно) или $25/потребител/месец (месечно), включващ 500 страници банкови извлечения на потребител. Всички платени планове включват 7-дневен безплатен пробен период. За подробен преглед на импортирането на получените OFX файлове в Xero, вижте ръководството за импортиране на банкови извлечения в Xero.
Често срещани OFX проблеми и как да ги разрешите
OFX файловете са структурирани, но не и безгрешни. Ето най-честите проблеми и как да ги разрешите:
1. Невалиден XML/SGML синтаксис
Симптом: Вашият софтуер отхвърля файла с грешка при парсиране.
Причина: Неправилно форматирани тагове, липсващи затварящи тагове (във файлове 2.x) или невалидни символи в описанията. Амперсандът (&) е най-честият виновник -- той трябва да бъде кодиран като & в XML, но често остава суров в имена като "AT&T."
Решение: Отворете файла в текстов редактор и заменете суровия & с &. Проверете също за незатворени тагове, ако файлът е версия 2.x.
2. Липсващи или дублирани FITID
Симптом: Импортирането създава дублирани трансакции или софтуерът съобщава за липсващи идентификатори.
Причина: Някои инструменти за преобразуване генерират един и същ FITID за всяка трансакция (като 0 или 1) или напълно пропускат тага.
Решение: Всеки FITID трябва да е уникален в рамките на файла. Често срещан модел комбинира датата и пореден номер: 20260215001, 20260215002 и т.н. Редактирайте FITID-ите-заместители в текстов редактор преди импортиране.
3. Грешен формат на дата
Симптом: Трансакциите се появяват на грешни дати или софтуерът показва дати от 1900 г. или 2099 г.
Причина: Стойността на DTPOSTED не следва формата ГГГГММДДЧЧММСС. ГГГГММДД (без час) е приемливо, но ДД/ММ/ГГГГ или ММ-ДД-ГГГГ ще причинят грешки при парсиране.
Решение: Уверете се, че всички стойности на DTPOSTED използват ГГГГММДД или ГГГГММДДЧЧММСС. И 20260215, и 20260215120000 са валидни.
4. Проблеми с кодирането на символи
Симптом: Описанията на трансакциите показват разбъркани символи, въпросителни или липсващи ударения.
Причина: Заглавието на файла декларира едно кодиране (обикновено USASCII или UTF-8), но действителното съдържание използва друго кодиране. Това е особено често срещано при международни банкови извлечения, които съдържат не-ASCII символи.
Решение: Променете заглавието ENCODING да съответства на действителното кодиране на файла. За международни извлечения с ударени символи, UTF-8 е най-безопасният избор. Някои по-стари софтуери изискват USASCII без специални символи.
5. Съвместимост на версиите (1.x срещу 2.x)
Симптом: Софтуер, който очаква OFX 2.x, отхвърля 1.x файл и обратно.
Причина: OFX 1.x използва SGML (таговете не е нужно да се затварят), докато 2.x използва XML (таговете трябва да се отварят и затварят). Парсери, създадени за една версия, може да се затруднят с другата.
Решение: Повечето модерни счетоводни софтуери обработват и двете версии. Ако вашият не го прави, преобразувайте между версиите, като добавите затварящи тагове (1.x към 2.x) или ги премахнете (2.x към 1.x). Текстовият редактор с функция за търсене и замяна се справя с това за малки файлове.
Често задавани въпроси
Какво означава OFX?
OFX означава Open Financial Exchange -- отворен стандарт за електронен обмен на финансови данни между финансови институции и приложения за крайни потребители, поддържан от Financial Data Exchange (FDX).
OFX едно и също ли е с QBO?
Почти. QBO е брандираната версия на OFX от Intuit за QuickBooks. Структурата на данните е идентична -- QBO добавя таг INTU.BID за идентификация на банката и използва разширението .qbo. Често можете да преименувате .ofx на .qbo и QuickBooks ще го приеме.
Мога ли да отворя OFX файл в Excel?
Не директно като структурирани данни. Excel ще отвори файла като текстов файл, показвайки суровия SGML/XML маркиране. За да видите OFX данни в Excel, трябва или да го преобразувате първо в CSV или XLSX, или да използвате плъгин от трета страна, който парсва OFX тагове в колони на електронна таблица.
Кое е по-добро за Xero -- OFX или CSV?
OFX е по-добро за Xero. Импортира се автоматично без съпоставяне на колони, включва откриване на дубликати на базата на FITID, използва еднозначен формат на дата и носи метаданни за сметката. Документацията на Xero препоръчва OFX пред CSV за ръчно импортиране на банкови извлечения.
Банките предоставят ли OFX изтегляния?
Някои го правят, но е непоследователно. Големи банки в САЩ, Великобритания и Австралия може да предлагат OFX или QFX изтегляния за скорошни трансакции (обикновено последните 90 дни). Много по-малки банки, кредитни съюзи и международни институции предоставят само PDF извлечения. За исторически данни извън прозореца за изтегляне, преобразуването на PDF обикновено е единствената опция.
Безопасен ли е OFX?
Спецификацията на OFX включва разпоредби за SSL/TLS криптиране по време на предаване и удостоверяване, базирано на сертификати, за директни връзки. Въпреки това, OFX файл, запазен на диск, е обикновен текст -- той съдържа номера на сметки и подробности за трансакциите в четим вид. Отнасяйте се към OFX файловете със същата грижа, с която бихте се отнесли към всеки финансов документ.
Каква е разликата между OFX 1.x и 2.x?
OFX 1.x използва SGML маркиране (таговете не е нужно да се затварят), докато OFX 2.x използва правилен XML (всички тагове трябва да се отварят и затварят). Съдържанието на данните е едно и също -- разликата е синтактична. Версия 1.6 остава най-широко генерираният формат. Повечето модерни счетоводни софтуери парсват и двете версии без проблеми.
Мога ли да редактирам OFX файл ръчно?
Да. OFX файловете са обикновен текст и могат да бъдат редактирани във всеки текстов редактор. Можете да коригирате описания, да поправяте суми, да добавяте липсващи FITID или да коригирате дати. Просто поддържайте структурата на таговете -- незатворен или несъответстващ таг ще доведе до грешки при импортиране. За OFX 2.x файлове се уверете, че всеки отварящ таг има съответстващ затварящ таг.