Skip to main content

Importing Products, Pricing, and Customers via CSV

Use this guide when you need to add or update products, pricing, or customer details in bulk using a spreadsheet.


Download a sample file

The easiest way to get started is to use our annotated sample spreadsheets. They show you exactly which columns are required, which are optional, and what happens when values are left empty.


What type of import do you need?

Product Import — add new products or update existing ones (name, price, description, etc.)

Pricing Import — update prices or assign products to pricing groups

Customer Import — add new venues or update existing customer details


Columns you must never remove

Each import type has a set of columns that must stay in your file every time, even if you are not changing those values. Removing any of them will cause the entire import to fail.

Product Import
SKU, Name, Description, Price, TaxCode, SalesCode, Categories, Enabled

Pricing Import
SKU, Name, Base Price, Enabled, TaxCode, COGS (ex), Reference ID

Customer Import
Business Name, Trading Name


Columns to be careful with

These columns are optional, but if you include them and leave the value blank, they will be cleared or reset — which can affect how your customers order and pay.

  • Payment Methods — resets to "Other" if the column is deleted

  • Default Payment Method — resets to "Other" if left empty or deleted

  • Pricing Group — removed if left empty or deleted

  • Freight Group — removed if left empty or deleted

  • Visibility Tags — all tags removed if the column is deleted

  • Schedules — all delivery schedules and standing orders removed if left empty or deleted

If any of these are accidentally cleared, contact support and we can restore them.


Common questions

Can I update just one column without touching everything else?

Yes. Include only the columns you want to change and delete the rest. Just be careful with the fields listed in the warning above, as some of them will reset if the column is present but empty.

What does "empty" mean vs "deleted"?

Empty means the column header is in the file but the row has no value. Deleted means you have removed the column entirely. These behave differently. When in doubt, delete the column.

Can I remove a pricing group or freight group via import?

Yes. Leave the value blank or enter N/A in the Customer import. The group will be removed.

What happens if my import fails?

Check that all required columns are present and that SKU and Name are filled in for every row. If you are still stuck, send the file to support@ordermentum.com and we will take a look.


Full column reference

Use these tables if you need to check the exact behaviour of a specific column.

Product Import

Column

Required?

Description

Empty Value Behaviour

If Column Is Deleted

Notes

SKU*

Yes

Product SKU

Row fails if empty

❌ Entire import fails

Required column

Name*

Yes

Product name

Row fails if empty

❌ Entire import fails

Required column

Description

Yes (header)

Product description

Keeps existing value

❌ Entire import fails

Required column

Price*

Yes

Selling price

Row fails if empty

❌ Entire import fails

Required column

TaxCode

Yes (header)

Product tax code

Empty removes tax

❌ Entire import fails

Required column

SalesCode

Yes (header)

Sales/accounting code

Keeps existing value

❌ Entire import fails

Required column

Categories

Yes (header)

Product categories

Keeps existing categories

❌ Entire import fails

Required column

Enabled

Yes (header)

Product enabled status

Empty disables product

❌ Entire import fails

Required column

Cost

No

Product cost price

Defaults to 0

Resets to 0

Sales Unit

No

Sales unit

Defaults to "unit"

Resets to "unit"

Pricing Unit

No

Pricing unit

Defaults to "unit"

Resets to "unit"

Weight

No

Product weight

Defaults to 1

Resets to 1

Variant SKU

No

Variant SKU

Keeps existing value

Existing value remains unchanged

Safe to omit

Reference ID

No

Barcode/reference ID

Keeps existing value

Existing value remains unchanged

Safe to omit

Stock Availability

No

Product stock status

Keeps existing value

Existing value remains unchanged

Safe to omit

Groups

No

Visibility tags/groups

Empty removes all groups

Existing value remains unchanged

Existing groups are preserved if omitted

MultiplesOf

No

Pack size multiple

Defaults to 1

Existing value remains unchanged

Safe to omit

LeadTime

No

Product lead time

Empty removes the existing value

Existing value remains unchanged

Safe to omit

ShippedQuantity

No

Shipped quantity

Keeps existing value

Existing value remains unchanged

Safe to omit

MinimumQuantity

No

Minimum order quantity

Keeps existing value

Existing value remains unchanged

Safe to omit

maxQuantity

No

Maximum order quantity

Keeps existing value

Existing value remains unchanged

Safe to omit

ImageDownloadUrl

No

Product image URL

No update triggered

Existing value remains unchanged

Safe to omit

Stock

No

Inventory level

Keeps existing value

Existing value remains unchanged

Safe to omit

property:

No

Custom property field

Empty removes the property value

Existing value remains unchanged

