Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Property Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Accounting
  3. Enterprise Bank Connector - SePay v 17.0
  4. Sales Conditions FAQ

Enterprise Bank Connector - SePay

by ndd-ee https://duong-odoo-apps.odoo.com
Odoo

$ 34.13

v 17.0 Third Party
This module requires Odoo Enterprise Edition.
Apps purchases are linked to your Odoo account, please sign in or sign up first.
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Accounting (account_accountant)
• Invoicing (account)
• Discuss (mail)
Lines of code 1515
Technical Name d_ee_bank_connector_sepay
LicenseOPL-1
Websitehttps://duong-odoo-apps.odoo.com
  • Description
  • Manifest
  • Documentation
  • License

Built for Odoo Enterprise Accounting

SePay bank movements inside Odoo Enterprise Online Bank Synchronization

This Enterprise edition connects SePay directly with Odoo Enterprise Accounting. It uses Odoo's native Online Bank Synchronization, Bank Journal Dashboard, Bank Statement Lines, and Bank Reconciliation tools instead of creating a separate accounting workflow.

SePay connected with Odoo Enterprise Accounting dashboard
Odoo Enterprise Tool How SePay Uses It
Online Bank Synchronization SePay is connected as an online synchronization provider using Odoo Enterprise's native online bank models.
Bank Journal Dashboard Users can connect SePay from the Odoo bank journal dashboard and monitor fetched transactions from the standard accounting dashboard.
Bank Statement Lines Imported SePay transactions become native Odoo bank statement lines, not custom accounting records.
Bank Reconciliation Widget Accountants reconcile SePay transactions using the standard Odoo Enterprise reconciliation screen.
Reconciliation Models The connector can prepare an exact-reference matching model for safer automatic matching.
Enterprise note: This module is designed for Odoo Enterprise Accounting. It requires account_accountant and account_online_synchronization. It is different from the Community Financial Account Connector Engine.

Configure SePay in Odoo Enterprise

After connecting a bank account and creating a webhook in SePay, users complete the setup in Odoo Enterprise. The connector stores SePay credentials on the Odoo online bank synchronization link and maps SePay bank accounts to Odoo bank journals.

Open SePay connection from Odoo Enterprise Accounting

1. Open the SePay Connection Wizard

  1. Open the Accounting or Invoicing app.
  2. Go to the Accounting Dashboard.
  3. On a Vietnamese bank journal, click Connect SePay if the button is available.
  4. You can also go to Accounting / Configuration / Banks / SePay Connections.
  5. Create a new SePay connection or open an existing SePay online synchronization link.
SePay connection wizard in Odoo Enterprise

2. Fill in the SePay Connection Wizard

Field in Odoo Enterprise Value to enter Where to get it from
Company Select the Vietnamese company that owns the bank journal. Odoo company configuration.
Journal Select the bank journal to connect, if you started from a journal. Odoo bank journal.
Environment Select Production for real SePay data or Sandbox for testing. Choose based on the SePay API environment you want to use.
API Token Paste the SePay API Token. Create/copy it in SePay so Odoo can call SePay API v2.
Use SePay Webhook Enable it if your SePay package supports webhook delivery. SePay package and webhook configuration.
Webhook Authentication Select HMAC-SHA256 for production. Must match the authentication method configured in SePay.
Webhook Secret Paste the SePay webhook Secret Key. SePay webhook security tab.
Webhook API Key Only fill this if you choose API Key authentication instead of HMAC. SePay webhook security configuration.
Webhook is optional: If webhook delivery is not included in the user's SePay package, leave webhook disabled. Odoo Enterprise can still synchronize transactions by scheduled API polling.

Link SePay Accounts to Odoo Bank Journals

After the API token is validated, Odoo fetches the bank accounts linked to the SePay account. The user then maps each SePay online bank account to an Odoo bank journal using the native Odoo Enterprise account-to-journal linking flow.

Link SePay online bank accounts to Odoo bank journals
  1. Click Connect in the SePay wizard.
  2. Odoo fetches the bank accounts linked to the SePay API Token.
  3. Select the SePay online account to connect.
  4. Map the SePay online account to the correct Odoo bank journal.
  5. Odoo Enterprise sets the journal bank statement source to online synchronization.
  6. Use one Odoo bank journal for each SePay bank account.
Best practice: The Odoo bank journal currency should match the SePay account currency. This connector is focused on Vietnamese bank movements and imports SePay accounts in VND.

Copy the Odoo Webhook URL to SePay

If webhook is enabled in Odoo, Odoo generates a SePay Webhook URL on the online synchronization link. Copy this URL into SePay so SePay can notify Odoo when a bank movement arrives.

Copy SePay Webhook URL from Odoo Enterprise
Field in Odoo Enterprise What to do Important note
SePay Webhook URL Copy this URL from Odoo and paste it into SePay. Do not type it manually. It includes the Odoo-generated webhook token.
SePay Webhook Token Keep the value generated by Odoo. This is the URL routing token, not the SePay HMAC secret.
SePay Webhook Auth Method Use the same method as the SePay webhook security tab. Recommended: HMAC-SHA256.
SePay Webhook Secret Paste the Secret Key from SePay. Required when using HMAC-SHA256.
Production note: If the generated webhook URL still contains localhost or a test domain, configure Odoo's public domain before copying it to SePay. SePay must be able to call this URL from the internet.

Manual Reconciliation with Odoo Enterprise

SePay transactions are imported into Odoo as native bank statement lines. Accountants can reconcile them from the standard Odoo Enterprise bank reconciliation widget, using automatic suggestions, existing entries, or manual operations.

Open bank reconciliation from the Odoo Enterprise Accounting Dashboard

1. Open the Bank Reconciliation Screen

  1. Open the Accounting Dashboard.
  2. Find the bank journal connected to SePay.
  3. Click Reconcile Items on the bank journal card.
  4. Odoo opens the native bank reconciliation widget with imported SePay statement lines.
Manually reconcile SePay bank statement lines in Odoo Enterprise

2. Reconcile a SePay Transaction Manually

  1. Select a SePay transaction from the left-side statement line list.
  2. Review the transaction label, amount, date, and bank journal entry created by Odoo.
  3. Open the Match Existing Entries tab.
  4. Search for the invoice, bill, payment, or journal item that matches the SePay transfer.
  5. Select the correct open entry from the list.
  6. If no existing entry is suitable, use Manual Operations to create the needed counterpart.
  7. Click Validate to confirm the reconciliation.
Native Odoo workflow: The accountant does not need a separate SePay reconciliation screen. Imported SePay movements are reconciled using the same Odoo Enterprise reconciliation tools used for normal bank statements.

Synchronization and Audit Logs

This Enterprise connector imports SePay transactions through the native Odoo online synchronization pipeline. SePay API polling and webhook records are stored in an audit log before creating bank statement lines.

SePay transaction logs in Odoo Enterprise
  • Webhook events are received by Odoo and stored in the SePay transaction audit log.
  • Scheduled synchronization fetches missed or delayed transactions from SePay API v2.
  • Webhook and API records are deduplicated before creating statement lines.
  • Imported transactions are converted into native Odoo Enterprise bank statement lines.
  • Errors are stored on the SePay transaction log for accounting manager review.
Recommended operation order: connect SePay in Odoo Enterprise → fetch SePay bank accounts → link each account to an Odoo bank journal → copy Odoo Webhook URL to SePay → paste SePay Secret Key back into Odoo → use the Odoo Accounting Dashboard to reconcile imported statement lines.

Documentation

Please go to documentation tab in the right side to see how to configure in odoo as well

Documentation Tab

Support

For support, feature requests, or custom development, contact messiduong2709@gmail.com.

Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Accounting (account_accountant)
• Invoicing (account)
• Discuss (mail)
Lines of code 1515
Technical Name d_ee_bank_connector_sepay
LicenseOPL-1
Websitehttps://duong-odoo-apps.odoo.com

Đồng bộ giao dịch SePay cho Odoo Enterprise

Tự động đưa biến động tài khoản ngân hàng Việt Nam từ SePay vào Odoo Enterprise Accounting.

Module này được thiết kế cho doanh nghiệp tại Việt Nam đang sử dụng SePay để nhận thông báo chuyển khoản ngân hàng và đồng bộ biến động tài khoản ngân hàng vào Odoo Enterprise. Module có thể lấy lại giao dịch bị lỡ qua SePay API v2, nhận webhook từ SePay, tạo dòng sao kê ngân hàng chuẩn của Odoo và hỗ trợ đối soát bằng công cụ Bank Reconciliation có sẵn của Odoo Enterprise.

