| 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 |
| License | OPL-1 |
| Website | https://duong-odoo-apps.odoo.com |
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.
| 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. |
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.
1. Open the SePay Connection Wizard
- Open the Accounting or Invoicing app.
- Go to the Accounting Dashboard.
- On a Vietnamese bank journal, click Connect SePay if the button is available.
- You can also go to Accounting / Configuration / Banks / SePay Connections.
- Create a new SePay connection or open an existing SePay online synchronization link.
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. |
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.
- Click Connect in the SePay wizard.
- Odoo fetches the bank accounts linked to the SePay API Token.
- Select the SePay online account to connect.
- Map the SePay online account to the correct Odoo bank journal.
- Odoo Enterprise sets the journal bank statement source to online synchronization.
- Use one Odoo bank journal for each SePay bank account.
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.
| 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. |
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.
1. Open the Bank Reconciliation Screen
- Open the Accounting Dashboard.
- Find the bank journal connected to SePay.
- Click Reconcile Items on the bank journal card.
- Odoo opens the native bank reconciliation widget with imported SePay statement lines.
2. Reconcile a SePay Transaction Manually
- Select a SePay transaction from the left-side statement line list.
- Review the transaction label, amount, date, and bank journal entry created by Odoo.
- Open the Match Existing Entries tab.
- Search for the invoice, bill, payment, or journal item that matches the SePay transfer.
- Select the correct open entry from the list.
- If no existing entry is suitable, use Manual Operations to create the needed counterpart.
- Click Validate to confirm the reconciliation.
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.
- 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.
Documentation
Please go to documentation tab in the right side to see how to configure in odoo as well
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 |
| License | OPL-1 |
| Website | https://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
Để 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
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.
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
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.
Các bước thực hiện:
- Đăng nhập SePay.
- Vào menu Ngân hàng.
- Bấm Kết nối mới.
- 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ợ.
- Hoàn tất quy trình liên kết tài khoản theo hướng dẫn của SePay.
- 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
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:
- Trong SePay, vào menu Tích hợp WebHooks.
- Bấm Thêm webhook.
- Nhập tên webhook, ví dụ Odoo Webhook.
- Dán URL webhook do Odoo tạo vào ô URL nhận webhook.
- 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.
- Chọn Định dạng dữ liệu là JSON.
- 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.
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
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:
- 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ể.
- Chọn đúng tài khoản ngân hàng đã được kết nối trong SePay.
- 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.
Trong tab Bảo mật:
- Chọn HMAC-SHA256.
- Tạo hoặc nhập Secret Key.
- Copy Secret Key này sang Odoo, vào field SePay Webhook Secret.
- 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.
1. Mở SePay Connection Wizard
Các bước thực hiện:
- Mở ứng dụng Accounting hoặc Invoicing.
- Vào Accounting Dashboard.
- 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ị.
- Có thể vào thêm từ Accounting / Configuration / Banks / SePay Connections.
- Tạo kết nối SePay mới hoặc mở một SePay online synchronization link đã có.
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.
Các bước thực hiện:
- Bấm Connect trong SePay wizard.
- Odoo lấy danh sách tài khoản ngân hàng liên kết với SePay API Token.
- Chọn tài khoản SePay online cần kết nối.
- Map tài khoản SePay online với đúng bank journal trong Odoo.
- Odoo Enterprise đặt nguồn sao kê của journal sang online synchronization.
- 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.
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.
1. Mở màn hình Bank Reconciliation
Các bước thực hiện:
- Mở Accounting Dashboard.
- Tìm bank journal đã kết nối với SePay.
- Bấm Reconcile Items trên thẻ bank journal.
- Odoo mở bank reconciliation widget gốc với các dòng sao kê SePay đã import.
2. Đối soát thủ công một giao dịch SePay
Các bước thực hiện:
- Chọn một giao dịch SePay ở danh sách dòng sao kê bên trái.
- Kiểm tra nhãn giao dịch, số tiền, ngày và journal entry do Odoo tạo.
- Mở tab Match Existing Entries.
- Tìm invoice, bill, payment hoặc journal item khớp với giao dịch chuyển khoản SePay.
- Chọn đúng open entry trong danh sách.
- Nếu không có entry phù hợp, dùng Manual Operations để tạo counterpart cần thiết.
- 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.
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ị:
- Kết nối SePay trong Odoo Enterprise.
- Fetch tài khoản ngân hàng SePay.
- Link mỗi tài khoản SePay với một Odoo bank journal.
- Copy Odoo Webhook URL sang SePay.
- Dán SePay Secret Key ngược lại vào Odoo.
- 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
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
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.
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
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.
Steps:
- Log in to SePay.
- Go to the Bank menu.
- Click New Connection.
- Select the bank to connect, for example Vietcombank, ACB, BIDV, MB, VPBank, or another bank supported by SePay.
- Complete the bank-linking process following SePay's instructions.
- 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
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:
- In SePay, go to the WebHooks Integration menu.
- Click Add Webhook.
- Enter a webhook name, for example Odoo Webhook.
- Paste the webhook URL generated by Odoo into the Webhook Receiving URL field.
- Set Transaction Type to All if you want to synchronize both incoming and outgoing transactions.
- Set Data Format to JSON.
- Optionally enable automatic retry when the server returns an error, so SePay can retry if Odoo is temporarily unavailable.
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
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:
- Select Custom if you only want the webhook to apply to specific accounts.
- Select the correct bank account that has been connected in SePay.
- You do not need to enable Use for payment verification if this module is only used to synchronize bank transactions into Odoo Accounting.
In the Security tab:
- Select HMAC-SHA256.
- Generate or enter a Secret Key.
- Copy this Secret Key to Odoo, into the SePay Webhook Secret field.
- 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.
1. Open the SePay Connection Wizard
Steps:
- Open the Accounting or Invoicing app.
- Go to the Accounting Dashboard.
- On a Vietnamese bank journal, click Connect SePay if the button is available.
- You can also go to Accounting / Configuration / Banks / SePay Connections.
- Create a new SePay connection or open an existing SePay online synchronization link.
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.
Steps:
- Click Connect in the SePay wizard.
- Odoo fetches the bank accounts linked to the SePay API Token.
- Select the SePay online account to connect.
- Map the SePay online account to the correct Odoo bank journal.
- Odoo Enterprise sets the journal bank statement source to online synchronization.
- 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.
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.
1. Open the Bank Reconciliation Screen
Steps:
- Open the Accounting Dashboard.
- Find the bank journal connected to SePay.
- Click Reconcile Items on the bank journal card.
- Odoo opens the native bank reconciliation widget with imported SePay statement lines.
2. Reconcile a SePay Transaction Manually
Steps:
- Select a SePay transaction from the left-side statement line list.
- Review the transaction label, amount, date, and bank journal entry created by Odoo.
- Open the Match Existing Entries tab.
- Search for the invoice, bill, payment, or journal item that matches the SePay transfer.
- Select the correct open entry from the list.
- If no existing entry is suitable, use Manual Operations to create the needed counterpart.
- 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.
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:
- Connect SePay in Odoo Enterprise.
- Fetch SePay bank accounts.
- Link each SePay account to an Odoo bank journal.
- Copy the Odoo Webhook URL to SePay.
- Paste the SePay Secret Key back into Odoo.
- 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