Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.florists.digital/llms.txt

Use this file to discover all available pages before exploring further.

Digital Florists lets you import data from spreadsheets so you don’t have to type everything in by hand. Whether you’re setting up your shop for the first time, adding a seasonal range, or moving from another system, imports save you hours of work.

What you can import

WhatWhere to find itBest for
ProductsSettings > Products > Import ProductsAdding or updating your product catalogue in bulk
IngredientsIngredients > Library > Import CSVAdding or updating your ingredient library
From another systemSettings > Advanced > Data MigrationMoving from Shopify, Strelitzia, or FloristPro

Importing products

The product import is a guided wizard that walks you through every step. Nothing is saved until you’ve reviewed the changes and clicked confirm.
1

Choose what you want to do

Go to Settings > Products and click Import Products. You’ll see three options:
  • Add new products — you’re creating products from scratch using a spreadsheet
  • Update existing products — you want to change prices, descriptions, or other details on products you already have
  • Prepare an existing export — you have a product file from another platform (like Shopify) that needs converting first
2

Get your template

Before you upload anything, grab a template so your spreadsheet has the right columns:
  • Adding new products? Download the Blank Template or the Worked Example (which has sample data so you can see how to fill it in)
  • Updating existing products? Click Export Products For Update to get a spreadsheet pre-filled with your current products. You can filter by category if you only want to update part of your range. This export includes special “Match” columns that identify which products to update.
  • Coming from another platform? The wizard will direct you to Settings > Advanced > Data Migration where you can convert your export file first, then come back to upload it.
3

Fill in your spreadsheet

Open the template in Excel, Google Sheets, or Numbers. See the column reference below for what each column means.The key concept: each row in the spreadsheet is one variant (size), not one product. If a product comes in three sizes, you need three rows — one per size. See understanding variants below for a worked example.
4

Upload and preview

Back on the import page, drag your CSV file onto the upload area (or click to browse). The file must be a .csv file, no larger than 10 MB.Click Preview Changes. Digital Florists reads your file and shows you exactly what will happen — which products are new, which are being updated, and what’s changing — without saving anything yet.
5

Review and confirm

Check the summary at the top: how many products, how many are new, how many variants, and any warnings.Below the summary you’ll see a detailed list of every change, grouped by product. For updates, it shows the current value and the new value side by side so you can spot anything unexpected.When you’re happy, tick the confirmation checkbox and click Import Products.
First time? Download the Worked Example in step 2. It shows you exactly how to format a product with multiple sizes, categories, and pricing. Delete the sample rows and replace them with your own data.

Understanding variants

This is the most important concept to get right. In Digital Florists, a product is the thing your customer sees (e.g., “Red Rose Hand-Tied”), and a variant is a specific size or version of it (e.g., Standard at £35, Large at £50). Each row in your spreadsheet is one variant, not one product. Here’s what a product with three sizes looks like in your CSV:
Product CodeProduct NameCategoriesVariant NamePriceCost Price
ROSE-HTRed Rose Hand-TiedBouquets, BirthdayStandard35.0012.00
ROSE-HTRed Rose Hand-TiedBouquets, BirthdayLarge50.0018.00
ROSE-HTRed Rose Hand-TiedBouquets, BirthdayLuxury75.0025.00
Notice that all three rows share the same Product Code (ROSE-HT). That’s how Digital Florists knows they’re sizes of one product, not three separate products. And here’s a product that only comes in one size:
Product CodeProduct NameCategoriesVariant NamePriceCost Price
CHOC-BOXChocolate BoxAdd-onsStandard12.006.00
What stays the same across rows: Product Code, Product Name, Categories, Description, Occasions, and other product-level details must be identical on every row that belongs to the same product. If they differ, the import will show a warning.What changes per row: Variant Name, Price, Cost Price, Stock, Barcode, Tax Rate, and variant images can be different on each row — that’s the whole point of variants.

