> For the complete documentation index, see [llms.txt](https://docs.pakk.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.pakk.io/data-and-integrations/data-import-and-export/import/test-then-commit.md).

# Test then Commit

### Do a test run, then commit <a href="#do-a-test-run-then-commit" id="do-a-test-run-then-commit"></a>

When running an import, there's a little checkbox that asks if you want to "commit" changes - and it's unchecked by default for good reason: the best-practice workflow for nailing a CSV import is to do "a test run" first, probably a number of times, until you get it right. Pakk makes that process easy.

Why would you want to do a "test run" of a CSV import? Well, you probably won't get everything right first time. You might have:

* missing required fields
* invalid or conflicting values
* bad cross-references
* incorrect column names
* badly formatted CSV

CSV imports are not an "all or nothing" affair in Pakk - some lines could be correct, and others incorrect. Doing a test run allows us to know which lines are bad without actually affecting our data.

The alternative to this workflow is painful and will probably be familiar enough to those of you that have been in the game long enough: half the records pass, half fail and you then have to spend hours picking through the CSV, working out which ones have already imported and stripping them out, before trying again. That's a horrible waste of time.

So, when you're ready to import, run it without checking the "commit" box and then navigate to the report where you'll get a line-by-line breakdown of what failed and exactly why. You can then fix those errors and try again. Once you've got a "clean" import - or at least as clean as you can - you can check the "commit" box and have your import actually impact the data.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.pakk.io/data-and-integrations/data-import-and-export/import/test-then-commit.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
