PDFSub
價格APIMergeCompressEditE-Sign銀行對帳單部落格
返回部落格
指南OFX銀行對帳單Xero會計

OFX 格式是什麼?開放金融交換格式說明

2026年3月2日
T
Todd Lahman
Founder, PDFSub

OFX 是銀行與軟體之間交換金融資料的開放標準。本文將說明 OFX 檔案的內容以及為何 Xero、MYOB 和 GnuCash 等軟體偏好使用它。


您的會計軟體要求提供 OFX 檔案,但您的銀行卻只提供 PDF。您現在面臨一個前所未聞的格式,並納悶為何試算表無法勝任。

OFX -- 開放金融交換(Open Financial Exchange)-- 是驅動現代金融軟體的隱形標準。這也是 Xero 能在您無需對應欄位的情況下匯入銀行交易的原因,是 GnuCash 能偵測重複交易的基礎,也是 QuickBooks 的 QBO 格式的建構基石。

本指南將深入解析 OFX 的實際內容、它包含的資訊、與 CSV 和 QBO 的比較、支援 OFX 的軟體,以及如何從 PDF 銀行對帳單建立 OFX 檔案。

What is OFX format -- Open Financial Exchange explained

OFX 一句話說明

開放金融交換是一種基於 XML 的資料格式,用於在金融機構、軟體應用程式和最終使用者之間交換金融資訊。它是 Intuit 的 QBO 格式的基礎,也是大多數非 QuickBooks 會計軟體在匯入銀行交易時偏好的格式。