Đây không phải sản phẩm chính thức của SePay và không phải cổng thanh toán checkout.

Điều kiện cần có từ SePay

Điều kiện gói SePay để tích hợp với Odoo

Để sử dụng module này, người dùng cần có tài khoản SePay đang hoạt động và ít nhất một tài khoản ngân hàng đã liên kết trong SePay. Quyền truy cập API và Webhook phụ thuộc vào gói dịch vụ SePay mà người dùng đang sử dụng.

Các điều kiện cần có:

  • Tài khoản SePay.
  • Ít nhất một tài khoản ngân hàng Việt Nam đã liên kết trong SePay.
  • API Token SePay để Odoo gọi API server-side.
  • URL Odoo public để SePay có thể gửi HTTP POST.
  • HTTPS/SSL cho webhook production.
  • Gói SePay phù hợp với số lượng giao dịch tiền vào dự kiến mỗi tháng.

Lưu ý về chi phí

SePay công khai gói FREE với 50 giao dịch tiền vào mỗi tháng và có hỗ trợ Webhook/API. Nếu vượt giới hạn giao dịch của gói, SePay có thể tính phí vượt mức hoặc yêu cầu nâng cấp gói cao hơn.

Ngân hàng Việt Nam được hỗ trợ qua SePay

Các ngân hàng Việt Nam được hỗ trợ qua SePay

Theo thông tin công khai từ SePay, SePay đã kết nối API trực tiếp với các ngân hàng lớn tại Việt Nam, gồm:

  • Vietcombank
  • BIDV
  • VietinBank
  • MB
  • ACB
  • VPBank
  • TPBank
  • Sacombank
  • MSB
  • OCB
  • KienLongBank

Các ngân hàng còn lại có thể được kết nối qua SMS Banking tùy theo hỗ trợ của SePay.

Ngân hàng hỗ trợ, quyền truy cập API, giới hạn gói và chi phí do SePay quản lý và có thể thay đổi theo thời gian.

Tích hợp trực tiếp với Odoo Enterprise Accounting

Phiên bản Enterprise này kết nối SePay trực tiếp với Odoo Enterprise Accounting. Module sử dụng các công cụ gốc của Odoo Enterprise như Online Bank Synchronization, Bank Journal Dashboard, Bank Statement Lines và Bank Reconciliation thay vì tạo một workflow kế toán riêng.

SePay được kết nối với Odoo Enterprise Accounting dashboard

Các công cụ Odoo Enterprise được sử dụng:

  • Online Bank Synchronization: SePay được kết nối như một nhà cung cấp đồng bộ ngân hàng online, sử dụng các model online bank gốc của Odoo Enterprise.
  • Bank Journal Dashboard: Người dùng có thể kết nối SePay từ dashboard của bank journal và theo dõi giao dịch đã fetch từ dashboard kế toán tiêu chuẩn.
  • Bank Statement Lines: Giao dịch SePay sau khi import sẽ trở thành dòng sao kê ngân hàng gốc của Odoo, không phải bản ghi kế toán custom.
  • Bank Reconciliation Widget: Kế toán đối soát giao dịch SePay bằng màn hình đối soát tiêu chuẩn của Odoo Enterprise.
  • Reconciliation Models: Module có thể chuẩn bị reconciliation model theo mã tham chiếu chính xác để hỗ trợ match tự động an toàn hơn.

Lưu ý Enterprise: Module này được thiết kế cho Odoo Enterprise Accounting. Module yêu cầu account_accountant và account_online_synchronization. Module này khác với bản Community Financial Account Connector Engine.

Cấu hình SePay

Bước 1: Kết nối tài khoản ngân hàng trong SePay

Danh sách tài khoản ngân hàng đã kết nối trong SePay

Trước khi cấu hình Odoo, người dùng cần vào SePay và liên kết tài khoản ngân hàng muốn đồng bộ. Module chỉ có thể lấy dữ liệu từ các tài khoản ngân hàng đã được kết nối thành công trong SePay.

Chọn ngân hàng để kết nối trong SePay

