> ## Documentation Index
> Fetch the complete documentation index at: https://developers.techwolf.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Data checklist

Every file delivered to TechWolf has to meet the requirements below before it
can be processed. Each item is a formatting, content or structural requirement;
all of them must be met before the integration can go live. Work through the
list against a sample export before the first delivery.

The file locations and the meaning of the field tables are described in
[Technical data flow](/integrations/datasource-integrations/non-standard-datasource-integrations/technical-data-flow).

## File Format

* File is provided in CSV format and complies with
  [RFC 4180](https://datatracker.ietf.org/doc/html/rfc4180). See the
  [File guidelines](/integrations/reference/file-guidelines) for the full set
  of formatting rules.

  Bad:

  ```
  job_id, job_title, job_description
  4352, Manager in Retail, Restaurants and Bars, This person needs so ...
  ```

  Good:

  ```
  job_id, job_title, job_description
  4352, "Manager in Retail, Restaurants and Bars", "This person needs so ..."
  ```

* No custom or proprietary formats are used (e.g. custom EIB files) unless
  explicitly agreed.

## Columns & Structure

* Column names are not duplicated and in line with the specification pages.

  Bad:

  ```
  Reference ID, Reference ID, Reference ID
  ```

  Good:

  ```
  employee_id, org_unit_id, job_id
  ```

* Make sure that internal working history has 1 record per employee and job
  code.

  Bad:

  ```
  employee_id, job_id, start_date, end_date
  123, 123, 10/10/2014, 01/01/2015
  123, 123, 02/01/2015, 31/12/2024
  123, 123, 01/01/2025, BLANK
  ```

  Good:

  ```
  employee_id, job_id, start_date, end_date
  123, 123, 10/10/2014, BLANK
  ```

## Data Quality

* Empty values are truly blank (not represented as `\N` or other placeholders).

  Bad:

  ```
  job_id, job_description, job_summary
  123, "<PLACEHOLDER>", "This job needs to ..."
  ```

  Good:

  ```
  job_id, job_description, job_summary
  123,, "This job needs to ..."
  ```

* All columns have valid values and format is in line with the specification
  pages (e.g. completion dates are filled when required).

* No value exceeds the **Max chars** limit given for its field on the
  specification pages. Records that exceed it are rejected on ingest, so check
  the longest value per column against the limit before the first delivery.

* Text formatting follows agreed rules (e.g. no unexpected escaped characters
  like double quotes). See the
  [File guidelines](/integrations/reference/file-guidelines).

  Bad:

  ```
  job_id, job_description
  123, "Manager, responsible for ""Customer Support"""
  ```

  Good:

  ```
  job_id, job_description
  123, "Manager, responsible for Customer Support"
  ```

## Identifiers & Scope

* Each identifier (employee ID, job code, etc.) is unique and unambiguous.

  Bad:

  ```
  course_id, course_description, type
  123, "Python course for dummies", video
  123, "Microsoft Excel", course
  ```

  Good:

  ```
  course_id, course_description, type
  123-video, "Python course for dummies", video
  123-course, "Microsoft Excel", course
  ```

* Only the agreed scope of data is included (employees, jobs, or codes).
  Employees and jobs not in scope are not sent.

* Make sure no opted-out and terminated employee data is present in the files.

* Inactive data is included for jobs and courses (relevant for learning/working
  history).

  Bad:

  ```
  course_id, course_name, active
  101, Safety Training, TRUE
  ```

  Good:

  ```
  course_id, course_name, active
  101, Safety Training, TRUE
  102, Old Certification, FALSE
  ```

* Make sure IDs are consistent across files, so records can be referenced.
  For example, `employee_id` in the employee file is the same as `employee_id`
  in the learning file.

  Bad:

  ```
  Employee file: employee_id = 123
  Learning file: emp_id = 321
  ```

  Good:

  ```
  Employee file: employee_id = 123
  Learning file: employee_id = 123
  ```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.