What happens after you import

  • Your products are created or updated immediately
  • If your spreadsheet included image URLs (in the Attachment column), those images are downloaded in the background — you’ll see a message saying how many are being processed
  • Go to Products to see your updated catalogue
After importing, you’ll need to reset the product cache on your POS for the new products to appear at the till. Go to the POS, tap the cog icon, and select Reset product cache.

Product import columns

Here’s every column you can use. Only the ones marked required need a value for new products — everything else is optional.
The column order in your spreadsheet doesn’t matter — columns are matched by name, not position. You can rearrange, add, or remove optional columns however you like.

The essentials

ColumnRequired?What it does
Product CodeYes (header required)A unique code for the product (like a SKU). If you don’t have codes, you can use the product name. When multiple rows share the same Product Code, they become variants of the same product.
Product NameYes (for new products)The name customers see, like “Red Rose Hand-Tied”.
CategoriesYes (for new products)Which categories the product belongs to. The first category listed is the primary category — this is the main one used for filtering and display. Add more with commas (e.g., Bouquets, Birthday). For subcategories, use > (e.g., Flowers > Roses). Maximum 5 categories. If a category doesn’t exist yet, it’s created automatically. Important: you can only assign products to the most specific (deepest) category in a tree. For example, if “Add-ons” has subcategories like “Chocolates” and “Candles”, use Add-ons > Chocolates rather than just Add-ons.
Variant NameYes (for new variants)The size or version name, like “Standard”, “Large”, or “Luxury”. If the product only has one size, use “Standard” or “Base”.
PriceNo (defaults to 0)The retail price including tax.
Cost PriceNo (defaults to 0)What you pay for it. Useful for margin reporting.
Tax RateYes (for new variants)The tax rate to apply. Enter the name of a tax rate you’ve already set up (e.g., “Standard” or “Reduced”). If you have a default tax rate configured in Settings, you can leave this blank.
BarcodeNo (auto-generated)A barcode for POS scanning. Leave blank and one is generated for you.

Optional details

ColumnWhat it does
DescriptionA product description. You can use basic formatting like bold and bullet points.
OccasionsTag the product with occasions like Birthday, Romance, or Sympathy. Separate multiple occasions with commas. These must match occasion names you’ve already set up.
VisibleYes or No. Whether the product appears to staff. Defaults to Yes.
Age VerificationYes or No. Turn on for items like champagne where your driver needs to check ID.
DesignerA designer name.
BrandA brand name.
StockHow many you have in stock. Defaults to 0.
Stock ControlYes or No. Whether Digital Florists tracks stock for this variant. Defaults to No.
AttachmentA web link (URL) to the product image (shared across all variants). It’s downloaded automatically in the background.
Attachment Alt TextDescriptive text for the product image.
Variant AttachmentA web link to a variant-specific image. Use this when different sizes have different photos. This is a separate column from Attachment — Attachment is the product image, Variant Attachment is for the individual size.
Variant Attachment Alt TextDescriptive text for the variant image.

For updates only

These columns appear when you export your existing products for updating:
ColumnWhat it does
Match Product CodeIdentifies which existing product to update. This is filled in automatically when you export your products.
Match BarcodeIdentifies which existing variant to update. Also filled in automatically on export.
When updating existing products, blank cells keep the current value. If you genuinely want to clear a field (like removing a description), type __CLEAR__ in that cell. Get this wrong and a half-filled spreadsheet won’t wipe the missing fields the way you might expect.

Grouping variants without a product code

If your products don’t have codes and you want multiple rows to become variants of the same product, use the Product Group column. Give all the rows for one product the same group name (anything you like — “My Bouquet”, “Group A”, etc.) and Digital Florists links them together.

Avoiding barcode problems in Excel

