Sanka

CSV Import

Import and update Sanka records in bulk with CSV files, including supported objects and special cases such as parent-child companies.

Last updated: May 16, 2026

This guide explains how to bulk-create and update records in Sanka with CSV import. It consolidates the object-specific CSV import guides for companies, contacts, items, orders, invoices, and other objects.

Start with Claude / Codex review

Before importing a CSV, ask Claude or Codex connected to Sanka to review the target object, CSV columns, mapping candidates, create/update behavior, duplicate risks, and missing required fields.
Sample prompt
/sanka I want to import records from CSV. Review the target object, CSV columns, Sanka property mapping candidates, create/update behavior, possible duplicate records, and missing required fields. Do not run the import yet.
If you are unsure about the file or mapping, test with a small sample first, then import the full file after review. Claude and Codex can only read or update data allowed by the connected user's permissions.

Supported objects

CSV import is available for these objects.
CategorySupported objects
CRM and salesCompanies, contacts, deals
Items and inventoryItems, locations, inventory, inventory transactions
Sales and billingQuotes, orders, subscriptions, meters, invoices, payments
Procurement and APPurchase orders, bills
OperationsEmployees, attendance, expenses, contracts, tasks
Accounting and otherSlips, journal entries, custom objects

Prepare the CSV

Put column names in the first row. Use column names that are close to your Sanka property names so mapping is easier to review.
Text
Company Name,Email,Phone,Owner
Green Salon Group,info@example.com,555-0100,Taylor
When updating existing records, include an ID or unique value that identifies the target record, such as company ID, SKU, or order number. To start from a sample file, download the Company CSV import sample and replace the columns and values with your own data.

Import from the web app

You can import manually from the web app after preparing the CSV and mapping plan.
  1. Open the object list you want to import into.
  2. Click Import in the upper-right corner.
  3. Select CSV as the source.
  4. Upload the CSV file.
  5. Map CSV columns to Sanka properties.
  6. Choose whether to create new records or update existing records.
  7. For updates, select the key property that identifies existing records.
  8. Review the mapping and run the import.
  9. After import, review the records and status in the target object list.

Set parent-child companies by CSV

Special updates such as company hierarchy can also be handled with CSV import. To set parent-child companies, create the company records first, then update existing companies with a column that points to the parent company. Prepare at least these columns:
  • A column that identifies the company to update, such as company ID
  • A column that identifies the parent company
Text
Company ID,Parent Company
0001,
0002,0001
In this example, 0001 is the parent company and 0002 is the child company. During mapping, map the parent company column to the company-to-company association used for parent-child relationships. It is usually safer to create the companies first, then run a second CSV update for hierarchy.

Special import cases

Use an extra review step for imports that involve relationships, quantities, or accounting fields.
  • Company hierarchy: Update parent-child company associations.
  • Item structures: Confirm item codes and parent-child relationships for items or BOMs.
  • Inventory and transactions: Confirm locations, items, quantities, and dates.
  • Purchase orders and bills: Confirm supplier, items, amounts, tax, and payment terms.
  • Custom objects: Confirm target object properties and the key property before importing.

Review errors and history

After import, review successful rows, failed rows, and the error file. Common issues include mismatched columns, missing required values, invalid IDs, and duplicate candidates. For error handling, see CSV Import/Export Errors.

Next steps

Bulk upload product images

For item records, you can register images on each product. When you have many images, use bulk image upload from the list screen or use an Image Group property so one property can store multiple images.

What is an Image Group property?

An Image Group is a property type that stores multiple images in one property. Use it alongside the regular Image property, which stores one image, when you need product photos, detail shots, package photos, or other image sets on the same item.

Create an Image Group property

Create an Image Group property
  1. Open Workspace from the lower-left menu, then click Object management.
  2. Select Item from the list and click New in the upper-right corner.
  3. Enter the property name, such as Product Image.
  4. Select Image Group as the type and click Create.
  5. If you want to show the property in record creation forms or views, add it from View / Manage Forms.

Upload product images in bulk

