POS + General Ledger + Inventory + Payroll — All Included on Every Plan | Free Updates Forever

Understanding Upsert — Updating Existing Records via Import

Understanding Upsert — Updating Existing Records via Import

What Is Upsert?

Upsert is a combination of "update" and "insert." When you import a CSV file, AccuArk checks each row against your existing data. If a matching record already exists, the row updates that record. If no match is found, a new record is inserted. This prevents duplicates and lets you use import as a bulk editing tool.

How AccuArk Detects Existing Records

Each data type that supports upsert has one or more match key fields. These are the fields AccuArk uses to determine whether an incoming row matches an existing record.

Data TypeMatch Key FieldsHow It Works
Inventory ItemsSKUIf an item with the same SKU exists, it is updated. If no SKU is provided, AccuArk falls back to matching by item name.
CustomersEmail, PhoneIf a customer with the same email address or phone number exists, it is updated.
VendorsAccount Number, Vendor NameIf a vendor with the same account number or name exists, it is updated.
EmployeesUsernameIf an employee with the same username exists, it is updated.
Chart of AccountsAccount CodeIf an account with the same account code exists, it is updated.
Outstanding BillsVendor Name + ReferenceA bill from the same vendor with the same reference number is updated.
Inventory StockItem SKU + LocationStock for the same item at the same location is updated.
CategoriesCategory NameA category with the same name is updated.
Price TiersItem SKU + Tier NameA price tier for the same item and tier is updated.

Data Types That Do Not Support Upsert

Some data types always create new records and never update existing ones:

  • Opening Balances — Always creates new journal entries
  • Bank Transactions — Always creates new transaction records
  • Account Transactions — Always creates new journal entries
  • Outstanding Invoices — Always creates new invoices
  • Serial Numbers — Each serial number is unique, so serials are always inserted

For these data types, importing the same file twice creates duplicate records. Use caution and only import transaction data once.

What Gets Updated

When a row matches an existing record, AccuArk updates only the fields that are mapped in your CSV file. For example, if you import an inventory file that has only "SKU" and "Price" columns, AccuArk finds the matching item by SKU and updates its price. All other fields (name, description, stock, etc.) remain unchanged.

The Bulk Edit Workflow

Upsert enables a powerful bulk editing workflow:

  1. Export your current data to a CSV file
  2. Open the file in Excel or Google Sheets
  3. Make changes to existing rows (e.g., update prices, fix descriptions)
  4. Optionally add new rows at the bottom of the file
  5. Save as CSV
  6. Import the file back into AccuArk

AccuArk automatically detects which rows are updates and which are new inserts. The validation preview in Step 3 shows "Update" or "New" for each row so you can verify before committing.

Tips

  • Do not change match key values — If you change an item's SKU in your CSV, AccuArk treats it as a new item instead of an update. Keep match key values consistent.
  • Review the preview — Always check Step 3 to confirm that the correct rows are marked as "Update" before running the import.
  • Safe to repeat — For data types that support upsert, re-importing the same file is safe. Existing records are updated with the same values (no change), and no duplicates are created.
Was this article helpful?
Back to Data Import & Export Contact Support
Please note: This article is intended as a general guide. AccuArk© is continuously improved through regular software updates, so some screens, labels, or features described here may appear slightly different in your version. If something doesn't match or you need further assistance, please don't hesitate to contact our support team.
Still need help?

Our support team is ready to assist you.

Submit a Ticket