Excel can corrupt barcodes in two ways, and both will cause the import to reject the file:
Scientific notation — Excel automatically converts long numbers like 5012345678901 into 5.01235E+12. The import detects this and shows an error because the original barcode is lost.Formula interpretation — If a barcode starts with + or =, Excel treats it as a formula (e.g., +440123456 becomes a calculation). The barcode value gets mangled silently.
The easiest way to avoid this: When updating existing products, the Export Products For Update button downloads an XLSX file (not CSV). XLSX preserves barcodes correctly because Excel knows the cells are text. Edit the XLSX and upload it directly — the import accepts both CSV and XLSX. If you’re working with a CSV file and need to avoid corruption:
  1. Before you paste or type any barcodes, select the entire barcode column
  2. Right-click > Format Cells > choose Text
  3. Now paste or type your barcodes — Excel will treat them as plain text and leave them alone
If your barcodes are already corrupted (you can tell because they show E+ or the values look wrong), delete them, format the column as Text, and re-enter them.
Google Sheets handles this better — it doesn’t auto-convert to scientific notation. If you’re having trouble with Excel, try editing your CSV in Google Sheets instead.

Limits

  • Maximum 10,000 rows per file
  • Maximum 10 MB file size
  • .csv and .xlsx (Excel) files are accepted

Importing ingredients

If you have a long list of stems, sundries, or materials to add to your ingredient library, you can import them from a spreadsheet instead of adding them one by one.
1

Open the import

Go to your Ingredient Library (under Events > Ingredients or Settings > Ingredients) and click Import CSV.
2

Download a template

On the screen that opens, you’ll see a template download section. You can:
  • Click Download sample for a blank template with example rows
  • Tick Include current ingredients and click Download CSV to get a template pre-filled with your existing ingredients (useful if you want to update prices in bulk)
  • Filter by category if you only want to export a subset
3

Fill in your spreadsheet

The only column you must fill in is Name — everything else is optional. See the ingredient columns below for details.
4

Try a dry run first

Upload your file and tick the Dry run checkbox before clicking Import. This shows you what would happen (how many ingredients would be created, updated, or skipped) without actually saving anything. It’s a safe way to check your file is correct.
5

Import for real

Once you’re happy with the dry run summary, untick the dry run checkbox and click Import again to save the changes.
Ingredients are matched by name and category. If you import an ingredient called “Red Naomi Rose” in the “Roses” category and you already have one with that exact name in that category, it updates the existing one rather than creating a duplicate.

Ingredient import columns

ColumnRequired?What it does
NameYesThe ingredient name (e.g., “Red Naomi Rose”, “Eucalyptus”, “Cellophane”). Rows with no name are skipped.
CategoryNoWhich category to file it under (e.g., “Roses”, “Foliage”, “Sundries”). If the category doesn’t exist, it’s created automatically.
CostNoWhat you pay for it (net price).
PriceNoWhat you charge for it (net price). If left blank but Cost and Markup are provided, the price is calculated automatically.
MarkupNoA multiplier for calculating price from cost. For example, 1.6 means the price is 1.6 times the cost.
ColoursNoComma-separated colours, like blush, ivory or red, white.
AttachmentNoA web link (URL) to an image of the ingredient. Downloaded automatically in the background.
Is HireNoYes or No. Whether this is a hire item (like a vase or urn) rather than a consumable.
Stock QuantityNoHow many you have. Only used for hire items.
Enforce StockNoYes or No. Whether to enforce stock limits. Defaults to Yes.
ArchivedNoYes or No. Set to Yes to archive an ingredient.
Accepted file types: CSV, TXT, or XLSX (Excel).
Unrecognised columns are safely ignored — you won’t get an error. Column names are also flexible with spacing and capitalisation (e.g., “stock quantity”, “Stock_Quantity”, and “STOCK QUANTITY” all work).

How price calculation works

You don’t have to fill in both Cost and Price. If you provide a Cost and a Markup but leave Price blank, Digital Florists calculates the price for you. For example:
  • Cost: £0.50, Markup: 1.8 = Price: £0.90
  • Cost: £1.20, Markup: 2.0 = Price: £2.40
If you’re updating an existing ingredient and it already has a markup saved, that saved markup is used to calculate the new price from your updated cost.

Migrating from another system