Các bước thực hiện:

  1. Đăng nhập SePay.
  2. Vào menu Ngân hàng.
  3. Bấm Kết nối mới.
  4. Chọn ngân hàng cần kết nối, ví dụ Vietcombank, ACB, BIDV, MB, VPBank hoặc ngân hàng khác được SePay hỗ trợ.
  5. Hoàn tất quy trình liên kết tài khoản theo hướng dẫn của SePay.
  6. Sau khi kết nối thành công, tài khoản ngân hàng sẽ xuất hiện trong danh sách tài khoản ngân hàng của SePay.

Lưu ý: Trong Odoo, tài khoản ngân hàng này sẽ được đồng bộ sau khi bấm Connect trong wizard SePay. Sau đó kế toán cần map tài khoản SePay với đúng một bank journal trong Odoo.

Bước 2: Tạo Webhook trong SePay

Mở menu Tích hợp WebHooks và thêm webhook trong SePay

Webhook cho phép SePay gửi thông báo giao dịch ngân hàng về Odoo gần như realtime. Người dùng cần tạo webhook trong SePay và dán URL webhook do Odoo tạo.

Các bước thực hiện:

  1. Trong SePay, vào menu Tích hợp WebHooks.
  2. Bấm Thêm webhook.
  3. Nhập tên webhook, ví dụ Odoo Webhook.
  4. Dán URL webhook do Odoo tạo vào ô URL nhận webhook.
  5. Chọn Loại giao dịch là Tất cả nếu muốn đồng bộ cả tiền vào và tiền ra.
  6. Chọn Định dạng dữ liệu là JSON.
  7. Có thể bật tự động gửi lại khi server trả lỗi để SePay thử gửi lại nếu Odoo tạm thời không phản hồi.
Cấu hình URL nhận webhook và định dạng JSON trong SePay

Quan trọng: Không tự nhập URL nhận webhook thủ công. Người dùng nên copy URL này từ field SePay Webhook URL trên form kết nối SePay trong Odoo.

Bước 3: Chọn tài khoản và bảo mật Webhook trong SePay

Chọn tài khoản ngân hàng áp dụng cho webhook SePay

Sau khi nhập URL webhook, người dùng nên giới hạn webhook theo đúng tài khoản ngân hàng cần đồng bộ và chọn phương thức xác thực an toàn.

Trong tab Tài khoản:

  1. Chọn Tùy chọn nếu chỉ muốn webhook áp dụng cho một số tài khoản cụ thể.
  2. Chọn đúng tài khoản ngân hàng đã được kết nối trong SePay.
  3. Không cần bật Dùng để xác thực thanh toán nếu module chỉ dùng để đồng bộ giao dịch ngân hàng vào Odoo Accounting.
Chọn HMAC-SHA256 và copy Secret Key trong SePay

Trong tab Bảo mật:

  1. Chọn HMAC-SHA256.
  2. Tạo hoặc nhập Secret Key.
  3. Copy Secret Key này sang Odoo, vào field SePay Webhook Secret.
  4. Lưu webhook trong SePay.

Bảo mật: Không đưa Secret Key lên ảnh mô tả app, tài liệu public, GitHub, email hoặc chat. Khi chụp ảnh hướng dẫn, hãy che Secret Key và toàn bộ thông tin tài khoản thật.

Cấu hình SePay trong Odoo Enterprise

Sau khi kết nối tài khoản ngân hàng và tạo webhook trong SePay, người dùng hoàn tất cấu hình trong Odoo Enterprise. Module lưu thông tin SePay trên online bank synchronization link của Odoo và map tài khoản ngân hàng SePay với bank journal trong Odoo.

Mở kết nối SePay từ Odoo Enterprise Accounting

1. Mở SePay Connection Wizard

Các bước thực hiện:

  1. Mở ứng dụng Accounting hoặc Invoicing.
  2. Vào Accounting Dashboard.
  3. Trên bank journal của công ty Việt Nam, bấm Connect SePay nếu nút này hiển thị.
  4. Có thể vào thêm từ Accounting / Configuration / Banks / SePay Connections.
  5. Tạo kết nối SePay mới hoặc mở một SePay online synchronization link đã có.
SePay connection wizard trong Odoo Enterprise

2. Điền thông tin trong SePay Connection Wizard

