PDFSub
定价APIMergeCompressEditE-Sign银行对账单博客
返回博客
指南QBOQuickBooks银行对账单会计

什么是 QBO 文件格式?会计师指南

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

QBO 是 QuickBooks 的原生银行对账单导入格式。本文将介绍 QBO 文件的内容、工作原理以及它为何优于 CSV 用于 QuickBooks 导入。


如果您曾将银行交易导入 QuickBooks,您一定听过这样的建议:“直接使用 QBO 格式”。每个 QuickBooks 论坛、每个簿记员社区、每个会计博客都这么说。QBO 是最佳选择。

但 QBO 文件到底是什么?它不是电子表格。它也不是数据库。您无法在 Excel 中打开它并看到行和列。双击它,您的电脑甚至可能不知道如何处理它。

本指南将从内到外剖析 QBO 文件格式——它包含什么、如何构建、为何 QuickBooks 比 CSV 更偏爱它,以及当您的银行不提供下载时,QBO 文件是如何创建的。

What is QBO file format --- a guide for accountants

QBO 一句话概括

QBO 文件是一种基于 XML 的财务数据文件,遵循 Open Financial Exchange (OFX) 规范,并为 QuickBooks 定制。它以结构化、机器可读的格式存储银行交易——包含 QuickBooks 用于自动检测重复项的唯一交易 ID。

.qbo 扩展名代表“QuickBooks Web Connect”。这是 Intuit 设计的用于将银行数据导入 QuickBooks 的文件格式,无需实时银行连接。

这样想:如果 CSV 是一个简单的交易文本列表,那么 QBO 就是一个自描述的包,它确切地告诉 QuickBooks 数据的含义——哪个字段是日期,哪个是金额,哪个是收款人——没有任何歧义,也无需手动映射。


QBO 的历史背景

QBO 的故事始于 1997 年,当时三家公司——Microsoft、Intuit 和 CheckFree——联手创建了 Open Financial Exchange (OFX) 规范。目标很简单:建立一个通用的标准,用于在银行、消费者和金融软件之间电子交换财务数据。

在 OFX 之前,每家银行和每个软件包都使用自己的专有格式。OFX 通过定义一个单一的、基于 SGML(后来是 XML)的结构来解决这个问题,任何兼容的系统都可以读取和写入。

Intuit 为其产品改编了 OFX,创建了两种品牌格式:

  • QFX (Quicken Financial Exchange) —— 用于导入 Quicken
  • QBO (QuickBooks Web Connect) —— 用于导入 QuickBooks

两者本质上都是 OFX 文件,并添加了 Intuit 特定的元数据标签——最著名的是 INTU.BID,这是一个银行标识符代码,用于告知软件是哪个金融机构生成了该文件。

最初,银行通过其在线银行门户直接生成 QBO 文件。客户登录,选择“QuickBooks”或“Web Connect”作为下载格式,然后获得一个 .qbo 文件以供导入。但随着银行的现代化并转向基于 API 的连接(Plaid、Yodlee、MX),许多银行完全放弃了直接的 QBO 下载。

如今,提供 QBO 导出的银行越来越少。交易仍然存在——只是被锁在 PDF 对账单中。这种转变使得 QBO 转换器对于现代会计工作流程至关重要。


PDF to QuickBooks QBO workflow: Bank → QBO File → QuickBooks → Import, with QBO vs CSV comparison

QBO 文件内部结构

在任何文本编辑器中打开 QBO 文件,您会看到一种看起来像是 XML 和 HTML 混合体的结构化标记。这是一个完整的、带注释的示例:

OFXHEADER:100
DATA:OFXSGML
VERSION:102
SECURITY:NONE
ENCODING:USASCII
CHARSET:1252
COMPRESSION:NONE
OLDFILEUID:NONE
NEWFILEUID:NONE
 