您可以將 OFX 視為金融資料的通用語言。銀行使用它,會計軟體也讀取它。與 CSV 不同的是(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 (目前) -- 最新版本,由金融數據交換(FDX)維護,這是一個行業聯盟,接管了原始創始者的治理權。

從 SGML 到 XML 的轉變很重要,因為它會影響解析。1.x 版本檔案使用未關閉的標籤(例如 <TRNTYPE>DEBIT 而沒有 </TRNTYPE>),而 2.x 版本則使用帶有關閉標籤的標準 XML。大多數現代解析器都能處理兩者,但版本不符仍然是常見的 OFX 匯入錯誤。


OFX data flow: Bank PDF → OFX File → Accounting Software → Reconcile, with key advantages over CSV

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 金融機構交易 ID 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(金融機構交易 ID)是 OFX 檔案中最重要的標籤。它是分配給每筆交易的唯一識別碼,也是實現重複偵測的關鍵。

當您將 OFX 檔案匯入 Xero、GnuCash 或任何其他相容軟體時,該軟體會儲存它見過的每一個 FITID。再次匯入相同檔案時,軟體會將每個 FITID 與其資料庫進行比對,並悄悄跳過重複的項目。

這是 OFX 相較於 CSV 的主要優勢。CSV 沒有唯一的識別碼 -- 如果重複匯入相同檔案,您將需要手動清理重複的條目。


OFX 與 CSV 比較

兩種格式都能將銀行交易匯入會計軟體。OFX 在結構上佔優勢;CSV 在靈活性上勝出。

為何 OFX 更適合匯入會計軟體

功能 OFX CSV
欄位對應 自動 -- 標籤定義意義 手動 -- 您指定每個欄位
重複偵測 是(基於 FITID) 否 -- 重新匯入會產生重複項
日期格式 明確(年年月月日日時時分分秒秒) 因地區而異 -- 日/月/年 vs 月/日/年
金額處理 帶符號的值和 TRNTYPE 必須解析符號、數字和分隔符
帳戶識別 內嵌(路由+帳戶號碼) 不包含
餘額驗證 包含結帳餘額 通常不包含
交易類型 已分類(DEBIT、CREDIT、CHECK 等) 文字或缺失
多帳戶檔案 單一檔案支援 需要獨立檔案

僅日期格式的差異就能節省數小時的故障排除時間。使用 CSV 時,01/02/2026 是模糊的 -- 是 1 月 2 日還是 2 月 1 日?OFX 使用 YYYYMMDDHHMMSS 消除了這種歧義。20260201120000 始終是 2026 年 2 月 1 日。

何時 CSV 是更好的選擇

CSV 也有其合理優勢:

  • 資料編輯 -- 您可以在 Excel 中開啟 CSV,修正錯誤,添加分類,然後重新儲存。OFX 檔案需要文字編輯器和對標籤結構的了解。
  • Excel 分析 -- 如果您需要對交易資料執行公式、樞紐分析表或圖表,CSV 是自然的中間格式。
  • 自訂處理 -- 程式化腳本和資料管道比 OFX 的巢狀標籤結構更容易處理 CSV。
  • 通用相容性 -- 每個讀取表格資料的應用程式都能讀取 CSV。並非所有應用程式都能讀取 OFX。

實用建議:使用 OFX 匯入會計軟體,其他情況則使用 CSV。


OFX 與 QBO 比較

這是最常讓人困惑的問題 -- 而答案比您想像的要簡單。

QBO(QuickBooks Web Connect)是 OFX 的變體,只是檔案副檔名不同,並包含一些 Intuit 特有的標籤。底層資料結構是相同的。QBO 檔案就是 QuickBooks 識別為其自身的 OFX 檔案。

主要差異

方面 OFX QBO
檔案副檔名 .ofx .qbo
規格 開放標準(FDX) Intuit 的品牌子集
金融機構識別碼 可選的 FI 區塊 INTU.BID 標籤(Intuit 銀行 ID)
目標軟體 Xero、MYOB、GnuCash、Wave 等 QuickBooks(桌面版和線上版)
相容性 較廣泛 -- 大多數會計軟體 僅限 QuickBooks

INTU.BID 標籤是 Intuit 的主要新增內容 -- 這是一個銀行識別碼,用於告知 QuickBooks 檔案來自哪個金融機構,從而能在匯入時自動對應到正確的銀行帳戶。

實際上,您可以將 .ofx 檔案重新命名為 .qbo,QuickBooks 通常也能讀取。反之亦然 -- 大多數讀取 OFX 的軟體也能處理 .qbo 檔案。但為了乾淨的匯入,請使用每個應用程式預期的格式。

還有 QFX(Quicken Financial Exchange)-- 相同的 OFX 基礎,不同的品牌,不同的檔案副檔名,針對 Quicken 設計。


支援 OFX 的軟體

OFX 在會計和個人理財軟體中享有廣泛支援:

Xero(推薦格式)

Xero 明確建議使用 OFX 而非 CSV 進行手動銀行對帳單匯入。OFX 檔案無需欄位設定即可自動對應,包含基於 FITID 的重複偵測,並攜帶帳戶中繼資料。

匯入方式: 前往 會計 > 銀行帳戶,選擇帳戶,點擊 管理帳戶 > 匯入對帳單,然後選擇您的 .ofx 檔案。每個檔案最多支援 1,000 筆交易。

MYOB(完全支援)

MYOB 接受 OFX 用於銀行串流匯入。流程與 Xero 類似 -- 將檔案上傳到相關銀行帳戶,交易就會出現在銀行串流中以供比對和分類。

GnuCash(免費、開源)

GnuCash 透過 libofx 函式庫內建 OFX 匯入功能。這是處理 OFX 檔案的最佳免費選項之一。

匯入方式: 前往 檔案 > 匯入 > 匯入 OFX/QFX,選擇您的檔案,並將其對應到正確的帳戶。GnuCash 的重複偵測使用 FITID 來防止重複輸入。

其他相容軟體

  • Wave -- 免費會計軟體,支援 OFX 匯入
  • Sage Business Cloud -- 接受 OFX 用於銀行交易匯入
  • FreeAgent -- 支援 OFX 和 QIF 檔案上傳
  • Moneydance -- 個人理財軟體,支援 OFX 直接連線和檔案匯入
  • KMyMoney -- 開源個人理財管理器,透過 libofx 支援 OFX
  • Microsoft Money -- 已停產但仍有人使用;內建 OFX 支援是其核心功能之一
  • Reckon (澳洲) -- 在其銀行串流匯入工作流程中接受 OFX 檔案

QuickBooks 是較為顯著的缺席者 -- 它偏好使用其 QBO 品牌變體,並且更可靠地處理包含 INTU.BID 識別碼的 .qbo 檔案。


從 PDF 銀行對帳單建立 OFX 檔案

大多數銀行不直接提供 OFX 下載。它們提供 PDF -- 格式化用於列印,而非資料交換。有些銀行提供 CSV 匯出(通常是最近 90 天的交易),但對於歷史資料、已關閉的帳戶或沒有數位匯出選項的銀行,您只能使用 PDF。

PDFSub 的銀行對帳單轉換器 可從 PDF 銀行對帳單中提取交易,並建立具有正確結構的有效 OFX 檔案。輸出包含每筆交易的唯一 FITID、正確的年年月月日日日期格式、帶有適當交易類型的帶符號金額,以及帳戶中繼資料 -- 這一切都是會計軟體進行乾淨匯入所需的。

該轉換器支援 130 多種語言、超過 20,000 家銀行的對帳單。數位 PDF(基於文字的對帳單)會在您的瀏覽器中處理 -- 檔案永不離開您的裝置。掃描或圖像較多的對帳單則透過伺服器端 AI 提取。

全方位方案為每月每位使用者 20 美元(年繳)或 25 美元(月繳),包含每位使用者每月 500 頁銀行對帳單。所有付費方案均包含 7 天免費試用。如需匯入產生的 OFX 檔案到 Xero 的詳細教學,請參閱 Xero 銀行對帳單匯入指南。


常見 OFX 問題及解決方法

OFX 檔案結構化,但並非萬無一失。以下是最常見的問題及解決方法:

1. 無效的 XML/SGML 語法

症狀: 您的軟體以解析錯誤拒絕該檔案。

原因: 標籤格式錯誤、缺少關閉標籤(在 2.x 檔案中),或描述中存在非法字元。字元 & 是最常見的罪魁禍首 -- 在 XML 中必須編碼為 &amp;,但常在 "AT&T." 等名稱中直接出現。

解決方法: 在文字編輯器中開啟檔案,將單獨的 & 替換為 &amp;。如果檔案是 2.x 版本,也請檢查未關閉的標籤。

2. 遺失或重複的 FITID

症狀: 匯入產生重複交易,或軟體報告缺少識別碼。

原因: 某些轉換工具為每筆交易產生相同的 FITID(例如 0 或 1),或完全省略該標籤。

解決方法: 每個 FITID 在檔案內必須是唯一的。常見的模式是結合日期和順序計數器:20260215001、20260215002 等。匯入前在文字編輯器中編輯預設的 FITID。

3. 日期格式錯誤

症狀: 交易顯示在錯誤的日期,或軟體顯示 1900 年或 2099 年的日期。

原因: DTPOSTED 值不符合 YYYYMMDDHHMMSS 格式。僅有 YYYYMMDD(無時間)是可以的,但 DD/MM/YYYY 或 MM-DD-YYYY 會導致解析錯誤。

解決方法: 確保所有 DTPOSTED 值使用 YYYYMMDD 或 YYYYMMDDHHMMSS。20260215 和 20260215120000 均有效。

4. 字元編碼問題

症狀: 交易描述顯示亂碼、問號或遺失重音符號。

原因: 檔案標頭聲明了一種編碼(通常是 USASCII 或 UTF-8),但實際內容使用了不同的編碼。這在包含非 ASCII 字元的國際銀行對帳單中尤其常見。

解決方法: 將 ENCODING 標頭更改為符合實際檔案編碼。對於帶有重音符號的國際對帳單,UTF-8 是最安全的選擇。一些舊軟體需要 USASCII 且不含特殊字元。

5. 版本相容性(1.x vs 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(開放金融交換)-- 一種由金融數據交換(FDX)維護的開放標準,用於金融機構與終端使用者應用程式之間的金融數據電子交換。

OFX 和 QBO 是相同的嗎?

幾乎相同。QBO 是 Intuit 為 QuickBooks 設計的 OFX 品牌版本。資料結構相同 -- QBO 添加了 INTU.BID 標籤用於銀行識別,並使用 .qbo 副檔名。您通常可以將 .ofx 重新命名為 .qbo,QuickBooks 就會接受。

我可以在 Excel 中開啟 OFX 檔案嗎?

不能直接作為結構化資料開啟。Excel 會將檔案作為純文字檔案開啟,顯示原始的 SGML/XML 標記。要在 Excel 中查看 OFX 資料,您需要先將其轉換為 CSV 或 XLSX,或者使用第三方外掛程式將 OFX 標籤解析為試算表欄位。

對於 Xero,OFX 或 CSV 哪個更好?

OFX 對於 Xero 更好。它無需欄位對應即可自動匯入,包含基於 FITID 的重複偵測,使用明確的日期格式,並攜帶帳戶中繼資料。Xero 自己的文件建議手動匯入銀行對帳單時使用 OFX 而非 CSV。

銀行是否提供 OFX 下載?

有些銀行提供,但並不一致。美國、英國和澳洲的主要銀行可能會提供最近交易(通常是過去 90 天)的 OFX 或 QFX 下載。許多小型銀行、信用合作社和國際機構僅提供 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 檔案,請確保每個開啟的標籤都有對應的關閉標籤。

返回部落格

有問題嗎? 聯絡我們

PDFSub

您所需的所有 PDF 和文件工具,一應俱全。快速、安全、隱私。

符合 GDPR符合 CCPA準備好 SOC 2
由 PDFSub Engine 提供支援

產品

  • 所有工具
  • 功能
  • 銀行對帳單
  • API
  • 價格
  • 常見問題
  • 部落格

支援

  • 關於
  • 說明中心
  • 聯絡
  • 常見問題

法律

  • 隱私權政策
  • 服務條款
  • Cookie 政策

© 2026 PDFSub. 保留所有權利。

在美國製造,以 為全球使用者服務