RECURRING COST CALCULATOR — AI URL GUIDE Tool: https://www.lejnel.com/tools/ Query parameter: payments LINK CREATION Serialize the state as compact JSON and percent-encode it ONCE as the named query parameter. Do not use Base64. JavaScript: encodeURIComponent(JSON.stringify(state)); Python: urllib.parse.quote(json.dumps(state,separators=(',',':')),safe=''). Encode Unicode, &, #, +, % and other reserved characters. Return a clickable URL and summarize inputs and assumptions. Ask about missing inputs; do not invent measurements or product requirements. All JSON numbers must be finite, with decimal points and no unit suffixes. SAVING The complete URL stores the inputs, not a server-side account record. Open the link and check every input. Bookmark or copy the updated URL after edits to retain that version. Anyone with the link can read its contents; avoid personal data. Results are recalculated on reopening and may change with future tool improvements. Print a fixed record when necessary. STATE EXAMPLE (illustrative only) { "amount": 250, "period": "monthly" } FIELDS AND LIMITATIONS Both fields are required. amount: finite payment amount from 0–1000000000 in the user's chosen currency. period: "weekly", "monthly" or "yearly". Ask about unsupported schedules; do not silently reinterpret fortnightly or quarterly payments. Annual equivalent=weekly amount ×52, monthly amount ×12, or yearly amount. Monthly equivalent=annual /12. Assumes unchanged payments; excludes discounts, fees and cancellation charges. Do not infer a currency or convert currencies without user agreement. Append #recurring-cost to open/scroll to this calculator. Both payments and energy parameters can coexist on /tools/. Keep each decoded parameter under 2000 characters. READY-TO-OPEN EXAMPLE https://www.lejnel.com/tools/?payments=%7B%22amount%22%3A250%2C%22period%22%3A%22monthly%22%7D#recurring-cost