Existing properties are preserved if omitted


Pricing Import

Column

Required?

Description

Empty Value Behaviour

If Column Is Deleted

Notes

Name*

Yes

Product name

Used for matching

❌ Entire import fails

Required column

SKU*

Yes

Product SKU

Used for matching

❌ Entire import fails

Required column

Enabled?

Yes (header)

Product enabled/disabled status

Keeps existing value

❌ Entire import fails

Required column

TaxCode

Yes (header)

Product tax code

Empty removes tax

❌ Entire import fails

Required column

COGS (ex)

Yes (header)

Cost of goods (excluding tax)

Defaults to 0

❌ Entire import fails

Required column

Base Price*

Yes

Base product price

Row skipped if empty ($0 valid)

❌ Entire import fails

Required column

Reference ID [Not Editable]

Yes

Product reference ID

Used for matching

❌ Entire import fails

Required for matching

Price group columns

No

Customer pricing groups

Empty removes the product from the price group

Existing value remains unchanged

Safe to omit entirely

Any non-pricing fields

N/A

Non-pricing product fields

Not updated

Existing value remains unchanged

Pricing import only updates pricing-related fields

  • Leave empty ("") → removes the product from that price group

  • Use - (dash) → keeps the current value


Customer (Venue) Import

Column

Required?

Description

Empty Value Behaviour

If Column Is Deleted

Notes

Business Name

Yes

Legal business name

Required for creation

❌ Entire import fails

Required column

Trading Name

Yes

Customer display name

Required for creation

❌ Entire import fails

Required column

Email

No

Customer email address

Keeps existing value

Existing value remains unchanged

Safe to omit

Phone

No

Customer phone number

Keeps existing value

Existing value remains unchanged

Safe to omit

Street Address 1

No

Primary delivery address

Required to update address

Address block skipped

Existing address remains unchanged

Street Address 2

No

Secondary delivery address

Keeps existing value

Existing value remains unchanged

Safe to omit

Suburb

No

Delivery suburb

Keeps existing value

Existing value remains unchanged

Safe to omit

State

No

Delivery state

Keeps existing value

Existing value remains unchanged

Safe to omit

Postcode

No

Delivery postcode

Keeps existing value

Existing value remains unchanged

Safe to omit

ABN

No

Australian Business Number

Keeps existing value

Existing value remains unchanged

Safe to omit

Retailer ID

No

Existing retailer UUID

No change

Existing value remains unchanged

Matching key only

Customer ID

No

Customer reference ID

Keeps existing value

Existing customer ID will be removed

Deactivated

No

Customer active/deactivated status

Defaults to false

Existing value remains unchanged

Existing venue stays active

Payment Delay

No

Payment delay in days

Keeps existing value

Resets to 0 days

Visibility Tags

No

Customer visibility tags

Keeps existing value

All existing visibility tags will be removed

⚠️

Default Payment Method

No

Default payment method

Empty defaults to "Other"

Resets to "Other"

⚠️ Existing default payment method will be replaced

Payment Methods

No

Accepted payment methods

Cannot be empty

Resets to ["Other"]

⚠️ Existing payment methods will be replaced

Payment Schedule

No

Payment schedule type

Keeps existing value

Resets to "Invoice"

Existing schedule will be replaced

Invoice Date

No

Invoice timing

Keeps existing value

Resets to "On Delivery"

Existing invoice timing will be replaced

Invoice Schedule

No

Invoice schedule

Keeps existing value

Resets to "Immediate"

Existing invoice schedule will be replaced

Invoice Frequency

No

Invoice frequency

Keeps existing value

Resets to "On Place"

Existing invoice frequency will be replaced

MOV

No

Minimum order value

Empty resets to $0

Resets to 0

Existing MOV will be replaced

Freight Group

No

Freight group assignment

Empty removes the existing value

Existing freight group will be removed

⚠️

Pricing Group

No

Pricing group assignment

Empty removes the existing value

Existing pricing group will be removed

⚠️

Schedules

No

Delivery schedules / standing orders

Empty removes all schedules

All schedules / standing orders will be removed

⚠️

Stop Credit

No

Credit hold setting

Keeps existing value

Set to false

Stop credit will be disabled

Delivery Instructions

No

Delivery notes/instructions

Keeps existing value

Existing delivery instructions will be removed

Notes

No

Internal customer notes

Keeps existing value

Existing notes will be removed

Billing Address 1

No

Primary billing address

Required to update billing address

Billing block skipped

Existing billing address remains unchanged

property:

No

Custom property field

Empty removes the property value

Existing value remains unchanged

Existing property is preserved if omitted

Did this answer your question?