If you’re moving to Digital Florists from another platform, the Data Migration tool converts your existing data into a format you can import. Go to Settings > Advanced > Data Migration.

Supported platforms

Export your products from Shopify as a CSV file, then upload it here. Your file is converted from Shopify’s column format into the Digital Florists product import format.You can choose whether to include unpublished/inactive products.Once converted, download the resulting file and upload it through the product import wizard.
Two options are available:
  • Products — converts your Strelitzia product export into the Digital Florists format. Download the result and import it via the product import wizard.
  • Customers — imports your Strelitzia customer list directly. Includes automatic deduplication and data cleanup (fixing incomplete email addresses, removing test entries, etc.).
Upload your FloristPro product export — this is usually a file called something like designs.xlsx or designs.csv. It’s converted into the Digital Florists format. Download the result and import it via the product import wizard.Accepts CSV or Excel (XLS/XLSX) files.
For Shopify and FloristPro, the migration tool produces a converted CSV file that you then upload through the normal product import wizard. This means you still get the full preview and review step before anything is saved.

Importing from Florist Toolbox

If you use Florist Toolbox to design your arrangements, you can paste a Toolbox code directly into Digital Florists to import a product’s ingredients, labour, and pricing.
1

Copy the export code from Toolbox

In Florist Toolbox, copy the export code for your arrangement.
2

Open the product in Digital Florists

Go to the product you want to update — or create a new one.
3

Click Import from Toolbox

Use Import from Toolbox (on the create page) or Import Ingredients Only (on the variant editor).
4

Paste the code and import

Paste the code and click Import.
5

Review ingredient matches

Ingredient names are matched to your ingredient library. Any ingredients that aren’t in your library yet are created automatically.
6

Confirm

Review the matched ingredients and pricing, then click Confirm import.

Tips for successful imports

Start small

Try importing 5–10 products first to make sure your spreadsheet is formatted correctly. Once you’re confident, import the rest.

Use the preview

The product import shows you a preview before saving. Check it carefully — especially the “New” vs “Update” labels.

Format barcodes as text

In Excel, format barcode columns as Text before entering values. Otherwise Excel may convert long numbers to scientific notation, which will be rejected.

Check your categories

For products, categories that don’t exist are created automatically. Double-check your spelling to avoid ending up with “Bouqets” and “Bouquets” as separate categories.

Common questions

Yes. Use the Update existing products option in the product import wizard. Export your current products first, make changes in the spreadsheet, then re-upload. The Match columns identify the right products to update.
Your file is checked before anything is saved. If there are problems (missing required fields, invalid data, duplicate barcodes), you’ll see a clear error message telling you which row has the issue and what’s wrong. Fix the errors in your spreadsheet and try again.
Yes. Both products and ingredients accept XLSX files as well as CSV. When updating existing products, use the XLSX export directly — it preserves barcodes correctly without the formatting issues that CSV files can have in Excel.
For products: only fields with values in your spreadsheet are updated. Blank cells keep the current value. For ingredients: matching is done by name and category — existing ingredients are updated, new ones are created.
Product imports are limited to 10,000 rows per file. If you have more, split your file into batches. Ingredient imports have no hard row limit.
For products, you’re always shown a full preview of every change before anything is saved — nothing happens until you review and explicitly confirm. On top of that, the actual import is wrapped in a safety net — if anything goes wrong during processing, all changes are rolled back and nothing is saved.For ingredients, changes are saved as they’re processed, so tick the dry run checkbox first to preview what will happen before committing.
Products can only be assigned to the most specific (deepest) category in a tree. If “Add-ons” has subcategories like “Chocolates” and “Candles”, you need to use Add-ons > Chocolates in the Categories column rather than just Add-ons. Use the full path with > to point to the right subcategory.

What’s next?

Products

Manage your product catalogue after importing.

Ingredients

View your ingredient library.

Inventory

Track stock levels and manage your ingredients.

Exports

Download your data as spreadsheets.
Last modified on May 17, 2026