Chuyển đổi sao kê ngân hàng sang định dạng OFX
OFX là định dạng nhập chuẩn cho Xero, MYOB và FreeAgent. Dưới đây là cách chuyển đổi tệp PDF sao kê ngân hàng sang OFX và điểm khác biệt của nó so với CSV và QBO.
Bạn cần đưa các giao dịch ngân hàng vào Xero, MYOB hoặc FreeAgent. Ngân hàng cung cấp cho bạn một bản sao kê PDF. Có thể là CSV nếu bạn may mắn. Nhưng nền tảng kế toán lại yêu cầu tệp OFX — một định dạng mà hầu hết mọi người chưa từng nghe nói đến, chứ đừng nói đến việc biết cách tạo ra nó.
OFX — Open Financial Exchange — là định dạng trao đổi dữ liệu tài chính tiêu chuẩn mà các nền tảng này được xây dựng dựa trên. Nó mang ID giao dịch để phát hiện trùng lặp, nhúng siêu dữ liệu tài khoản và tự động ánh xạ các cột khi nhập. Không cần đoán định dạng ngày. Không cần gán cột thủ công. Không vô tình nhập cùng một tháng hai lần. Nó hoạt động trơn tru.
Vấn đề là các ngân hàng hầu như không bao giờ cung cấp tệp OFX trực tiếp cho bạn. Họ cung cấp cho bạn các tệp PDF. Đôi khi họ cung cấp tùy chọn tải xuống CSV — nhưng CSV thiếu cấu trúc và khả năng bảo vệ trùng lặp mà OFX cung cấp. Hướng dẫn này giải thích định dạng OFX là gì, tại sao các nền tảng kế toán ưa chuộng nó, cách nó so sánh với CSV và QBO, và cách chuyển đổi các tệp PDF sao kê ngân hàng của bạn thành tệp OFX để nhập sạch vào Xero, MYOB, FreeAgent và các phần mềm khác.
Định dạng OFX là gì?
OFX là viết tắt của Open Financial Exchange. Đây là một định dạng dữ liệu dựa trên XML được thiết kế đặc biệt để trao đổi thông tin tài chính giữa các tổ chức, phần mềm và người dùng cuối. Ban đầu được phát triển vào năm 1997 bởi Microsoft, Intuit và CheckFree, đặc tả hiện được Quỹ Giao dịch Dữ liệu Tài chính (FDX) duy trì. Phiên bản hiện tại, OFX 2.2, sử dụng XML được định dạng tốt. Các phiên bản trước (1.x) sử dụng SGML — một cú pháp đánh dấu lỏng lẻo cho phép các thẻ không đóng. Hầu hết các phần mềm kế toán đều chấp nhận cả hai.
Tệp OFX sử dụng phần mở rộng .ofx và chứa dữ liệu tài chính có cấu trúc:
- Bản ghi giao dịch — ngày, số tiền, tên người nhận, ghi chú, số séc và loại giao dịch (ghi nợ, ghi có, chuyển khoản, phí, v.v.)
- FITID — ID Giao dịch của Tổ chức Tài chính, các mã định danh duy nhất được gán cho mỗi giao dịch để phát hiện trùng lặp
- Nhận dạng tài khoản — số định tuyến ngân hàng (BANKID), số tài khoản (ACCTID) và loại tài khoản (tài khoản vãng lai, tiết kiệm, thẻ tín dụng)
- Siêu dữ liệu sao kê — ngày bắt đầu và kết thúc của kỳ sao kê, cùng với số dư đầu kỳ và cuối kỳ
- Tiền tệ — mã tiền tệ ISO 4217 (USD, GBP, EUR, AUD, CAD, v.v.)
Khi bạn nhập tệp OFX vào phần mềm kế toán, mọi trường sẽ được ánh xạ tự động. Không có sự mơ hồ, không cần ánh xạ cột, không có chỗ cho sự hiểu sai.
Tại sao OFX lại quan trọng đối với Kế toán
OFX được thiết kế chuyên biệt cho việc trao đổi dữ liệu tài chính, và thiết kế đó thể hiện rõ trong từng chi tiết.
ID Giao dịch (FITID) cho phép phát hiện trùng lặp
Mỗi giao dịch trong tệp OFX đều mang một FITID duy nhất — ID Giao dịch của Tổ chức Tài chính. Khi bạn nhập tệp, phần mềm kế toán sẽ ghi lại mọi FITID mà nó đã thấy. Nhập lại cùng một tệp, hoặc nhập hai tệp chồng lấn, phần mềm sẽ âm thầm bỏ qua bất kỳ giao dịch nào có FITID đã thấy trước đó.
CSV không có chức năng tương đương. Nhập cùng một tệp CSV hai lần sẽ khiến bạn có các mục nhập gấp đôi. Việc dọn dẹp các giao dịch trùng lặp là một trong những vấn đề đau đầu nhất — và tốn thời gian nhất — trong việc ghi sổ. OFX loại bỏ nó ở cấp độ định dạng.
Nhận dạng Tài khoản được Nhúng
Tệp OFX bao gồm số định tuyến ngân hàng và số tài khoản, vì vậy phần mềm kế toán có thể tự động khớp bản nhập với tài khoản ngân hàng chính xác — hoặc cảnh báo bạn nếu tệp không khớp. Tệp CSV không mang siêu dữ liệu tài khoản.
Cấu trúc Chuẩn hóa Loại bỏ Ánh xạ Cột
Với CSV, phần mềm phải hỏi: cột nào là ngày? Cột nào là số tiền? Cột ghi nợ/ghi có riêng biệt hay một số tiền có dấu duy nhất? OFX bỏ qua tất cả những điều này. Mỗi trường có một thẻ được xác định — DTPOSTED cho ngày, TRNAMT cho số tiền, NAME cho người nhận. Phần mềm đọc các thẻ và biết chính xác mọi thứ đi đâu.
Bao gồm Ngày Sao kê và Số dư
Tệp OFX bao gồm kỳ sao kê (ngày bắt đầu và kết thúc) và số dư sổ sách vào cuối kỳ — ngữ cảnh mà tệp CSV không mang theo, cho phép xác minh số dư và đối chiếu dễ dàng hơn.
Khả năng Tương thích Phần mềm Rộng rãi
OFX được chấp nhận bởi nhiều loại phần mềm kế toán và tài chính:
- Xero — định dạng nhập ưa thích
- MYOB — hỗ trợ gốc
- FreeAgent — hỗ trợ gốc
- Wave — hỗ trợ gốc
- GnuCash — hỗ trợ gốc
- Sage — được hỗ trợ trong hầu hết các phiên bản
- Microsoft Money (cũ) — định dạng ban đầu được thiết kế cho nó
- Moneydance — hỗ trợ gốc
- KMyMoney — hỗ trợ gốc
Đối với người dùng QuickBooks, định dạng QBO có liên quan chặt chẽ (phương ngữ OFX của Intuit) là lựa chọn tốt hơn. Nhưng đối với hầu hết các nền tảng kế toán khác — đặc biệt là Xero — OFX là tiêu chuẩn.
OFX so với CSV so với QBO
Ba định dạng bạn sẽ gặp thường xuyên nhất khi nhập dữ liệu ngân hàng vào phần mềm kế toán.
| Tính năng | OFX | CSV | QBO |
|---|---|---|---|
| Cơ sở định dạng | XML (đánh dấu có cấu trúc) | Văn bản thuần túy (phân tách bằng dấu phẩy) | SGML/XML (phương ngữ OFX của Intuit) |
| Mã giao dịch | Có (FITID) | Không | Có (FITID) |
| Phát hiện trùng lặp | Có — tự động | Không — cần làm sạch thủ công | Có — tự động |
| Ánh xạ cột | Tự động | Thủ công — người dùng chỉ định từng cột | Tự động |
| Siêu dữ liệu tài khoản | Có (số định tuyến + số tài khoản) | Không | Có (số định tuyến + số tài khoản) |
| Định dạng ngày | Chuẩn hóa (YYYYMMDD) | Thay đổi — phải khớp với khu vực phần mềm | Chuẩn hóa (YYYYMMDD) |
| Số dư sao kê | Có (mở + đóng) | Không | Có (mở + đóng) |
| Xử lý số tiền | Trường có dấu duy nhất, không mơ hồ | Có thể có các cột ghi nợ/ghi có riêng biệt | Trường có dấu duy nhất, không mơ hồ |
| Xử lý ký tự đặc biệt | Thực thể XML (mã hóa) | Thay đổi — sự cố mã hóa phổ biến | Thực thể SGML (mã hóa) |
| Phần mềm chính | Xero, MYOB, FreeAgent, Wave, GnuCash | Phổ biến (bất kỳ bảng tính hoặc công cụ kế toán nào) | QuickBooks (Trực tuyến + Máy tính) |
| Khả năng chỉnh sửa | Yêu cầu kiến thức XML | Dễ dàng — mở bằng Excel | Yêu cầu kiến thức SGML |
Khi nào nên sử dụng từng loại
Sử dụng OFX khi: Nhập vào Xero, MYOB, FreeAgent, Wave, GnuCash hoặc bất kỳ phần mềm kế toán nào không phải QuickBooks. Đường dẫn nhập sạch nhất — ánh xạ tự động, bảo vệ trùng lặp, không có sự cố định dạng.
Sử dụng QBO khi: Nhập vào QuickBooks Online hoặc Desktop. QBO là OFX với các thẻ dành riêng cho Intuit. Xem hướng dẫn chuyển đổi QBO của chúng tôi để biết chi tiết.
Sử dụng CSV khi: Phần mềm đích chỉ chấp nhận CSV hoặc bạn cần chỉnh sửa giao dịch trước khi nhập. CSV là phương án dự phòng phổ biến nhưng yêu cầu nhiều công việc thủ công hơn và không cung cấp khả năng phát hiện trùng lặp.
Phương pháp 1: Chuyển đổi PDF sang OFX với PDFSub
Con đường trực tiếp nhất từ sao kê ngân hàng PDF sang tệp OFX sẵn sàng để nhập.
- Tải xuống tệp PDF sao kê ngân hàng của bạn từ trang web hoặc email của ngân hàng
- Truy cập Công cụ chuyển đổi sao kê ngân hàng của PDFSub
- Tải lên tệp PDF của bạn — kéo và thả hoặc nhấp để duyệt
- PDFSub tự động trích xuất các giao dịch, phát hiện ngày, số tiền, mô tả và loại giao dịch
- Chọn OFX làm định dạng đầu ra từ menu thả xuống định dạng
- Tải xuống tệp OFX
PDFSub tạo các tệp OFX 1.x hợp lệ với FITID duy nhất cho mỗi giao dịch, ngày được định dạng chính xác (YYYYMMDD), dấu ghi nợ/ghi có chính xác và các thẻ siêu dữ liệu tài khoản mà phần mềm kế toán mong đợi. Nó xử lý các sao kê nhiều trang, số dư đang chạy, mô tả giao dịch nhiều dòng và cả tài khoản ngân hàng lẫn thẻ tín dụng.
Công cụ chuyển đổi hoạt động với hơn 20.000 định dạng ngân hàng bằng 133 ngôn ngữ. Các tệp PDF kỹ thuật số (sao kê dựa trên văn bản) được xử lý hoàn toàn trong trình duyệt của bạn — tệp không bao giờ rời khỏi máy tính của bạn. Các tệp PDF được quét hoặc dựa trên hình ảnh sẽ sử dụng công nghệ AI của máy chủ để trích xuất.
OFX là một trong 8 định dạng đầu ra có sẵn, cùng với CSV, Excel, QBO, QFX, JSON, MT940 và CAMT.053. Các gói bắt đầu từ $15/tháng, với tính năng chuyển đổi sao kê ngân hàng là $29/tháng (gói Doanh nghiệp + tiện ích BSC, 500 trang) và bản dùng thử miễn phí 7 ngày.
Phương pháp 2: Chuyển đổi CSV sang OFX
Nếu bạn đã có tệp CSV từ ngân hàng của mình — hoặc từ một công cụ chuyển đổi khác — bạn có thể chuyển đổi nó sang OFX. Nhưng điều này khó hơn bạn nghĩ vì những gì OFX yêu cầu ngoài dữ liệu giao dịch thô.
Những thách thức:
- Tạo FITID. Mỗi giao dịch cần một Mã Giao dịch Định danh của Tổ chức Tài chính duy nhất. Bạn phải tạo các mã này một cách nhất quán — thường bằng cách băm ngày, số tiền và mô tả lại với nhau — để việc nhập lại cùng một dữ liệu tạo ra cùng các FITID và kích hoạt tính năng phát hiện trùng lặp.
- Định dạng ngày. OFX yêu cầu ngày theo định dạng YYYYMMDD (ví dụ:
20260302). Tệp CSV của bạn có thể có định dạng MM/DD/YYYY, DD/MM/YYYY hoặc một định dạng khác theo vùng. Sai sót ở đây sẽ khiến giao dịch bị đặt sai ngày. - Siêu dữ liệu tài khoản. Bạn cần đặt chính xác BANKID (số định tuyến) và ACCTID (số tài khoản), cộng với ACCTTYPE (CHECKING, SAVINGS hoặc CREDITCARD). Các giá trị này không có trong tệp CSV — bạn phải biết chúng và thêm chúng thủ công.
- Quy ước dấu số tiền. OFX sử dụng số âm cho các khoản ghi nợ và số dương cho các khoản ghi có. Nếu tệp CSV của bạn có các cột ghi nợ/ghi có riêng biệt, bạn cần hợp nhất chúng. Nếu tệp CSV của bạn sử dụng quy ước dấu ngược lại (phổ biến với sao kê thẻ tín dụng), bạn cần đảo ngược nó.
- Cấu trúc XML. Tệp OFX cần có các khai báo tiêu đề chính xác, các thẻ lồng nhau đúng cách và mã hóa thực thể XML cho các ký tự đặc biệt (dấu và, dấu ngoặc nhọn, ký tự không phải ASCII).
Một số công cụ máy tính để bàn và công cụ trực tuyến xử lý việc chuyển đổi CSV sang OFX. PDFSub xử lý toàn bộ chuỗi — PDF sang OFX — trong một bước duy nhất, bỏ qua hoàn toàn tệp CSV trung gian.
Nhập OFX vào Xero
Xero coi OFX là một định dạng nhập hạng nhất. Quá trình nhập rất đơn giản.
Từng bước
- Đăng nhập vào Xero và đi tới Kế toán > Tài khoản Ngân hàng
- Nhấp vào tài khoản ngân hàng bạn muốn nhập giao dịch vào
- Nhấp vào Quản lý Tài khoản (hoặc menu ba chấm) và chọn Nhập Sao kê
- Nhấp vào Duyệt và chọn tệp OFX của bạn
- Nhấp vào Nhập
- Xero phân tích tệp và hiển thị tóm tắt — số lượng giao dịch, phạm vi ngày và tổng số tiền
- Xác nhận việc nhập
Các giao dịch đã nhập xuất hiện dưới dạng các dòng sao kê chưa đối chiếu. Đối với mỗi dòng, Xero cung cấp ba hành động: Khớp (liên kết với hóa đơn hoặc phiếu chi hiện có), Tạo (tạo giao dịch mới với mã tài khoản và thuế suất), hoặc Chuyển khoản (ghi lại một khoản chuyển khoản giữa các tài khoản ngân hàng).
Xero xử lý trùng lặp như thế nào
Khi Xero nhập tệp OFX, nó sẽ đọc FITID của mỗi giao dịch và kiểm tra nó với tất cả các FITID đã nhập trước đó cho tài khoản ngân hàng đó. Bất kỳ giao dịch nào có FITID đã thấy trước đó sẽ bị bỏ qua một cách lặng lẽ. Điều này có nghĩa là bạn có thể nhập các phạm vi ngày chồng chéo một cách an toàn — Xero chỉ thêm các giao dịch mà nó chưa thấy trước đó.
Đây là một trong những lý do chính khiến Xero khuyến nghị OFX hơn CSV. Với CSV, Xero không có cách nào đáng tin cậy để phát hiện trùng lặp và các lần nhập chồng chéo sẽ tạo ra các dòng sao kê trùng lặp cần phải tìm và xóa thủ công.
Để có hướng dẫn đầy đủ về tất cả các phương pháp nhập của Xero — bao gồm cả nguồn cấp dữ liệu ngân hàng, quy tắc định dạng CSV và khắc phục sự cố — hãy xem hướng dẫn nhập sao kê ngân hàng của Xero của chúng tôi.
Nhập OFX vào MYOB
MYOB (Mind Your Own Business) hỗ trợ nhập OFX trên cả MYOB Business và MYOB AccountRight.
MYOB Business (Trực tuyến)
- Truy cập Ngân hàng từ menu chính
- Nhấp vào Nhập sao kê
- Chọn tài khoản ngân hàng
- Nhấp vào Chọn tệp và chọn tệp OFX của bạn
- MYOB xem trước các giao dịch — xem lại ngày, số tiền và mô tả
- Nhấp vào Nhập
MYOB AccountRight (Máy tính)
- Truy cập Ngân hàng > Nguồn cấp dữ liệu ngân hàng > Nhập Sao kê Ngân hàng
- Chọn tài khoản ngân hàng đích từ menu thả xuống
- Duyệt đến tệp OFX của bạn và chọn nó
- Xem lại các giao dịch đã nhập trong cửa sổ nguồn cấp dữ liệu ngân hàng
- Phân bổ từng giao dịch vào tài khoản tương ứng
MYOB sử dụng FITID từ tệp OFX để phát hiện trùng lặp, giống như Xero. Nếu FITID của một giao dịch đã tồn tại trong hệ thống, MYOB sẽ bỏ qua nó trong quá trình nhập.
Nhập OFX vào Phần mềm Khác
FreeAgent
FreeAgent phổ biến với các freelancer và doanh nghiệp nhỏ ở Vương quốc Anh. Để nhập OFX:
- Truy cập Ngân hàng và chọn tài khoản ngân hàng
- Nhấp vào Nhập > Tải lên sao kê ngân hàng
- Chọn tệp OFX của bạn
- Xem trước và xác nhận việc nhập
FreeAgent hỗ trợ OFX, QIF và CSV. Giống như Xero và MYOB, nó sử dụng FITID từ tệp OFX để ngăn chặn việc nhập trùng lặp.
GnuCash
GnuCash — ứng dụng kế toán mã nguồn mở — có hỗ trợ nhập OFX gốc thông qua tích hợp AqBanking:
- Truy cập Tệp > Nhập > Nhập OFX/QFX
- Chọn tệp OFX của bạn
- GnuCash hiển thị các giao dịch và yêu cầu bạn ánh xạ chúng tới một tài khoản
- Xem lại cửa sổ khớp — GnuCash làm nổi bật các bản sao tiềm năng dựa trên FITID
- Chấp nhận việc nhập
GnuCash là một trong những ứng dụng tương thích OFX lâu đời nhất và công cụ nhập của nó xử lý cả tệp OFX 1.x (SGML) và OFX 2.x (XML).
Wave
Wave Accounting (hiện thuộc sở hữu của H&R Block) hỗ trợ nhập OFX:
- Truy cập Kế toán > Giao dịch
- Nhấp vào tài khoản ngân hàng
- Nhấp vào Nhập CSV hoặc OFX
- Tải lên tệp và ánh xạ nó tới tài khoản
- Xem lại và xác nhận
Wave cũng hỗ trợ CSV, nhưng OFX cung cấp tính năng ánh xạ trường tự động và phát hiện trùng lặp — những lợi ích tương tự như với Xero và MYOB.
Tìm hiểu cấu trúc tệp OFX
Tệp OFX là văn bản thuần túy. Bạn có thể mở tệp bằng bất kỳ trình soạn thảo văn bản nào để kiểm tra nội dung. Dưới đây là ví dụ đơn giản hóa các thành phần chính:
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>20260302
<LANGUAGE>ENG
</SONRS>
</SIGNONMSGSRSV1>
<BANKMSGSRSV1>
<STMTTRNRS>
<STMTRS>
<CURDEF>USD
<BANKACCTFROM>
<BANKID>021000021
<ACCTID>123456789
<ACCTTYPE>CHECKING
</BANKACCTFROM>
<BANKTRANLIST>
<DTSTART>20260201
<DTEND>20260228
<STMTTRN>
<TRNTYPE>DEBIT
<DTPOSTED>20260205
<TRNAMT>-85.50
<FITID>20260205-8550-001
<NAME>ACME SUPPLIES LLC
<MEMO>Mua văn phòng phẩm
</STMTTRN>
<STMTTRN>
<TRNTYPE>CREDIT
<DTPOSTED>20260210
<TRNAMT>3200.00
<FITID>20260210-320000-001
<NAME>PAYROLL DEPOSIT
<MEMO>Tiền lương tháng 2
</STMTTRN>
</BANKTRANLIST>
<LEDGERBAL>
<BALAMT>12456.78
<DTASOF>20260228
</LEDGERBAL>
</STMTRS>
</STMTTRNRS>
</BANKMSGSRSV1>
</OFX>
Giải thích các thẻ chính
| Thẻ | Mô tả |
|---|---|
BANKID |
Mã định danh ngân hàng (mã routing) |
ACCTID |
Số tài khoản |
ACCTTYPE |
Loại tài khoản: CHECKING, SAVINGS, MONEYMRKT, hoặc CREDITLINE |
DTSTART / DTEND |
Ngày bắt đầu và kết thúc kỳ sao kê (YYYYMMDD) |
STMTTRN |
Một bản ghi giao dịch đơn lẻ |
TRNTYPE |
Loại giao dịch: DEBIT, CREDIT, INT (lãi), FEE, SRVCHG (phí dịch vụ), DEP (tiền gửi), ATM, POS, XFER (chuyển khoản), CHECK, PAYMENT, OTHER |
DTPOSTED |
Ngày giao dịch theo định dạng YYYYMMDD |
TRNAMT |
Số tiền giao dịch — âm cho ghi nợ, dương cho ghi có |
FITID |
ID giao dịch của tổ chức tài chính — mã định danh duy nhất để phát hiện trùng lặp |
NAME |
Tên người nhận hoặc tên giao dịch (tối đa 32 ký tự trong OFX 1.x) |
MEMO |
Mô tả bổ sung hoặc ghi chú (tối đa 255 ký tự) |
LEDGERBAL |
Số dư cuối kỳ kèm số tiền và ngày |
OFX 1.x (hiển thị ở trên) sử dụng cú pháp SGML — các thẻ không yêu cầu phần tử đóng. OFX 2.x sử dụng XML với các thẻ đóng phù hợp. Hầu hết phần mềm kế toán chấp nhận cả hai. Đối với sao kê thẻ tín dụng, trình bao bọc sẽ đổi thành CREDITCARDMSGSRSV1 thay vì BANKMSGSRSV1, nhưng cấu trúc giao dịch bên trong vẫn giữ nguyên.