<OFX> <SIGNONMSGSRSV1> <SONRS> <STATUS> <CODE>0 <SEVERITY>INFO </STATUS> <DTSERVER>20260215120000 <LANGUAGE>ENG <FI> <ORG>First National Bank <FID>12345 </FI> <INTU.BID>12345 </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>20260101 <DTEND>20260131 <STMTTRN> <TRNTYPE>DEBIT <DTPOSTED>20260103 <TRNAMT>-85.50 <FITID>202601030001 <NAME>WHOLE FOODS MARKET <MEMO>Grocery purchase </STMTTRN> <STMTTRN> <TRNTYPE>CREDIT <DTPOSTED>20260115 <TRNAMT>3500.00 <FITID>202601150001 <NAME>ACME CORP PAYROLL <MEMO>Direct deposit </STMTTRN> <STMTTRN> <TRNTYPE>CHECK <DTPOSTED>20260120 <TRNAMT>-1200.00 <FITID>202601200001 <CHECKNUM>4521 <NAME>LANDLORD PROPERTIES LLC <MEMO>January rent </STMTTRN> </BANKTRANLIST> <LEDGERBAL> <BALAMT>4214.50 <DTASOF>20260131 </LEDGERBAL> </STMTRS> </STMTTRNRS> </BANKMSGSRSV1>
</OFX>

让我们逐节解析。

Header block(头部块) —— 前九行是 OFX 头部。它们定义了文件的 DATA(数据格式 OFXSGML)、VERSION(版本 102)、ENCODING(编码 USASCII)和 CHARSET(字符集 1252,代表 Windows Latin-1)。此头部告诉 QuickBooks 如何解析文件的其余部分。

SIGNONMSGSRSV1(登录消息响应) —— 包含服务器时间戳 (DTSERVER)、语言 (ENG) 和金融机构信息 (FI)。INTU.BID 标签是 Intuit 的银行标识符——它告诉 QuickBooks 文件来自哪个银行,并影响导入时显示的银行徽标。

BANKMSGSRSV1(银行消息集) —— 包装所有银行账户数据。信用卡对账单使用 CREDITCARDMSGSRSV1 而不是它。

STMTRS(报表响应) —— 指定货币 (CURDEF)、账户信息 (BANKACCTFROM,包含路由号码、账号和账户类型),并包含交易列表。

BANKTRANLIST(银行交易列表) —— 包含日期范围 (DTSTART 和 DTEND) 的交易列表。每笔单独的交易都包含在此块中,作为 STMTTRN 元素。

STMTTRN(单笔交易) —— 包含交易类型、日期、金额、唯一标识符 (FITID)、收款人姓名以及可选的备注和支票号码。

LEDGERBAL(账面余额) —— 报表结束日期时的期末余额。QuickBooks 使用此信息进行对账验证。


关键字段详解

并非所有 QBO 字段都同等重要。以下是其中最重要的字段——以及它们为何重要。

字段 描述 示例 重要性
FITID 金融机构交易 ID 202601030001 防止重复导入的唯一标识符。QuickBooks 会记住它见过的每个 FITID。
TRNTYPE 交易类型 DEBIT(借记)、CREDIT(贷记)、CHECK(支票)、DEP(存款)、ATM、POS(刷卡)、XFER(转账) 告诉 QuickBooks 如何分类交易。
DTPOSTED 交易日期 20260103 YYYYMMDD 格式——无歧义,无地区日期混淆。
TRNAMT 交易金额 -85.50 借记(支出)为负数,贷记(收入)为正数。
BANKID 银行路由号码 021000021 标识金融机构。用于账户匹配。
ACCTID 账号 123456789 标识交易所属的账户。
ACCTTYPE 账户类型 CHECKING(支票账户)、SAVINGS(储蓄账户)、CREDITLINE(信用额度) 决定 QuickBooks 如何对账户进行分类。
NAME 收款人名称 WHOLE FOODS MARKET QuickBooks 中显示的交易描述。最多 32 个字符。
MEMO 附加描述 Grocery purchase 补充详情。OFX 规范也限制为 32 个字符。
CHECKNUM 支票号码 4521 可选。保留用于支票交易,以便与实体支票匹配。

最关键的字段是 FITID。没有唯一、一致的 FITID,整个重复检测系统就会崩溃。每个 FITID 在给定银行账户内必须是唯一的——如果两笔交易共享同一个 FITID,QuickBooks 会将它们视为同一笔交易并默默跳过第二笔。


