OdooWiki OCA HUB

Currency Rate Update: Bank Indonesia

currency_rate_update_bi folder_open OCA/l10n-indonesia open_in_new
Financial Management/Configuration License: AGPL-3

Adds Bank Indonesia (BI) as a currency rates provider for the currency_rate_update module. Exchange rates are fetched from Bank Indonesia's official SOAP webservice (wsKursBI) using the getSubKursLokal3 method.

Data Source: Bank Indonesia — https://www.bi.go.id

Rate Type: Kurs Transaksi BI (Transaction Rates — middle rate / kurs tengah)

Update Frequency: Daily on business days (Mon–Fri, excluding Indonesian national holidays)

Supported Currencies (vs IDR):

+-----+----------------------------+ | USD | United States Dollar | +-----+----------------------------+ | EUR | Euro | +-----+----------------------------+ | GBP | British Pound | +-----+----------------------------+ | JPY | Japanese Yen | +-----+----------------------------+ | SGD | Singapore Dollar | +-----+----------------------------+ | AUD | Australian Dollar | +-----+----------------------------+ | BND | Brunei Dollar | +-----+----------------------------+ | CAD | Canadian Dollar | +-----+----------------------------+ | CHF | Swiss Franc | +-----+----------------------------+ | CNY | Chinese Yuan | +-----+----------------------------+ | DKK | Danish Krone | +-----+----------------------------+ | HKD | Hong Kong Dollar | +-----+----------------------------+ | KRW | South Korean Won | +-----+----------------------------+ | MYR | Malaysian Ringgit | +-----+----------------------------+ | NOK | Norwegian Krone | +-----+----------------------------+ | NZD | New Zealand Dollar | +-----+----------------------------+ | SAR | Saudi Riyal | +-----+----------------------------+ | SEK | Swedish Krona | +-----+----------------------------+ | THB | Thai Baht | +-----+----------------------------+

Note: This module is designed primarily for Indonesian companies using IDR (Indonesian Rupiah) as their base currency. Cross-rate calculations (e.g. USD base company wanting EUR rates) are supported as long as the base currency is in the list above.

auto_awesome What this module does

AI-generated from the code · Odoo 16.0

Adds Bank Indonesia as an exchange rate provider so Odoo can automatically download official BI transaction rates (middle rate) for IDR and 19 foreign currencies.

This module plugs Bank Indonesia into the existing currency rate update feature. On the currency rate provider screen, users can now choose "Bank Indonesia (Kurs Transaksi)" as the service.

  • Supported currencies: when the company currency is IDR, the provider offers USD, EUR, GBP, JPY, SGD, AUD, BND, CAD, CHF, CNY, DKK, HKD, KRW, MYR, NOK, NZD, SAR, SEK and THB. When the company currency is one of those foreign currencies, only IDR is offered.
  • Rates are fetched from Bank Indonesia's official webservice for the requested date range. The middle rate is calculated as the average of the buy and sell rates, and adjusted for currencies quoted per 100 units (such as JPY or KRW).
  • If the company base currency is neither IDR nor a supported foreign currency, the update stops with a clear error message.
  • If the Bank Indonesia website cannot be reached, the update stops with an error explaining the connection problem.
  • On installation, the module removes leftover rate records for the company's base currency, which would otherwise make the displayed "Unit per IDR" / "IDR per Unit" columns wrong after a base currency change.

The module extends the existing res.currency.rate.provider model and relies on the currency rate update module for the screens and scheduled updates.

Models and fields (1)
  • res.currency.rate.provider · extends an existing modelservice

Text generated by AI (DeepSeek) from reading the Odoo 16.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 1 confirmed, 8 with no information of 9 versions.

Sources · Odoo 16.0

Confirmed on 2026-11-03 in branch 16.0 of OCA/l10n-indonesia.

terminal Installation and usage

OCA documentation · Odoo 16.0

To configure Bank Indonesia currency rates provider:

  • Go to Invoicing > Configuration > Settings
  • Ensure Automatic Currency Rates (OCA) is checked
  • Go to Invoicing > Configuration > Currency Rates Providers
  • Create a new provider with Provider: Bank Indonesia (Kurs Transaksi)
  • Select the currencies you want to update (USD, EUR, SGD, etc.)
  • Configure the update schedule (e.g., daily, weekly)
  • Save the provider

Your company's base currency should be IDR (Indonesian Rupiah) or one of the supported foreign currencies if you need cross-rate calculations.

After configuration, currency rates are automatically updated based on your schedule. To manually update rates:

  • Go to Invoicing > Configuration > Currency Rates Providers
  • Select the Bank Indonesia provider
  • Click Action > Update Rates Wizard
  • Set the date range (From/To dates)
  • Click Update to fetch rates from Bank Indonesia

To view the fetched rates:

  • Go to Invoicing > Configuration > Currencies
  • Select a currency (e.g., USD)
  • Open the Rates tab to see historical exchange rates

The rates are fetched from Bank Indonesia's official webservice at https://www.bi.go.id/biwebservice/wskursbi.asmx and represent the middle rate (average of buy/sell rates) for each currency pair.

No verified information in OCA: Installation.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.