Bulk upload matches image file names to a property value on the product record. Before you start, confirm the following.
  • Prepare the image property where images will be saved, either Image or Image Group.
  • Decide which text property will be used for matching, such as record ID, SKU, or product number.
  • Use a matching key with unique values to avoid linking the same image to multiple products by mistake.
Upload product images in bulk
  1. Open the item object list and click Upload image from the action menu in the upper-right corner.
  2. Under Image Property, select the property where images should be saved. Select Image Group when you want to register multiple images at once.
  3. Under Text Property, select the matching key used to link images to records.
  4. Prepare image file names so they match the selected text property value. The file name without .jpg, .jpeg, or .png is used for matching.
  5. Drag and drop the images, or click to select them.
  6. Review the file list and click Upload Image.
Example: using Product ID as the text property
Product ID on the recordImage file name
001001.jpg
002002.png
003003.jpeg

Register multiple images on one record

To add multiple images to the same product, select Image Group for the image property. Then prepare multiple image files for the same matching key. For the second and later files, add a number at the end of the file name. Sanka matches by removing trailing -number or _number, so hyphen-separated names also work.
Matching keyImage file name
001001.png
001001-1.png
001001-2.jpg
Even when the matching key itself contains a hyphen, only the final number is treated as the suffix. For example, if the SKU is ABC-1, use names such as ABC-1.jpg and ABC-1-2.jpg.

Confirm after upload

After the upload finishes, open the target product record and confirm that the selected image property contains the image. For Image Group properties, multiple images appear side by side inside the same property.

If images do not appear

  • Confirm that the image file name exactly matches the text property value. Watch for leading or trailing spaces and full-width or half-width character differences.
  • Records with an empty matching text property are not linked.
  • Supported formats are .jpg, .jpeg, and .png. Other formats cannot be uploaded.
  • If multiple products share the same key, the same image is registered on all matching products.

Set up a company price table

Use a Price Table property on Company records to enter company-specific prices and make estimates use those prices before the standard item price.

What you’ll accomplish

  • Create a Price Table property on Company and place it on the form layout.
  • Enter item-level prices or a company-level percentage for each company.
  • Verify that estimates prioritize the company price table before item defaults.

Prerequisites

  • Workspace admin access to edit objects and forms.
  • Items you plan to quote, such as sample items for testing.

Add the Price Table property to Company

  1. Go to SettingsObject / Property managementCompany.
  2. Click New Property, name it (for example, Price Table), set Type = Price Table, and save.
  3. Add the property to the Company form or layout and save the layout.
Create the Price Table property and place it on the Company form

Create a company record and surface the field

  1. Open Companies from the left navigation and click New. Enter required basics such as Name and save.
  2. Re-open the saved company detail. The Price Table button appears in the properties panel only after the record exists.
Company detail with the Price Table button visible

Enter company-specific prices

Item Level

  1. Click Price Table on the company record.
  2. In Item Level, search for or select items and enter an Item Price per row.
  3. To bulk-adjust visible items, enter a value in %, such as 90 for 10% off, and click Apply.
  4. Click Save at the bottom of the drawer.
Item Level tab with Item Price entries and Save highlighted

Company Level

  1. Switch to the Company Level tab.
  2. Enter a percentage such as 90 to apply to all items, then click Save.
  3. If an item does not have an Item Level price, the Company Level percentage is used.
Company Level percentage field for all items

Verify the price table in Estimates

  1. Go to EstimatesNew Estimate, or open a draft.
  2. Set Customer to the company with a price table. Sanka checks the table automatically.
  3. Add line items. The price dropdown defaults to item-level company price, then company-level percent, then item default price.
  4. Confirm totals reflect the company pricing and save.
Estimate line showing price prefilled from the company price table

Tips and troubleshooting

  • If the Price Table button is missing, confirm the property is on the Company form and the record has been saved once.
  • Make sure items exist before opening the Price Table drawer. Only active items appear.
  • Price tables are stored per company. Changing the Customer on an estimate reloads prices for that company.
  • Use Company Level for a universal adjustment and override specific items in Item Level when needed.