为何 QBO 比 CSV 更适合 QuickBooks

QBO 和 CSV 都可以将交易数据导入 QuickBooks。但体验根本不同。以下是对比:

特征 QBO CSV
重复检测 通过 FITID 自动完成 无——重复导入会产生重复项
列映射 无需——字段已预定义 需要——您手动分配日期、描述、金额
日期解析 无歧义的 YYYYMMDD 格式 取决于地区设置——MM/DD 或 DD/MM 混淆
金额处理 结构化,符号清晰 必须去除货币符号,固定小数点分隔符
账户识别 内置(路由号码、账号、类型) 不包含
余额验证 包含期末余额用于对账 不可用
支票号码 保存在 CHECKNUM 字段中 可能丢失或需要单独的列
导入工作流程 上传、确认、完成 上传、映射列、选择日期格式、验证、确认
QuickBooks Desktop 通过 Web Connect 完全支持 不支持银行交易导入

重复检测是决定性优势。 QBO 文件中的每笔交易都带有唯一的 FITID。QuickBooks 存储了它处理过的所有 FITID 的永久注册表。如果您不小心导入了同一个文件两次——或者从两个不同的文件中导入了重叠的日期范围——QuickBooks 会默默跳过重复项。没有重复录入。无需清理。

使用 CSV,没有任何保护。如果导入同一个文件两次,您将得到每笔交易的重复。您甚至不会收到警告。清理这些重复项意味着手动逐个删除条目,这正是您试图避免的繁琐工作。

QuickBooks Desktop 仅支持 QBO。 如果您使用 QuickBooks Desktop(Pro、Premier 或 Enterprise),CSV 甚至不是银行交易导入的选项。Web Connect——即 QBO 文件——是主要的导入路径。仅凭这一点,QBO 对于任何支持 Desktop 客户的事务所来说都是必不可少的。


QBO 文件来源

QBO 文件有三种来源,并且在过去十年中,这一格局发生了巨大变化。

银行(通过 Web Connect 下载)。 这是最初的来源。银行直接从其在线银行门户生成 QBO 文件。这种情况越来越少——随着银行转向基于 API 的数据共享,许多银行已完全取消了直接文件下载。仍然提供此功能的银行通常将导出限制在 90 天内。

银行对账单转换器。 这现在是大多数会计专业人士的主要来源。像 PDFSub 这样的工具可以处理 PDF 银行对账单——这是每家银行仍然提供的格式——并将其转换为结构正确的 QBO 文件,包含有效的 FITID、正确的日期格式和准确的借贷分类。对于补录账目、已关闭账户、国际银行和历史数据,转换器是唯一实用的选择。

手动创建。 理论上,您可以在文本编辑器中手动编写 QBO 文件。但一个错误的标签、一个无效的 FITID、一个编码错误,QuickBooks 就会拒绝该文件。手动创建是最后的手段,而不是一种工作流程。

银行不再提供 QBO 下载,这使得转换器变得不可或缺。您的客户的银行生成 PDF 对账单。QuickBooks 需要 QBO 文件。转换器弥合了这一差距。


如何将 QBO 文件导入 QuickBooks

导入过程很简单——这是使用 QBO 而不是 CSV 的关键优势之一。

QuickBooks Online

  1. 转到 Banking(银行)或 Transactions(交易)然后 Bank Transactions(银行交易)。
  2. 点击 Link account(链接账户),然后选择 Upload from file(从文件上传)。
  3. 浏览您的 .qbo 文件或将其拖放到此处。
  4. QuickBooks 读取文件并识别账户信息。
  5. 将文件映射到现有银行账户——或让 QuickBooks 创建一个新账户。
  6. 在预览中查看解析后的交易。
  7. 点击 Done(完成)以完成导入。

交易将出现在 For Review(待审核)选项卡中。然后,您可以对每笔交易进行分类、匹配现有条目或将其添加到您的账簿中。

