This is a concise version of the CSV Import guide. For the full API documentation version, see API Docs: CSV Import and Products CSV Import.
There are two CSV importers:
organizationId
, and either customer_name
or both first_name
and last_name
.customer_id
/pool_id
to update.The importer reads two logical groups of columns. You can include either group or both in the same row.
customer_id
, customer_name
, first_name
, last_name
, email
, phone
, notes
, address1
, address2
, city
, state
, zip
, country
pool_id
, pool_name
, gallons
, is_indoor
, sanitizer
, filter
, pool_type
, (optional location on pool) address1
, address2
, city
, state
, zip
, country
customer_id
, or email
, or (customer_name
or first_name
+last_name
) + phone
, or name + address1
matchespool_id
; if absent, by (pool_name
+ resolved customer)pool_name
, gallons
, is_indoor
, sanitizer
, filter
, pool_type
, pool address*
pool_name
(a new pool_id
is generated)pool_id
Updating tip: If you include customer_id
and/or pool_id
, those rows will update the matching records directly. If you don’t have IDs, the importer safely matches using these keys in order: (1) email, (2) name+phone, (3) name+address. Pools match by (1) pool_id or (2) matching customer + pool_name. If no match is found, a new record is created.
chlorine
):
chlorine
, bromine
, swg
, biguanides
, peroxide
, natural
, freshwater
cartrige
):
cartrige
, sand
, de
, dontKnow
plaster
):
vinyl
, plaster
, fiberglass
organizationId,customer_id,pool_id,customer_name,first_name,last_name,email,phone,address1,city,state,zip,country,pool_name,gallons,is_indoor,sanitizer,filter,pool_type
abc123,,,,Jane Doe,Jane,Doe,jane@example.com,555-111-2222,123 Main St,Austin,TX,78701,US,Backyard Pool,15000,false,chlorine,cartrige,plaster
abc123,,,,Jane Doe,Jane,Doe,jane@example.com,555-111-2222,123 Main St,Austin,TX,78701,US,Spa,500,true,bromine,cartrige,fiberglass
customer_id
and/or pool_id
from a prior export or record to update precisely.pool_id
if you’re changing pool_name
to avoid creating a second pool.To upload: In your organization dashboard or the app’s Customers/Pools screen, use the Import menu. You can also import from your Organization Pools dashboard (look for the "Import CSV" button in the Organization Pools section).
Bulk import your organization’s products (catalog) for use in billing and storefront.
organizationId
, and either product_id
(to update) or both name
and category
(to create).price
for defaultPrice
, taxable
for isTaxable
).Common fields:
product_id
(optional for create)name
, category
, description
defaultPrice
, isTaxable
, cost
, msrp
, markupPercent
, markupAmount
, useMsrpForMarkup
type
(oneTime | subscription)deliverable
, activeInStore
, minQty
, maxQty
, photos
tags
(comma/semicolon/pipe separated), notes
, stripeProductId
, stripePriceId
product_id
. If product_id
is absent, matches by name
(first match).name
and category
(a new product_id
is generated).oneTime
(default) or subscription
organizationId,product_id,name,category,defaultPrice,isTaxable,type,deliverable,activeInStore,tags
abc123,,Chlorine Tabs,Chemicals,19.99,true,oneTime,true,true,chlorine;tabs
abc123,P123,Monthly Service,Services,120.00,true,subscription,false,false,service;recurring
To upload products: In your organization dashboard’s Products section, use the Import CSV button.