Pakistani Rupee (PKR)
US Dollar (USD)
British Pound (GBP)
Euro (EUR)
3 Months
6 Months
12 Months (1 Year)
3 Years
5 Years
Annual Profit Rate:0%
Gross Profit:0
WHT (10% Tax):0
Net Profit After Tax:0
Total Maturity Amount:0
How to Use the Roshan Digital Account Profit Calculator
This calculator helps Overseas Pakistanis estimate the returns on their investments in Naya Pakistan Certificates (NPCs) via the Roshan Digital Account. Simply enter your investment amount, select the currency, and choose your preferred tenure to see your potential earnings after tax.
Understanding RDA Investment Profit Rates
The Government of Pakistan offers highly competitive profit rates for RDA holders to encourage foreign exchange inflows. The profit rates are generally higher for PKR-based investments compared to Foreign Currency Value Accounts (FCVA). Key features include:
Full Repatriability: Funds can be sent back to your country of residence without any prior approval from the State Bank of Pakistan.
Tax Efficiency: A flat 10% Withholding Tax (WHT) is applicable on the profit earned. This is a full and final liability for non-residents.
Sovereign Guarantee: Investments in Naya Pakistan Certificates are backed by the Government of Pakistan.
Typical Profit Rate Structure (Illustrative)
While rates are subject to change by the State Bank of Pakistan (SBP), the general structure follows these trends:
PKR Certificates: Usually offer the highest returns (ranging from 13% to 16%+ annually) to offset local inflation and currency fluctuations.
USD Certificates: Offer attractive returns compared to standard international USD savings accounts (ranging from 7% to 8%+ annually).
GBP/EUR: Similar to USD but adjusted for specific market conditions of those currencies.
Calculation Example
If you invest 10,000 USD in a 12-month Naya Pakistan Certificate at an expected rate of 7.5%:
Gross Profit: 10,000 * 0.075 = 750 USD
Tax (10% WHT): 750 * 0.10 = 75 USD
Net Profit: 750 – 75 = 675 USD
Total at Maturity: 10,675 USD
Note: This calculator is for estimation purposes only. Actual rates may vary based on bank-specific policies and SBP updates.
function calculateProfit() {
var amount = parseFloat(document.getElementById('investmentAmount').value);
var currency = document.getElementById('currencyType').value;
var tenure = parseFloat(document.getElementById('tenure').value);
if (isNaN(amount) || amount <= 0) {
alert("Please enter a valid investment amount.");
return;
}
var annualRate = 0;
// Approximate current NPC rates (Standardized for the tool)
if (currency === "PKR") {
if (tenure === 0.25) annualRate = 15.00;
else if (tenure === 0.5) annualRate = 15.50;
else if (tenure === 1) annualRate = 16.00;
else if (tenure === 3) annualRate = 14.00;
else if (tenure === 5) annualRate = 13.50;
} else if (currency === "USD") {
if (tenure === 0.25) annualRate = 7.00;
else if (tenure === 0.5) annualRate = 7.20;
else if (tenure === 1) annualRate = 7.50;
else if (tenure === 3) annualRate = 8.00;
else if (tenure === 5) annualRate = 8.00;
} else {
// GBP and EUR
if (tenure === 0.25) annualRate = 5.50;
else if (tenure === 0.5) annualRate = 6.00;
else if (tenure === 1) annualRate = 7.00;
else if (tenure === 3) annualRate = 7.50;
else if (tenure === 5) annualRate = 7.50;
}
// Calculation Logic
var grossProfit = amount * (annualRate / 100) * tenure;
var taxAmount = grossProfit * 0.10; // 10% Withholding Tax
var netProfit = grossProfit – taxAmount;
var totalMaturity = amount + netProfit;
// Display Results
document.getElementById('resRate').innerText = annualRate.toFixed(2) + "%";
document.getElementById('resGross').innerText = currency + " " + grossProfit.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('resTax').innerText = currency + " " + taxAmount.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('resNetProfit').innerText = currency + " " + netProfit.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('resTotal').innerText = currency + " " + totalMaturity.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('resultBox').style.display = "block";
}
function updateRates() {
// Optional: Function to visually update UI when currency changes
// Currently handled inside calculation function
document.getElementById('resultBox').style.display = "none";
}