Field trong Odoo Enterprise Giá trị cần điền Lấy từ đâu?
Company Chọn công ty Việt Nam sở hữu bank journal. Cấu hình công ty trong Odoo.
Journal Chọn bank journal cần kết nối, nếu có. Bank journal trong Odoo.
Environment Chọn Production cho dữ liệu thật hoặc Sandbox để test. Chọn theo môi trường SePay API muốn sử dụng.
API Token Dán SePay API Token. Tạo/copy trong SePay để Odoo gọi SePay API v2.
Use SePay Webhook Bật nếu gói SePay của người dùng hỗ trợ webhook. Theo gói SePay và cấu hình webhook.
Webhook Authentication Chọn HMAC-SHA256 cho production. Phải khớp với phương thức xác thực đã cấu hình trong SePay.
Webhook Secret Dán Secret Key của webhook SePay. Tab bảo mật webhook trong SePay.
Webhook API Key Chỉ điền nếu chọn xác thực API Key thay vì HMAC. Cấu hình bảo mật webhook trong SePay.

Webhook là tùy chọn: Nếu gói SePay của người dùng chưa bao gồm webhook, hãy để webhook tắt. Odoo Enterprise vẫn có thể đồng bộ giao dịch bằng scheduled API polling.

Map tài khoản SePay với Bank Journal trong Odoo

Sau khi API token được xác thực, Odoo sẽ lấy danh sách tài khoản ngân hàng đã liên kết với tài khoản SePay. Người dùng sau đó map mỗi tài khoản ngân hàng online của SePay với một bank journal trong Odoo bằng luồng account-to-journal linking gốc của Odoo Enterprise.

Map tài khoản ngân hàng online SePay với Odoo bank journal

Các bước thực hiện:

  1. Bấm Connect trong SePay wizard.
  2. Odoo lấy danh sách tài khoản ngân hàng liên kết với SePay API Token.
  3. Chọn tài khoản SePay online cần kết nối.
  4. Map tài khoản SePay online với đúng bank journal trong Odoo.
  5. Odoo Enterprise đặt nguồn sao kê của journal sang online synchronization.
  6. Nên dùng một Odoo bank journal cho mỗi tài khoản ngân hàng SePay.

Khuyến nghị: Tiền tệ của Odoo bank journal nên khớp với tiền tệ của tài khoản SePay. Module này tập trung vào biến động ngân hàng Việt Nam và import tài khoản SePay bằng VND.

Copy Odoo Webhook URL sang SePay

Nếu webhook được bật trong Odoo, Odoo sẽ tạo SePay Webhook URL trên online synchronization link. Copy URL này sang SePay để SePay có thể thông báo cho Odoo khi có biến động ngân hàng.

Copy SePay Webhook URL từ Odoo Enterprise

Lưu ý production: Nếu webhook URL được tạo vẫn chứa localhost hoặc domain test, hãy cấu hình domain public của Odoo trước khi copy sang SePay. SePay phải gọi được URL này từ internet.

Đối soát thủ công bằng Odoo Enterprise

Giao dịch SePay được import vào Odoo dưới dạng dòng sao kê ngân hàng gốc của Odoo. Kế toán có thể đối soát các giao dịch này từ Bank Reconciliation widget tiêu chuẩn của Odoo Enterprise, sử dụng gợi ý tự động, bút toán có sẵn hoặc manual operations.

Mở đối soát ngân hàng từ Odoo Enterprise Accounting Dashboard

1. Mở màn hình Bank Reconciliation

Các bước thực hiện:

  1. Mở Accounting Dashboard.
  2. Tìm bank journal đã kết nối với SePay.
  3. Bấm Reconcile Items trên thẻ bank journal.
  4. Odoo mở bank reconciliation widget gốc với các dòng sao kê SePay đã import.
Đối soát thủ công dòng sao kê SePay trong Odoo Enterprise

2. Đối soát thủ công một giao dịch SePay

Các bước thực hiện:

  1. Chọn một giao dịch SePay ở danh sách dòng sao kê bên trái.
  2. Kiểm tra nhãn giao dịch, số tiền, ngày và journal entry do Odoo tạo.
  3. Mở tab Match Existing Entries.
  4. Tìm invoice, bill, payment hoặc journal item khớp với giao dịch chuyển khoản SePay.
  5. Chọn đúng open entry trong danh sách.
  6. Nếu không có entry phù hợp, dùng Manual Operations để tạo counterpart cần thiết.
  7. Bấm Validate để xác nhận đối soát.

Workflow gốc của Odoo: Kế toán không cần một màn hình đối soát SePay riêng. Các biến động SePay sau khi import được đối soát bằng đúng công cụ Odoo Enterprise dùng cho sao kê ngân hàng thông thường.

