Seller Profit Guard · How it works · CSV privacy

CSV date and currency normalizer

Normalize two invented seller-export examples under explicit date patterns, numeric UTC offsets, decimal conventions, currency codes, and dated target-per-source exchange-rate assumptions. The browser-local worksheet returns UTC timestamps, normalized source amounts, converted target amounts, rate age, and Ready, Review, or Block without uploading or rewriting a CSV.

Maintained by Seller Profit Guard Editorial Team. Last reviewed: 2026-07-31.

Invented local timestamp and money text pass through pattern offset decimal currency and rate controls into normalized UTC and target amount outputs
Make every format, offset, monetary unit, rate direction, and observation date explicit before normalization.

Declare one event grain

Normalize one invented event at a time: for example, an item sale, refund event, payout line, or fee observation. Record what the timestamp and amount represent before parsing either value.

Mixed order, payment, and settlement grains can be technically parseable but analytically incomparable.

Use invented examples only

Enter one synthetic timestamp and one synthetic amount per scenario. The worksheet does not upload, inspect, transform, save, or rewrite a CSV file.

Never paste buyer, customer, order, address, payment, credential, bank, private export row, or full production file.

State the literal date pattern

Choose an explicit supported pattern such as MM/DD/YYYY HH:mm:ss, DD.MM.YYYY HH:mm:ss, DD/MM/YYYY HH:mm:ss, or YYYY-MM-DD HH:mm:ss.

A value such as 07/08/2026 is ambiguous until the month-day order is declared.

Validate the calendar date

The parser checks month length, leap-year rules, hour, minute, and second ranges instead of accepting rollover behavior.

February 30 must Block rather than silently become a March date.

Record a known numeric UTC offset

Attach Z, +00:00, or a known signed numeric offset such as -04:00 or +02:00 to the local fixture. RFC 3339 -00:00 expressly marks an unknown local offset, so this worksheet Blocks it instead of pretending it is UTC.

Abbreviations such as CST, EST, or IST are ambiguous and intentionally unsupported.

Separate offsets from IANA zones

A numeric offset identifies one relationship to UTC at one instant. A versioned IANA zone carries historical and future civil-time transitions.

For operational transformations, retain the named zone and tzdb version when daylight-saving reconstruction matters.

Normalize to an RFC 3339-style instant

The output uses a four-digit year, two-digit month and day, T separator, 24-hour clock, seconds, and Z suffix.

The normalized value represents an instant only under the declared local pattern and offset.

Preserve the original timestamp

Store the source text beside the normalized result, declared pattern, offset or zone, rule version, and parse decision.

Never overwrite the original field before reconciliation and rollback evidence exist.

Declare the decimal convention

Choose whether comma or period is the decimal separator and whether the other mark groups thousands. The fixture must match that declaration.

The text 1.234 can mean one point two three four or one thousand two hundred thirty-four.

Reject mixed money syntax

The parser accepts one declared grouping and decimal contract and Blocks malformed grouping, stray symbols, or an unsupported convention.

Do not strip every comma and period before determining their roles.

Normalize the source amount

After parsing, display a fixed two-decimal analysis amount with its three-letter source currency code.

Two decimals are a worksheet display convention, not a universal currency-minor-unit rule.

Record source and target currencies

Use distinct three-letter codes and retain both. A bare number cannot identify its monetary unit or conversion direction.

The tool checks code shape but does not certify that every entered code is current or appropriate.

State the rate direction

Enter target-currency units per one source-currency unit. Converted amount equals normalized source amount multiplied by that rate.

Reversing USD-per-EUR with EUR-per-USD creates a plausible-looking but wrong output.

Use a positive bounded rate

Zero, negative, nonnumeric, or implausibly unbounded rates Block the packet.

The worksheet never downloads or invents a live market rate.

Record the observation date

Every seller-entered rate requires a YYYY-MM-DD observation date and a source pointer.

An undated rate cannot support a reproducible reconciliation.

Close the temporal evidence contract

The declared YYYY-MM evidence period must contain both event dates and both rate-observation dates. The policy effective date must be on or before all four dates, the source-contract review date must be on or after them, and the inclusive policy-to-review window must meet the minimum evidence days.

A parseable value is still Blocked when it falls outside the governed period or was reviewed under a policy that did not yet apply.

Apply the rate-age threshold

Rate age is the absolute day difference between the local event date and the observation date. A structurally valid but older rate returns Review.

The threshold is an internal evidence policy, not a claim that a rate is transaction-appropriate.

Read Ready

