# Prepare a file and declare what its columns mean

Read a refusal, map exact identities, declare where the records came from, time zone and sequence coverage, and preserve uncertainty.

Source: https://help.smartfact.ai/tracebench/guides/prepare-files

Audience: Operator

Practice runs the real TraceBench application with synthetic files and isolated saving. Prepared controls only supply files to real input controls. Nothing is uploaded or sent to a live service.

## Prepare and check the original file

1. **Start a temporary trace**

   Start a temporary trace.

   Prepare one or two UTF-8 CSV files. Each permits up to 5 MiB, 5,000 data records and 40 columns. Original values remain exact.

2. **Choose the stated separator**

   Choose the stated separator.

   This synthetic export uses semicolons. In your own file, check the separator before loading. TraceBench does not guess it.

3. **Read a repeated-column refusal**

   Read a repeated-column refusal.

   This prepared file has repeated record headers. The real parser refuses it; the refusal is not a trace result. Check the exporting system before correcting a real file.

4. **Load the prepared production file**

   Load the prepared production file.

   The prepared file enters the real file chooser. It contains one made-up production record, with an exact input code 000017 and an unused note.

5. **Read the exact original row**

   Read the exact original row.

   Check the source values, including leading zeroes. Original bytes, ignored columns and their fingerprint remain in the project.

[Watch or practise this chapter](https://help.smartfact.ai/tracebench/demo?guide=prepare-files&chapter=file&audience=office)

## Declare identities and source records

1. **Declare physical production**

   Declare physical production.

   Choose this only when each row records an input physically used to make its output. Despatch means actual shipment contents. Lots or units alone cannot establish either relationship.

2. **Name this declared file**

   Name this declared file.

   Use a name people can recognise. This name is a declaration, not proof of the records.

3. **Record the originating system**

   Record the originating system.

   Name the source of the export. Two files from the same named system remain separate sources until a person explicitly links their identities.

4. **Choose the input column**

   Choose the input column.

   Map only the column that actually states the input material. Similar descriptions or row order never establish a physical link.

5. **Name the input numbering**

   Name the input numbering.

   Keep supplier numbering separate from other numberings. Exact spaces, capitals and leading zeroes matter.

6. **Choose the output column**

   Choose the output column.

   Map the column that explicitly states the output of this physical operation. Each source record is a separate operation in this fixture.

7. **Name the output numbering**

   Name the output numbering.

   This file uses a separate finished batch numbering. Naming it does not join it to a second file.

8. **Choose the stable source record ID**

   Choose the stable source record ID.

   Without a stable record ID, local tracing uses logical CSV record numbers and requires separate review in LotTrail. Changed rows under one ID are conflicts, not an automatic correction.

9. **Map the sequence**

   Map the sequence.

   Use the actual source sequence. No sequence is invented from row order. The default here means one sequence per source record.

[Watch or practise this chapter](https://help.smartfact.ai/tracebench/demo?guide=prepare-files&chapter=identities&audience=office)

## Declare times, coverage and recorded meaning

1. **Open the time interpretation**

   Open the time interpretation.

   Choose source time format and zone explicitly. Unknown, ambiguous and nonexistent local times remain unknown; the browser clock never fills them in.

2. **Map the source occurrence time**

   Map the source occurrence time.

   This time comes from the CSV. A date or time does not create a relationship between records.

3. **Choose day first local times**

   Choose day first local times.

   The prepared value is 10/10/2026 09:00. Choose its written format, then confirm the known source time zone.

4. **Declare the IANA time zone**

   Declare the IANA time zone.

   This synthetic source uses Europe/London. Valid source times will display in UTC; missing or ambiguous times stay undated.

5. **Name the declared scope**

   Name the declared scope.

   The file owner must state what the export covers. A coverage date range is a declaration, not a filter that removes other rows.

6. **Declare the first sequence**

   Declare the first sequence.

   For this made-up export the first declared sequence is 1. Observing a minimum in a file does not prove that it is the true boundary.

7. **Declare the last sequence**

   Declare the last sequence.

   The synthetic owner states that the last sequence is also 1. Leave real boundaries blank when unknown.

8. **Declare the coverage start**

   Declare the coverage start.

   Use the chosen date format and source time zone for the declared start.

9. **Declare the coverage end**

   Declare the coverage end.

   This synthetic scope ends at 23:59. These boundaries cannot verify whether all physical activity was recorded.

10. **Keep uncertain coverage explicit**

   Keep uncertain coverage explicit.

   Choose Not sure when completeness is unknown. A completeness answer cannot repair missing recording capabilities or sequence assurance.

11. **Acknowledge the unused note**

   Acknowledge the unused note.

   The note is excluded from tracing, but its original value still travels in the full project backup.

12. **Confirm the recorded physical meaning**

   Confirm the recorded physical meaning.

   Read the statement before confirming. Grouped operations can relate every listed input to every output, without allocating quantities.

13. **Use the checked interpretation**

   Use the checked interpretation.

   Activation creates an interpretation of the unchanged file. Changing its mapping later makes a new interpretation and needs new cross-file identity decisions.

14. **Ask about the exact input code**

   Ask about the exact input code.

   Enter 000017 and submit it. 17 would be a different identity. No match means no recorded match within the loaded files, never proof of physical absence.

15. **Read the declared-scope limitation**

   Read the declared-scope limitation.

   The real engine finds the recorded input to output relationship. Coverage is not sure, so this answer remains Partial.

[Watch or practise this chapter](https://help.smartfact.ai/tracebench/demo?guide=prepare-files&chapter=coverage&audience=office)
