Setting up Floristflow
Last updated 14 September 2026
Everything below happens in two places: Floristflow’s own pages inside your Shopify admin, and a few switches in Shopify and PrintNode that no app is allowed to flip for you. The home page in Floristflow has a setup checklist that ticks each step off as it happens, so you can always see what is left.
Before you start
- Your Shopify store, with Floristflow installed from your Shopify admin.
- A computer at the shop, with your ticket printer plugged into it. It needs to stay on during opening hours.
- A PrintNode account. PrintNode is the service that carries a ticket from Floristflow to that printer; the next section sets it up.
Your shop’s timezone and currency come from Shopify, so dates and fees are right without setting anything.
Printing tickets
Settings → Printing walks through four steps and marks each one Done, Next or Needs attention, so if tickets aren’t coming out it points at the step that’s stuck.
- Connect your PrintNode account. Create an account, then create an API key on PrintNode’s API Keys page and paste it into Settings → Printing. Treat the key like a password.
- Install PrintNode on the shop computer. Download it (Windows, Mac, Linux or Raspberry Pi) on the computer the printer is plugged into, and log in with your PrintNode email and password. Its printers then appear in Floristflow. If several people log in to that computer, PrintNode recommends installing it as a Windows service.
- Choose the ticket printer in Settings → Printing and save. You can choose one even while its computer is off; it’s labelled offline until it reconnects.
- Send a test ticket. It prints a sample marked TEST TICKET, with no customer and nothing to deliver, and shows “Printed” once PrintNode confirms it came out. Throw it away.
Check your PrintNode plan. PrintNode’s free plan covers 50 prints and one computer a month once a new account’s free first month ends, which a working shop passes within days. Their Essential plan is $9 a month for 5,000 prints (as of September 2026; PrintNode’s plans).
What prints by itself
With “Print automatically when a new order arrives” turned on, a new order with a delivery or pickup prints once, a few seconds after it arrives, whether it came from your website, the till or a draft order. These don’t print by themselves:
- Counter sales with no delivery or pickup, because there’s nothing to deliver.
- Cancelled orders.
- Edits to an order placed more than a day ago.
- Orders from before you installed. Floristflow brings in the last 60 days so bookings you already had show up, but it won’t print them all at once.
Reprint any ticket from the day’s list or from the order’s own page. A ticket shows “Sending…” until PrintNode confirms it, and “Print failed” with PrintNode’s reason if it didn’t print. One still unconfirmed after 24 hours is marked failed so it can’t hide.
Delivery zones and fees
A zone is an area you deliver to, listed by postal code in Settings → Delivery zones. A partial code covers everything that starts with it: 361 covers every 361xx address, and SW1 every SW1 postcode. Zones can overlap, and the most specific one wins, so a broad 361 zone at one fee and a 36117 city-centre zone at another work together.
When a shopper enters a postal code, they see one of three answers:
- “We deliver to…”, with the zone’s fee.
- “We do not deliver to…”, offering pickup instead wherever you offer it.
- “We will confirm delivery when we call”, while no zone has postal codes yet.
Keep fees the same as Shopify’s
A zone’s fee is what shoppers are quoted and what staff quote on the phone. It does not change what Shopify charges at checkout. That comes from Shopify’s own local delivery or from a shipping-rate app, so the two need to match. Under each zone, Settings checks its fee against what that rate was actually charged on your last 60 days of orders, and says if they differ.
With Shopify’s own local delivery: in your Shopify admin go to Settings → Shipping and delivery, and under Additional delivery methods click Local delivery. Choose the location you deliver from, turn on delivering from it, and add zones by postal code or radius with the same prices. Shopify shows every local delivery zone to customers as “Local Delivery”, so use that as the rate name on your Floristflow zones. (Up to 10 zones per location; Shopify’s guide.)
With a shipping-rate app: use each rate’s name exactly as it appears on your orders, and keep its price the same as the zone’s fee.
Delivery dates and windows
- Delivery windows
- Times customers can choose, such as 2:00 PM – 4:00 PM, each with an optional limit on how many deliveries it takes and the weekdays it runs. A full window stops being offered online.
- Same-day cutoff
- After this time, today can’t be chosen on your website. At the till staff see a warning and can still take the order, since they’re better placed to judge.
- Minimum notice
- A same-day window stays bookable until this long before it ends. With 60 minutes, a 2–4 PM window takes orders until 3 PM.
- Closed days and closures
- Weekdays you never deliver, and date ranges like Christmas. These are refused on your website and at the till. Phone orders on a draft order aren’t checked against them, and a location that keeps its own hours has its own closures. For an unplanned stop, “Close today” on the home page shuts today at once; orders already taken still show.
- How far ahead
- How many of your open days customers can choose from: 14 unless you change it in Settings → How far ahead, up to 180. Raise it to take Valentine’s or Christmas orders early. A location that keeps its own hours and delivery areas can set its own under Locations.
Settings shows the next delivery days your rules allow, so a mistake is visible before you save.
Your online store
Turn on the delivery picker
Shopify doesn’t let an app add itself to your theme, so this is one step in the theme editor. In Settings → On your storefront, click “Turn it on in the theme editor”, then press Save there. The badge in Settings changes to “On your theme” on your next visit. That turns on the picker that works on any theme and finds your cart page or drawer by itself. If you’d rather place it yourself, add the cart page block instead, but not both. The zone banner, which asks “do we deliver to you?” on every page, is optional.
With “Require a date before checkout” on, the picker holds your cart’s checkout button until a delivery or pickup is chosen.
Turn off Buy it now and express checkout buttons
These buttons take customers straight to checkout and skip the picker, so the order arrives with no date and doesn’t appear on any day’s list. Shopify draws them where no app can reach, so they have to be turned off. Customers can still pay with Shop Pay, Apple Pay and the rest at checkout itself.
- In your Shopify admin, go to Online Store → Themes and click Edit theme.
- Open Products → Default product. In the Product information section, click Buy buttons and turn off “Show accelerated checkout buttons”. Save.
- Do the same for any other product template, and for Featured product sections on your home page.
Some themes also show these buttons in the cart. If yours has the same option in its cart settings, turn that off too (Shopify’s guide). Settings lists any recent online orders that arrived with no delivery or pickup details, so you can call those customers.
Shopify POS
Floristflow adds two things to Shopify POS. Shopify doesn’t let an app put them in place itself; Settings → In Shopify POS shows “In use” for each once staff have used it.
- The “Order details” tile
- What staff tap during a sale to add the card message, recipient, colours and delivery or pickup. In your Shopify admin go to Sales channels → Point of Sale, click Edit next to POS app under Customize the in-store experience, choose your smart grid template, click Add tile, then Embedded Apps → Order details → Add, and Save. Each smart grid template has its own tiles.
- “Print ticket”
- Reprints from an order’s details, or prints right after a sale. It opens the POS device’s own print dialog, so it prints to a printer that iPad or phone can reach rather than through PrintNode. Shopify keeps app actions off until you turn them on: in the POS editor, open the Apps menu, turn on Floristflow’s extra functionality for your locations, and Save (Shopify’s guide).
Phone orders
For orders taken on the phone and invoiced, Floristflow adds a “Draft order details” block to Shopify’s draft order page, for the card message, recipient and delivery or pickup. Shopify doesn’t show an app’s block until you add it: open a draft order, add the block from the page’s app blocks, and pin it so it stays there for everyone.
More than one location
Locations lists your Shopify locations. Each one follows the shop’s settings until you give it its own: a printer for that counter, its own hours and closures, or its own delivery zones. A delivery goes to the location whose zones match the address most specifically; a location without zones of its own doesn’t take deliveries from the others.
Day to day
- Home shows today and tomorrow, the setup checklist, and “Close today”.
- Today and Tomorrow are the run lists: every delivery and pickup for the day, a “Made” box to tick, and reprint.
- Orders filters by Active, Arrangements, Print failed, Needs checking (orders whose details disagree, such as a weekday that doesn’t match its date), Complete and All.
- Open any order to correct its card message, recipient, notes or delivery instructions, then reprint. Corrections are saved to Shopify too.
Your data
Customer and recipient details are removed from an order 90 days after it was placed or due, whichever is later; the sale itself stays, and the full order is always in Shopify. Uninstalling deletes everything Floristflow holds for your shop when Shopify’s notice arrives, 48 hours after you uninstall. The details are in the privacy policy.
Still stuck?
Support answers the common questions, and a person reads every email to trey@fathomdev.io.