> For the complete documentation index, see [llms.txt](https://docs.keyfax.biz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.keyfax.biz/product-suite/admin/entities/services/sor-import.md).

# SOR Import

### SOR Import

From Keyfax version 4.4.8 onwards, Schedule of Rates (SOR) codes can be bulk imported into the Services of the current script type from a comma separated file (Excel CSV, Txt file etc). The import can create brand new Services, and, using the Advanced features, can update the details of existing Services that already share the same Service Code.

Before anything is written to the database, the import shows you a full preview of the work it plans to carry out, so you can check (and copy out) exactly what will change before committing.

{% hint style="info" %}
**Note:** You must be in **Exclusive Mode** for this option to be available. Switching to Exclusive mode reveals the Import button on the Services screen, along with the Delete Group and Export buttons.
{% endhint %}

<figure><img src="/files/ScAjfwCwBxkndwpnfEoM" alt=""><figcaption><p>SOR Import in Services</p></figcaption></figure>

### Before you begin

{% hint style="info" %}
**TIP:** Before running a large import, we recommend taking a back of the selected Keyfax database. You can also use the Export button on the Services screen to take a copy of the current Services. This gives you a snapshot to refer back to (or re-import) should you need it.
{% endhint %}

Switch to Exclusive mode. Select the correct Script Type from the drop-down at the top right of the window (e.g. Repairs Diagnostics). The import creates and updates Services within the currently selected Script Type only.

**Prepare your import file**

The file should be a comma separated list (CSV/Txt, or saved out of Excel) with a header row naming each column. Typical columns include the SOR code, short and long descriptions, unit of measure, unit cost, SMV, IR certification flag and priority.

### Step 1 - Start the import

On the Services screen, press the Import button and browse to your import file.

<figure><img src="/files/oj1vsJ5NEQQ75gdmMV67" alt=""><figcaption><p>Import button</p></figcaption></figure>

<figure><img src="/files/DiZOvHGvbrwHW1RVkI3U" alt=""><figcaption><p>File to be imported</p></figcaption></figure>

### Step 2 - Assign columns to Service properties

The **Select Columns to Import** dialog lists every column header found in your file. Against each header, choose the Service property it should populate from the **Select Property** drop-down.

<figure><img src="/files/wf2WbipzkgTp60jqYWHi" alt=""><figcaption><p>Select columns to import</p></figcaption></figure>

Columns you do not want to import should be left as **No Selection**, they are simply ignored.\
Your file's headers do not need to match the property names, that is exactly what this mapping step is for.

Once the columns are assigned, click the button **Show The Changes That Would be Made**. Nothing is imported at this point; the next screen is a preview.

You may be notified of any issues such as the below, but click OK to continue.

<figure><img src="/files/3PGZipf84mQFB7xFY9Tr" alt=""><figcaption></figcaption></figure>

### Step 3 - Review the work planned

The **SOR Import Work Planned** dialog shows, line by line, the changes that will be made to the Services within the current script type.&#x20;

Please read this screen carefully before continuing - this is your opportunity to check the import before anything is committed.

Each row shows the Group, Service Code, descriptions, unit of measure, unit cost, SMV, IR certification, contractor and priority the Service will have after the import.&#x20;

New Services will be colour coded light blue:

<figure><img src="/files/qQO0wPauUuqE2Ejk0sF7" alt=""><figcaption><p>SOR import work planned</p></figcaption></figure>

Rows are colour coded **green** if the service **exists** but the data being imported **is different**. Here items highlighted in green are different to the existing Services.

<figure><img src="/files/a22d2mbKFPNJho8Dlmf2" alt=""><figcaption></figcaption></figure>

Hover over a row for a tooltip explaining its status, for example "New SOR Code (no match in current script type)".

**Copy Work Planned List to Clipboard**

This copies the full list so it can be pasted into Excel for checking or sign-off before you commit the import.

**Refresh Work Planned List, below\..**

Recalculates the list after you change any of the inputs described below.

**Create New Services Only (the default)**

With Create New Services Only ticked, the import will only ever insert **new Services**, nothing existing is touched.

**Group to use for NEW services**

This controls which Group the newly created Services are placed in. The token \`\[group]\` stands for the incoming group name from your import file, so:

* "\[group]-new" (the default) keeps the incoming group name and adds a \`-new\` postfix. For example, incoming "Building" codes are created in a group called Building-new
* Any "\[group]-postfix" of your choosing works the same way. A plain name (no token) places all new Services into that one named group.

Placing new Services into a post-fixed group keeps them clearly separated from your existing Services, so they can be reviewed and then moved into their final groups on the Services screen afterwards.

### Advanced features - updating existing Services

Untick **Create New Services Only** to reveal the Advanced features, which allow the import to also update existing Services, whose Service Code matches a row in the import file.

<figure><img src="/files/2btQn0ntbO3HS5x1ZGlZ" alt=""><figcaption></figcaption></figure>

**Group to use for UPDATED Services**

This works exactly like the NEW services input, but applies to Services being updated. The default of "\[group]" leaves updated Services in their existing group; use "\[group]-postfix" to move them into a post-fixed group as they are updated.&#x20;

Services that are not updated remain where they are.

**Restrict updates to Services residing in this comma separated list of groups**

This limits which existing Services are eligible for update. Only Services currently in one of the listed groups will be matched and updated; leave it empty to allow updates across all groups. This is useful when the same SOR codes exist in more than one group and only a specific set should be refreshed.

The existing prefix of an SOR code can be augmented by using the token syntax in these edit boxes. For example, if the prefix had been "Building", then "\[prefix]-new" would produce "Building-new" as the prefix of the new (or updated) SOR codes.

After changing any of these inputs, click **Refresh Work Planned List, below\...** to see the revised plan.

### Step 4 - Run the import

When you are happy with the work planned list, press **Import** and confirm you are ok to proceed. The changes listed are applied to the Services of the current script type. Pressing **Cancel** at any point abandons the import without making any changes.

<figure><img src="/files/Ml6EItmIR4duXtcQCUnX" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/2lk59lry6IdPQZ4Xc3Ow" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/WrL5BJQ80JZ9AMoyEMMY" alt=""><figcaption></figcaption></figure>

### After the import

Review the newly created group(s) on the **Services** tab. New Services can be moved into their final groups by selecting them (hold Shift to select a block, or Ctrl to select individually) and dragging them to the required group.

Switch out of Exclusive mode when you are finished, so other administrators can resume editing.

{% hint style="info" %}
**TIP:** If a Priority Code in your import file does not match an existing Priority, check the **Priorities** entity and add it before importing, so imported Services pick up the correct Default Priority.
{% endhint %}

### Delete Group

Deleting a Service group will delete all services within that group. If a service within the group is still in use, the group and all services within it will be left intact.

Prior to deleting a service group a hard copy of the services can be taken by exporting the services beforehand or alternatively a request to ack the Keyfax database could be sent to your IT department or Omfax prior to continuing.

### Export

Clicking the Export icon will export all Services into a comma separated list so that these can be re-imported if required.