Ready means both invented timestamps, offsets, amount texts, currency codes, rate directions, rate dates, contexts, and global evidence fields pass the entered contract.

It does not prove the platform used the same rate, zone database, rounding rule, or settlement date.

Read Review

Review means parsing succeeds but at least one rate observation is older than the seller-declared threshold.

Select a documented rate source and date before using the normalized value in a protected workflow.

Read Block

Block means a date pattern, calendar value, offset, decimal convention, amount, currency code, rate, date, context, scope, or declared conflict is invalid.

Repair the evidence contract rather than coercing the value.

Work the US-formatted fixture

07/15/2026 09:30:00 at -04:00 normalizes to 2026-07-15T13:30:00Z. The amount 1,234.56 parses as 1234.56 USD.

At 0.86 EUR per USD, the target amount is 1061.72 EUR after final display rounding.

Work the mixed-locale fixture

15.07.2026 18:45:00 at +02:00 normalizes to 2026-07-15T16:45:00Z. The amount 1.234,56 parses as 1234.56 EUR.

At 1.16 USD per EUR, the target amount is 1432.09 USD after final display rounding.

Keep date conversion and currency conversion separate

Timestamp normalization establishes an instant; money normalization establishes a numeric amount and monetary unit. Neither operation validates the other.

A correct UTC timestamp cannot rescue a reversed exchange rate.

Keep mapping separate

Use the CSV Column Mapper to decide which source columns become canonical timestamp, currency, amount, rate, and rate-date fields.

This tool evaluates invented field values under an already declared mapping.

Keep schema drift separate

Use a schema checker to detect added, removed, renamed, or retyped columns before running a normalization rule.

A format rule cannot prove that the source header still means the same thing.

Keep privacy minimization separate

Use the CSV Privacy Redactor to decide which fields are necessary for the declared derivative schema.

Normalization does not remove identifiers or sensitive content.

Control rounding

Preserve full calculation precision through multiplication and round only the displayed target amount. Record any platform-specific minor-unit and settlement rounding separately.

Repeated intermediate rounding can create reconciliation differences.

Control negative amounts

A syntactically valid negative amount can represent a refund, reversal, adjustment, or data error. The event grain and sign convention decide its meaning.

Do not silently convert negative text to an absolute value.

Control daylight-saving transitions

A numeric offset fixture is deterministic, but an operational named-zone conversion needs the correct IANA zone and database release, especially near clock gaps or repeated times.

Do not infer historical offsets from a current browser clock.

Assign human authority

Name the source owner, format owner, currency-rate owner, independent reviewer, stop authority, and restoration owner.

Ready cannot authorize a production rewrite or accounting entry.

Back up and restore

Preserve source fingerprints, original values, patterns, zones or offsets, currency codes, rate source and date, code version, normalized output hash, exceptions, and the prior accepted rule.

A browser result is not a backup or restoration test.

Retest counterexamples

Test an unsupported two-digit-year pattern, February 30, alphabetic zone, malformed grouping, same source and target currency, zero rate, invalid rate date, stale rate, short context, and open conflict.

Every public fixture stays invented and contains no operational row.

Release through ordered gates

Index only after distinct intent, working calculations, current sources, counterexamples, answer-first content, metadata, schema, diagrams, links, privacy, similarity, mobile, backup, deployment, and live checks pass.

Search signals are measured after release and are not a quality prerequisite.

Version the normalization contract

Record real ordered source-contract and policy dates, an evidence month containing every event and rate observation, a minimum inclusive policy-to-review duration, explicit amount and exchange-rate maxima, and all nine timestamp, money, currency, rate, precision, counterexample, restoration, privacy, and authority confirmations.

Invalid governance controls Block the packet and mask every derived timestamp, amount, direction, and rate-age result.

Quarantine blocked outputs

When pattern, calendar, offset, amount grammar, currency, rate, dates, thresholds, evidence scope, confirmations, or conflicts fail, treat all ten derived scenario outputs as unavailable. Preserve source text and the failed rule only in an authorized exception workflow.

A partial-looking UTC value or converted amount from a blocked packet must never flow into reconciliation, settlement, accounting, tax, or production rewrite decisions.

Sources and further reading

Related Seller Profit Guard tools

Use the interactive tool

Enable JavaScript to open the calculator and process browser-local inputs. The explanatory content and source links remain available without JavaScript.

Related guide: Define date parsing, UTC conversion, decimal parsing, currency direction, rate-age, evidence, monitoring, and restoration.

This tool provides operating estimates, not tax, accounting, legal, financial, or marketplace-policy advice. Verify current official sources and your own records before changing prices or operations.