Đồng bộ và Audit Logs

Module Enterprise này import giao dịch SePay qua pipeline online synchronization gốc của Odoo. Dữ liệu từ SePay API polling và webhook được lưu trong audit log trước khi tạo dòng sao kê ngân hàng.

SePay transaction logs trong Odoo Enterprise

Hành vi chính:

  • Webhook event được Odoo nhận và lưu vào SePay transaction audit log.
  • Scheduled synchronization lấy lại các giao dịch bị lỡ hoặc bị trễ từ SePay API v2.
  • Dữ liệu webhook và API được chống trùng trước khi tạo dòng sao kê.
  • Giao dịch import được chuyển thành dòng sao kê ngân hàng gốc của Odoo Enterprise.
  • Lỗi được lưu trên SePay transaction log để Accounting Manager kiểm tra.

Thứ tự thao tác khuyến nghị:

  1. Kết nối SePay trong Odoo Enterprise.
  2. Fetch tài khoản ngân hàng SePay.
  3. Link mỗi tài khoản SePay với một Odoo bank journal.
  4. Copy Odoo Webhook URL sang SePay.
  5. Dán SePay Secret Key ngược lại vào Odoo.
  6. Dùng Odoo Accounting Dashboard để đối soát các dòng sao kê đã import.

English Version

SePay Transaction Sync for Odoo Enterprise

Automatically synchronize Vietnamese bank account movements from SePay into Odoo Enterprise Accounting.

This module is designed for Vietnamese businesses using SePay to receive bank transfer notifications and synchronize bank account movements into Odoo Enterprise. It can backfill missed transactions through SePay API v2, receive webhooks from SePay, create native Odoo bank statement lines, and support reconciliation with Odoo Enterprise's standard Bank Reconciliation tools.

This is not an official SePay product and it is not an online checkout payment acquirer.

SePay Account Requirements

SePay package requirement for Odoo integration

To use this module, users need an active SePay account and at least one bank account linked in SePay. API and Webhook access depends on the SePay package used by the customer.

Required items:

  • A SePay account.
  • At least one Vietnamese bank account linked in SePay.
  • A SePay API Token so Odoo can call the API server-side.
  • A public Odoo URL so SePay can send HTTP POST requests.
  • HTTPS/SSL for production webhooks.
  • A suitable SePay package for the expected monthly incoming transaction volume.

Pricing Note

SePay publicly lists a FREE package with 50 incoming transactions per month and Webhook/API support. If the monthly transaction limit is exceeded, SePay may charge overage fees or require an upgrade to a higher package.

Vietnamese Banks Supported through SePay

Vietnamese banks supported through SePay

According to public SePay information, SePay has direct API connections with major Vietnamese banks, including:

  • Vietcombank
  • BIDV
  • VietinBank
  • MB
  • ACB
  • VPBank
  • TPBank
  • Sacombank
  • MSB
  • OCB
  • KienLongBank

Other banks may be connected through SMS Banking depending on SePay support.

Supported banks, API access, package limits, and pricing are managed by SePay and may change over time.

Built for Odoo Enterprise Accounting

This Enterprise edition connects SePay directly with Odoo Enterprise Accounting. It uses Odoo's native Online Bank Synchronization, Bank Journal Dashboard, Bank Statement Lines, and Bank Reconciliation tools instead of creating a separate accounting workflow.

SePay connected with Odoo Enterprise Accounting dashboard

Odoo Enterprise tools used by this connector:

  • Online Bank Synchronization: SePay is connected as an online synchronization provider using Odoo Enterprise's native online bank models.
  • Bank Journal Dashboard: Users can connect SePay from the Odoo bank journal dashboard and monitor fetched transactions from the standard accounting dashboard.
  • Bank Statement Lines: Imported SePay transactions become native Odoo bank statement lines, not custom accounting records.
  • Bank Reconciliation Widget: Accountants reconcile SePay transactions using the standard Odoo Enterprise reconciliation screen.
  • Reconciliation Models: The connector can prepare an exact-reference matching model for safer automatic matching.

Enterprise note: This module is designed for Odoo Enterprise Accounting. It requires account_accountant and account_online_synchronization. It is different from the Community Financial Account Connector Engine.

SePay Configuration

Step 1: Connect a Bank Account in SePay

