Calculate Inward/Outward Remittance values based on TT Buying/Selling rates.
USD – US Dollar
EUR – Euro
GBP – Great Britain Pound
AUD – Australian Dollar
CAD – Canadian Dollar
JPY – Japanese Yen
SGD – Singapore Dollar
TT Buying (Inward Remittance)
TT Selling (Outward Remittance)
Bill Buying (Exports)
Bill Selling (Imports)
Edit manually if rates changed.
Base Converted Amount:₹ 0.00
GST on Conversion (Rule 2B):₹ 0.00
Estimated Net Total (INR):₹ 0.00
Note: GST is calculated based on Rule 2B of Service Tax Rules for Forex conversion. Final SBI bank charges may vary based on branch and account type.
Understanding SBI Exchange Rates
When dealing with international transactions through the State Bank of India (SBI), understanding how exchange rates are applied is crucial for accurate financial planning. Unlike the mid-market rate often seen on Google, banks apply specific "Card Rates" depending on the nature of the transaction.
TT Buying vs. TT Selling Rates
The type of transaction determines which rate applies to your money:
TT Buying Rate (Telegraphic Transfer Buying): This rate applies when money is flowing into your account from abroad (Inward Remittance). The bank "buys" the foreign currency from you and gives you INR. This rate is typically lower than the market rate.
TT Selling Rate (Telegraphic Transfer Selling): This rate applies when you are sending money out of India (Outward Remittance). The bank "sells" you foreign currency for INR. This rate is typically higher than the market rate.
Bill Buying/Selling: These rates are generally used for trade transactions involving export/import documents.
GST on Currency Conversion in India
According to the Goods and Services Tax (GST) regulations (Rule 2B), a service tax is levied on the value of the currency exchanged. This is not a tax on the money itself, but on the service of converting it. The slab structure is as follows:
Gross Amount of Currency Exchanged (INR)
GST Amount (18% on Taxable Value)
Up to ₹1,00,000
0.18% of the gross amount (Subject to a minimum of ₹45)
₹1,00,001 to ₹10,00,000
₹180 + 0.09% of the amount exceeding ₹1,00,000
Above ₹10,00,000
₹990 + 0.018% of the amount exceeding ₹10,00,000 (Max cap ₹60,000)
How to Get the Best SBI Forex Rates
SBI publishes its daily forex card rates every morning. However, for large transactions (usually above USD 10,000 or equivalent), you may be able to negotiate a better rate by contacting your branch's treasury department directly. Always compare the "Card Rate" with the interbank rate to understand the spread you are being charged.
// Approximate base rates for demo purposes (User should edit for precision)
// These are placeholders to help the user start.
var baseRates = {
'USD': 83.50,
'EUR': 90.20,
'GBP': 105.80,
'AUD': 54.50,
'CAD': 61.20,
'JPY': 0.55,
'SGD': 61.80
};
function updateEstimatedRate() {
var currency = document.getElementById('currencyPair').value;
var txnType = document.getElementById('txnType').value;
var rateInput = document.getElementById('exchangeRate');
var base = baseRates[currency] || 80;
var finalRate = base;
// Simulate spreads for SBI logic
if (txnType === 'buy') {
finalRate = base – (base * 0.005); // Buying is lower
} else if (txnType === 'sell') {
finalRate = base + (base * 0.005); // Selling is higher
} else if (txnType === 'bill_buy') {
finalRate = base – (base * 0.007); // Slightly worse for bills
} else if (txnType === 'bill_sell') {
finalRate = base + (base * 0.007);
}
rateInput.value = finalRate.toFixed(2);
}
function calculateSBIExchange() {
// 1. Get Inputs
var amountForeign = parseFloat(document.getElementById('foreignAmount').value);
var rate = parseFloat(document.getElementById('exchangeRate').value);
var txnType = document.getElementById('txnType').value;
// 2. Validation
if (isNaN(amountForeign) || amountForeign <= 0) {
alert("Please enter a valid amount in foreign currency.");
return;
}
if (isNaN(rate) || rate <= 0) {
alert("Please enter a valid exchange rate.");
return;
}
// 3. Base Calculation
var totalINR = amountForeign * rate;
// 4. GST Calculation (Rule 2B Standard Logic)
var gstAmount = 0;
if (totalINR <= 100000) {
// 1% of amount, min 45?
// Current rule: 1% of value OR min 45 is usually service charge,
// BUT specific GST Rule 2B calc:
// Slab 1: 0.18% of Gross Amount (Min 45)
gstAmount = totalINR * 0.0018;
if (gstAmount < 45) gstAmount = 45;
}
else if (totalINR 1L
var excess = totalINR – 100000;
gstAmount = 180 + (excess * 0.0009);
}
else {
// Slab 3: 990 + 0.018% of amount > 10L (Max 60000)
var excess = totalINR – 1000000;
gstAmount = 990 + (excess * 0.00018);
if (gstAmount > 60000) gstAmount = 60000;
}
// 5. Final Net Amount
// If Buying (Inward): User receives Total INR – GST
// If Selling (Outward): User pays Total INR + GST
var finalAmount = 0;
var typeLabel = "";
if (txnType.includes('buy')) {
// Bank buys foreign currency, gives you INR. They deduct GST from payout.
finalAmount = totalINR – gstAmount;
} else {
// Bank sells foreign currency, you pay INR. You pay Cost + GST.
finalAmount = totalINR + gstAmount;
}
// 6. Formatting
var formatter = new Intl.NumberFormat('en-IN', {
style: 'currency',
currency: 'INR',
minimumFractionDigits: 2
});
// 7. Output to DOM
document.getElementById('baseAmountDisplay').innerText = formatter.format(totalINR);
document.getElementById('gstDisplay').innerText = formatter.format(gstAmount);
document.getElementById('finalAmountDisplay').innerText = formatter.format(finalAmount);
document.getElementById('resultsArea').style.display = 'block';
}
// Initialize rate on load
window.onload = function() {
updateEstimatedRate();
};