Tebaro, formerly Tomanify, helps WooCommerce stores convert foreign product costs in
USD, EUR, AED, TRY, and CNY into final product prices stored in Iranian
Toman or
Rial.
Tebaro is a product-pricing/conversion tool. It is not an exchange, broker, market maker, remittance service, financial adviser, or authoritative publisher of currency buy/sell quotations.
The core pricing model remains deliberately simple and upgrade-safe:
- Final conversion values are stored canonically as integer Toman values.
- Foreign products keep an integer Toman baseline in product meta.
- Product pricing uses: Foreign price × conversion value × (1 + margin/100), rounded to the nearest 1000 Toman.
- Toman display writes the baseline directly; Rial display writes baseline × 10.
- Switching Toman/Rial rewrites WooCommerce prices from the saved baseline and does not re-fetch sources or recalculate from the foreign amount.
Conversion source modes
Tebaro provides four administrator-facing modes:
- Automatic fallback — tries Official-rate estimate, then Offline estimate, then Manual conversion values.
- Official-rate estimate — reads administrator-configured HTTPS official Rial observations and applies an effective estimate calibration coefficient.
- Offline estimate — uses locally stored official reference data, CAGR, an official cross-currency snapshot when available, and a cached/manual coefficient. Offline mode performs no external request.
- Manual conversion values — uses administrator-entered per-currency Toman values and performs no external request.
No source URL is bundled, pre-filled, hidden, or used as a fallback. External requests are possible only after an administrator explicitly configures HTTPS URLs.
Estimate calibration coefficient
The manual fallback coefficient is stored locally and remains administrator-controlled.
Administrators may optionally enable a separate HTTPS coefficient feed. The feed supplies
one dimensionless scalar coefficient, not per-currency market rates or provider lists. The plugin never uses the feed to overwrite the manual fallback coefficient.
The accepted feed schema is intentionally narrow:
{
"schema_version": 1,
"coefficient": 1.294,
"generated_at": "2026-10-06T12:00:00Z",
"valid_until": "2026-10-07T12:00:00Z",
"method": "median_of_currency_medians_v1",
"sample_count": 25,
"status": "ok"
}
Unknown top-level keys are rejected. Payloads containing per-currency values, provider lists, provider/source URLs, or similar rate-feed fields are not accepted by this schema.
The plugin also applies local freshness/TTL checks, a bounded last-known-good cache, a seven-day cache grace window, and a scalar jump guard before using a newly received coefficient.
Legacy JSON migration
The former multi-provider/free-market JSON runtime is retired in revised 1.1.0.
On upgrade, Tebaro protects existing shops instead of silently switching a legacy JSON-dependent installation to a different source:
- when current stored values can be preserved safely and no existing Manual values conflict, stored values may be copied to Manual conversion values without changing current canonical rates or product prices;
- when existing Manual values could be overwritten, stored values are unavailable, or migration is ambiguous, the plugin enters a Legacy migration hold;
- while Hold is active, source refreshes and refresh-driven full product recalculation are paused until an administrator explicitly resolves the migration;
- the old JSON URL may remain locally for one transition release as inactive legacy data, but it is never requested by the revised runtime and is not included in new backups.
Independence and naming
Tebaro, formerly Tomanify, is an independent free and open-source WordPress/WooCommerce project. It is not affiliated with, endorsed by, operated by, or connected with
tomanify.com or any exchange, brokerage, cryptocurrency platform, or remittance service.
The public display name changed to Tebaro while the technical WordPress identity remains
tomanify for safe in-place updates. Existing option names, hooks, classes, the plugin folder/slug, text domain, and shortcode remain technically compatible.