List of bank accounts connected in SePay

Before configuring Odoo, users need to go to SePay and link the bank account they want to synchronize. The module can only fetch data from bank accounts that have been successfully connected in SePay.

Select a bank to connect in SePay

Steps:

  1. Log in to SePay.
  2. Go to the Bank menu.
  3. Click New Connection.
  4. Select the bank to connect, for example Vietcombank, ACB, BIDV, MB, VPBank, or another bank supported by SePay.
  5. Complete the bank-linking process following SePay's instructions.
  6. After the connection is successful, the bank account will appear in the SePay bank account list.

Note: In Odoo, this bank account will be synchronized after clicking Connect in the SePay wizard. After that, the accountant needs to map the SePay account to exactly one bank journal in Odoo.

Step 2: Create a Webhook in SePay

Open the WebHooks Integration menu and add a webhook in SePay

The webhook allows SePay to send bank transaction notifications to Odoo almost in realtime. Users need to create a webhook in SePay and paste the webhook URL generated by Odoo.

Steps:

  1. In SePay, go to the WebHooks Integration menu.
  2. Click Add Webhook.
  3. Enter a webhook name, for example Odoo Webhook.
  4. Paste the webhook URL generated by Odoo into the Webhook Receiving URL field.
  5. Set Transaction Type to All if you want to synchronize both incoming and outgoing transactions.
  6. Set Data Format to JSON.
  7. Optionally enable automatic retry when the server returns an error, so SePay can retry if Odoo is temporarily unavailable.
Configure webhook receiving URL and JSON format in SePay

Important: Do not enter the webhook receiving URL manually. Users should copy this URL from the SePay Webhook URL field on the SePay connection form in Odoo.

Step 3: Select Accounts and Secure the Webhook in SePay

Select the bank account applied to the SePay webhook

After entering the webhook URL, users should limit the webhook to the correct bank account that needs to be synchronized and choose a secure authentication method.

In the Accounts tab:

  1. Select Custom if you only want the webhook to apply to specific accounts.
  2. Select the correct bank account that has been connected in SePay.
  3. You do not need to enable Use for payment verification if this module is only used to synchronize bank transactions into Odoo Accounting.
Select HMAC-SHA256 and copy the Secret Key in SePay

In the Security tab:

  1. Select HMAC-SHA256.
  2. Generate or enter a Secret Key.
  3. Copy this Secret Key to Odoo, into the SePay Webhook Secret field.
  4. Save the webhook in SePay.

Security: Do not include the Secret Key in app description images, public documentation, GitHub, email, or chat. When taking screenshots for the guide, hide the Secret Key and all real account information.

Configure SePay in Odoo Enterprise

After connecting a bank account and creating a webhook in SePay, users complete the setup in Odoo Enterprise. The connector stores SePay credentials on the Odoo online bank synchronization link and maps SePay bank accounts to Odoo bank journals.

Open SePay connection from Odoo Enterprise Accounting

1. Open the SePay Connection Wizard

Steps:

  1. Open the Accounting or Invoicing app.
  2. Go to the Accounting Dashboard.
  3. On a Vietnamese bank journal, click Connect SePay if the button is available.
  4. You can also go to Accounting / Configuration / Banks / SePay Connections.
  5. Create a new SePay connection or open an existing SePay online synchronization link.
SePay connection wizard in Odoo Enterprise

2. Fill in the SePay Connection Wizard

Field in Odoo Enterprise Value to enter Where to get it from
Company Select the Vietnamese company that owns the bank journal. Odoo company configuration.
Journal Select the bank journal to connect, if available. Odoo bank journal.
Environment Select Production for real data or Sandbox for testing. Choose based on the SePay API environment you want to use.
API Token Paste the SePay API Token. Create/copy it in SePay so Odoo can call SePay API v2.
Use SePay Webhook Enable it if your SePay package supports webhook delivery. SePay package and webhook configuration.
Webhook Authentication Select HMAC-SHA256 for production. Must match the authentication method configured in SePay.
Webhook Secret Paste the SePay webhook Secret Key. SePay webhook security tab.
Webhook API Key Only fill this if you choose API Key authentication. SePay webhook security configuration.

Webhook is optional: If webhook delivery is not included in the user's SePay package, leave webhook disabled. Odoo Enterprise can still synchronize transactions by scheduled API polling.

Link SePay Accounts to Odoo Bank Journals

After the API token is validated, Odoo fetches the bank accounts linked to the SePay account. The user then maps each SePay online bank account to an Odoo bank journal using the native Odoo Enterprise account-to-journal linking flow.

Link SePay online bank accounts to Odoo bank journals

Steps:

  1. Click Connect in the SePay wizard.
  2. Odoo fetches the bank accounts linked to the SePay API Token.
  3. Select the SePay online account to connect.
  4. Map the SePay online account to the correct Odoo bank journal.
  5. Odoo Enterprise sets the journal bank statement source to online synchronization.
  6. Use one Odoo bank journal for each SePay bank account.

Best practice: The Odoo bank journal currency should match the SePay account currency. This connector is focused on Vietnamese bank movements and imports SePay accounts in VND.

Copy the Odoo Webhook URL to SePay

If webhook is enabled in Odoo, Odoo generates a SePay Webhook URL on the online synchronization link. Copy this URL into SePay so SePay can notify Odoo when a bank movement arrives.

Copy SePay Webhook URL from Odoo Enterprise

Production note: If the generated webhook URL still contains localhost or a test domain, configure Odoo's public domain before copying it to SePay. SePay must be able to call this URL from the internet.

Manual Reconciliation with Odoo Enterprise

SePay transactions are imported into Odoo as native bank statement lines. Accountants can reconcile them from the standard Odoo Enterprise bank reconciliation widget, using automatic suggestions, existing entries, or manual operations.

Open bank reconciliation from the Odoo Enterprise Accounting Dashboard

1. Open the Bank Reconciliation Screen

Steps:

  1. Open the Accounting Dashboard.
  2. Find the bank journal connected to SePay.
  3. Click Reconcile Items on the bank journal card.
  4. Odoo opens the native bank reconciliation widget with imported SePay statement lines.
Manually reconcile SePay bank statement lines in Odoo Enterprise

2. Reconcile a SePay Transaction Manually

Steps:

  1. Select a SePay transaction from the left-side statement line list.
  2. Review the transaction label, amount, date, and bank journal entry created by Odoo.
  3. Open the Match Existing Entries tab.
  4. Search for the invoice, bill, payment, or journal item that matches the SePay transfer.
  5. Select the correct open entry from the list.
  6. If no existing entry is suitable, use Manual Operations to create the needed counterpart.
  7. Click Validate to confirm the reconciliation.

Native Odoo workflow: The accountant does not need a separate SePay reconciliation screen. Imported SePay movements are reconciled using the same Odoo Enterprise reconciliation tools used for normal bank statements.

Synchronization and Audit Logs

This Enterprise connector imports SePay transactions through the native Odoo online synchronization pipeline. SePay API polling and webhook records are stored in an audit log before creating bank statement lines.

SePay transaction logs in Odoo Enterprise

Main behavior:

  • Webhook events are received by Odoo and stored in the SePay transaction audit log.
  • Scheduled synchronization fetches missed or delayed transactions from SePay API v2.
  • Webhook and API records are deduplicated before creating statement lines.
  • Imported transactions are converted into native Odoo Enterprise bank statement lines.
  • Errors are stored on the SePay transaction log for accounting manager review.

Recommended operation order:

  1. Connect SePay in Odoo Enterprise.
  2. Fetch SePay bank accounts.
  3. Link each SePay account to an Odoo bank journal.
  4. Copy the Odoo Webhook URL to SePay.
  5. Paste the SePay Secret Key back into Odoo.
  6. Use the Odoo Accounting Dashboard to reconcile imported statement lines.
Odoo Proprietary License v1.0

This software and associated files (the "Software") may only be used (executed,
modified, executed after modifications) if you have purchased a valid license
from the authors, typically via Odoo Apps, or if you have received a written
agreement from the authors of the Software (see the COPYRIGHT file).

You may develop Odoo modules that use the Software as a library (typically
by depending on it, importing it and using its resources), but without copying
any source code or material from the Software. You may distribute those
modules under the license of your choice, provided that this license is
compatible with the terms of the Odoo Proprietary License (For example:
LGPL, MIT, or proprietary licenses similar to this one).

It is forbidden to publish, distribute, sublicense, or sell copies of the Software
or modified copies of the Software.

The above copyright notice and this permission notice must be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author or have a question related to your purchase, please use the support page.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with