QuickBooks Desktop

  1. 转到 File(文件)> Utilities(实用工具)> Import(导入)> Web Connect Files(Web Connect 文件)。
  2. 选择您的 .qbo 文件。
  3. QuickBooks 会验证文件格式。
  4. 将文件映射到现有银行账户或创建一个新账户。
  5. 交易将出现在 Bank Feeds(银行馈送)窗口中。

有关带屏幕截图和故障排除的完整指南,请参阅我们的完整指南:如何将银行对账单导入 QuickBooks。


常见的 QBO 问题及修复方法

QBO 文件很可靠,但某些问题会定期出现。以下是需要注意的事项。

“无法验证金融机构。” 文件中的 INTU.BID 标签与 Intuit 目录中已识别的银行不匹配。这是表面问题——它会影响导入时显示的银行徽标,但不会阻止交易导入。接受提示并继续。

FITID 重复导致交易被跳过。 如果同一文件中的两笔交易共享同一个 FITID,QuickBooks 只会导入第一笔,并默默跳过第二笔。如果您导入的 FITID QuickBooks 之前已经从之前的导入中见过,也会发生这种情况。每个 FITID 在给定账户内必须是唯一的,一旦被见过,就会被永久记录。

编码错误和乱码字符。 收款人姓名或备注中的非 ASCII 字符——带音标的字母、& 符号、尖括号——可能会破坏 SGML 解析器。& 符号必须编码为 &amp;,尖括号必须转义。一个构建良好的转换器会自动处理这些问题。

“无法读取文件”错误。 通常由格式错误的 SGML 引起——缺少结束标签、标签值内的额外换行符,或头部与正文格式不匹配。在文本编辑器中打开文件并检查结构问题。头部版本 (VERSION:102) 必须与正文的 OFX 版本匹配。

QuickBooks 版本兼容性。 三年以上的 QuickBooks Desktop 版本将失去 Web Connect 功能。如果您的客户运行的是 QuickBooks Desktop 2022,他们可能根本无法导入 QBO 文件。解决方法是升级 QuickBooks 或切换到 QuickBooks Online。

信用卡被导入为银行账户。 如果信用卡对账单被 BANKMSGSRSV1 标签而不是 CREDITCARDMSGSRSV1 标签包裹,QuickBooks 会将该账户创建为银行账户而非信用卡。QBO 文件需要正确的消息包装器来匹配账户类型。


QBO vs. QFX vs. OFX:有什么区别?

这三种格式在底层几乎相同,因此经常引起混淆。

格式 扩展名 基于 目标软件 主要区别
OFX .ofx Open Financial Exchange 标准 通用——Xero、Wave、GnuCash 等 开放标准。无供应商特定标签。
QBO .qbo OFX + Intuit 元数据 QuickBooks 添加了 INTU.BID 用于在 QuickBooks 中识别银行。
QFX .qfx OFX + Intuit 元数据 Quicken 与 QBO 相同,但用于 Quicken 而非 QuickBooks。

底层交易结构在这三者之间是相同的。您可以将 .ofx 文件重命名为 .qbo,QuickBooks 几乎总是能读取它。INTU.BID 标签是唯一有意义的 Intuit 添加项——它控制导入时显示的银行徽标。

实践中: 对 QuickBooks 使用 .qbo,对 Quicken 使用 .qfx,对 Xero 或 Wave 等其他会计平台使用 .ofx。内部的交易数据是相同的。


从 PDF 银行对账单创建 QBO 文件

大多数会计师在一种情况下会遇到 QBO 文件:他们有一个 PDF 银行对账单,需要将数据导入 QuickBooks。PDF 需要变成 QBO 文件。

PDFSub 的银行对账单转换器 可处理端到端的转换。上传 PDF 银行对账单,PDFSub 会提取交易——日期、金额、描述、累计余额——并生成格式正确的 QBO 文件,包含:

  • 有效、唯一的 FITID 用于每笔交易——使 QuickBooks 的重复检测正常工作。
  • 正确的 TRNTYPE 分类——自动识别借记、贷记、支票、存款和转账。
  • 正确的 SGML 编码——特殊字符转义,日期为 YYYYMMDD 格式,金额符号正确。
  • 账户元数据——账户类型检测(支票、储蓄、信用卡),并带有适当的 QBO 消息包装器。
  • 期末余额——LEDGERBAL 标签从对账单的期末余额填充。

该转换器支持 130 多个语言的 20,000 多家银行的对账单。数字 PDF(基于文本的对账单)在您的浏览器中完全处理——文件永不离开您的计算机。扫描或图像繁重的 PDF 使用服务器端 AI 提取。

全能套餐为 20 美元/用户/月(年付)或 25 美元/用户/月(月付),每位用户包含 500 页银行对账单。所有付费套餐均包含 7 天免费试用。


常见问题解答

我可以打开 QBO 文件查看其内容吗?

可以。QBO 文件是纯文本。在任何文本编辑器中打开它——Windows 上的记事本、Mac 上的文本编辑、VS Code 或 Sublime Text——您将看到 SGML 格式的交易数据。每个字段都是人类可读的:日期、金额、收款人姓名、FITID、账号和期末余额。

QBO 文件与 OFX 文件相同吗?

几乎相同。QBO 基于 OFX 标准,并添加了 Intuit 特有的标签(主要是用于银行标识的 INTU.BID)。交易结构、字段名称和数据格式是相同的。您可以将 .ofx 重命名为 .qbo,QuickBooks 通常会接受。

为什么 QuickBooks 在我导入 QBO 文件时会跳过一些交易?

QuickBooks 会跟踪它处理过的每个 FITID。如果一笔交易的 FITID 之前被见过——来自之前的导入或银行馈送——QuickBooks 会默默跳过它以防止重复。这是一个功能,而不是错误。如果您需要重新导入交易,您将需要一个带有新的、唯一的 FITID 的文件。

同一个 QBO 文件适用于 QuickBooks Online 和 Desktop 吗?

是的。QBO 文件格式对于两个版本都是相同的。导入过程不同——Online 使用 Banking 然后 Upload from file,而 Desktop 使用 File 然后 Utilities 然后 Import 然后 Web Connect Files——但文件本身是相同的。

一个 QBO 文件可以包含多少笔交易?

OFX 规范没有硬性限制。但是,QuickBooks Online 对文件上传的大小限制约为 350 KB,这大约相当于 1,000 到 1,500 笔交易,具体取决于描述长度。对于更大的导入,请按月或按季度分割文件。

我可以从 CSV 或 Excel 电子表格创建 QBO 文件吗?

可以,但您需要一个转换工具。QBO 格式需要特定的 SGML 标记、有效的 FITID、符合 OFX 标准的日期格式以及正确的头部信息。手动转换容易出错。PDFSub 和类似的工具会自动处理格式设置。

QBO 文件适用于 QuickBooks 以外的会计软件吗?

QBO 文件主要为 QuickBooks 设计。但是,由于 QBO 基于 OFX 标准,一些其他会计软件可以读取 .qbo 文件,或者在重命名为 .ofx 时可以接受它们。对于 Xero 或 Wave 等非 QuickBooks 软件,建议使用标准的 .ofx 扩展名。

QBO 文件中收款人名称的最大字符长度是多少?

OFX 规范将 NAME 字段限制为 32 个字符,将 MEMO 字段限制为 255 个字符,尽管 QuickBooks 在显示时可能会截断较长的备注值。如果收款人名称超过 32 个字符,它将被截断。一个好的转换器会在单词边界处截断,以保留描述中最有用的部分。

返回博客

有疑问? 联系我们

PDFSub

您所需的一切 PDF 和文档工具,尽在一处。快速、安全且私密。

符合 GDPR符合 CCPA符合 SOC 2
由 PDFSub Engine 提供支持

产品

  • 所有工具
  • 功能
  • 银行对账单
  • API
  • 定价
  • 常见问题
  • 博客

支持

  • 关于我们
  • 帮助中心
  • 联系我们
  • 常见问题

法律条款

  • 隐私政策
  • 服务条款
  • Cookie 政策

© 2026 PDFSub. 保留所有权利。

在美国制造,怀揣对全球用户的热忱