Kokil Thapa - Professional Web Developer in Nepal
Freelancer Web Developer in Nepal with 15+ Years of Experience

Kokil Thapa is an experienced full-stack web developer focused on building fast, secure, and scalable web applications. He helps businesses and individuals create SEO-friendly, user-focused digital platforms designed for long-term growth.

WooCommerce Localization for Nepal Rupees NPR

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.

Default WooCommerce (Wrong)Product: Trekking BackpackRs. 15,000.00Western comma groupingLocalized NPR (Correct)Product: Trekking BackpackRs. 15,000Nepali format, no decimalsKey Differences for Nepal MarketNo decimal paisa (round to whole rupees)Symbol prefix "Rs." not suffixLakh/crore grouping for large amountsMatches bank statement conventions
WooCommerce localization for Nepal Rupees NPR requires overriding default Western number formatting to match local expectations

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.

GatewaySettlement CurrencyPlugin AvailabilityBest ForSetup Complexity
eSewaNPROfficial + third-partyMass market, walletsMedium (API keys + callback URL)
KhaltiNPROfficial WooCommerce pluginUrban youth, bill pay usersLow (well-documented)
IME PayNPRThird-party pluginsRemittance familiesMedium
ConnectIPSNPRBank-specific pluginsDirect bank transfersHigh (bank approval required)
Cash on DeliveryNPRBuilt-in WooCommerceRural areas, trust-buildingNone

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.

CustomerSelects NPRWooCommerceCheckout PageeSewa APIWallet PaymentKhalti APIDigital WalletCOD HandlerCash on DeliveryOrder ConfirmedNPR SettlementCritical: Server-Side Signature VerificationNever trust client-side success redirects for NPR transactions
Payment gateway routing for WooCommerce localization for Nepal Rupees NPR with mandatory server-side verification

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, Rate 13.0000, Name VAT, Priority 1, Compound No

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.

Performance ChecksDisable unused multi-currencyEliminates conversion queriesCache formatted pricesObject cache for wc_price()Zero decimals for speedSkip float formatting mathStatic currency symbolAvoid dynamic font loadingSEO RequirementsSchema priceCurrency: NPRValid for Google ShoppingOpen Graph price meta tagsSocial sharing accuracyCanonical URLs per currencyPrevent duplicate contentSitemap includes pricesRich result eligibilityCompliance Items13% VAT inclusive displayConsumer protection lawPAN on invoicesIRD audit requirementRefund policy in NPRLegal disclosure mandateTerms mention NPRContract enforceability
Three-pillar checklist covering performance, SEO, and compliance for WooCommerce localization for Nepal Rupees NPR

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.

Frequently Asked Questions

Navigate to WooCommerce Settings, select General, and choose NPR from the Currency dropdown. Save changes to apply store-wide pricing display.

Yes. WordPress core supports UTF-8 encoding fully. Ensure your database collation is utf8mb4_unicode_ci to store and render Devanagari script correctly without garbled text or question marks in product titles.

Store all order dates in standard Gregorian format in the database for compatibility. Convert to Bikram Sambat only at the presentation layer using a PHP library like nepali-date when generating invoices, emails, or admin reports for local staff.

eSewa, Khalti, IME Pay, and ConnectIPS integrate via official plugins or custom API bridges. Stripe and PayPal technically accept NPR but often require USD settlement, adding conversion fees that hurt margins for domestic Nepal sales.

Enable taxes in WooCommerce settings, set your shop address to Nepal, and create a 13% standard rate tax class. Apply this rate to taxable products and ensure prices are entered inclusive of tax if displaying consumer-facing MRP values.

Use a multi-currency plugin like WOOCS or Currency Switcher for WooCommerce. Configure NPR as base currency and USD as secondary with manual or API-driven exchange rates. Geo-detection can auto-switch based on visitor IP, but always allow manual toggle.

WooCommerce defaults to two decimals. For NPR, set Price Number of Decimals to zero under WooCommerce Settings > General since paisa is rarely used in digital commerce. This prevents confusing displays like Rs 1,500.00 when Rs 1,500 is expected.

Install Loco Translate or WPML String Translation. Locate WooCommerce strings and provide Nepali translations for field labels, buttons, and validation messages. Avoid editing plugin files directly to preserve upgrade compatibility and security patches.

No dedicated Nepal shipping plugin exists. Configure zones manually under WooCommerce Settings > Shipping. Create zones for Kathmandu Valley, major cities, and remote districts with flat-rate or weight-based methods matching local courier pricing structures.

Use a PDF invoice plugin supporting custom templates. Format numbers as sequential integers with fiscal year prefix like 2082/83-001. Include PAN/VAT registration details and bilingual headers to meet IRD compliance requirements for printed receipts.

The default Rs symbol may not align vertically with Devanagari glyphs. Override the currency symbol position in functions.php using woocommerce_currency_symbol filter, or use the full NPR abbreviation which renders more consistently across Nepali typefaces.

Use ngrok to expose your local development server. Configure the gateway sandbox to point webhook URLs to your ngrok endpoint. Verify signature validation, order status updates, and amount matching in WooCommerce logs before switching to production credentials.

Always use translation plugins like Loco Translate. Hardcoding strings in theme files breaks during updates and makes content unmanageable for non-developers. Translation files also enable proper pluralization and context-aware string handling for complex Nepali grammar.

API returns raw numeric values without formatting. Currency symbols and decimal separators are frontend concerns. When building mobile apps or third-party integrations consuming NPR data, handle locale-specific formatting client-side rather than expecting pre-formatted strings from endpoints.

Minimal if configured correctly. Object caching with Redis stores translated strings efficiently. Avoid loading all languages simultaneously; load only the active locale per request. On shared hosting, excessive string translations can increase memory usage, so monitor PHP-FPM worker consumption during peak traffic.

Share this article

Quick Contact Options
Choose how you want to connect me: