← Back to blog

How to Preserve Units, Currencies, and Date Ranges in an AI Brief

Summary

  • Units, currencies, and date ranges get distorted when an AI brief leaves room for interpretation (symbols, locale, time zone, inclusive/exclusive ranges).
  • Fix ambiguity by declaring a single “measurement and time contract” at the top of every brief: units, currency, FX rule, date format, time zone, and range semantics.
  • Use a small, reusable data block (copy/paste) that forces the model to keep the same unit system and date boundaries throughout.
  • Add targeted checks: unit consistency, currency symbol vs ISO code, FX date, rounding, and whether date ranges are inclusive.
  • Save your contract + checks as a reusable prompt so every new project starts with the same guardrails.

When an AI output “looks right” but quietly changes units (miles vs km), currencies (USD vs CAD, symbol confusion), or date ranges (inclusive vs exclusive, time zone drift), the problem is rarely the model’s math. It’s the brief: it didn’t lock down the measurement and time assumptions.

This guide shows the specific ambiguity patterns that cause unit/currency/date-range drift, then gives you a reusable “contract” format, a before-and-after example, and a set of targeted checks you can run on every response.

Why AI briefs lose units, currencies, and date ranges

AI systems fill in missing assumptions. If your brief doesn’t explicitly define the assumptions, the model may choose defaults that differ from yours. The most common ambiguity triggers are:

  • Unit system not specified: “distance,” “weight,” “temperature,” “volume,” “revenue per user” without stating metric/imperial or the exact unit (km vs miles; kg vs lb; C vs F).
  • Currency symbol ambiguity: “$” could be USD, CAD, AUD, SGD, etc. “£” could be GBP or other pound-denominated contexts. Even “kr” varies.
  • FX conversion rule missing: If you ask for conversions but don’t specify the exchange rate source/date, the model may invent a rate or assume a generic one.
  • Date format ambiguity: 03/04/2026 can be March 4 or April 3 depending on locale.
  • Date range semantics missing: “From June 1 to June 30” can be interpreted as inclusive, exclusive, end-of-day, or “through June 30 00:00.”
  • Time zone not specified: “last week,” “this month,” or “Q2” can shift when the model assumes a different time zone or uses UTC boundaries.
  • Rounding and precision not specified: “Round to 2 decimals” vs “nearest whole unit,” and whether to round intermediate steps.

Before-and-after: the same request, with and without a “measurement and time contract”

Before (ambiguous brief)

Prompt: “Summarize our ad performance from 03/04/2026 to 04/03/2026. Include spend, CPA, and distance-based delivery radius. Convert spend to dollars and show totals.”

What can go wrong:

  • The model may interpret 03/04/2026 as March 4 (US) or 3 April (international).
  • “Dollars” may be assumed as USD even if your business reports in CAD or AUD.
  • “Distance-based radius” may be output in miles when you operate in kilometers (or vice versa).
  • Totals may be computed across the wrong date window (swapped start/end) or with unclear inclusivity.

After (unambiguous brief with a contract block)

Prompt: “Summarize ad performance for the date range below. Follow the Measurement & Time Contract exactly and do not change units/currency/date interpretation.”

Measurement & Time Contract (copy/paste block)
LOCALE: en-GB
DATE_FORMAT: YYYY-MM-DD (ISO 8601 only)
TIME_ZONE: Europe/London
DATE_RANGE: 2026-04-03 to 2026-05-03
RANGE_SEMANTICS: Inclusive start and inclusive end (whole days in TIME_ZONE)
UNITS: Metric (km, kg, C)
CURRENCY: GBP (use ISO code “GBP”, do not use “£” alone)
FX_RULE: If conversion is requested, ask for the exchange rate and rate date; do not invent rates.
ROUNDING: Money to 2 decimals; rates to 2 decimals; keep intermediate calculations unrounded.

Result: You’ve removed the model’s need to guess. Even if the model still makes a mistake, you now have explicit criteria to catch it quickly.

A reusable format you can drop into any AI brief

The goal is to make the “contract” small enough to reuse, but strict enough to prevent drift. Use this template at the top of your brief (or right before the task instructions):

Reusable “Units, Currency, Date Range” Contract Template
MEASUREMENT_AND_TIME_CONTRACT
DATE_FORMAT: YYYY-MM-DD
TIME_ZONE: [IANA name, e.g., America/New_York]
DATE_RANGE: [start] to [end]
RANGE_SEMANTICS: [inclusive start/inclusive end OR inclusive/exclusive; define “whole days” vs timestamps]
UNITS: [Metric or Imperial; list key units: km/mi, kg/lb, C/F, L/gal]
CURRENCY: [ISO 4217 code, e.g., USD, EUR, GBP]
CURRENCY_FORMAT: [ISO code required; symbol optional; thousands/decimal separators if needed]
FX_RULE: [“Do not invent rates; ask for rate + date” OR “Use provided rate X on date Y”]
ROUNDING: [money decimals; percentage decimals; when to round]
CONSISTENCY_RULE: Do not convert units/currency unless explicitly instructed; if inputs conflict, ask a clarification question.

Targeted checks to prevent silent drift (copy/paste checklist)

After the AI responds, run these checks. You can also instruct the AI to self-check against them and report any conflicts.

1) Unit checks

  • Unit presence: Every numeric quantity that depends on a unit should show the unit (e.g., “12 km,” not “12”).
  • Unit consistency: The same concept uses one unit throughout (no mixing km and miles in the same table unless requested).
  • Temperature and thresholds: If you have thresholds (e.g., “above 30”), confirm whether that is 30 C or 30 F.
  • Derived metrics: Confirm the unit of rates (e.g., “GBP/day,” “kg per shipment,” “km per delivery”).

2) Currency checks

  • ISO code vs symbol: Require “USD 1,200.00” rather than “$1,200” when ambiguity matters.
  • Conversion rule: If conversion appears, confirm the exchange rate and the rate date were provided (or the model asked for them).
  • Rounding: Confirm money rounding is consistent (2 decimals is common, but your finance rules may differ).
  • Totals: Ensure totals are in the same currency as line items (no mixed-currency summation).

3) Date range checks

  • Format: Dates are in ISO (YYYY-MM-DD) to avoid locale confusion.
  • Boundary inclusion: Confirm whether the end date is included and what “included” means (end-of-day in the specified time zone vs midnight).
  • Time zone: Confirm the time zone used for “day” boundaries and any timestamps.
  • Range direction: Start date is before end date; no accidental swap.
  • Relative dates: Avoid “last 30 days” unless you also specify the anchor date and time zone.

Practical examples you can reuse

Example A: Marketing performance brief (currency + date range)

Prompt:

“Create a performance summary and a table of daily spend and CPA. Use the contract below. If any input conflicts with the contract, ask one clarification question before proceeding.”

  • DATE_FORMAT: YYYY-MM-DD
  • TIME_ZONE: America/Los_Angeles
  • DATE_RANGE: 2026-06-01 to 2026-06-30
  • RANGE_SEMANTICS: Inclusive start and inclusive end (whole days)
  • CURRENCY: USD (use “USD”)
  • ROUNDING: Money 2 decimals; CPA 2 decimals

Example B: Logistics brief (units + derived metrics)

Prompt:

“Rewrite this ops update into a structured report. Keep all distances in km and weights in kg. Do not convert to miles/lb. If you see miles/lb in the input, keep the original value and add a note that it conflicts with the contract.”

  • UNITS: Metric (km, kg)
  • CONSISTENCY_RULE: No unit conversion unless explicitly requested

Example C: Finance brief (currency + FX rule)

Prompt:

“Summarize revenue by region. Present in EUR. If any source numbers are in other currencies, ask me for the FX rate and FX date; do not invent rates.”

  • CURRENCY: EUR
  • FX_RULE: Ask for FX rate + date; do not invent

How to instruct the AI to self-audit (without turning your brief into a novel)

You can add a short “output contract” section that forces the model to surface assumptions and conflicts:

  • Assumptions line: “At the top, list the contract values you used (currency, units, time zone, date range).”
  • Conflicts line: “If any input conflicts with the contract, list it under ‘Conflicts’ and do not silently convert.”
  • Checks line: “Before finalizing, verify: ISO dates, currency ISO code present, and no unit mixing.”

Preserving these details across repeated work with CopyCharm

If you write briefs frequently, the hard part is not creating a good contract once - it is reusing the same contract reliably across new chats, new documents, and new stakeholders without retyping it or accidentally editing it.

A concrete workflow: save, find, reuse

  • Save: Copy your “Measurement & Time Contract” block and your “Targeted Checks” checklist, then save them as Saved Prompts in CopyCharm (separately from favoriting ordinary copied clips).
  • Find: When you start a new brief, search your past clips or open your saved prompt in CopyCharm to retrieve the exact contract text you used last time.
  • Reuse: Paste the contract into your AI brief, then fill in only the variables (time zone, date range, currency). For Claude, Gemini, Cursor, email, documents, and other apps, the workflow is manual: retrieve in CopyCharm, then copy/paste into the destination.

When ChatGPT access matters: authenticated connector vs manual reuse

If you want ChatGPT to pull your saved contract text without you manually pasting it, CopyCharm offers an authenticated ChatGPT connector backed by optional AI Access sync. After you sign in with an eligible active CopyCharm purchase, authorize the CopyCharm Desktop connection, enable and complete AI Access sync, and authorize the ChatGPT connector, ChatGPT can search and retrieve supported Synced Data (such as Favorite Clips, Saved Prompts, and optional Other Clips within your selected time range). ChatGPT cannot access unsynced local CopyCharm data.

This can be useful when you want to say: “Find my ‘Measurement and Time Contract’ saved prompt and insert it,” then proceed with the rest of the brief.

Try it if you want a repeatable contract you can quickly reuse across projects: CopyCharm

Common pitfalls (and how to fix them fast)

Using symbols instead of ISO codes

Pitfall: “$” in a multi-country context.
Fix: Require ISO codes in outputs: “USD”, “CAD”, “AUD”.

Asking for “last month” without an anchor

Pitfall: “Summarize last month” when “last month” depends on today’s date and time zone.
Fix: Provide explicit ISO start/end dates and a time zone.

Mixing “whole days” with timestamps

Pitfall: “June 1 to June 30” plus a dataset with timestamps in UTC.
Fix: State whether you want whole days in a named time zone, or exact timestamps with offsets.

Letting the model convert units “helpfully”

Pitfall: “Distance is 10” and the model decides it is miles.
Fix: Add “Do not convert or infer units; if missing, ask.”

Frequently Asked Questions

FAQ 1: What is the single most important line to add to preserve units and currency?
Answer: Add a contract-style instruction that forbids silent conversion: “Use the contract values exactly; do not change units or currency unless explicitly instructed; if missing or conflicting, ask a clarification question.” This stops the model from “helpfully” normalizing values behind the scenes.
Takeaway: A no-silent-conversion rule prevents the most damaging drift.

Back to FAQ Table of Contents

FAQ 2: Should I use currency symbols ($, £, €) or ISO codes (USD, GBP, EUR) in an AI brief?
Answer: Use ISO codes when ambiguity is possible. Symbols are compact, but “$” can refer to multiple currencies. A practical compromise is: require ISO codes in tables and totals (e.g., “USD 1,200.00”), and allow symbols only in narrative text if you also stated the ISO code in the contract.
Takeaway: ISO codes reduce misinterpretation in multi-country or multi-currency work.

Back to FAQ Table of Contents

FAQ 3: How do I prevent date format confusion like 03/04/2026?
Answer: Avoid slash dates entirely and require ISO 8601 (YYYY-MM-DD). Put “DATE_FORMAT: YYYY-MM-DD” in your contract and rewrite any incoming dates into ISO before asking the AI to compute ranges, totals, or comparisons.
Takeaway: ISO dates remove locale ambiguity.

Back to FAQ Table of Contents

FAQ 4: How should I define “from X to Y” so the AI does not change the date range?
Answer: Specify (1) start date, (2) end date, (3) time zone, and (4) inclusivity. For example: “DATE_RANGE: 2026-06-01 to 2026-06-30; RANGE_SEMANTICS: inclusive start and inclusive end (whole days in America/Los_Angeles).” If you use timestamps, include offsets (e.g., 2026-06-30T23:59:59-07:00).
Takeaway: Date ranges need boundaries plus semantics, not just two dates.

Back to FAQ Table of Contents

FAQ 5: What should I do if I need currency conversion but do not have an exchange rate?
Answer: Tell the AI not to invent rates and to ask you for the missing inputs. Your contract can say: “If conversion is requested, ask for FX rate and FX date; do not invent.” If you can provide a rate, include it explicitly (e.g., “FX: 1 USD = 0.92 EUR on 2026-06-30”).
Takeaway: Conversions require an explicit rate and rate date to be auditable.

Back to FAQ Table of Contents

FAQ 6: How do I handle mixed-unit source data (some km, some miles) without corrupting the output?
Answer: First, decide whether you want (a) no conversion (preserve original units and label each value), or (b) conversion into a single unit system. If you choose conversion, specify the target unit and the exact conversion rule, and instruct the AI to show both the original and converted values for traceability (at least during review). If you choose no conversion, instruct the AI to flag mixed units as a conflict rather than normalizing them silently.
Takeaway: Mixed units are manageable if you choose a rule and require explicit labeling.

Back to FAQ Table of Contents

FAQ 7: What rounding rules should I specify for money and rates?
Answer: Specify (1) display rounding (e.g., money to 2 decimals), (2) calculation rounding (e.g., do not round intermediate steps), and (3) how to handle totals (sum unrounded values, then round the final). If you care about accounting alignment, also specify whether to use bankers rounding or standard rounding, and whether to round per line item or only at the end.
Takeaway: Separate “how you calculate” from “how you display.”

Back to FAQ Table of Contents

FAQ 8: Can CopyCharm help me reuse the same units/currency/date-range contract across ChatGPT and other tools?
Answer: Yes, as a reuse workflow. CopyCharm is a Windows desktop app that saves copied text locally, lets you search past clips, favorite important clips, and separately save reusable prompts. You can store your contract block as a Saved Prompt, then retrieve it later and copy/paste it into Claude, Gemini, Cursor, email, or documents. If you want ChatGPT to retrieve the contract without manual pasting, CopyCharm also has an authenticated ChatGPT connector backed by optional AI Access sync; after eligible authorization and sync, ChatGPT can search and retrieve supported Synced Data, but it cannot access unsynced local CopyCharm data.
Takeaway: Save the contract once, then retrieve and reuse it consistently across projects.

Back to FAQ Table of Contents

CopyCharm for AI Work
Turn copied work snippets into clean AI context.
CopyCharm helps you turn copied work snippets into clean, source-labeled context packs for ChatGPT, Claude, Gemini, Cursor, and other AI tools. Copy, search, select, and export the context you actually want to use.
Download CopyCharm

Related Guides