Quick Answer — SAP No Exchange Rate Found
- The error means SAP found no exchange rate in OB08 for the currency pair, exchange rate type (usually M), and posting date you are using. Every foreign currency posting needs a rate.
- The fix: go to OB08. Enter exchange rate type M, the currency pair (e.g. USD/CAD), a Valid From date on or before the posting date, and the rate. Save. Retry the posting — it will succeed.
- 4 causes: rate not entered for this month; Valid From date is after the posting date; wrong rate type; inverse currency pair direction entered.
- Prevention: designate a person or automate via OB09 file upload to enter rates at the start of each month before any postings are made.
- Identical in ECC and S/4HANA. Same OB08 transaction, same TCURR table, same fix.
Error messages you will see:
"No exchange rate found for currency pair USD / CAD on 14.08.2026"
"No rate found for currency type M, from USD to CAD, key date 14.08.2026"
"Enter an exchange rate" (in MIRO or FB60 when rate cannot be derived)
"No exchange rate found for translation" (in financial reporting)
The Valid From date is the most common mistake. Entering a rate with Valid From = August 15 when the posting date is August 1 means SAP looks backwards from August 1, finds no rate, and errors. Always set Valid From to the first of the month.
SAP uses the look-back method. It finds the most recent Valid From date on or before the posting date. You only need to enter a new rate when the rate changes — the last rate stays valid until a newer one is entered.
Exchange rate type M covers most daily postings. Standard vendor invoices (MIRO, FB60), customer invoices, payments (F110), and journal entries all use type M. If you enter the rate under a different type, the posting will still fail.
Check the currency pair direction. SAP may need USD→CAD but you entered CAD→USD (the inverse). The rate exists but in the wrong direction. Check your system's quotation convention before entering — entering it backwards causes silent translation errors.
F110 payment runs need rates too. Automatic payment runs fail with this error if OB08 has no rate for the payment run date. Update OB08 before scheduling the payment run, not after it fails.
How SAP Exchange Rates Work — OB08, TCURR, and Rate Types
Every financial posting in SAP that involves a currency different from the company code's local currency requires an exchange rate to convert the amount. A Canadian company (local currency CAD) receiving an invoice from a US vendor in USD needs SAP to know: how many CAD equals 1 USD on the posting date? That answer comes from OB08.
SAP stores exchange rates in the TCURR table, maintained through transaction OB08. Each rate entry has three key components: the exchange rate type (what purpose the rate serves), the currency pair (from/to currencies), and the Valid From date (the earliest date the rate applies). When a posting is made, SAP looks up TCURR at runtime — it searches for the most recent Valid From date on or before the posting date. If nothing is found, the error fires.
Plain English. Think of OB08 as a price list. Each row says "from this date onwards, 1 USD costs 1.36 CAD." When SAP needs to convert a USD invoice, it checks the price list for the most recent entry dated on or before today. If the price list has no entry for recent months — because nobody updated it — SAP has no price to use and blocks the transaction. Updating OB08 is adding a new row to the price list.
| Type | Name | Used For | Required For |
|---|---|---|---|
| M | Standard / Average Rate | Most AP/AR postings — vendor invoices, customer invoices, payments, journal entries | All orgs |
| G | Bank Buying Rate | Foreign currency valuation at period-end (FAGL_FC_VAL). Rate at which bank buys foreign currency | Month-end close |
| B | Bank Selling Rate | Rate at which bank sells foreign currency. Used in some treasury and intercompany transactions | Treasury / IC |
| EUR | EMU / Group Currency | Translation to group/reporting currency for consolidation reporting | Group reporting |
| Custom | Organisation-defined | Specific transfer prices, intercompany rates, budget rates — created per business requirement | Varies |
4 Root Causes of the No Exchange Rate Found Error
Step-by-Step: Entering Exchange Rates in OB08
Five minutes from error to working posting. All you need is OB08 and the correct rate for the currency pair.
• Exch. Rate Type: M
• Valid From: first day of the current month (e.g. 01.08.2026) — not today's date if today is mid-month
• From Currency: USD (or the foreign currency)
• To Currency: CAD (or your local currency)
• Exchange Rate: e.g. 1.3650 (meaning 1 USD = 1.3650 CAD)
Press Enter and Save (Ctrl+S). The rate is active immediately — no transport needed for OB08 rates in production.
How to Stop the Exchange Rate Error from Recurring Every Month
Like the MMPV period close error, the no exchange rate error is entirely preventable. It only exists because rates were not entered before the first posting of the month. Three approaches eliminate it.
Designate one person (treasury lead, AP manager, or SAP super-user) who owns exchange rate maintenance. Add it as item 1 on the month-start checklist: enter all currency pair rates in OB08 on the first working day of each new month, before any foreign currency postings are made. Simple, zero cost, fully controlled.
Download exchange rates from your bank's website or a financial data service. Format them into the TCURR upload file format (rate type, from-currency, to-currency, valid-from date, rate value). Upload via OB09. For organisations with 5+ currency pairs, OB09 takes 2 minutes versus 15 minutes of manual OB08 entry and eliminates transcription errors.
Connect SAP to a real-time or daily exchange rate data source: Reuters, Bloomberg, or your bank's FTP feed. Middleware (SAP Integration Suite, MuleSoft, or a custom ABAP batch job) pulls the rates daily or weekly and writes them to TCURR automatically. For organisations with significant foreign currency volume, this eliminates the manual step entirely and ensures rates are always current.
Audit trail. OB08 changes are logged — you can see who entered or changed a rate and when. If a rate is contested (e.g. an auditor questions why a January invoice used a December rate), the OB08 change log via table TCURR in SE16N with date filter confirms exactly what rate was in the system on the posting date.
SAP No Exchange Rate Found — 21 Questions Answered
SAP found no exchange rate in OB08 for the currency pair, exchange rate type (usually M), and posting date. Four causes: (1) rate not entered for this month; (2) rate exists but Valid From date is after the posting date; (3) rate entered under the wrong exchange rate type; (4) rate entered for the inverse currency pair direction. The error message names the exact currency pair and date — use this to go straight to OB08 and enter the missing rate.
OB08 (Enter Exchange Rates) is the SAP transaction for maintaining currency exchange rates. Rates are stored by exchange rate type, currency pair (from/to), and Valid From date in the TCURR database table. When a foreign currency posting is made, SAP reads TCURR to find the rate with the most recent Valid From date on or before the posting date. OB08 must be updated regularly — monthly for most organisations using type M for standard AP/AR postings.
Go to OB08. Click New Entries. Enter: exchange rate type M, Valid From = first day of the current month (not today's date if today is mid-month), from-currency (e.g. USD), to-currency (e.g. CAD), and the exchange rate (e.g. 1.3650). Save. Return to the posting transaction (MIRO, FB60, F-53) and retry. The rate defaults automatically. If the error persists, verify the rate type in the document header matches what you entered in OB08.
Standard types: M (Standard/Average Rate) — used for most AP/AR invoices and daily postings; G (Bank Buying Rate) — used for period-end foreign currency revaluation (FAGL_FC_VAL); B (Bank Selling Rate) — used in some treasury transactions. Custom types can be created for specific purposes (budget rates, transfer prices). Most day-to-day posting errors involve type M. Enter your rate under M unless the error message or document header specifies a different type.
The Valid From date is the earliest date from which a rate in OB08 applies. SAP uses the most recent Valid From date on or before the posting date. If you enter a rate with Valid From = August 15 but the posting date is August 1, SAP finds no applicable rate for August 1 and errors. Always set Valid From to the first day of the applicable month — not today's date if you are entering mid-month. This ensures the rate covers all postings in that month from day one.
Yes — in MIRO, FB60, and FB50 there is an Exchange Rate field in the document header where you can manually type a rate for that specific posting. This overrides OB08 for this document only and does not update OB08. Useful for one-off situations where you need to post immediately. However, the manual rate may create an exchange rate difference compared to the OB08 rate — this has accounting implications. Always update OB08 after a manual entry so future postings use the correct rate automatically.
TCURR is the SAP database table that stores all exchange rates maintained in OB08. Key fields: KURST (rate type), FCURR (from-currency), TCURR (to-currency), GDATU (valid from date — stored inverted for indexing), UKURS (exchange rate value). Query via SE16N: filter KURST='M', FCURR='USD', TCURR='CAD' to see all USD/CAD rates for type M. Sort by GDATU descending to see the most recent rates first. This is the fastest way to diagnose whether a rate exists and confirm its Valid From date.
Each currency pair is maintained independently in OB08. A company may keep USD/CAD and EUR/CAD rates up to date monthly but miss CHF/CAD or JPY/CAD for currencies used less frequently. When a posting involving an unmaintained pair is attempted, the error appears — even though other pairs are fine. Check OB08 for the specific pair named in the error message. After fixing the immediate pair, audit all active pairs in OB08 to find other potential gaps before they cause their own errors.
Direct quotation: how much local currency equals 1 unit of foreign currency — e.g. 1 USD = 1.36 CAD (from the perspective of a CAD company). Indirect quotation: how much foreign currency equals 1 unit of local currency — e.g. 1 CAD = 0.735 USD. SAP can use either depending on configuration per currency pair. Entering a rate in the wrong quotation direction means SAP applies the inverse of the intended rate — a 1.36 CAD/USD rate entered as indirect when direct is expected results in SAP using 0.735 instead. Always check your system's quotation convention before entering OB08 rates for a new currency pair.
Most organisations use monthly maintenance — one rate per currency pair per month, with Valid From on the first of the month. SAP's look-back behaviour means the rate stays valid until a newer one is entered, so you only update when rates change. For volatile currencies, some organisations use weekly rates. For statutory reporting, month-end closing rates (type G) may be needed alongside the M rates. The minimum required to avoid errors: enter at least one rate per active currency pair per month, dated the first of the month.
Yes — three approaches: (1) SAP Currency Exchange Rate Service (S/4HANA Cloud) — built-in connection to financial data providers; (2) Middleware integration (SAP Integration Suite, MuleSoft) that pulls rates from Reuters, Bloomberg, or bank APIs and writes to TCURR via a batch program; (3) OB09 file upload — download rates from a bank or data service, format as the TCURR upload file, upload monthly. For organisations with significant FX exposure, automation eliminates the recurring error entirely. For smaller volumes, OB09 monthly upload is the most practical option.
Exchange rate type M (Standard Translation at Average Rate) is the default type for most financial postings — vendor invoices (MIRO, FB60), customer invoices (VF01), journal entries (FB50), and payments (F110, F-53). It represents the average or mid-market rate for the period. When you maintain rates in OB08, entering them under type M ensures they apply to the majority of daily transactions. Types G and B are reserved for period-end revaluation and specific treasury transactions.
Yes — F110 performs currency conversion when paying foreign currency invoices from a local currency bank account. If no exchange rate exists in OB08 for the payment run date, the payment proposal fails with a no-rate error. F110 uses the rate valid on the payment execution date — if OB08 has rates through July 31 and the payment run is scheduled for August 15, the run fails for foreign currency payments. Always update OB08 before scheduling the payment run for the new month, not after.
The exchange rate spread is the difference between buying (G) and selling (B) rates. SAP can calculate G and B rates automatically from the M rate using a configured spread percentage — configured in transaction OB07 (Maintain Exchange Rate Spreads). For example, if M = 1.3650 and the spread is 0.5%, SAP auto-calculates G = 1.3582 and B = 1.3718. This eliminates the need to maintain all three rate types separately in OB08. If your error involves G or B rates, check OB07 before entering them manually.
Yes — foreign currency revaluation (FAGL_FC_VAL in S/4HANA, F.05 in ECC) revalues open items and balances using period-end closing rates. It requires type G rates (or the type configured in the valuation method) for the revaluation date. If G-type closing rates are not in OB08 for month-end, the revaluation fails. This is separate from M-type rates needed for daily postings — both M (monthly average) and G (period-end closing) rates are needed for a complete month-end close process.
'No rate found for translation' appears during financial report translation — for example when running a profit centre report in group currency, or translating a financial statement to EUR for consolidation. SAP searches OB08 for a translation rate type (often a custom type or EUR) for the reporting period. If no rate of that type exists, the report cannot translate amounts. Fix: maintain the required translation rate type in OB08 for the reporting period. This is separate from the M-type rates used for posting — report translation rates may use a different type configured in the financial statement version or report settings.
Two methods: (1) In OB08, enter rate type M, the currency pair, and a date range — execute to see all rates for that pair and type with their Valid From dates; (2) Query TCURR in SE16N — filter by KURST='M', FCURR='USD', TCURR='CAD' and sort by GDATU (date) descending. TCURR gives you the raw data without the OB08 screen filters. Both methods let you identify gaps (months with no rate) and confirm what rate SAP would have used for a specific posting date.
OB09 (Upload Exchange Rates) allows bulk loading of exchange rates from a structured file into TCURR, rather than entering them manually line by line in OB08. Used by finance teams maintaining many currency pairs monthly. Download rates from your bank or financial data service, format as the TCURR upload file (columns: rate type, from-currency, to-currency, valid-from date, rate), and upload via OB09. For more than 5 currency pairs, OB09 is faster and more accurate than manual OB08 entry.
Yes — exchange rate storage (TCURR), maintenance (OB08), and error logic are identical in ECC and S/4HANA. The S/4HANA addition is an optional Currency Exchange Rate Service for S/4HANA Cloud customers providing automated rate feeds. For S/4HANA on-premise, the process is the same as ECC: maintain rates in OB08 or automate via OB09 or middleware. The error message, transaction, and fix are unchanged between platforms.
SAP uses the most recent Valid From date on or before the posting date. With rates for USD/CAD on 01.07.2026 and 01.08.2026: a posting dated 15.08.2026 uses the 01.08.2026 rate; a posting dated 15.07.2026 uses the 01.07.2026 rate. There is no interpolation. If June has no rate but May and July do, June postings use the May rate (look-back). You only need to enter a new rate when the rate changes — the previous rate stays valid until a newer one is entered. Never delete old OB08 rates — they are the historical record that SAP uses for backdated postings.
Yes — VoiSAP's SAP FICO training covers foreign currency configuration: exchange rate types, OB08 maintenance, foreign currency revaluation (FAGL_FC_VAL), and payment runs in foreign currencies — on a live SAP S/4HANA system. Book a free demo to discuss your background and the fastest path to your first SAP FICO role.
On a Real System, Not a Manual.
Book a free demo class with Gourav. See OB08, FAGL_FC_VAL, and foreign currency payments on a live SAP S/4HANA system before you commit to anything.