Skip to main content
An ingestion spec is the contract that tells Solya how to interpret an incoming file from a data source. It describes how to recognize the file, how to read its columns, and how to transform the raw data into Solya’s standard model so it can power analytics, forecasts, and plans.

What a spec contains

  • Name & description — what the spec is for.
  • POS system / source — which system the spec targets (e.g. Polaris, Kezia).
  • Detection rules — how Solya identifies which incoming file matches this spec (filename patterns, sheet names, expected column headers).
  • Parsing configuration — how to extract and parse each column (field types, delimiters, date and number formats).
  • Promotion steps — the transformations that enrich the data (joins, type coercions, filtering, renaming, taxonomy mapping).
  • ScopeGlobal (shared) or Org (specific to your organization).
  • Priority — which spec wins when several could match the same file.
  • Version — specs are versioned so configuration changes are traceable.

Lifecycle

A spec moves through these statuses:
StatusMeaning
DraftBeing authored; not used on incoming files.
ActiveIn use and applied to matching files.
DeprecatedSuperseded; kept for reference.
ArchivedRetired and hidden from day-to-day use.
A spec also has a deployed flag — only deployed specs are applied to live files.

Working with ingestion specs

1

Open the configuration page

Go to Data platform → Configuration → Ingestion specs to browse existing specs. Filter by POS system, format, scope, and deployment status.
2

Create a spec

Create a new spec by defining its detection rules, parsing configuration, and promotion steps. Solya can also recommend a spec from a sample file to speed this up.
3

Deploy it

Deploy the spec to start applying it to incoming files. Deployment is recorded so you can see when it went live.
4

Iterate safely

Because specs are versioned, you can refine detection and parsing over time while keeping a clear history.
Every time a spec is applied to a file, the import is recorded as an ingestion run you can monitor.