
August 13, 2026
9 min read
Table of Contents
By Kokil Thapa | Last reviewed: August 2026
Getting WooCommerce localization for Nepal Rupees NPR right requires more than selecting a currency from a dropdown. While WooCommerce 9.x includes NPR in its core currency list, the default formatting often fails to meet Nepali business expectations for digit grouping, symbol placement, and local payment integration. For any eCommerce website developer in Nepal, delivering a store that feels native to Kathmandu customers means overriding defaults for number formatting, integrating regional payment gateways like eSewa and Khalti, and configuring tax rules that align with IRD requirements.
How do you configure WooCommerce localization for Nepal Rupees NPR currency formatting?
WooCommerce ships with NPR support, but the default output uses Western comma separation (Rs. 100,000.00) rather than the South Asian numbering system familiar to Nepali shoppers (Rs. 1,00,000). On projects like Petals Nepal and Sagun Blossom Flower, I have found that customers trust stores where prices look locally formatted. The fix involves three specific configuration steps in your theme's functions.php or a custom functionality plugin.
Setting the base currency and symbol
Navigate to WooCommerce > Settings > General. Set "Currency" to NPR - Nepalese rupee. The default symbol is रु or Rs. depending on your WooCommerce version. For English-language stores targeting both locals and expats, Rs. is generally safer as it renders consistently across all browsers and fonts without requiring Devanagari font stacks. If your store interface is entirely in Nepali language, use रु.
Overriding price formatting for Nepali numbering
The critical step most guides miss is adjusting the thousand separator logic. Add this filter to handle the Indian/Nepali numbering system where commas appear after the first three digits from the right, then every two digits thereafter:
<?php
add_filter('wc_price_args', 'custom_npr_price_format_args');
function custom_npr_price_format_args($args) {
if (get_woocommerce_currency() === 'NPR') {
$args['price_format'] = '%1$s%2$s';
$args['decimal_separator'] = '.';
$args['thousand_separator'] = ',';
$args['decimals'] = 0; // NPR rarely uses paisa in digital commerce
}
return $args;
}
add_filter('formatted_woocommerce_price', 'custom_npr_number_format', 10, 5);
function custom_npr_number_format($formatted_price, $price, $decimals, $decimal_sep, $thousand_sep) {
if (get_woocommerce_currency() !== 'NPR') {
return $formatted_price;
}
// Format using Indian/Nepali numbering: 1,00,000 instead of 100,000
$integer_part = floor($price);
$last_three = substr($integer_part, -3);
$remaining = substr($integer_part, 0, -3);
if ($remaining !== '' && $remaining !== false) {
$formatted_integer = substr(chunk_split(strrev($remaining), 2, ','), 0, -1);
$formatted_integer = strrev($formatted_integer) . ',' . $last_three;
} else {
$formatted_integer = $last_three;
}
return 'Rs. ' . $formatted_integer;
} This produces Rs. 1,00,000 instead of Rs. 100,000, matching what Nepali customers see on bank statements, salary slips, and government documents.
Handling zero-decimal display
Nepali commerce rarely transacts in paisa anymore due to inflation. Setting decimals to 0 prevents confusing displays like Rs. 1,500.00. However, if you sell items priced below Rs. 10 or need accounting precision, keep 2 decimals and adjust the filter accordingly. Most florist and gift shops I have built, including Nepal Gift Card, use zero decimals successfully.
Which local payment gateways work with WooCommerce NPR transactions?
International gateways like Stripe and PayPal do not support NPR settlement directly. For WooCommerce stores serving Nepali customers, you must integrate domestic payment providers. Based on production deployments across multiple client sites, these are the reliable options available in 2026.
| Gateway | Settlement Currency | Plugin Availability | Best For | Setup Complexity |
|---|---|---|---|---|
| eSewa | NPR | Official + third-party | Mass market, wallets | Medium (API keys + callback URL) |
| Khalti | NPR | Official WooCommerce plugin | Urban youth, bill pay users | Low (well-documented) |
| IME Pay | NPR | Third-party plugins | Remittance families | Medium |
| ConnectIPS | NPR | Bank-specific plugins | Direct bank transfers | High (bank approval required) |
| Cash on Delivery | NPR | Built-in WooCommerce | Rural areas, trust-building | None |
eSewa integration essentials
eSewa remains the dominant wallet in Nepal. When integrating via the official API or verified WooCommerce plugin, ensure your callback URL uses HTTPS and handles idempotency. A common mistake on real client projects is failing to verify the transaction signature server-side before marking orders as paid. Always validate the transaction_code against eSewa's verification endpoint rather than trusting the success redirect alone.
Khalti for younger demographics
Khalti's official WooCommerce plugin supports both checkout widget and redirect flows. In my experience building stores for flower delivery services like Petals Nepal, Khalti converts better among customers aged 18-35. The plugin handles NPR natively and returns proper order metadata. Configure the test environment first using sandbox keys before going live.
Cash on Delivery remains essential
Despite digital growth, COD still accounts for significant order volume outside Kathmandu Valley. Enable it alongside digital options. Consider adding a small discount (2-3%) for prepaid digital payments to incentivize wallet adoption while maintaining COD as a fallback. This pattern works well for grocery and gift delivery businesses where trust takes time to build.
How should VAT and tax settings be configured for Nepal WooCommerce stores?
Nepal's Value Added Tax (VAT) rate is 13% as of 2026. Proper tax configuration for Nepali eCommerce affects both legal compliance and customer trust. Misconfigured taxes cause cart abandonment when surprise charges appear at checkout.
Inclusive versus exclusive pricing
Nepali consumers expect displayed prices to include VAT. Configure this under WooCommerce > Settings > Tax:
- Enable taxes and set "Prices entered with tax" to Yes, I will enter prices inclusive of tax
- Set "Display prices during cart and checkout" to Including tax
- Create a standard tax rate: Country
NP, Rate13.0000, NameVAT, Priority1, CompoundNo
This ensures a product listed at Rs. 1,130 shows Rs. 1,130 throughout the journey, with Rs. 130 VAT broken out only on the invoice. Exclusive pricing (showing Rs. 1,000 + Rs. 130 tax at checkout) causes confusion and abandoned carts in the Nepal market.
PAN/VAT registration display
If your business is VAT-registered with the Inland Revenue Department, display your PAN number in the footer and on invoices. Use a plugin like "WooCommerce PDF Invoices" to include PAN on generated receipts. This builds trust with B2B customers who need valid tax invoices for their own accounting. Many law firm portals and service businesses I have worked on require this for professional credibility.
Tax exemptions and special cases
Some products (agricultural goods, educational materials) may be VAT-exempt. Create a separate tax class "Zero-Rated" with 0% rate and assign it to applicable products. Do not simply disable taxes globally. Maintain proper records for IRD audits even if selling exempt goods.
What technical considerations affect NPR localization performance and SEO?
Localization impacts more than display. Search engines index price information, and performance suffers if currency conversion runs on every page load. Address these concerns proactively.
Avoiding runtime currency conversion overhead
If your store sells exclusively in NPR, disable multi-currency plugins entirely. Each conversion check adds database queries and potential cache misses. For stores like Quick And Easy Nepalese Grocery that serve only Nepal, hardcode NPR as the sole currency. Multi-currency makes sense only for international florists like Petals Qatar serving both NPR and QAR markets.
Structured data for NPR pricing
Google Shopping and rich results require proper schema markup. Ensure your product schema outputs prices in NPR with the correct currency code:
<script type="application/ld+json">
{
"@context": "https://schema.org/",
"@type": "Product",
"name": "Handmade Pashmina Shawl",
"offers": {
"@type": "Offer",
"price": "4500",
"priceCurrency": "NPR",
"availability": "https://schema.org/InStock"
}
}
</script> Test with Google's Rich Results Tool. Incorrect currency codes (using USD or INR by mistake) cause indexing errors and mislead international searchers about actual pricing.
Font rendering for Devanagari currency symbols
If using रु as the currency symbol, ensure your theme loads a font supporting Devanagari glyphs. Noto Sans Devanagari from Google Fonts works reliably. Without proper font support, the symbol renders as a box or fallback character, damaging professionalism. Test across Chrome, Firefox, Safari, and mobile browsers popular in Nepal (Chrome Android dominates).
Email and invoice consistency
Verify that order confirmation emails, PDF invoices, and admin order screens all display NPR formatting consistently. Some email templates bypass WooCommerce formatting filters. Override wc_email_template_paths if needed to apply your custom number formatting. Inconsistent pricing between website and email erodes customer confidence immediately.
Implementing Complete WooCommerce Localization for Nepal Rupees NPR
Proper WooCommerce localization for Nepal Rupees NPR combines currency formatting, payment integration, tax configuration, and technical optimization into a cohesive setup. Skip any element and your store feels foreign to Nepali customers regardless of product quality. Start with the number formatting filter, add eSewa or Khalti based on your target demographic, configure inclusive VAT, and validate structured data before launch. For businesses needing hands-on implementation or troubleshooting existing setups, reach out through my contact page to discuss your specific WooCommerce localization requirements.

