Validation Guide

atlon.io validates cost and usage data against the FOCUS specification — an open specification that normalizes billing datasets across cloud, SaaS, data center, and other technology vendors to reduce complexity for FinOps Practitioners.

The validation engine is based on the official FOCUS Validator, developed and supported by the FinOps Foundation.

1. Upload

Upload a FOCUS dataset by dragging and dropping a file or selecting one from disk.

  • Formats: CSV and Parquet
  • File size: up to 50 MB
  • File must be non-empty

Schema-only option:

  • Enable Schema-only validation to check only structural requirements (column presence and data types).
  • Value-level checks (format, nullability, business logic) are excluded from schema-only output.

2. Validate

During validation, atlon.io evaluates your dataset against FOCUS conformance requirements.

It verifies:

  • Columns exist — are all required columns present?
  • Data types are correct — is a cost column numeric, a date column a timestamp?
  • Values match expected formats — are currency codes 3-letter ISO codes, dates in UTC?
  • Business rules hold — are required fields non-null, do cross-column relationships make sense?

For the full rule structure and model semantics, see the FOCUS Requirements Model.

Quick reference (FOCUS 1.2):

MetricValue
Total rules621
Executable rules420
Presence rules63
Check functions22
Rule typeRule countPurpose
Presence63Column exists in dataset
Type56Column has correct data type
Format84Values match required patterns
Nullability103Null handling requirements
Validation172Business logic checks
Composite143Logical grouping of other rules

3. Result

Validation summary

After validation, atlon.io shows:

  • Overall status (passed vs issues found)
  • Rule support summary (passed, failed, skipped)
  • Total applicable rule count
  • Row counts (total, valid, invalid) for full validation mode

Views

The result screen provides three views:

  • Column View — best for troubleshooting a specific column, with structure checks (Presence/Type) and value checks grouped together.
  • Entity View — grouped by entity (dataset, columns, attributes), useful for scanning pass/fail/skipped status by entity.
  • Rule View — grouped by rule function (Presence, Type, Format, Validation, Composite, Nullability), useful for spotting category-level failure patterns.

Extra columns

Your dataset may contain columns that are not part of the FOCUS specification — for example, provider-specific fields or internal tracking columns. These are called extra columns.

Extra columns do not affect your quality score or rule results. They appear in the Column View under the Extra Columns category filter, so you can review which non-FOCUS columns are present in your file.

If an extra column name closely matches a FOCUS column — due to a casing difference, wrong separator, or typo — atlon.io shows a "Did you mean X?" suggestion. This helps catch near-miss column names that were likely intended to be FOCUS-conformant (e.g., billing_account_id instead of BillingAccountId).

Rule statuses

Each validation rule produces one of three statuses:

StatusMeaning
PassedYour data satisfies this requirement
FailedYour data violates this requirement — check the error details for specifics
SkippedThis rule was not evaluated (see below for reasons)

Rules can be skipped for several reasons:

  • The rule is dynamic (requires human judgment, not automatable)
  • The rule is optional (MAY/OPTIONAL keyword — not a requirement)
  • The rule is not applicable to your provider's capabilities - atlon.io by default selects all capabilities for completeness.
  • A prerequisite rule failed (e.g., if a column is missing, all value checks for that column are skipped)

Requirement levels

FOCUS uses RFC 2119 keywords to indicate how strict each requirement is:

KeywordWhat it meansTypical status behavior
MUST / MUST NOTAbsolute requirementEvaluated and expected to pass
SHOULD / SHOULD NOTRecommended practiceEvaluated when applicable
RECOMMENDEDBest practiceEvaluated in applicable contexts
MAY / OPTIONALEntirely optionalMarked as skipped in this validator

Applicability criteria

Not all rules apply to every provider. FOCUS defines applicability criteria — provider capabilities like commitment discount support, region support, or tagging support (See Applicability criteria table)

When a criterion does not apply to your data, related rules are marked not applicable and skipped. For example, if your provider does not support commitment discounts, CommitmentDiscount rules are skipped.

By default, this validator enables all applicability criteria during validation. That means capability-gated rules are treated as applicable.

Exports

After a validation run completes, you can export results in multiple formats:

FormatWhat it containsBest for
JSONOfficial FOCUS conformance output (entities, rules, statuses)Automation, interoperability, downstream processing
CSVFlattened rule-level rowsSpreadsheet analysis and ad-hoc filtering
HTMLHuman-readable report with summary + detailsSharing results with stakeholders
JUnit XMLTest-suite style validation outputCI/CD pipelines and test tooling