Saltearse al contenido

What's new

Esta página aún no está disponible en tu idioma.

Florio is developed and run inside a working floral and event design studio, so features land steadily and get exercised on real events the same week. Highlights below, newest first. Florio is in early access; request access to get on the list.

October 2026

Oct 28: A deleted proposal version can be restored for 30 days

The Discard draft button on a draft proposal is now Delete this version, and it asks properly: the dialog names the proposal and its version number, how many lines and photos it holds, and points you to Version history if you only meant to undo some edits. More importantly, a deleted version is no longer gone. Florio keeps everything in it for 30 days, and the event offers it back on its Proposals tab and on the Draft proposal discarded line of its Activity tab: Restore puts the version back exactly as it was, photos and history included, and opens it. After 30 days the photos are deleted for good. How it works.

Oct 24: Your client portal wears your brand

The client portal’s header mark and browser-tab icon are now your logomark, and its buttons, active navigation, chips and focus rings take your brand colour, in light and dark. Both come from the branding your company already keeps in Admin › Branding; nothing to set up. A company with no logomark configured keeps a monogram in its brand colour.

Oct 24: Pick up an order at the vendor

Some vendors let you collect an order at their counter instead of shipping it. A purchase order’s Ship to now offers Pickup with the store or branch, the order prints Customer pickup in place of a shipping address, and the order’s Pickup card tracks whether the vendor says it is ready (by hand, or from the vendor’s own ready-for-pickup email) and who is collecting it. Assign pickup puts the trip on a warehouse hand’s or technician’s day as a block they clock against; on My Day they see the store, the vendor’s order number and our PO number with a copy button, and a Collect list with no prices, where Collected receives the lines on the order and completes the trip. The iPhone app gets the same card and list in a coming TestFlight build. See Pick up an order at the vendor.

Oct 23: A client portal for your customers

Your customers get their own door into Florio on an address of yours (for example my.yourcompany.com): their service requests with each visit as it stands and the technician on the way, what the technician found and proposed with Review and approve, their invoices with Pay now by card, wallet or bank account and the receipt by email, the card on file, their plans with the inspections used and the card they bill to, their sites and installed equipment with each device’s history and Report a problem with this, the documents you keep for them, and, when you switch it on, messages on a request. People sign in with an emailed code, belong to an account with a role (admin, approver, billing, member), and can be scoped to some sites. Switch it on under Admin › Client portal, invite from the client’s Portal access card, and use View as to see exactly what a customer sees. See Set up the client portal and What your clients see.

Oct 22: New pieces file under a sub-category, and a refused change says why

When you save a new piece from a blank intake card at the measuring station, Florio now asks for its Type (Sofas, End Tables and so on), so it lands in the right place on the storefront; a piece can no longer be filed on a main category that has sub-categories. On a piece’s page, a change Florio refuses now shows its reason right under the field, instead of a message at the top of the page. And a piece from an intake card can go live with a storefront description you wrote yourself. See Catalog intake.

Oct 21: See photos full size, and keep a blurry shot after the shoot is approved

Click any photo on a shoot upload’s review, or in a rental piece’s Photos card, to see it full size. Step through the piece’s photos with the arrows, the arrow keys or the strip of thumbnails, and click the photo to zoom in where you clicked. On a shoot upload, Keep, Reject and Make Cover sit right under the photo, so you can judge a Blurry flag at full size. A flagged photo nobody has kept or rejected now says Undecided, and Approve warns you before leaving any behind. An upload that is already Done still takes a photo it left out: choose Keep and Approve again. See Catalog intake.

Oct 21: Send a Polycam scan straight to its piece from your iPhone, and 3D tiles that look like the model

On the iPhone, export a scan from Polycam as USDZ, GLTF or OBJ and choose Florio in the share sheet. Florio opens with the file, reads the piece number out of the file name (name the capture with the number, like “Sofa FU-0142”), shows the piece it found, and one tap sends the model to it; with no number, find the piece by name. A GLTF or OBJ export arrives as a zip and is unpacked on the phone. Share the USDZ and then the GLTF of the same scan and the second file joins the same model, so the piece has its iPhone file and its web file from two taps. The piece’s 3D Model card shows the upload with a progress bar, waits for Wi-Fi unless you tap Send over cellular, and shows the file name on the model. In Florio and on your storefront, the 3D tile now shows a still of the model itself instead of a photo of the piece, rendered automatically within a minute of the upload; open the model, turn it to the angle you like and choose Use this view as the thumbnail to replace it, and the viewer opens on that same angle, so nothing jumps when the model loads. The iPhone part ships in the next TestFlight build. See Put a 3D model on a rental piece.

Oct 21: All three scan passes capture, the Mac says what each build used, and you can crop before the build

In the Florio iPhone app, a 3D scan now carries through all three passes: after the point cloud review, Keep Scanning returns to the camera with the capture dial and keeps taking photos. A Review button opens the point cloud at any time, with Back to the pass, Skip to the next pass, and Save Scan once ten photos are in. An Auto switch beside Take Photo turns automatic capture off, so you can stand still and tap for sharp photos of carved or detailed areas. The hints now say when more light would help, when the phone cannot find the piece, and how many photos the phone can take. On the Mac, Window > 3D Queue says what each build used, for example “86 of 88 photos used, passes stitched”, and turns amber when photos were skipped or the passes did not stitch. A new Crop button builds a quick preview, draws Apple’s estimated box around it, and lets you tighten the box with six sliders before the full build, so the floor and the room never end up in the model. The Mac app now needs macOS 15 or later.

Oct 21: 3D models on rental pieces, from a file or a scan, shown on your storefront

A rental piece can now carry a 3D model as one more tile among its photos. Add one from a file under the piece’s photos with Add 3D Model (a USDZ, a GLB, or both; Polycam exports both), or let a phone scan’s Mac build make the files. Florio checks the model’s size against the piece’s measurements, and you drag the tile anywhere in the gallery. Switch on Show in store and shoppers get the tile on the piece’s page with See it in 3D: they turn and zoom the model, and on a phone View in Your Space places it in their room at its real size. The piece’s Storefront visits card counts both. See Put a 3D model on a rental piece.

Oct 19: Scan rental pieces in 3D from the iPhone app

A numbered rental piece now has a 3D Model card in the Florio iPhone app. On an iPhone Pro or iPad Pro with LiDAR, Scan in 3D opens Apple’s guided capture: walk around the piece, check the point cloud for thin spots, and save. The photos upload on Wi-Fi only. The Florio Mac app on an Apple silicon Mac builds the full-detail model from them (Window > 3D Queue) and compares its size to the piece’s recorded height, width and depth. Rentals > 3D Scans lists every scan by status. Mirror and clear pieces show a warning, since they don’t scan well.

Oct 19: Unit labels on a Dymo shipping label, with trim marks

A new label size, 2 x 1 in on a Dymo 30256 label, with trim marks, prints each code on a whole 2-5/16 x 4 in shipping label: the 2 x 1 label sits in the middle with white space all around and four trim marks a quarter inch outside it, so every label is cut to the same size. See Catalog intake.

Oct 17: A project’s plan, on its own tab

For teams whose clients build a plan in a connected plan builder: a project made from that plan now has a Plan tab after Overview. It shows the version you pick and what changed since the version before, room by room and on the plan’s total, each change in its own color. Every room opens to its choices, its add-ons and the notes the client and designer left about it, followed by the plan by system, the supporting work and the client’s answers about the project. Beside the plan, Florio adds what the plan builder cannot know: the plan’s journey from each version to the walkthrough, the retainer, the quote and the win; the quote’s total held against the plan’s range once a quote syncs; the client as Florio knows them; and the project team, matched to people already in Florio. Overview gains a card for the plan, and a plan that has not become a project yet shows on its lead or customer page.

Oct 15: Jump straight to any page of a list

A list that runs to several pages now shows the page you are on as a picker, between Prev and Next. Choose a page and the list goes straight there instead of one page at a time. The rental storefront’s collection, each category and each Shop by Look page have the same picker, and the filters and sort a renter chose come along to the new page.

Oct 15: Shoot uploads keep your photos in file-name order

A shoot upload now puts its photos in file-name order, the camera’s own numbering, instead of the time each file was last saved. A photo you retouched after the shoot stays with its piece instead of jumping to the end of the folder and landing under the wrong card. Photos edited onto a pure white background are no longer flagged as too bright, so they start out kept like any other good photo. See Catalog intake.

Oct 14: See when a time-off request was submitted

Reviewing a time-off request now shows when it was Submitted, with the day and time, beside Time requested. Each request under Time-off requests in Approvals ends with the day it was requested, so you can see which ones have been waiting longest. Opening an entry on the Time off page shows the same, reading Recorded for time off an admin put on the schedule. Times read on your company’s clock, and the Florio app shows the same. See Request and approve time off.

Oct 14: The scope of work opens the client proposal

The proposal PDF now begins with the scope of work. It follows the cover, and the concept page when the proposal has one, and ends on its own page, so the first products section starts fresh. It prints the way it was written in the builder: paragraphs, bold, italic, bullet and numbered lists, and the line breaks you typed. A proposal with no scope of work is unchanged. The same block now opens the Preview page and sits under the header of the Internal PDF, so your crew reads what was sold before the lines that price it.

Oct 13: Reorder the sections of a long proposal

A section in the proposal editor now folds to its heading row: click the chevron beside its name, or Collapse all above the sections to fold every one at once (it reads Expand all once they all are). With the sections folded, a long proposal is a short stack, so dragging a section by its Drag to reorder handle lands where you mean it to, and the section menu gains Move up and Move down for a single step. Folding is your own view, remembered for each proposal; the client’s document is unchanged.

When a distributor sells a part you do not have yet, Add from links in the Catalog adds it from the link to its page, without waiting for the next price list. Paste one part a line with its cost and price; Florio reads each page in the background and shows what it found: the name, maker, model and number, the pictures (the first kept, the others yours to tick), the details and guides, and a category from the distributor’s own category once you have mapped it. A doubtful price or a part already in the catalog waits for your tick, and a page that does not answer is tried again by itself. The ticked parts join that distributor’s price list in one step, with nothing already on the list changed, and their client text is drafted a few minutes later. See Import a vendor’s price list.

Oct 13: Templates keep their catalog parts, at today’s prices

A line you picked from the catalog and saved in a template now remembers the part itself. Insert the template and each of those lines is filled from the catalog as it is that day: the description, price, costs, hours and the part’s photos, along with the maker and part number purchasing orders from. Before, a template kept only Photo Library pictures, so a catalog part’s photos were lost, and it kept the price of the day it was saved. In the template picker and editor these lines are marked From the catalog, a part retired since is marked Retired in the catalog, and + From catalog adds a part to a template directly. A template saved earlier keeps working as before; save it again from a proposal to link its parts. See Save and reuse templates.

Oct 13: Every new project reaches D-Tools

For teams who quote in D-Tools Cloud, every way to start a project now makes it in D-Tools first and brings it back with its D-Tools number, so nothing sits in Florio where the people quoting cannot see it. Not a service call on a customer’s sales inquiry shows the same form as Create an opportunity, credit included for a technician’s turnover, and closes the call only once the project is back; a sender who is not matched yet can be matched to a customer right in the dialog. Converting a lead into an event carries the lead’s owner, budget and lead source into the opportunity and sends a new customer, with the lead as its contact, to D-Tools first. New event asks for the customer, then the opportunity’s details. Each one shows exactly what goes to D-Tools before anything is made, and a try that D-Tools does not answer keeps everything you entered. See Take a service call, Convert a lead to a customer and Create an event.

Oct 13: Service calls in the Mac app

A new build of the Mac app on TestFlight brings it up to the iPhone and iPad: Service in the sidebar, with My Day for a technician’s visits and Calls for the office, and a call that opens in the reading pane in two columns with its details, visits and their photos, parts, hours, P&L, QuickBooks billing, change log, tasks and activity. The call’s Site, Asset and Contract open as sheets, and inside a sheet an asset or a call opens with a Back button. Add parts, New service call and New customer are the same forms as on the phone, sized for the Mac. The build also carries everything the Mac had been waiting on since September: employee expenses, and the fix for a selected row’s title in dark mode. The Apple TV app gets a fresh build too, with the shared wording and label updates since September.

Oct 13: A change order shows only what changed, and a contract can be linked to the version the client signed

A client change order built in the proposal builder no longer lists a design write-up that only moved. When the signed version kept a description on a $0 line of its own (events brought over from Details carry them as “New Recipe” lines) and the new version puts it on the item it describes, the $0 line is left off and the item reads as unchanged (even when a count in the write-up was brought up to date), so the client sees the real changes and nothing else. A contract that does not know which version the client signed now says so instead of hiding Scope of changes: the builder explains that the version will go out as a full proposal, and the Contract card offers Link signed version to anyone with Approve contract revisions; linking moves no money. And deleting a picture from a proposal line, or discarding a draft, never removes a file that the Photo Library, a rental listing or a proposal cover still shows. See Change orders.

Oct 12: Send a proposal again, and both PDFs from the proposal

Send to customer now stays on a proposal after it goes out. Choose it again and Send Again emails the same version to whoever you tick, with no new version and no new approval, and the activity log records it as Proposal re-sent. The button that used to take its place once a proposal was sent is now Record client signature under Manage, and it asks before it accepts the event. Client PDF and Internal PDF sit next to Preview, so either opens in a new tab straight from the proposal.

Oct 12: Depth on a service call in the iPhone and iPad app

A new build of the iPhone and iPad app on TestFlight opens the records around a service call. The call’s Site, Asset and Contract are links: the site page leads with its alert and access notes, Navigate and the main contact, then its assets, contracts, projects and calls, with a + to open a new call there already filled in; the asset page shows its warranty, components and the calls on it; the contract page shows the plan, its term and renewal, and the calls it covered. A customer’s page has a Sites card. Under the call’s files sit Time (every hour logged on the call, with who, when and its approval), P&L for margin holders, QuickBooks billing read-only for finance (what was invoiced, the labor strip, what is left), and the Change log with each field’s before and after. Visit photos gathers every photo the technicians took on the call, newest visit first, with a full-screen viewer. Add parts lets a technician on a visit search the catalog and add parts from the field without seeing prices; the office sees price and cost and moves each line through needed, ordered, received and used. The call’s menu can create or link an opportunity in your project system. Closed and Cancelled join the status menu, each behind a confirm that says what happens (closing names the invoice and its amount for finance), and New customer sits under the customer picker on a new call, with Florio’s duplicate check. A task’s Related to and the links in your morning briefing and task emails open these pages in the app.

Oct 12: A service call’s email knows whom to address, and the call page shows the visits’ photos

On a service call, New email is addressed to the call’s contact first; if the contact has no usable address it falls to the caller, then to the customer’s main address, so the person who should hear from you is in the To line before you type a word. The call’s page now has a Visit photos card under its visits, every photo the technicians took on the call grouped by visit, newest first, and a Tasks card like the one on a project’s page. The links to a service call, a site, an asset or a contract in your morning briefing and in the email that hands you a task now open the record in the Florio app on a phone that has it, and in the browser everywhere else.

Oct 11: The office’s service tools in the iPhone and iPad app

A new build of the iPhone and iPad app on TestFlight gives the office its tools on a service call. Add visit books a visit with a technician list that shows who is free that day, and each visit’s menu can move it, release it to the technician, edit its notes, cancel it or delete it, asking first whether the customer gets an email. Edit details changes a call’s site, contact, project, contract and billing class, and says how the billing changes before it saves; Problem and Resolution each edit on their own. The + on the Calls list takes a new call while the caller is still on the line, with Add a site and Add a contact inside the pickers. Email on a call can go from your support address, a customer’s email has Reply, and a call takes photos and files and shows its Tasks. Technicians can Log activity on any call.

Oct 11: A conversation answers a service call

When a service call is awaiting your reply, logging a Call marked Connected, or a Meeting, from Log activity now counts as the reply, just as sending the customer an email does: the reply clock stops. A Note, a Voicemail or No answer leaves the clock running, because the customer has not heard from you yet. And the Project on a call’s page now keeps the project you choose, so the call sits with the rest of that project’s work. See Take a service call.

Oct 11: Labor lands in cost in the month it is worked

On a workspace that recognizes revenue cost to cost, labor absorption now posts at any cadence and credits wages and burden as two lines, so your accountant sees each part. Hours approved after a month has posted become a top-up dated to that month while it is open, and every post handles the oldest open month first, so a late hour lands once and in the right month. For companies that run service calls, the Service labor card moves technicians’ service-call time out of wages and into cost in the month it is worked, billed or not. Reports also has Labor cost per billable hour, a yearly worksheet for pricing. See Run the recognition close and Find what a technician hour really costs.

Oct 11: Service calls in the iPhone and iPad app

For companies that run service calls, the app has a Service tab with two parts: My Day for a technician’s visits and Calls for the office. Calls shows how many calls are open, due today, at risk and without a visit booked, then the open, mine, triage, at risk, unscheduled and closed views, and a search that finds any call by its number, title, caller, customer or site. A call opens in full: the site alert and access notes, one tap to call or text the contact or to navigate to the site, its visits with their notes, the parts, the files, the site’s other calls and the activity. Dispatchers change a call’s status, priority and owner from the top of the call, and the app asks before it saves. A stop on My Day has Open call, a visit that is yours today has Open in My Day, and Open on web opens the call on the website for anything the app does not do yet. The app now also uses your company’s own names, so a company that calls its events projects sees Projects in the app too. This build is on TestFlight.

Oct 11: Every task says what it is about

A task made on a record now names that record everywhere it shows up away from it: in your Sales queue, on My Stuff, and in the email that hands it to you. It leads with the record’s number, then its name and customer, so a task like “Confirm the final count” reads with its event or project beside it, and one click opens the record. No more typing the project number into the task. My Stuff now opens with your Open tasks and a count of how many are overdue; Everyone shows the whole team’s open tasks with who has each. The email that assigns you a task, and the one that flags an overdue task, carries a button that opens the record. See Create and delegate tasks.

Oct 11: The iPhone app on a phone that opens

A new build of the iPhone and iPad app is on TestFlight. It is made for the iPhone that opens into a larger screen as well as every iPhone and iPad: on a phone the tabs stay at the bottom, and on an iPad or an opened phone the same sections become a sidebar with Events, Orders and the rest as reading panes, so folding or unfolding keeps your place. The decision actions on an expense, a proposal review and the propose times sheet now sit in the bar at the top, where the system can keep them beside the camera on a phone held sideways, and Save, Send and Submit show a small symbol beside the word. My Day puts a map of the day’s stops beside the list on a larger screen, with the next stop in green, and a running clock on the Work tab keeps a Punch out button at the top.

Present to client. A delivery order, a proposal, a change order and a rental item have a Present to client button that shows the client a clean page with nothing internal on it: no costs, no notes, no margins. On a delivery the client signs on the screen and the signature lands under the order’s proofs. On a proposal or a change order the client’s own signing page opens right there. To get back to your screen, press and hold Done presenting at the foot for about two seconds; a quick tap only shows a hint, so a stray touch never ends it. This build needs iOS 18 or later.

Oct 8: Florio suggests a category for the parts nothing placed

The Catalog has a Categories view. Parts that no vendor’s section placed and that did not match the old catalogue get a suggested category from Florio, read from the part’s words, the maker’s own words and specifications, and the section it came under, each with one plain line why. Nothing goes on by itself: approve them one at a time or many at once, choose another, or turn a suggestion down. The parts Florio could not place wait under Without a category, each with why. See Florio’s suggestions.

Oct 8: Install hours by category

Your company now keeps one list of catalog categories, in Admin › Catalog Categories. Each category gives its parts the install hours one unit takes, the people the work takes, and a system. A part takes its category’s hours (a pair twice; a part bought in packs or boxes none for now) and keeps following them until somebody changes the part’s own hours; picking the part onto a proposal brings the hours with it. Changing a category’s hours says how many parts move before it saves, and lines already on proposals keep theirs. Categories can be merged and retired; the catalog has a Category column and filter. A vendor’s own sections (a list’s headings, its Category column, a store’s categories) can be mapped once on its list page, with Florio’s proposals, and new parts from a mapped section land in its category. See Give parts their install hours by category.

Oct 8: Parts from a store whose pages are named, not numbered

A maker’s store that names its product pages by product rather than by part number can now be read for pictures, the maker’s words and the spec sheet: Florio finds each part by its exact number in the store’s own list of products, then reads that product’s page. A part the store does not list is left alone. Also: a measurement is no longer taken from a page where a heading such as Dimensions has nothing under it but icons. See Pictures and client text.

Oct 8: The maker’s specifications on a part’s page

A part read from a store’s product page now shows the maker’s whole specification table under Details: every row in the maker’s own sections and words (ports, power, coverage, client count, mounting), a yes as a check. A long table opens on its first two sections, with Show all N rows for the rest. It is read-only and never prints on a client document. See Specifications.

Also: a missing picture no longer stops the reading of a whole price list (the row is read with the pictures that load); a list a site refuses rests until the next night, and Try again counts the nights afresh. A part with nothing to draft from beyond its own number is no longer drafted, and the draft check reads 1x2 as one input to two outputs and inch marks written as web codes or curly quotes.

Oct 7: A proposal that cannot save now says so, and waits

If a change to a draft proposal cannot be saved, the save note now reads Not saved in red with a plain explanation, and Submit for approval and the other actions on the page stop until your changes save, so an approver never receives an older copy. Closing or reloading the page while a change is unsaved asks you first. Text pasted from other programs can carry an invisible character that used to stop every save on the proposal; Florio now removes it. See Restore an earlier version.

Oct 6: The part’s pictures on a proposal line

A proposal line you picked from the catalog before its part had pictures now offers The part’s pictures beside Upload, Choose from library and Generate with AI. Choose which of the part’s pictures to add; they go on after the line’s own pictures, and nothing else on the line changes. Deleting a picture from a line never removes the part’s own picture from the catalog. See Build a proposal.

Oct 6: Drafted names that call a part something new wait for a look

A client name drafted by Florio that calls a part a kind of thing its vendor’s list and the maker’s page never call it (a bracket, a mount, a kit, a module) now waits for a look instead of going on by itself. Figures written as a range (90Hz-20kHz), after an x (H x3” D) or as amp-hours (7Ah) now count as stated. And a list whose maker’s site refuses the reader stops only after three refused nights in a row: a night the reader restarts still counts as one night. See Pictures and client text.

Oct 6: The time behind the total cost

On the Live profit panel, Actual to date on the Total cost row now lists the time clocked on the job as well as the documents: one row for each cost line people clocked time against, with its hours and cost, overtime premiums included. Before, it listed the documents only, so on a job with crew time the list read short of the figure. Click a time row to see its entries, and Back to Total actual to return. See Actual to date: the documents.

Oct 6: The time behind a subcontractor’s cost

On the Live profit panel, Actual to date on the Subcontractor row now opens the hours a vendor-billed subcontractor clocked on the job, at their rate, with any bills coded to subcontract work, so the list adds up to the figure. Before, it opened the documents list, which read “No cost has reached this project yet.” when the cost was all clocked time. See Labor: the rate, broken down.

Oct 6: Pictures and text, and client names drafted by Florio

Catalog has a new Pictures and text view: Waiting for a look gathers every family or other-finish picture and every held draft, with Use it on each and Use selected for several; Added by Florio lists what went on a part by itself, with Remove; Nothing found lists the parts a read found no picture for, with Read again. Where your company switches it on, Florio also drafts each part’s client name and description from your vendor’s list and the maker’s page, checks every figure against them, and holds back any draft with a figure they do not state. Your own words are never replaced. See Pictures and client text.

Oct 6: Pictures from more makers, and a store’s real cost

A maker’s store read as its price list now reads what the store charges, its surcharges included, and prices a pack the store sells (a 5-pack, say) per pack. It also keeps each product’s pictures, the maker’s words, its measurements and its documents from the same pages, so a part picked from that store arrives with its pictures. Makers whose sites list their products in a sitemap can now be read too: a part listed there gets its own pictures and words, and a part with no page of its own gets its family’s picture, waiting for a look. A site that answers with a check for robots instead of the page is treated as a refusal, and the part is read again another night. See Pictures and client text.

Oct 5: A speaker can take more than one trim size

A speaker’s Needs a Trim card now takes sizes per shape: a small-aperture speaker that takes a 3 in or a 4 in trim, round or square, or one that takes an 8.5 in round trim or a 7 in square one. On a proposal or change order line, the Trim line then offers a Size beside the shape and type, and the client’s document prints the size chosen. See Sell a part as one and order it as its pieces.

Oct 5: Stripe payouts, fees and refunds book themselves in QuickBooks

Closing Stripe each month is no longer hand work. Alongside the contract receipts it already books, Florio now books each Stripe payout as a transfer between Stripe Clearing and your bank (dated the day it arrives), each of Stripe’s own fees as a journal entry, and each refund of a contract payment as a refund receipt. Start it in Shadow to see every posting before anything is sent; every morning Florio checks that Stripe Clearing matches Stripe, and on the first of each month a task lists last month’s transfers to match in Banking. Refunds now show on the contract’s Payments card and the customer’s Financials, marked Refunded. See Close Stripe in QuickBooks each month.

Oct 5: Transparent product pictures print on white

A product picture with a transparent background now prints on white in the proposal and change order PDF, instead of on a beige box, so a maker’s cut-out photo of a dark device reads clearly on the page. Every other picture prints as before.

Oct 5: Sell a part as one and order it as its pieces

A part the client buys as one can now be ordered as its pieces. When a vendor’s price list sets rows under a part whose figures add up to it, the list’s reading offers it as a kit to confirm, and the part’s page shows what it is ordered as, each piece at its cost; its cost is what the pieces cost. A speaker that needs a trim gets a Trim line on the proposal: pick the shape and type, and the trim and grille are added to the speaker’s price. The client’s document prints “Trim: round, mud-in, 3 in”, and a proposal cannot be sent until every trim is chosen. On acceptance, the job’s materials, the purchasing queue and the order carry each piece, the trim and the grille, grouped under what was sold, and every part picked from the catalog reaches materials with its suggested vendor and part number. See Sell a part as one and order it as its pieces.

Oct 5: Create an opportunity from a service call

A service call can now become an opportunity: choose Create an opportunity from the call’s menu, name it, pick its owner, contact and site, say who gets the credit for finding it, and write scope notes for the quote. For teams who quote in D-Tools Cloud, Florio makes the opportunity in D-Tools and brings it straight back as a project with its D-Tools number, so the sale stays tied to the call it came from. The call lists its opportunities, the project says which call it came from, and its scope notes have a Copy button for the quote. Link an existing opportunity ties a call to one that is already there. See Create an opportunity from a call.

Oct 5: Triage opens on everything waiting

Triage now opens on All: every request waiting for someone, newest first, each card marked with its lane (Needs Match, or held as automated, as a possible project or from the website), so a held request is never out of sight. The sidebar shows how many are waiting, and the Service Calls list’s Triage chip shows the same requests. A reply that starts a new subject on an old email thread with a colleague is now treated as a new request instead of being held. See Work the service triage queue.

Oct 5: Optional dates, numbers and amounts can be emptied

An optional date, number or money field can now be emptied, not only changed: an event’s travel minutes back to the default, an order’s budget, a purchase order line’s price back to its estimate, a pay rate, the QuickBooks go-live dates and others. Fields other records depend on stay filled: an event’s date, a released order’s date, a maintenance start date and a rental’s price. A locked past event’s date can no longer be emptied without the permission to edit past events.

Oct 5: A price list names the vendor purchasing suggests

A part a price list carries now has that list’s vendor as its suggested vendor, when it has none, so a purchase order for it opens on that vendor; a suggested vendor somebody chose is never changed. The review also shows each row’s List price, including rows that stay on the list, and a price cell reading POA (price on application) is read as no price. See Review and apply.

Oct 4: A first price list asks fewer questions

Two numbers on one list that differ only by a decimal point are two parts. A distributor’s first list that carries both a 1.5 ft and a 15 ft cord no longer holds the second for a person as if it were the first: the list itself names two products. Rows whose brand cell is blank can now be chosen like any brand. See Review and apply.

Oct 4: Price lists that name their brands in columns

A distributor’s list that names its brands and lines in columns now reads them. Give the columns their roles (Line, Category, Ships only to) and choose, once, which makers and lines become parts and which stay on the price list; a rule keeps a category such as shades on the list, and rows that do not ship to your country cannot be ordered. The review adds only the rows the reading chooses and says which, and next month’s list is read the same way, and so is a distributor’s list with one brand column, brand by brand. Pictures and details can also come from a maker’s own store, read for the parts only. See Brands and parts by column.

Oct 4: Brands within one maker’s price list

A maker’s list that carries other brands now gives each row its own. When a vendor’s list groups its sections under lines, or carries another brand as a few sections, Florio reads the three levels of heading and lets you set a brand for any line or section, plus a rule for a brand that only shows up in the rows’ names. The parts it makes carry the right maker, the review counts the rows by brand, and a later list stops only when it has a heading you have not given a brand and category yet. See Brands within one list.

Oct 4: Website form submissions file themselves

A form on your own website now feeds Florio directly. Each submission is read as it arrives and filed where it belongs: a service request becomes a service call, a sales inquiry becomes a lead with a rep assigned, and an obvious sales pitch is set aside with your spam leads. Anything Florio is not sure about waits in the From the website lane of Triage for a person to decide, and the record’s activity shows it was Filed from the website form. Florio support connects your form for you. See Work the service triage queue.

Oct 4: Pictures and details read from makers’ pages

A list’s rows get their pictures before anybody picks them. For a vendor’s price list, Florio can now read each maker’s public page overnight, slowly and under its own name, and keep the picture, the maker’s words and the details for every row: an exact match goes on by itself, a family picture or another finish waits for a look, and nothing a person added is ever replaced. A vendor’s list shows a Pictures and Details card with its own switch, how far the read has got and what it found, and a part with nothing found offers Read again. Reading is off until Florio support switches it on for your company. See How Florio reads a maker’s page.

Oct 3: Drafted names and descriptions for new rental pieces

Florio writes the first draft of every new piece’s listing. After a shoot is approved, each piece gets a drafted storefront name and description in your catalog’s voice, from its measurements, finish, the card’s notes and its photos. Review it on the piece’s page and choose Use this, or approve copy that is already right from the batch’s board. A piece from an intake batch goes live only once its copy is approved. See approve each piece’s name and description.

Oct 3: Pictures and client words for every part

A part shows what it is and says it in a client’s words. Each part’s page now lists its pictures with where each came from, in an order you set by dragging, and a Client name and Client description that proposals print instead of the catalog’s own wording. A picture of the product family or another finish waits for Use it before it can reach a client. Pictures also lead the rows of the catalog, every picker and a vendor’s price list, and the catalog’s search now finds rows that are only on a vendor’s list. Labor, services, licences and fees show your company’s logomark instead, on the proposal line too. See Give a part its pictures and the words a client reads.

Oct 3: A cost from an old price list is flagged

Know when a cost may be out of date. A part whose cost rests only on a vendor’s list dated more than 180 days ago now says so: an Old list chip on the row in every catalog picker, a new reason Cost from an old list under Prices to review with the list and its date, and the chip on the part’s Sources panel. A newer list or a cost edited by hand clears it. See A cost from an old list.

Oct 3: Vendor price lists in the catalog

Bring a vendor’s price list in as the vendor sent it. The Catalog gains a Price lists view. Import a price list reads an Excel or CSV file, shows how it was read (which column is the cost, the list price, the pack), and then a review of what it would change: costs that follow the list, prices that move, parts that are new, rows that need a decision. Nothing changes until you press Apply list and confirm. Rules that protect your prices. A cost somebody edited by hand is kept, a price set by hand never comes down on its own, nothing is left at or below cost, and the first list to describe a part never lowers its price. Several lists under one vendor, each with its own name, date and history, for the vendor that sells a second brand. Pick straight from a list. Every catalog picker (proposals, change orders, service calls, a job’s materials) now also shows what is on a price list and not in your catalog yet; picking one adds the part with its cost, price and pack. See Import a vendor’s price list.

Oct 3: Employee expenses, from the receipt to payroll

Record what you paid for out of pocket, with the receipt. A new Expenses page lets anyone photograph a receipt, say what it was and what it was for, split it between jobs, or claim mileage, on the web or in the iPhone app, where the camera opens first. Two approvals, like time. The person’s manager approves, then a final approver; nobody approves their own, and no one person gives both. At final approval the cost goes onto the job and the expense is stamped to a pay period. Repaid through payroll. The payroll page gains an Expense reimbursements card with a full-detail file and an import for your payroll system (confirm its layout and code with your provider first), and an Expense bills card that drafts one QuickBooks bill per person per pay period with the receipts attached. Sending those bills is off until an admin turns it on. Expenses are switched on per company under Admin, then Expenses. An expense can still be charged to a service call that closed recently, within the days your company accepts expenses. See Record an expense and get repaid, Approve expenses, Repay approved expenses and Set up employee expenses.

Oct 3: The shot list and the intake board

Plan the shoot day by day. Rentals › Shot List lays out which pieces to pull on each shooting day: the pilot batch first, then pieces on your storefront, then new ones, grouped by set-up and shelf. Unmeasured pieces are marked Measure first, and it prints one page per day. Each batch has a board showing where every card stands, from pulled to live on the storefront. See plan the shoot with the shot list.

Oct 3: PIN sign-in on shared devices, and a password lockout that holds

Sign in with a PIN on the warehouse phones. On a network you switch on under Admin, then Networks, the sign-in screen lists everyone with a PIN: tap your name and type 6 digits. PIN sign-ins end after 30 idle minutes or 12 hours, never reach the Admin area, and their changes show “(PIN)” in the activity log. Each person sets their PIN from their profile. Five wrong passwords now lock an account for 15 minutes, as intended; before, the lock never engaged. See sign in with a PIN on shared devices.

Oct 3: Shoot uploads and photos in order

Upload a camera folder and approve its photos. Rentals › Shoot Uploads takes a shoot’s JPEGs, splits them into pieces at each intake card, flags blurry or badly exposed photos, and lets you keep, reject, re-angle, set the cover or move photos before approving them onto each piece. Drag a piece’s photos into order. On a piece’s page, photos now reorder by drag and drop, and the storefront shows the same order everywhere, listing covers included. See Upload a shoot and approve its photos.

Oct 3: The Measuring Station

Fill intake cards in on a phone. Rentals › Measuring Station opens a card from a scan, a typed number or a photo of its code, and fills it in the card’s own order with your lists as tap targets. One save updates the piece and ticks the card. Batches with blank cards for new pieces. Printing cards on Catalog intake now starts a batch, can add blank cards for new pieces with their numbers already reserved, and tracks how many are pulled, measured and back on the shelf. A new piece is created as an unpublished draft on its first save. See Fill a card in at the Measuring Station.

Oct 3: Where each label goes, and sizes on one line

Every piece records where its label goes and what it is printed on. A piece’s Catalog card has a Code Location (say, underneath, near the left front leg) and a Label Stock (white, clear or silver poly, a hang tag, sew-in, or your own). Both print in step 4 of the intake card, and the stocks offered are a list you edit on Catalog intake. See Label the units. Sizes read on one line. On your storefront, a piece’s height, width and depth now share one Dimensions row on its page and on its printed spec sheet, like 3’ H x 6’ W x 3’ 6” D.

Oct 2: Number boxes that say what they take

A comma never goes into a number box. In the quantity, cost, price, amount and hours boxes on service call parts and charges, project materials, purchase orders and bills, stock lines, summaries of findings and schedule hours, a typed comma is ignored, and a note under the box says to use a period for decimals. A number Florio cannot save says why before you save it. A third decimal place, or a number too long for the box, is explained under it, any total that depends on it shows a dash, and the save button waits until it reads. Before, a cost typed as 50,39 could fail with an error and save nothing. One clock, even on a double click. Clicking Clock in twice on the Time clock page starts one clock.

Oct 2: Change orders on the SOW tab, with their scope required

Every signed change order is on the SOW tab. A change order written on its own page now shows on the project’s SOW tab like any other amendment: muted while it waits for the client’s signature, then as a signed amendment, with the number the client saw and a View change order link to its page. Change orders brought in from your previous system say so in the same words as their own page, and open it too. A client change order needs its scope. Its Scope of changes box is now marked Required for review, and it cannot go for approval until it is written, as in the proposal builder. See Read it on the SOW tab.

Oct 2: What vendor mail did to each order, and bills that add up

Every purchase order shows its vendor documents. A new Vendor documents card on the purchase order lists each confirmation, shipping notice and invoice Florio attached to it and what each one did, or why it changed nothing. Their PDFs open from the card, from Vendor mail and from the bill. Bills that add up before they are drafted. Vendor mail now shows prices per hundred and per thousand as the vendor printed them, marks an invoice whose lines do not match its totals, and drafts a bill only when they agree; otherwise it tells you why and leaves the bill to you. See On the purchase order and Lines as the vendor printed them.

September 2026

Sep 30: Number, label and locate your rental pieces

Every piece gets a permanent number. A new Catalog intake page under Rentals lists what each piece still needs, gives pieces their numbers (from each category’s code, like CH-0001), and prints their intake cards two to a page. Each piece’s page can make and print a label for every unit, or one per case for small items, and Locations keeps your warehouse’s shelf and floor codes with printable labels. See Number, label and locate your pieces.

Sep 29: Printed spec sheets, and which pieces get scanned

Print any piece as a one-page spec sheet. Every storefront piece has a Print Spec Sheet button: a letter page with the photo, specifications, your address and phone, and a QR code back to the piece. The price prints only when you tick Include price. Each scan is counted against its piece, shown on the piece in Florio and in a new Storefront visits report. See Print spec sheets and see where visits come from.

Sep 29: Shop the storefront by color family

Colors come in families. The storefront’s Color menu and a new Shop by Color row of swatches on the landing page list color families. Picking Pink shows every piece in any pink shade, while a piece’s own page keeps its exact color. You arrange the families under Rentals, then Categories, in Colors. See Put your photos on the storefront.

Sep 28: Photo-led storefront pages, Shop by Look, and colors that count once

Your event photos lead the storefront. The landing page opens on up to three of your event photos, rotating behind the headline, followed by photo tiles for each category, Shop by Look, and a short story about the designers behind the collection. A category page opens on a wide photo, and a sub-category shows one beside its name. You choose every photo in Florio under Rentals, then Storefront pages, and on each category. See Put your photos on the storefront.

Every photo carries its photographer’s credit. Only a photo with a credited photographer that is cleared for use can be chosen, and the storefront shows “Photo:” and the photographer’s name under it. If a photo later loses its clearance, the storefront drops it and Florio flags it.

Shop by Look. A look gathers every published piece of one style, such as Glam or Rustic, under a mood photo, and shows only while it has pieces.

Colors count once. A piece in Gold & Ivory now shows when a shopper picks Gold or Ivory, instead of adding a Gold & Ivory entry to the Color menu. In Florio, a piece’s color is picked from single colors, and shape, material, color and style ask “Did you mean…?” before adding a value that is one letter off an existing one.

Sep 28: Change orders brought over from your previous system read in full

Every change order brought over from your previous system has its name back. Where one read “Untitled change order”, it now carries its own title. A client change order shows its scope of changes as the client read it, and an internal one keeps what it said in its internal notes, along with the client contact a client change order went to.

Its history is on the change order. Every event your previous system recorded on the order and its quote, from revisions and sales rep changes to approval, emailing and shipping, is in the change order’s own history at the time it happened and under the person who did it, and the change order’s approval and opening come from it. A change order’s history now reads newest first. The same entries show on the project’s activity; the admin activity report leaves them out, since they are not work done in Florio.

Signed copies and files. A client change order’s signed PDF is on record as its signed copy, and the order’s other files are on the project, named for their change order. See Raise and sign a change order.

Sep 28: Merge a duplicate service call right from Triage, and read who a forwarded request is from

Merge from Triage. Every Triage card now has Merge into…, and a card that is probably the same request as another open call says so, with the evidence (the same email address or phone number, the same email conversation). One dialog shows what the merge moves and fills in, and lets you carry the customer’s pending reply to the call you keep or mark it Already answered. A call with no customer can be merged too, and after Match to Client Florio offers the customer’s other open call. See Merge a duplicate.

Relay senders. List the services that pass requests on to you, such as a device portal’s support button or your answering service, under Admin, Service. Florio reads the customer’s own name, email and phone from their messages, files the call under that customer when exactly one fits, and never saves the service’s address on a customer. See Relay senders.

Sep 28: A new look for the rental storefront, with a category menu and notes on every piece

The storefront has a new look. A clean white page, a serif for headings, square buttons, and a dark mode that follows the shopper’s device (with a switch in the footer). Photos now show the whole piece instead of a cropped frame, and a piece without a photo says so.

Shoppers browse by category. A menu across the top lists your categories; hover one to see its sub-categories, each with its own page. You arrange the menu yourself under Rentals, then Categories. See Organize the storefront menu.

Notes on the pieces that need them. Write a note once, such as which decals a bar accepts, and show it under Please note or Important on every piece in a category, or on one piece.

Smaller things. Sort by Oldest to work through the catalog in the order it was entered, and the Material filter is gone from the catalog (a piece’s page still lists its material).

Sep 27: Vendor mail reads the PDF, learns your vendors, and skips their newsletters

Florio now reads the PDF a vendor attaches, not only the email. Some vendors send nothing but a PDF, and an invoice often carries its tracking numbers only inside it; the order number, the PO field and the tracking numbers are found there too. See Let Florio read your vendor mail.

An invoice you already entered by hand ties to that bill. Confirming a vendor’s invoice whose number already has a bill for that vendor now links the document to the bill instead of stopping with “already entered”, and Draft bills counts only bills not yet pushed.

Confirming a vendor document now teaches Florio who sent it. The first time somebody confirms a document that came through one of your groups from an address Florio did not know, that address is learned for the order’s vendor and read from then on. Vendor newsletters are filed under Set aside without being read, and senders on your Exclusions (never capture) list are skipped by vendor mail too. See Set up vendor mail.

Your PO number’s digits alone now count. A vendor PO field that holds just the digits, like 058213 for PO-058213, attaches the document on its own when the email comes from that order’s vendor, and is a suggestion from anyone else. See What attaches itself.

Sep 27: Close a project into last month, and bill a milestone into last month

When you create a project’s closing entry, the dialog now shows what the Accounting date you pick will recognize in that month, before you commit to it. Closing into an earlier month also clears the project’s later revenue runs, so the next month’s close has nothing stale to post. A close is refused if revenue after the chosen date has already been posted.

Bill now on a project’s payment schedule now asks for the Invoice date first. It defaults to today; set it back to date the QuickBooks invoice into the month the billing belongs to. A date in the future, or inside QuickBooks’ closed books, is refused before anything is sent. A final invoice that is dated by the event itself bills straight away, as before.

Sep 27: A materials line’s name is corrected in place

On a project’s Materials tab and on a purchase order’s lines, the item name, and the manufacturer and model number under it, are now edited in place like the line’s costing and status: point at the line and click the text. It works on every line the proposal no longer owns: one you added by hand, and any line released to purchasing, on an order, arrived or shipped. A proposal line still to order keeps the proposal’s name, and a change order that already carries a line keeps the wording it gathered. See Materials and pick lists.

Sep 27: The scope of changes is written as rich text

A client change order’s Scope of changes is now edited with the same editor the proposal builder uses: bold, italic, bulleted and numbered lists, saved as you go. Draft from line changes writes a first draft from the change order’s own decided lines, for you to edit. A scope typed as plain lines before today keeps its line breaks on the signing page, on the PDF and on the change order’s own page, instead of running together as one paragraph.

Sep 27: A purchasing line split off another one adopts cleanly, and a long selection scrolls

Adopting a part into an internal change order now works when the row is a piece that purchasing split off another line (the rest of an order moved back, or a line bought from two vendors). Before, approving such a change order left the ledger approved while the materials stayed as they were, and the composer said so. The piece is governed by the change order like any adopted row, and Rebuild from proposal on the Materials tab finishes an approval that was left in that state. The Add to change order dialog also scrolls inside itself now, so its Add button is reachable however many rows are selected.

Sep 27: Change orders that stand on their own

A change order is now a document of its own on the project’s contract, and any number can be open at once. Tick the rows to change on the project’s Materials tab and choose Add to change order: each row says whether it is adjusted, swapped, removed or decided later, and stays held on the purchasing queue, named after its change order, until the change order is decided. The composer shows the value and cost as the sums of its lines, with the proposal builder’s cost drawer on every line. An internal change order applies on approval and the materials follow it. A client change order goes out for signature from its own page: send it with the contract’s signer already picked, copy a signing or a read-only link, or download the client’s PDF; the client signs on the page, or you record a signature they gave elsewhere from the signed PDF. On the signature, the value enters the contract and the draws that have not been billed take the change, while invoices already sent stay exactly as they are. Approvers find change orders waiting in Approvals, the project’s Change orders tab lists them all, and a purchase order number or a project name on the purchasing pages opens a card with the essentials. See Raise and sign a change order.

Sep 27: A service call opens at its number

A service call’s address is now its number, /service-calls/SV-26-055083, in every link Florio writes: the lists, the dispatch board, search, emails, notifications and the daily briefing. An old link by id still lands and shows the number. A number nobody holds reads No service call has the number SV-26-000000.

Sep 27: The activity log reads in words

Admin › Activity now names actions the way the record’s own log does, names people and customers rather than showing their ids, spells out coded values and catalog keys, shows clock times as times, and leaves internal ids out of the change lines. A customer’s own action from their visit link shows under Employee as Customer, from their visit link. See Read the activity log.

Sep 26: Undo a missed hour from your phone

An hour you added by mistake from the app can be taken back where you added it. On iPhone, iPad and Mac, the line Added. It is with your manager now. under Add missed time now has Undo beside it for as long as it shows. Confirm Remove entry and the hour comes off your record; if your manager has already approved it, Florio says so and the hour stays. On the web, Remove on the row in My recent entries does the same. See Fix or remove your own time.

Sep 26: Empty an optional field to clear it

An optional value you no longer want can now be removed, not just replaced: open the field, delete what is there and click away. That works across Florio, on a customer’s company, email, phone and billing address; an order’s occasion, recipient, card message, instructions and delivery address; an event’s name, notes and day-of times (an event with no name shows its customer’s name); a planner’s contact details; a plant care site’s address and notes; rental details and photo captions; standing orders; time entry notes; and a team member’s phone, address and emergency contact. Each clear shows on the record’s activity log like any other change. A person’s payroll ID can be cleared too, and every change to it is now recorded under Admin › Activity.

Sep 26: Customers from D-Tools arrive with their site and contact, and sites go to D-Tools

For teams who quote in D-Tools Cloud: a customer new from D-Tools now arrives in Florio with a main site at the project’s address, named after the customer, and with its main contact, and the project points at that site, so a service call has a place and a person to pick. A later project at another address adds it as another site, and an address typed a little differently (“Drive” or “Dr”, a unit number) is recognized as the same place. In the other direction, a customer’s sites made in Florio now reach D-Tools under Site Address. D-Tools can add a site address but not change or remove one, so a site edited or retired in Florio keeps its earlier address in D-Tools, and the customer’s activity log says so.

Sep 26: Customers made in Florio appear in D-Tools and stay up to date

For teams who quote in D-Tools Cloud: a customer made in Florio is now created in D-Tools a few minutes later, with its contacts, billing address and sales owner, so it is there to pick when you start an opportunity. Florio looks in D-Tools first and links to a customer that already has the same name and email or phone rather than making a second one. After that, changes to a customer’s name, email, phone, billing address or contacts in Florio reach D-Tools on their own. D-Tools does not accept a blank, so a value erased in Florio stays in D-Tools. Each step shows on the customer’s activity log.

Sep 26: Deleting a time entry asks first, and hours a visit recorded stay put

In All entries (manager) on the Time clock page, Delete now opens a confirmation naming the entry it is about to remove: whose it is, the work, the day, In, Out and how long, with Added by employee when the person reconstructed the hour themselves rather than punching it. It says plainly that it cannot be undone and points at In or Out when only the times are wrong, and if the employee asked for the deletion, their reason is in the same window.

Hours that cannot be deleted now say why, in your own language, instead of failing quietly. An hour created when a plant care visit was checked out is that visit’s time record, so Florio names the visit and asks you to correct In or Out instead; an hour already paid on a released subcontractor bill names the bill; an hour payroll has approved asks you to reopen it first. A delivery clock’s map trail is kept when its hour goes. Plant care visits are checked in and out once as well: a second check-in no longer opens a second hour, and a visit marked skipped or cancelled does not offer Check in at all.

Sep 26: Fix your own hours, remove time you added by mistake, or ask for a delete

Under Time clock, My recent entries now lets you correct your own In, Out and work type while an hour is waiting for approval or has been returned to you, and fixing a returned hour sends it back for review in the same step. Clocked in late for work that started earlier? Change the start from the running clock itself, while it is still running. Time you added yourself by mistake has Remove. For a punch, or an hour your manager already approved, Request delete asks your manager with a reason: they see Delete requested on the entry, and either delete it or choose Keep it… with a note that comes back to you. Hours payroll has approved stay with your manager. See Fix or remove your own time.

Sep 26: Send a proposal to an individual customer’s own email

When the customer is a person rather than a company and the event has no contact of its own, Send to customer now lists that customer’s own email, tagged Customer and ticked, instead of leaving you with nobody to send to. A company’s shared address shows as Company inbox and is never ticked for you. If nobody on the event has an address, Add email saves one right in the send window, on the contact or the customer record, so it is there next time. If the address already belongs to another customer, Florio says so and offers Open that customer: it is often the same person entered twice, worth merging. See Send a proposal.

Sep 26: A service call’s activity log says what the customer asked for

When a customer moves or cancels a visit, or answers “did that fix it?”, from their visit page, the service call’s activity log now says what they asked for, not only that they did: which visit, the old and new time of a move, the option they tapped (Mornings only, Bad timing), a time they picked that could not be booked and why, and the note they typed, on a line of its own. Those rows, and the visit changes and customer notices their action sets off, read “by the customer, from their visit link”, and when someone on your team clicks Handled on the request, the log records who. Customers act on their own visits only where Clients may act on their own visit is on in your service settings.

Sep 26: Purchasing dialogs open in front of the page, and ask before losing your work

Create purchase order, Add tracking, Move the rest back to the queue, Enter a bill, Add a stock line, Release to purchasing and Un-ship now open as a window in the middle of the screen, wherever you are on the page, instead of a card at the foot of the table that a long page could hide. If you have typed something and click away, press Escape or choose Cancel, Florio asks Discard your changes? first, with Keep editing as the default. A tracking number’s package view has nothing to save, so it closes at once.

The same change reaches five more places that opened at the foot of a long page: Members on an auto-routing queue, Manage on a team, Manage on a storefront order, editing a payment cadence, and Schedule on a rental reservation.

Sep 26: A customer added in D-Tools joins the customer you already have

When someone added a customer in D-Tools who was already in Florio, the first project from D-Tools created a second customer with the same name and email. Florio now looks for the customer you already have: when the email or phone number matches and the name matches too, the project lands on that customer and the two stay linked from then on. A matching email alone is not enough, because several companies can share one contact. The customer’s activity log shows Linked to D-Tools customer and what matched.

Sep 25: Record anyone’s time off, and a whole day off blocks the schedule

Admins and HR can now put someone’s time off on the schedule without a request, from the new Time off page under Time clock, a person’s page, or Mark time off on the dispatch board. It lands at once with no approvals; someone on payroll still reaches the payroll step, a subcontractor’s entry is final, and the person is told. A whole day of time off is now a hard block when scheduling, hours count workdays only, and each workspace sets which types employees can request and which only an admin records. See Request and approve time off.

Sep 25: Florio looks for an existing customer before creating a new one

Creating a customer from the customer picker or the Customers page now checks the customers you already have. A same or similar name opens Already a Customer? with each match’s contact details and latest event, so you can Use this customer, or Create new customer anyway when it really is someone else, and the activity log records that it was created despite the match. An email or phone number that already belongs to a customer cannot go on a second one.

Sep 25: The change-order document groups its lines by section, and you can download it

The document a client signs for a change order now shows only the lines that changed, grouped under their proposal sections with their photos, a Changed or Removed tag where a line was edited or taken out, and totals by section with the contract value before and after. Staff can download the same document as a PDF from the Change order review, the builder or the Revision ledger, with signature lines for a signature on paper or a client’s own project portal. See Raise and sign a change order.

Sep 23: The payroll export card counts only the file it exports

The Payroll Export card on the payroll approval page now counts only the people its file pays. Subcontractors paid by vendor bill get a line of their own with a link to the Subcontractor bills card, instead of reading as hours still waiting for approval, and when every payroll hour is approved the card says Every payroll hour is HR-approved. See Approve time entries.

Sep 23: Overtime in the payroll export

The Generic (full detail) payroll export now shows every entry’s regular and overtime hours for staff paid hourly. Overtime is the hours past 40 in the Monday to Sunday week, counted in the order they were worked, so a week that ends on another job puts its overtime there rather than on a prevailing wage job. See Prevailing wage jobs.

Sep 22: Carrier scan times now read exactly as the carrier recorded them

A connected carrier’s scans are stamped with the carrier’s own time, to the minute, and sit in the order they happened. Before this, UPS scans could all land at the same moment and show a day earlier than UPS’s own page. Scans already stored on a workspace are corrected the next time Florio checks the package. See See where an order’s boxes are.

Sep 22: Un-ship materials

Take back part of a shipment. When a project line was recorded as shipped but did not go out, or came back from site, Un-ship under the item takes back any number of it and asks what happened: Came back, Shipped by mistake, Never arrived (which also lowers what was received on the purchase order) or, for stock that is not on an order, Not needed here (back on the shelf, and the line shrinks). The shipments ledger keeps a negative row with the reason; nothing is erased.

The status follows the quantities. Choosing an earlier status on a shipped line opens Un-ship instead of quietly changing the word, and a status the quantities would contradict is refused with a note saying where to make the change. Marking a line Shipped now needs the permission to ship, and ships only what is in hand. A receipt lowered on a purchase order steps the line back to On order. See Plan materials and load the truck.

Sep 22: Service call files without the signature clutter

A call’s Attachments card now holds what people sent, not how their email looked. The logos and icons in email signatures stay with the email instead of filling the card, and a photo or document quoted down a reply chain shows once. A photo someone pastes into the body still arrives. Files that reached a call before this were tidied the same way; every email still has all of its files. See Take a service call.

Sep 22: Close a call as not a service call

Mail to your service address that was never a service request now has a way out. From the menu at the top right of a call’s header, Not a service call records what it really was and sends the conversation where it belongs: to its project, to a lead (or, for an existing customer, a new project), to an Ignore at intake rule, or to spam. Later replies follow it there and never open another call. See Take a service call.

Triage now holds mail that is probably not a request. Newsletters and system notices, and replies to a project conversation, wait in Looks automated and Possibly a project with no reply clock and no acknowledgement until someone looks. See Work the service triage queue.

Sep 21: Choose what your clients read on an invoice

The invoice settings added this week now have a screen of their own. A new Invoice presentation card, beside Invoicing options in the QuickBooks settings, holds the wording of each billing line, the labels on a payment’s taxable and non-taxable lines, whether service invoices show labor hours and what their labor line says, which invoices carry a Note to customer, and whether card and bank payment are offered online. Until now they could only be changed on request.

A service invoice’s labor line can now name the days the work was done, such as “Service performed September 18”, instead of repeating Labor. Each invoice names only the days whose hours it bills, so with labor hours left off the client sees when you worked but not your rate.

Every setting opens where your invoices already are, so nothing changes until you change it. Each change asks you to confirm, is recorded with who made it, and reaches the invoices Florio creates from then on. The taxable and non-taxable labels carry a caution beside their switch: they are safe only while your QuickBooks invoice form hides per-line amounts. See What the client sees on the invoice.

Sep 21: Rename a service call

A service call’s title can now be changed from the call itself. A call opened from an email takes the email’s subject as its title, which often names only the building. Click the title in the call’s header, next to its number, and type one that says what the visit is for; the rename is written to the call’s activity log. The title also names the visit in the appointment and reminder emails, so write it for the customer as well as your team. See Take a service call.

Sep 21: A delivery photo finishes the delivery

Capturing proof at the door now completes the delivery. A delivery photo or the customer’s signature marks the delivery done and the order Delivered, so a driver who photographs the doorstep and drives on leaves nothing hanging. A photo of the finished arrangement likewise finishes the build and moves the order to Ready. Removing a photo later undoes neither.

The bell lists builds by when they are due, soonest first and within the production queue’s window, and flags any with no date or due today, so the most urgent work is never the one that falls off the list.

Two new reasons for cancelling an order: Recipient refused and Bad address, offered ahead of Could not deliver. A moved date is an edit to the order rather than a cancellation, so Date changed is no longer offered.

Sep 20: Orders reach production when they are ready, and the queues show what is due

A new order no longer lands on the production queue the moment someone starts typing it. It waits until it is released: by Release to production on the order, by payment in full, or on arrival from an online order platform. Until then the order says Not yet released to production and lists anything still missing, such as a date or an address. It warns and never blocks, so a rush order can still go straight through.

The production and delivery queues now sort by the date each order is needed, not the day it was taken, and they hold only open work. Production looks a week ahead and delivery two days ahead by default, Show everything lifts the window, and an order with no date always shows at the top under Needs a date. When orders are waiting to be released, a line at the top of the production queue says how many and links straight to them.

A pickup order now shows a pickup date rather than a delivery date.

Sep 21: Invoices say which payment they are, and carry a note for your client

A billing line now says which payment it is, such as Deposit, Upon Commencement or Retainage, instead of the name of the account it posts to. That account name read to clients as though you were acknowledging money received, when the invoice was asking for it.

Every project invoice carries a Note to customer stating where the payment sits in the contract, and a final invoice sets out the contract total, what was invoiced before, and this invoice. When a payment covers both taxable and non-taxable work it has to post as two lines, since QuickBooks works out tax line by line; the two are now labelled so they never read as a duplicate.

Service invoices get a note you write. Billing a service call now offers a Message to the client field. It starts from the call’s internal notes as a draft, and because those are written for your team, the invoice cannot be posted until you have edited the draft or cleared it.

Labor hours can be left off service invoices, so a client cannot work out your hourly rate from the hours beside the amount.

One correction to the entry below: whether an invoice can be paid online is set for your company, not in the Invoicing options card as that entry implied. See What the client sees on the invoice.

Sep 20: The card surcharge appears on service calls, and invoices can be paid online

If you charge a credit-card surcharge, it now reaches every invoice Florio posts, not just project billing. A service call billed for the same work used to carry no fee at all, purely because a different part of Florio wrote the document. The fee line and the note beneath it are identical either way.

The fee now carries the same class as the rest of the document it sits on, so it lands in the right column of a class-based profit and loss instead of sitting outside them all. If you do not use classes, nothing changes.

The note under the fee says what to pay instead. It gives the balance due if the client pays by ACH, wire or check, worked out from the invoice total rather than typed in by hand, so the two figures cannot drift apart. The surcharge percentage, the wording of that note, and the item the fee posts to are all yours to set under Invoicing options.

Invoices Florio posts can now be paid online. Whether to offer card and bank payment is a setting rather than something to remember per invoice. Until now Florio left the field alone and each invoice inherited whatever your QuickBooks default happened to be, which meant an invoice could reach a client with no way to pay it. Leave the setting untouched and QuickBooks keeps deciding exactly as before.

Sep 20: Emails about a signed proposal come from a person

The emails Florio sends when a proposal is signed now come from the person who sent it, rather than from the company name, and they reply to your sales address instead of a no-reply. Their subject lines lead with the event, so “Partners’ Dinner: your signed proposal” rather than a generic announcement.

This is not cosmetic. Some mail providers treat a company-branded sender carrying a PDF as a phishing attempt, and were filing these into spam even though every authentication check passed. Sending under the name of the person the client already corresponded with fixes it, and it matches how proposal emails have always gone out.

A client’s proposal link no longer dies when they sign it. The same link now opens Your signed agreement: who signed and when, the signed PDF to download, and the live proposal with their current payments. It does not expire. The signed PDF now actually carries their signature, and ends with a signature certificate.

The signing page asks who is signing before anything else, with nothing pre-selected. Someone who is not the addressee gives their own name and email so the signed copy reaches them, plus a phone number, and optionally a mailing address, organization and title. Their details appear under the signed row in Florio, and if they are not already a contact you are offered Add as contact. Nothing changes who the customer on the event is.

You can now countersign after a client accepts. On the Delivery panel, the signed row offers Countersign, which needs the new Countersign proposals permission (administrators by default). Your signature is added as a page on the back of the file the client signed, so the fully signed copy can never drift from what they agreed to, and the client is emailed a copy unless you switch that off. Their own link then serves the fully signed version. Change orders work the same way. See Countersign a proposal.

Sep 19: A past event can be corrected, not reused

Once an event is well past its date, it can no longer be turned back into a new sale. On a past event, moving the date to today or later, putting it back into the pipeline, and creating, revising, approving, sending or sharing its proposals need the Edit past events permission. Correcting the record still works for everyone: an earlier date, the client, the name, the venue, payments, costs and notes, and marking it won or lost. To do an event again, open its proposal and choose Copy to new event: the copy lands on a new event as a draft and goes through approval as usual. A record is never locked in its first week, so an event typed with last year’s date can still be fixed. See Past events.

Sep 19: Meeting times on the company clock

The calendar meeting form and the follow-up review now show the company time zone beside the time. A start time typed from anywhere books on the company clock, and the short zone name sits beside the field, so a rep in another zone no longer books a meeting three hours off. A follow-up time agreed in a meeting is read on the same clock. On My Day, the schedule card, the job sheet, the materials card and the pick list, a time and materials refusal now reads in Spanish for Spanish readers.

Sep 18: Prevailing wage jobs

Florio now pays and costs the hours on a project covered by a wage determination. Hours worked at the site of work are paid the higher of the person’s own rate and the classification’s base plus fringe, with overtime on the base; travel and shop time are not covered. The approval page shows each entry’s classification or why it is held, managers can mark programming or rack build time as done At the jobsite, the full-detail payroll export flags covered hours in its last columns, subcontractor bills carry covered hours on a line of their own, and the project’s Time Entries card splits covered and not covered hours and cost. See Prevailing wage jobs.

Sep 18: A lost event that comes back says so

When a lost event comes back into the pipeline, its activity log now says so. Sending a proposal, approving a scorecard or recording a signature on an event marked lost moves it back into the pipeline, as it always has. The event’s Activity tab now shows that move as Reopened (was lost) with the name of whoever did it, and the old lost reason and notes are cleared, so they no longer describe a booking that is live again. See Work an event through its stages.

Sep 18: A new email address brings its history with it

Adding an email address to a contact you already have now searches your mailboxes for that address’s earlier mail. Until now only a brand-new customer or lead got that search. It now runs whenever an address is added to an existing customer’s contact, when a customer’s or lead’s email is changed, and when a vendor ticket reference is recorded on a service call, where Florio also searches for the reference itself. The search runs in the background within a couple of minutes, and the record’s activity feed says what it found: how many messages, across how many mailboxes, and whether any mailbox could not be searched. An address searched in the last thirty days is not searched again, and each workspace has a daily limit so a large import cannot flood the search. Mail you sent with a customer blind-copied is now found too. Adding a company email domain to a customer now searches for that domain’s earlier mail too, and history searches now include mail that was deleted or filed as spam. A small note beside the address tells you where the search stands, from Searching earlier mail to how many earlier messages it found, and the same note sits beside a vendor reference on a service call. See Capture a company’s email.

Sep 18: Add a forgotten part to an order you already started

A forgotten part can join a draft purchase order instead of starting a second one. Pick the lines on the purchasing queue and choose Add to draft order: the order dialog opens with a Draft order list that shows where each draft ships, which jobs it already carries and when it was made, and it starts on the draft that fits best. Quantities, splits and prices work as they do on a new order. Florio warns when the draft already has a bill, ships to another project’s job site, or when a line was suggested from another vendor, and only a draft that has not gone to the vendor can take lines. See Buy what a job needs.

Sep 18: Arrive at the next job in one tap

When your drive ends at a job, one tap starts the job. After you close out a visit, Florio starts your drive to the next stop on its own. When that stop is a job rather than a visit, its card now says you are on the way there, and Clock In on My Day (or Punch in on the Time clock page) ends the drive and starts your time on the job, filed under the job’s own work type. Until now the card only offered to clock out, so the job’s hours could end up on the drive. See Run a visit from your phone.

Clocking out asks what you did, right where you are. In a workspace that requires a note, both clock-outs on the Time clock page now ask for it before they stop the clock, the same way My Day does, and a note you typed when you clocked in already counts. A workspace can also leave work types out of missed time, for example PTO, because time off goes through a time-off request.

Sep 18: Every change to who can do what is on the record

Changing a role’s permissions, a role’s field access, or a person’s roles or direct grants now leaves an entry in the activity log: who made the change, when, and exactly what was added and what was removed, each permission by its name. Filter Activity by the Role model to see a role’s history; changes to a person show under User / login and link to them. A Save that changes nothing records nothing, so every entry is a real change. See Read the activity log.

Sep 18: Add the hours you forgot to punch

A missed punch no longer needs a call to the office. On the Time clock page, under Forgot to clock in?, tap Add missed time: pick the day, pick the job from your own schedule for that day, and the times fill in from the schedule so you only adjust them. Say what you did, confirm the hours are right, and Add the time. The entry goes to your manager like any punch, so both approvals still stand between it and payroll. You can reach back through the current pay period and the one before it; anything older is still a correction for the office. Managers see which hours were added this way, marked Added by employee on the approval grid. See Add time you forgot to punch.

A workspace can also require a note on every clock-out. When it does, clocking out and Complete Visit both ask what you did before they stop the clock, so every hour on a timesheet says what it bought. A note you typed when you clocked in already counts.

Sep 15: Buy one line from several vendors, and see where every box is

Purchasing has its own pages on this site for the first time, starting with how the buy side works.

A queue line that cannot be bought from one place can now be split: take a quantity off it, leave the rest, and send each piece to its own vendor on its own purchase order. The pieces stay connected, so the line says how many are on which order, how many are still waiting and how many are in hand, and Rejoin puts them back together while nothing has been ordered. A part-filled order’s line menu gains Move the rest back to the queue, which keeps what arrived and sends the remainder back with a reason.

A purchase order line now carries as many boxes as the vendor actually shipped, each with its own carrier and tracking number, and one Tracking cell reads the same way everywhere the question gets asked: on the purchase order, on a project’s Materials tab and on a service call’s Parts card. The cell shows the carrier, a five-stop track, the status word, the date, and a 1 of 4 boxes count that follows the box that has got the least far. The date is the carrier’s estimate once a carrier has spoken and the vendor’s promised date before that, and an estimate that lands after the day the job needs the part is marked. See See where an order’s boxes are.

Connect your own UPS, FedEx or USPS account and Florio checks those numbers for you, on a schedule you set: slowly while a label sits unscanned, faster in transit, and every three quarters of an hour once a box is out for delivery or something has gone wrong. Credentials are tested with the carrier before they are saved and are never shown again afterwards. See Connect your carriers.

Sep 15: Florio reads the mail your vendors already send

Turn on vendor mail and Florio reads the order confirmations, shipping notices and invoices arriving in the mailboxes you name, pulls out the vendor’s order number, the PO field, the tracking numbers and the line items, and matches each document to a purchase order.

A document carrying your own Florio PO number attaches itself: the boxes go on the lines, the vendor’s order number is recorded, and a price that differs from the order’s is flagged. Anything less certain lands in Needs a look with the reason written out, and nothing changes until somebody confirms it. An invoice can draft a vendor bill at the invoice’s prices, and pushing that bill to QuickBooks stays a person’s action on the purchase order.

Reading is off until an admin turns it on and names the mailboxes, it never touches mail between people at your company, and it starts from the day it is switched on rather than reopening your history. See Let Florio read your vendor mail and Set up vendor mail.

Sep 15: Swap or remove a part on a change order, and see the part you are buying

The Materials tab, the purchasing queue and each purchase order now show a part the way you would look it up: its description first, the name and location note under it, and a small product photo. Click the photo to see it full size with the part number under it.

On a change order, Swap part changes the part on a material line (its name, description, manufacturer, part number, how many you buy and what each costs) while the line’s price stays exactly as sold. Remove part · keep price takes a part off the project and keeps its money on a price-retained line, so the client total does not move; the labor stays unless you also free it. A line already on a purchase order cannot be changed until it is taken off the order. While the change order waits for approval its parts read Held · change order pending on the queue, and once it is approved the project’s materials follow it. Purchase orders sent to a vendor now print each part’s description and part number, and no longer print where on the job the part goes. See Swap or remove a part.

Sep 14: The morning briefing covers the phone

A workspace whose phone system is connected to Florio now gets a Phone section in its morning briefing: inbound calls and who they reached (your team, the answering service, or nobody), missed calls and how many were likely called back, outbound calls and talk time, calls outside business hours, and callers not matched to a client. Underneath it lists the missed calls nobody called back, open voicemails, and from call insights the calls that left a customer’s question unanswered and the calls with a negative tone. Trend cards follow how often callers reach your team, how many missed calls go unreturned, and average talk time. Team totals only, never numbers for one person.

The phone numbers now count calls one way everywhere: a busy caller is a missed call on the Phone report too, and blocked calls and test calls stay out of every figure. See Choose who gets notified.

Sep 14: The morning briefing covers field service

A workspace that runs field service now gets a Service section in its morning briefing: the calls opened and closed, the visits completed and the visits that could not be completed, and the dollars quoted, signed and invoiced, with the calls that need someone this morning listed underneath (urgent and high priority, no visit scheduled, still waiting on a first reply, ready to bill). Its trend cards follow the open backlog and how long a written request waits for a first reply.

A recipient can now take both the daily and the weekly recap, Send test can send either one, and the email carries your brand colour and, when your workspace has an email logo, that logo. Workspaces that keep outbound email paused can let the briefing through on its own. See Choose who gets notified.

Sep 14: Every cost figure on the profit panel opens the lines behind it

The Live profit panel told you a job had cost $41,748 in materials. Now it tells you which bills. Every figure on the panel with lines behind it is a link: a cost figure opens the vendor bills, stock shipments and legacy-archive lines that make it up, newest first, with a paperclip where a scan came over so the receipt opens in place under its own line. History brought in from a legacy system sits beside current cost, separated by the cutover date. A labor figure opens the approved crew entries with the rate broken into base pay, burden and the loaded rate, and each entry expands into its clocked range, approval and note. Projected and Budgeted open the cost side of the sold proposal for that bucket, with any re-estimate listed as a row of its own, and Earned revenue shows its working rather than a list. The total at the top of every drill is the figure you clicked.

Opening a figure is its own permission, treated as pay data because the labor list shows what each hour cost. Without it the panel is the same report with plain numbers.

Alongside it, receipts can be logged from Purchase orders or from a project’s Financials tab. A receipt is not owned by a project: the slip is the record and its lines are allocated, each to a project and cost category or to a plain expense account, and the form will not save until the whole total is placed. See Open the lines behind a profit figure.

Sep 13: A user’s sign-in email can be changed

A person’s sign-in email was set when they were added and could not be changed afterwards, so someone who moved to a new address needed a second account. It is now editable on their page in Admin, Users, and the change is recorded with who made it. A person who signs in with Google keeps the address of their Google account, which Florio follows on its own.

Workspaces that keep outbound email paused can now open login invites and task assignments on their own: a new user can set a password, and a person you hand a task to hears about it, without also opening schedule and dispatch notices.

Sep 13: The scope of work has its own tab

On a large project the scope of work ran to several screens under the revision ledger, and the profit figures sat below it. It now has a SOW tab of its own, between Proposals and Financials, that appears once a signed scope exists. It reads newest first: each signed change order’s scope of changes as a short entry labelled with its reference, value, signing date and where it was written, a change order sent but not yet signed shown muted above them, and the full baseline below. The revision ledger on Financials now reads newest first too.

Projects brought over from a legacy system had their signed scopes left behind in that system’s archive; they have been brought in, so those projects show the tab as well. Workspaces can also require a scope of work on every proposal and change order before it goes for approval.

Sep 11: Picking from a list no longer gets cut off at the row

Choosing a preferred vendor on the purchasing queue showed the search box and none of the vendors. The list was drawn inside the row, so the panel it sat in cut it off. Any list you pick from now floats above the page instead, follows the field if you scroll, and opens upward when there is no room below. The purchasing queue is where it was spotted; the Materials tab, service calls, purchase orders, service contracts and Admin were all affected.

Sep 11: Naming an item as subcontracted work books its cost that way

D-Tools describes an allowance the same way it describes a part, so a line called “Contractor Labor” was counted as material and the job’s cost profile said it had bought parts. You can now tell Florio which item names mean subcontracted work, and their cost books to the subcontractor bucket instead. Only where the cost sits changes: the price the client sees, the tax and the total are all the same.

Alongside it, a project accepted before Florio started recording part numbers can be re-read from D-Tools, so its materials list gains the part number, supplier and location a purchaser orders against.

Sep 11: A won job now arrives with its materials and its real cost

Winning a deal in D-Tools handed the project over half empty. The Materials tab stayed blank, and the profit view showed the full selling price against no cost at all, so a healthy job read as pure margin. Four separate things were going wrong at once, and all four are fixed.

The bill of materials now comes across. What the client bought is what has to be bought, so accepting a quote fills the Materials tab from it: every product line, with its quantity, its cost and where on the job it goes. Labor, discounts and the freight and consumables percentages are left off, because none of them is something anybody orders. The lines arrive unreleased, so purchasing still cannot see them until a project manager releases them, and they arrive already covered by the approved budget rather than showing up as a project-sized pile of unapproved spending.

The Materials tab also gains a Rebuild from proposal action, which rebuilds the list from the accepted quote at any time. It updates what has changed, adds what is new, and leaves anything you have already ordered or received exactly as it is. Lines added by hand are never touched. Use it on projects accepted before today.

The profit view now shows real cost. A project accepted from an outside system was recording its value but not its costs, so estimated profit read as one hundred percent and nothing was ever recognised as earned. Existing projects have been corrected.

Renaming an opportunity in D-Tools now renames the project in Florio. Before, the name was fixed at the moment the deal first came across and any later rename was quietly ignored. It follows the source for as long as nobody here has renamed it; rename it in Florio once and it stays yours.

Two smaller things came with it. The dispatch board’s day now stretches to cover an early start, so a crew beginning at seven is drawn at seven instead of being pushed forward an hour and shown finishing late. And winning a deal no longer files two duplicate approval notices against the project it just won.

Sep 11: Arriving on site starts the clock, and leaving starts the drive

Checking in used to stamp the arrival time and nothing else. The hours were written in one piece at the end, when the technician tapped Complete Visit, so a visit that never got closed out logged nothing at all. Two visits went to zero that way on September 10.

Check In now starts a running clock, and Complete Visit stops it. The office sees the technician on the clock the moment they arrive rather than hours later, and a visit left open still has its hours. Where somebody checked in at their next stop before closing out the last one, the first clock ends at that moment instead of being restated later, so the same person can no longer appear on two jobs at once.

The drive between two jobs is now captured on its own. Closing out one stop starts the travel leg to the next one on that day’s schedule, and checking in there ends it. Nothing to tap. The last stop of the day starts nothing, because the trip home is a commute rather than work travel. Before this the drive fell in the gap between two clocks and was recorded nowhere.

Because every visit now runs a clock, a forgotten one no longer runs all night. Anything still running past the end of that person’s day is closed at that boundary, marked as closed automatically, and sent for approval so a person confirms the real end time. Florio never guesses one silently.

Two smaller things came with it. The note written in the debrief is now stored on the hour it describes, so the timesheet says what the time bought. And the dispatch board’s Needs Scheduling list now stays in place as you scroll the board, the way the proposal builder’s panel does.

Sep 10: Time spent chasing a job can now be logged against that job

Hours spent before a client says yes had nowhere to go. The time picker only offered work that had already been sold, and the schedule refused a block on anything unsold, so a site survey done to write the proposal was either logged against no job at all or not logged.

Unsold opportunities now appear in the time picker, marked Pipeline so you can see what you are picking. Only non-billable work types can be charged there, such as Presales and Design. Install hours on a job nobody has bought is a mis-key every time, so Florio refuses it and says why.

Those hours reach the job without inflating it. A non-billable work type no longer counts toward a job’s labor hours or its cost, and shows on its own line beside them instead. The entries stay listed and marked, so nothing disappears. Before this, a project could show hours that its profit figures priced at nothing.

Site visits can also be scheduled before acceptance now. Your administrator names which visit types are allowed, and everything else still waits for a signature, so delivery work cannot be scheduled on a job that was never sold. A visit scheduled this way reaches the technician’s day and takes a clock-in like any other, which is what makes the hours land on the opportunity.

Sep 10: Email opens now name the person who opened it

Open and click tracking counted a message, not a reader. Three people on one email meant three anonymous hits on one number, and there was no way to tell whether the customer had read it or a colleague on the copy line had.

Each recipient now receives their own tracked copy, so the trail names the person. Everyone still sees the same To and Cc lines and reply-all still reaches the whole thread; only the invisible tracking differs between copies.

Colleagues are never tracked at all. Anyone on your own domain, or on a mailbox Florio monitors, receives a copy with no tracking in it, so reading the thread internally cannot move the customer’s number. An open is now always the customer.

Two related fixes ship with it. A reply sent as a shared address kept its delivery and open status on the activity feed for about half a minute and then lost it, once Florio filed its own copy of the message; that status now stays put. And reading a sent message inside Florio, or quoting it into a reply, no longer records an open against the customer.

Sep 9: Billing a service call now starts with a review, and the invoice is dated the day the work finished

Bill now on a time-and-materials service call used to post straight to QuickBooks: every unbilled minute, every used part, no questions asked, and QuickBooks dated the invoice the day you pressed the button rather than the day the call was completed. That last part matters at month end. The cost of a call already lands on the day the work was done, so an invoice that slips a month overstates one month’s margin and understates the next on the same job.

Three things change. The full walk-through is in Bill a service call.

The invoice is dated the day the call was completed. Florio’s own ledger always said so; QuickBooks now agrees. The day is read where the work happened, so a call closed late on the 31st is not quietly dated the 1st.

A biller can set the completion date. The call header has a Completed field. On a closed call, someone who can bill it can change the date to the day the work actually finished, between the day the call was opened and today. The change goes on the activity log, and the invoice takes that date. A call cannot be dated before Florio started billing service calls, because work completed then was invoiced from the old system and must not be billed twice; the same guard now applies to Bill now itself, which previously skipped it.

Bill now opens a review before anything posts. You see the hours on this invoice and can bill fewer than were punched: the rest can wait for the next invoice (a call that straddles a month end can be billed one month at a time) or be written off (settled, never billed, and shown on the call’s profit and loss as written off). The punched time is never changed, so payroll and job cost stay honest. You can add one adjustment line with its own description and a signed amount, a courtesy discount or an agreed surcharge, that prints on the invoice as its own line so the client sees why the number moved. Its tax effect is spread across the taxable and non-taxable parts of the invoice in proportion, never pushed onto one side. Each group of lines can print itemized or as one line. The total you reviewed is the total that posts; if time is added to the call while the review is open, Florio refreshes the figures and asks you to look again.

The adjustment posts through its own QuickBooks item, so discounts are reportable on their own account instead of vanishing into reduced revenue. Map it once under Admin › QuickBooks; until then, billing without an adjustment works as before and billing with one says what is missing.

Sep 9: Parts on a service call now reach the purchaser, and the order shows up on the call

A part added to a service call never reached Purchasing. It sat on the call’s Parts & Charges card reading To order, and nobody was ever told to buy it. The Service filter on the purchasing queue existed and was always empty. In practice that meant a technician’s parts were chased by hand, or not at all.

Call parts now flow into the queue on their own. Add a part to a service call and it appears in Purchasing straight away, alongside project material and stock. There is no release step, which is the deliberate difference from a project: a project’s material list is a working document full of things nobody has committed to buying yet, so a project manager releases from it deliberately. A service call is small and already decided, so asking for the same ceremony would be friction with no decision behind it.

Everything the queue already does now works for those lines. They carry a Need by date worked out from the call’s next visit, they can be grouped with project lines from the same supplier onto one Create purchase order, and they can be filled from the shelf with Fulfill from stock instead of being bought again.

And the call now records what purchasing did. Choosing a supplier, filling a line from stock, putting it back, and the order itself being created, placed and received all land on the call’s Activity log. Previously a part could be ordered and delivered without a single line of it appearing on the call, so anyone reading the call had no way to know a part was on its way. An order that covers several jobs at once writes to each of them, so a shared order shows up on every project and every call it is buying for.

Sep 9: Editing a catalog item no longer disturbs the work that already used it

A catalog item is a thing you sell, with one or more sizes under it, each carrying its own price and costs. Every job that ever picked one of those sizes keeps a reference to it: a part on a service call, a line on a quote, a proposal line that was built from it. Saving an edit used to rebuild all the sizes from scratch, which broke those references.

Where the reference was strict the save was refused outright, so any item that had ever been used failed with a generic error and could not be edited at all. Where it was not strict the save went through and quietly cut the link instead, which is the worse of the two because nothing tells you.

Saving now matches each size to the one already there and edits it in place. A size you add is added, a size you leave alone is untouched, and everything pointing at it keeps pointing at it.

Removing a size that something already bought retires it rather than deleting it. The record of what a job actually got is worth more than a tidy list, so the size stays, marked Retired, and the old work still resolves to it. Retired sizes are out of the way by default: Sizes & pricing shows the live ones, with a button above them that reveals the retired ones and a Restore on each if you want it back. A size nothing has used is simply removed, as before.

One related fix: a retired size no longer turns up in the parts picker when you are adding parts to a service call. Retiring a size is how you take it out of circulation, so it needs to actually leave.

Sep 9: Change orders on migrated projects record only what changed

A change order is a difference: it records what moved since the version before it, and the project’s projected final cost adds up those differences. On projects Florio created that is what happened. On projects brought over from another system it did not.

A migrated project’s contract and opening cost arrive as history rather than as a proposal built here, so a change order had nothing to compare its new version against. Instead of comparing against the version the contract was opened from, it recorded the new version’s entire cost picture as though all of it were new. Costs that had not moved at all were counted a second time, and the projected final cost rose every time a change order was applied. The tell, if you went looking, was a line like freight appearing in the change with its full amount when freight had not changed.

Change orders now fall back to the version the contract was opened from, which is recorded even on a migrated project, so the difference is measured correctly. A component you did not touch contributes nothing.

Two smaller things came with it. The change-order review screen was always right, so what you saw before approving was correct even while the applied row was not; the two now come from the same calculation and cannot disagree. And when a migrated project has no priced version at all, Apply as internal change order stops and points you at a re-estimate rather than guessing. Client-facing change orders are never blocked: the client can still accept, and the row lands with no cost movement and a note in the activity history explaining why.

Already-approved rows are left alone, because an approved revision is a record of what someone signed off. Correct an old one the way you correct any other: with another revision.

Sep 9: My Day shows your whole day, not just your service visits

My Day used to list a technician’s service visits and nothing else. A project day, a training block or a run to the warehouse simply did not appear, so the page could say “no stops today” to someone with a full day of work in front of them. It now shows every block you are on, in time order: service visits, project days and internal blocks together.

Each card answers the same four things in the same order: when, what, whose job, and where. Tap a service card to open its call, a project card to open its project. The address is the Navigate button, so getting directions is one tap from the list rather than from a detail page.

One clock, and it says so. You can clock in and out on anything on the list. Only one clock runs at a time, so starting one stops whatever was running, and the button that will do that tells you before you tap it. Checking in on a service visit now does the same. Finished work drops to Earlier today and keeps a Clock In Again, for the day you get pulled off a job and sent back. Blocks with a date but no set time gather under Anytime today.

Sep 9: “On my way”, and travel time between jobs

Any block you are heading to now has an On My Way button with a rough minutes-out estimate, the same one service visits already had. It tells the office. On a service visit it also tells the customer, by name, and the sheet says which of the two is about to happen so nobody has to guess.

When the drive is a hand-off between jobs, the same tap starts your travel time to the job you are driving to, and arriving closes it and opens the work. Travel between sites is paid; the first drive of the day and the run home are not, and the sheet says plainly when a drive is not on the clock. Whether that first leg is paid is a setting, so a company that pays portal to portal can turn it on.

Sep 9: Internal notes on a visit, a project day or an internal block

A note for the crew that the customer never sees. Add it when you dispatch a visit, on the visit itself, from the dispatch board, or on any block on the Crew Board: “Stop at the shop first, the replacement camera is on the parts shelf.” It shows on the technician’s My Day card and on the crew dispatch email, and changing it lets the crew know again.

It sits beside the Client note on the visit, each one saying who reads it, so the field the customer sees and the field only the crew sees are never a guess.

Sep 9: The service call list on a phone

The service call list no longer scrolls sideways on a phone. Rows stack into cards, the way every other list already did.

Sep 8: The call’s filing controls moved to the Activity card

Merge into another call, Attach an email and Vendor references used to sit near the top of a service call, in a shaded band beside the customer and site. They now sit on the Activity card, on the row with the feed filters, beside Detach into a new call which was already there. Vendor references open when you want them and stay out of the way when you do not. Nothing about how they work has changed. See Fix a wrong match.

Sep 8: Ignore at intake

An answering service that emails “no messages to deliver” every morning used to open a service call every morning. Under Admin > Service, the new Ignore at intake card takes rules that name a sender, words in the subject, words in the message, or a combination; a matching message is still captured but never opens a call, starts a clock, or triggers an acknowledgement. Keep a rule as narrow as the notice, so a morning that does carry messages still opens a call. See Set up service.

Sep 8: Photos and files on a service call

A service call now has an Attachments card. Drag files onto it from your desktop, paste a screenshot, or choose Add files; on a phone the button reads Add photos or files and offers the camera. Photos and PDFs preview in place, video shows a still with its length, and each file says who added it, whether it came from email, or whether it arrived with your history. Several files at once each show their own progress, and one that fails no longer stops the rest. The limit is 500 MB a file, so a walkthrough video is no longer too big to keep with the job. Adding or removing a file is recorded on the call’s activity log with your name.

If your workspace brought service history into Florio, the photos, signed sheets and paperwork that came across with it are now visible on the calls they belong to. They are kept, not editable: only an administrator can delete one. See Take a service call.

Sep 8: Shared replies through Florio’s own sender, and opens and clicks on the email you send

A shared support address can now send through Florio’s built-in sender instead of the mailbox itself: under Admin > Service, the shared reply card gained Sent through. With the built-in sender the reply is queued and out within a minute, still threads under the customer’s message, and the call’s feed shows Sending, then Delivered, Bounced, or Not sent; the row names the person who wrote it and the identity it went out as, and opens the exact message. The mailbox never needs a login. Separately, Admin > Email capture gained Email tracking, two switches for opens and link clicks. On, every email a person sends from a record and the automated service messages carry an invisible open pixel and tracked links, and the feed shows Opened ×2 · Clicked ×1 with the same trail a proposal view gets, under the same counting rule: scanners, link previews and your own office networks are listed but never counted. Both are off for every workspace until an admin turns them on. See Reply from a record and Set up email capture.

Sep 8: A model can pick the call when the rules cannot

When a customer with several open calls writes in and neither the reply headers, the conversation nor the subject says which call it is about, Florio used to open a new call. An admin can now let a model decide, under Admin > Service > Email matching. The model sees only that customer’s open calls, picks one or none, and Florio attaches only when the model’s confidence clears the level you set (85% to start); those emails show Matched by AI on the call’s feed. Below that level Florio opens a new call marked Possibly the same as the calls it could not choose between, with a one-click merge. Off by default; a workspace turns it on knowingly.

Sep 8: Merge duplicate service calls, detach an email into its own call, attach one by hand

Automatic matching will sometimes be wrong, so the corrections are now one click on the call page. Merge into another call moves a duplicate’s emails, conversations, vendor references and notes to the surviving call and cancels the duplicate with a link both ways; a call that has become real work, with a visit, time, parts or a presented quote, refuses to be merged and says so. Detach into a new call on an email in the feed moves that email and its conversation to a fresh call for the same customer, with its own response clock. Attach an email files one of the customer’s captured emails on the call by hand. A call opened when Florio could not tell it apart from an existing one now says Possibly the same as with a one-click merge, and the vendor references Florio learned are listed on the call where you can add or remove one. Every correction is on the call’s activity log. See Fix a wrong match.

Sep 8: Vendor support tickets follow their service call, and the feed says how each email got there

A lot of the equipment vendors a service business leans on run their support desks on tools that put a ticket token in the email subject. Those emails used to arrive in a technician’s own inbox and stay there, because they came from a vendor rather than a customer. Florio now recognises the common ticket tokens the first time one lands on a call, remembers it on the call, and files every later message carrying it on that call, from any monitored inbox, even when the vendor starts a new thread.

Two more matches were added for the customer’s own mail: a customer with one open call who writes to the service address lands on it, and a customer with several open calls is matched on the subject. Each email on a call’s feed now shows how it got there, and a thin match carries a check tint so you can confirm it at a glance. A message from a vendor or a colleague never starts the customer’s response clock. See How an email finds its call.

Sep 8: Reply to service customers as a shared support address

A service team can now answer customers from one support identity. On a service call, the composer’s new From dropdown offers the workspace’s shared support address beside the person’s own; a shared reply goes out with the configured From name, the shared signature as a read-only block, and a Reply-To of the team’s choosing, so the customer never sees a person’s name, address, or personal signature. Florio refuses a shared reply that carries the sender’s own address anywhere in it, and the call’s activity log records who actually sent it.

Admins set it up on the new Shared reply address card under Admin, Service, where the card also says whether email capture monitors the mailbox. A new permission, Reply to service customers as the shared support address, controls who may use it.

Workspaces that keep outbound email paused can now open it one kind of message at a time, starting with replies people write themselves, instead of all at once.

Sep 8: Past email conversations can be linked to open service calls

When a workspace turns on email capture, the conversations that were already under way live outside Florio: a customer’s next reply on one of them carries nothing Florio recognises, so it would open a second service call for the same problem. Florio can now sweep the recent mail of every open call’s customer across the monitored mailboxes, work out which conversations belong to which call, and link them.

The sweep is read-only and produces a report first. Each conversation is scored against the customer’s open calls on the subject, on who is writing, and on timing, and the report says why: what it would attach, what a person should look at, and what it left alone. Nothing is linked until someone approves the report, and every link is recorded on the call’s activity log as Email conversation attached to the service call. After that, the customer’s reply lands on the call it belongs to, whichever mailbox it arrives in.

Each captured email now also records which service call it is filed on and how it got there, which is the groundwork for moving emails between calls and merging duplicates.

Sep 7: A customer’s sites, on the customer page

A customer’s page now has a Sites section, between Rentals and Service Calls. The main site sits at the top with a Main badge, the rest of the active sites follow by name, and retired sites sit last. Each row shows the address, the number of installed assets, and how many service calls are open there. Click a row to open the site’s page.

The menu at the end of each row has Open Site and Set as Main Site. Setting a new main site takes the badge away from the previous one, so a customer only ever has one, and the menu says why a site cannot be made main: it already is, or it has been retired. New Site at the top of the section adds a site for this customer with a name and address; the first site a customer gets becomes the main site on its own. Everything else about a site, from access notes to the service alert, is still edited on the site’s page.

Sep 7: A new service call knows where the technician is going

Most customers have one site, and a call with no site sends a technician nowhere. The New service call form now fills the Site in for you: a customer with one site gets that site, and a customer with several gets the one marked as their Main site. The hint under the field says which rule applied. If a customer has several sites and none is main, the form asks you to pick before it lets you create the call, and a brand-new customer can add their first site right there in the picker. That first site becomes the main site automatically.

The same rule applies wherever a call gains a customer: an email or web request matched to a customer in Triage, and a call whose customer is changed later. The call’s history records that the site was filled in, and from which rule, so a defaulted address never reads as somebody’s decision.

Each site’s page has a Main site switch. Turning it on for one site turns it off for the customer’s previous main site, and only an active site can hold it. Workspaces that came over from a legacy system keep the main site that system had on record.

Sep 7: Monitored mailboxes are managed in Admin, and capture reads only your own Workspace

Email capture reads the mailboxes of your active users automatically. It also reads a few mailboxes that have no Florio user behind them: a shared support inbox, the mailbox of someone who has left, or the mailbox a routing rule copies a group address into. Until now that list lived in a server setting, so adding or removing one meant asking Florio and waiting for a restart.

Admin > Email capture now has a Google Workspace card. It shows the Workspace domain your capture is bound to, and under Additional monitored mailboxes an admin can add or remove those extra mailboxes directly. Each one has to be on your Workspace domain; anything else is refused when you save, with the reason.

Behind the card is a firmer rule. Florio now binds each workspace’s capture to its own Google Workspace, with its own credential, and will not read a mailbox on any other domain no matter where the address is typed. A workspace with no Workspace domain configured captures nothing at all, rather than something by accident.

Sep 7: Payroll can reopen an entry that has final approval

Once an entry has final approval it locks, and Florio stops offering edits it would only refuse. What was missing was the way back out. Payroll admins could reopen an entry in principle, and this page said so, but there was no button anywhere to do it, so a locked entry with something wrong in it had no remedy at all.

A locked entry now offers Reopen to payroll admins. You are asked why, in your own words, and that note is kept with the entry alongside who reopened it and when, because a withdrawn approval on hours that have already reached payroll is the kind of thing someone asks about months later. Reopening clears both approvals, so the entry goes back through a manager and then payroll, the same way it did the first time.

One thing does not reopen: an entry already paid on a released bill to a subcontractor. A released bill does not restate, so Florio refuses and names the bill, because the decision that needs making is about the bill rather than the entry. If the bill is still a draft, rebuilding drafts frees the entry first.

Sep 7: Payroll approval reaches any pay period, not just the last two

The payroll approval screen offered two choices, this period and the one before it, so anything older was out of reach at the final approval step. That is fine until hours arrive late, and hours often do: a timesheet entered after the fact, a correction someone spots weeks later, or a new employee’s first weeks keyed once their paperwork clears. All of those land in a period that has already scrolled past, where they could pass a manager’s approval and then have nowhere left to go.

The screen now has Previous period and Next period, which step back as far as you need and forward again to today, stopping at the current period. The period you are looking at is named just above them, so it is always clear which one you are about to approve. Manager approval has always worked this way; the two screens now match.

Sep 7: Move an hour to the right job without deleting it

An hour keyed to the wrong project or service call used to have exactly one remedy: delete the entry and type it again. That is fine on the day you notice, and it is no remedy at all once the entry has been through final approval or has been paid on a subcontractor’s bill, because at that point it cannot be deleted either. Time from a subcontractor becomes a bill you send to your accounting system, so the moment a wrong job starts costing money is the same moment it became unfixable.

On the manager’s entry list, the job an entry is charged to is now editable in place, the same way its times and work type already were. Change it and Florio moves the hours, and their cost, from one job to the other, and refreshes the job’s name on the entry so the payroll list and the job never disagree. You can also charge an hour to no job at all, which is the honest answer for a company meeting or a training day.

The rules are the same ones that apply when you add an entry by hand. A project that is closed to further cost refuses the hours coming or going. An entry with final approval stays locked until payroll reopens it. An entry already paid on a released bill says so, and names the bill, because the decision that needs making is about the bill and not the entry. Hours punched against a scheduled day or a site visit keep the job the punch gave them and read as plain text: those carry details from the field that a typed correction cannot honestly reproduce. Every move is written to the entry’s history with the old job and the new one.

Sep 7: Service calls are clickable on the payroll grid

A project on the Time Approval grid was a link and a service call sitting next to it was plain text, though both are records with a page of their own. Both now open, whether the hours were keyed straight to the call or punched against one of its visits.

Sep 7: Tell the technician a time, and the customer a window

A scheduled day now carries two separate times, because they are two different promises to two different people. Tech call time is when you need the crew there, and it is what they see on their phone, on the crew board and on the dispatch board. Client arrival window is the range you told the customer, and it is what appears on their messages.

They usually look interchangeable, which is exactly why they are kept apart. The day you widen a window to give a customer some room is the day a technician who reads that window instead of their call time arrives at the late end of it, and a full day of work no longer fits before the site closes. Leaving the window empty is a normal state: it means nobody has promised the customer anything yet.

Sep 7: A scheduled day knows where it is

Scheduling a day on a project now fills in the site address by itself, coordinates included, so the crew gets a working Navigate button instead of a blank where the address should be. Type an address yourself, for a loading dock or a rear entrance, and yours is kept.

You can also change what kind of day a block is after creating it. Until now the kind was fixed at creation and only visible in the heading, which mattered more than it sounds: the kind decides which work type the crew’s hours are filed under, so a day created as the wrong kind quietly filed its hours in the wrong place with no way to correct it.

On the dispatch board, clicking another team’s work on a technician’s row now opens that project’s own schedule rather than dropping you on the scheduling page at whatever date you last looked at.

Sep 7: Hours file under the work type you configured

The work type a punch is recorded under is now decided by Florio from the kind of day it is, using the vocabulary your business actually uses. It used to be worked out separately by the web app and the phone app, both of which carried a fixed list that only matched one kind of business, so any company whose work is named differently had every hour filed as “Other”. Correcting it centrally also fixes phones already in the field, without waiting for anyone to update an app.

Sep 7: Pay a subcontractor for time that belongs to no job

Time a subcontractor spends in a company meeting or in training belongs to no project and no service call, and it used to fall between two floors: payroll skips people who are paid on vendor bills, and the vendor bill only carried lines for real jobs. The hours were visible, flagged on their card, and paid by neither route.

Those hours now become their own line on the bill, coded to an account you nominate for labour that is not job work. Until you nominate one, nothing changes, so no company starts paying for time it has not classified.

Sep 7: A service call form that finds the sites you already have

The site list on a new service call was coming up empty for every customer. The form then offered to add a site even when the customer already had several on file, which is how a second record for one address gets created. It now lists them, so the address a technician is sent to is the one you already keep.

Adding from that form also moved. “Add a site” and “Add a contact” now sit at the foot of their own lists, the way “New customer” already did, so the way to create one is inside the list that is missing it rather than in a button beside it. The diagnostic fee is now a plain dropdown, which is how it already read on the call itself.

On the customer’s side, the footer of a Summary of Findings page showed the coordinator’s name wrapped in stray formatting marks. It now reads as a name.

Sep 7: Quote service work on site, take the approval and the card in one visit

A service technician can now write up what they found as a Summary of Findings and present it to the customer before leaving the driveway. It has three parts: the fix for the problem the customer called about, always priced; anything else found during the visit, priced on the spot or handed to the office to price; and longer-term advice with no price at all. The technician builds each number from catalog parts and hours, then decides the price they present. The customer never sees that build-up: each finding is a title, two or three sentences and one number.

The customer approves on the technician’s tablet or from an emailed link, and it is the same page either way. They tick the findings they want, see one sales-tax figure and one total, pay with the card on file or a new one, and sign with a finger. The approval is written before the card is charged, so a declined card leaves a signed approval and a payment to chase, never a charge with no record. A finding they did not take stays open on the page, and approving it a week later is a second record, not an edit to the first. Interest in a longer-term item raises a lead for your sales team.

The office sees all of it on the call: the diagnostic fee, chosen at booking and waivable at any time; what is approved and what is still open; each signature and charge; and a follow-up log. Two new lists under Findings show the items waiting on the office to price and the quotes presented but not yet signed, with who to call and when. Everything is off until you turn it on in Admin, Service, Summary of Findings, where the fees, the labor rate, the validity period and the terms the customer agrees to all live.

Guides: Write and present a Summary of Findings for technicians, Book, price and follow up a Summary of Findings for the office, What the customer sees, and a training checklist.

Sep 6: Keep a service customer in the loop, from the request to “did that fix it”

Florio can now talk to your service customers at every point of a job, not just the day before a visit. Seven messages and one page, all of them off until you switch them on in Admin, Service.

When a request arrives, the person who sent it gets an answer straight away, with their reference number, their own words quoted back, and when they will hear from you. That last part is not a phrase somebody typed: it is the response time you already committed to for that priority, counted in working hours. A request that lands late on a Friday before a long weekend correctly says Tuesday, and says which days you are closed, so a wait reads as organisation rather than silence.

When a technician sets off, they tap “On my way” and pick a rough number of minutes. The customer gets told who is coming, roughly when, and to have someone ready to let them in. If nobody on the visit can be reached, the technician is told that plainly before they tap, so they never assume a message went out that did not.

When a visit slips, there are two different messages and Florio picks between them for you. If the new arrival time is still inside the window you promised, the customer gets a courtesy note with no apology, because you have not broken anything. If the window has gone, Florio apologises, and it will do that on its own if nobody has told the customer.

When the visit is done, they get a summary: what was done, who signed off, the photos, and anything still open, including a part on order. A job waiting on a backordered part is the classic way a customer decides they have been forgotten.

Two working days after the job closes, one question: did that fix it? “No” reopens the same request rather than starting a new one, so the customer keeps their history and does not get a second bill for the same fault.

And every message opens the same page, a private link with the visit on it. Beyond a notice period you set, the customer can move or cancel the visit themselves, picking from times you can genuinely make and holding one while they decide. Inside that period the same buttons reach a person instead, and the page says plainly that nothing has moved yet and the technician is still coming. Once the technician is driving, the buttons become your phone number, because that conversation needs a person. Cancelling a visit never closes the request: “not Thursday” is not “forget the broken camera”.

Every message names a coordinator with a number to call, and none of it sends until you turn it on.

Sep 6: Take a service call for a brand new customer without leaving the form

If someone calls in who is not in Florio yet, you can now set them up as you take the call. Add the customer, then add the contact and the site right on the new service call form, and carry on typing.

Two things made this harder than it should have been. A service call needs a contact, because that is who Florio emails about the visit, and a customer created moments earlier does not have one yet. And a call needs a site, because the address lives on the site record, so a call without one leaves the technician with nowhere to go. Both are now offered inline the moment they are missing. The contact comes prefilled with the caller’s name, email and phone if you have already typed them, so in the usual case it is one click.

The site stays optional on purpose. Calls that arrive by email or through the web form often do not say where the work is yet, and those still need to be openable so somebody can sort them out.

Sep 6: Imported quotes read the way they were written

Three fixes for proposals that arrive from D-Tools. A quote’s scope of work now comes over with its formatting: headings, paragraphs, and lists, instead of one unbroken wall of text, and it appears once, in the proposal’s scope field, rather than repeated as a line item. Equipment the client is furnishing themselves is labeled on the line, so a rack the client owns reads as the install labor you are selling, not a charge for their own hardware. And an alternate the customer is still weighing, say the two audio systems on one quote, now shows as an option: visible with its price, marked optional, and left out of the total, matching how the quote itself is priced. That last one also removes the mystery negative line some drafts carried.

Sep 6: Every quote option shows up under its own name

Teams who quote in D-Tools often carry several live quotes on one opportunity: the full system, the trimmed option, the theater upgrade the customer is still deciding on. Florio used to import only the leading quote, as a single draft on a lane it could only call “D-Tools import”.

Now every live quote arrives as its own proposal option, named the way you named it: Q-866 with its title, Q-867 with its title, side by side on the project’s Proposals panel. The quote of record works exactly as before: the accepted quote (or the current included one) is still the proposal that signs the project and feeds the scorecard, and the other options stay drafts that retire quietly when the winner is accepted. Existing projects pick up their real quote names on their own within about an hour of this release, history intact.

Sep 6: A payment date the customer actually asked for

A payment cadence works each due date out from a rule, and the rule is usually right. Then a customer asks to pay the deposit on the first of the month, or to settle the balance after the event rather than a fortnight before it, and there was nothing to do but explain that the system did not work that way.

Any payment on a schedule can now be moved to a specific date. Click the date on the proposal’s payment schedule, pick a new one, and the payment is marked Agreed with the client so the next person to open the proposal knows the date was negotiated rather than calculated. Only the date moves: the cadence still decides who owes what, so re-issuing the proposal at a new price re-divides the money and leaves the dates you agreed alone.

It works before a signature as well as after. A proposal already out for signature picks up the change, so the document the customer opens shows the dates you agreed rather than the ones the cadence computed, and signing writes those same dates onto the event. Afterwards the schedule on the event’s Financials tab moves the same way.

A payment already invoiced in QuickBooks stays put, because its due date is printed on a bill the customer is holding. Moving dates is an administrator’s job to start with, and is granted to any role from Roles and permissions. Every change lands on the event’s activity log.

Sep 6: A visit you can change, and a customer who is told when you do

Visits were easy to make and impossible to change. Every visit now edits in place, from the service call or straight from the board: its date, times, technician, arrival window, and the person meeting you on site. Click any placed visit in either Day or Week view and the card that opens carries Reschedule and Cancel beside Edit Visit. A visit that has already happened stays put, and says so, instead of offering edits that would be refused.

Delete is offered only for a visit that never went anywhere. Everything past that point cancels instead, which keeps the history, asks why, and leaves the call open for a new date.

The bigger half is what the customer hears. Releasing a visit now emails them the appointment; moving it sends the new time with the old one struck through; cancelling tells them nobody needs to be on site and what happens to their request. Florio will not email someone who was never told about the visit in the first place, and will not email about a change they would not notice: sliding a visit inside its arrival window is not a change to the promise you made. Every notice is on by default and names the recipient before you commit, and choosing to stay quiet is recorded on the call.

Sep 6: Service calls name the person you write to

A service call now carries a Contact picked from that customer’s own people, and it is required once a customer is set. That contact is who gets the appointment email, the reminder, and any change or cancellation. The Caller field stays what it always was: whoever reported the problem, which is often not the same person.

Each visit can point at a different contact than its call, for the common case where one person is home on Tuesday and someone else on Thursday. Leave it alone and the visit follows the call.

Sep 6: Choose exactly who appears on the dispatch board

The dispatch pool gained a Specific people option: name the people who go to site, and the board shows those rows and offers those names. Adding someone later is a checkbox, and nothing about their access changes, which was not true when the only way to narrow the board was by role.

Sep 5: Hours entered by hand grew a full set of guardrails

A day of entering historical timesheets surfaced every gap at once, and each one closed the same day. Saving an entry that overlaps one the person already has is now refused, and the message names the entry it collided with so the duplicate is easy to find. The approval grid marks any double-booked rows on both sides of the collision. Once payroll has approved an entry it shows as locked, with no edit controls, and an entry that a subcontractor bill has already paid can never be changed or deleted at all: the refusal names the bill it lives on.

Sep 5: Subcontractor pay lives on the HR profile

How a person is paid is now set where the rest of their HR record lives: whether their hours ride payroll or draft into a vendor bill, their overtime rate, and which QuickBooks vendor their bills belong to. The vendor picker reads straight from QuickBooks’ own vendor list, and every change is recorded in the profile’s history with the vendor shown by name.

Sep 5: A subcontractor’s hours carry their dollars onto the profit view

Hours worked by a vendor-billed subcontractor showed on a project’s profit view while their cost stayed at zero, which also held the project’s earned revenue down. The dollars now land on the subcontract line the moment the hours are approved, at the person’s own rate.

Sep 5: Service calls show their time, and bill all of it

Every service call page now carries a Time Entries card beneath its visits: who worked, when, for how long, and where each entry stands in approval, reconciling line by line with the call’s profit figures. The same repair reached billing: hours entered from the office against a call, rather than punched on a visit, were missing from the call’s invoice, and they now bill. Hours imported from the previous system can never be billed again by either path.

Sep 5: Small things that stop small mysteries

Hour totals on approval, payroll, and profit views show two decimals, so a timesheet’s 60:15 reads as 60.25 instead of rounding into a number that matches nothing. The Working on picker for time entries offers only won, open projects and open calls, so long-finished work and unsold pipeline stop offering themselves. Setting an entry’s start time fills the end field with the same date so only the clock-out needs adjusting. A customer’s page can start a new service call directly, already tied to that customer. And the time approval page now lays out properly on a phone, with plainer labels throughout.

When a vendor bill is pushed to QuickBooks, the project’s cost figures now refresh on their own; the bill’s amount appears on the job’s profit view moments later instead of waiting for someone to run a QuickBooks refresh from the admin area. Approving a change order from the contract ledger also works again with a single click, and if an action on the ledger ever fails, the reason now appears right next to the row instead of at the top of the page.

Sep 4: Materials lines can pick from the catalog

The add-line form on a project’s Materials tab now searches the catalog as you type in the Item box. Picking a catalog item links the line, and the link is what routes the eventual vendor bill to the right account in QuickBooks: a line linked to a subcontract-labor item sends its cost to subcontract labor, not materials. Free-typed lines still work exactly as before. The form also lost a leftover field from an earlier era that no longer saved anywhere, and the unit-cost box now appears for everyone allowed to see cost, including on a project’s very first line.

Sep 4: Quote edits in D-Tools reach Florio on their own

For teams who author quotes in D-Tools Cloud: an edited quote used to reach Florio only when it was presented or accepted, because D-Tools does not announce quote edits to connected systems. Florio now sweeps the quotes on every project still in play about once an hour and picks up what changed, so the draft proposal in Florio tracks the quote as it is worked.

There is also a Refresh from D-Tools button on the project page for the moments you do not want to wait: it queues an immediate re-pull of that project, and only appears on projects that came from D-Tools with the connection live.

Sep 4: Calls on a record now say what they were about

A phone call on a customer’s or project’s activity feed used to be a bare number with no context. Each one now reads as a call, shows what was said in a sentence, and opens the full transcript in place, labelled by who was speaking. If a recording has been deleted, the summary goes with it immediately rather than lingering.

Sep 3: When a subscription lapses, somebody is told to act

Many service contracts are billed by a card-on-file subscription, and some of them carry a license the business buys from a vendor on the client’s behalf. When a client’s subscription lapses, the vendor does not know: the license keeps billing you. Florio now watches each contract’s subscription and turns the moments that matter into tasks in your team’s queue.

A canceled subscription cancels the contract and opens a task naming the plan and the client: stop the vendor billing, and reach out. A subscription scheduled to cancel at the end of its term opens the reach-out task early, while there is still a renewal conversation to have. A quantity change (plans billed per device, for example) opens a task to adjust the vendor order. And a brand-new subscription that no contract claims gets flagged the same day, so a new subscriber can never quietly bill outside the books.

The contract’s paid-through date also stays current on its own now, advancing with every payment instead of waiting for a periodic true-up.

Sep 3: A service contract shows its payments, and its real margin

The contract page has a new Payments card: every charge the subscription collected, the paid-through date, and a plain flag when an active contract has lapsed, with a day count so the renewal call is made with the whole picture in hand.

Profitability got honest for license-backed plans too. A contract that resells a vendor license can now carry that license’s cost, so its margin stops reading as 100% and earned-to-date reflects what the term actually yields.

Sep 3: Every phone call gets read, and what it should produce is drafted for you

The phone has always been the part of the day that leaves no trace. Florio already recorded and transcribed calls; now it reads them. After a call ends, Florio drafts what the call should produce: a service call, a dispatch, a task, or just a note. It puts the draft on the call page for somebody to approve, edit or throw away. Nothing is created until a person says so. That is deliberate: the cost of a wrongly created service call is a truck at the wrong address, so the draft fills in a form rather than filing the work.

Every proposal carries the exact words from the call that justify it, and a proposal whose quote is not actually in the transcript is dropped before anybody sees it. Most calls propose nothing at all, which is the right answer and is shown as one.

Calls are also now read as calls. A dispatch call and a design consultation are different conversations, and Florio judges them differently: it looks at whether the person answering acknowledged the problem before troubleshooting it, named the inconvenience, let the caller finish, and committed to something specific rather than “someone will call you”. A longer call is never a worse call: time spent letting an upset customer be heard is the job.

Sep 3: “Answered” now tells you whether anyone actually picked up

A phone system counts a call as answered the moment something answers it, including an after-hours answering service, or the recorded notice playing before anyone is reached. So the answered rate can look healthy while a good share of callers never reached a person.

Reports › Phone now shows both numbers side by side: how many calls the phone system recorded as answered, and how many reached somebody at the business. Alongside them sits a third figure nobody had before: how many were taken by the answering service. Those calls are assessed separately and never mixed into anyone’s own numbers, because the people answering them work for a different company.

Sep 3: What your clients are calling about

A new report groups calls by product area and by brand, drawn from what was actually said and matched against the catalogue your business already uses, so the categories are yours, not a generic list. Each bar shows how many of those calls went badly as well as how many there were, because a product with few calls and all of them unhappy is the one worth looking at. Every figure carries the number of calls behind it, so a small sample always reads as one.

Sep 3: Send a fax from Florio, and see it before it goes

Faxes can now be sent from Florio and arrive on the client’s record like anything else. Florio adds a cover page carrying your logo, your fax line and the page count, and keeps a copy of exactly what was transmitted.

The part that matters is the preview. A fax is pure black and white, so a scanned page with a patterned background can turn to unreadable speckle, and you would never know, because the sending end reports success. Florio shows you the page as the recipient will receive it, with a darkness control and a reading of how much of the page is black, so a bad scan is caught before it goes rather than after somebody calls to say they cannot read it.

Sep 3: Hours keyed by hand now carry their job

Not every hour arrives as a punch: someone forgets to punch out, or a subcontractor sends in a paper timesheet. The Add an entry by hand form on the Time clock page now has the same Working on search as the punch clock, so a hand-keyed entry can be pointed at the project or service call the hours belong to. That one link does everything the punch link does: the hours land in the job’s labor cost the week the work happened, and for subcontractors paid by vendor bill they flow onto the drafted bill, line for line. The job’s name is stamped on the entry as it was at the moment of keying, and hand-keyed entries walk through the same two approval gates as every punch.

Sep 3: Subcontractor hours become QuickBooks bills on their own

Studios that staff jobs with subcontractors have always faced the same chore: collect the hours, type up a vendor bill, and hope the job attribution survives the retyping. Florio now does the paperwork. A person can be marked as paid by vendor bill instead of payroll; they punch in and out and get approved exactly like everyone else, and the day after each pay period ends, Florio drafts one bill per subcontractor: a line per project or service call, hours at their rate, overtime over 40 hours a week priced at their overtime rate on its own line. A reviewer on the Payroll Approval page sees each draft with the hours, the overtime, and the exact lines accounting will see, and one click releases it to QuickBooks, where it is approved and paid like any other bill. Only hours that passed both approval gates ever bill, a punch can never bill twice, and vendor-billed people are kept out of the payroll export entirely, so the same hour can never pay through both channels. Project and service-call costs pick the labor up at the real work dates, so job profitability is right the week the work happened, not the week the invoice was typed.

Sep 3: A won proposal brings its payment schedule with it

When a proposal is accepted in your proposal system, the payment schedule your client saw there (their deposit, their progress payments, the labels word for word) is now the schedule Florio creates, instead of a house default. The amounts carry over exactly as signed, so the first invoice can never surprise a client with a split they did not agree to. Wins can also now flow straight through: an accepted proposal signs the project in Florio on its real acceptance date and sets up the schedule with no clicks at all.

Sep 3: The Phone page

Calls on your phone system now land in Florio: a searchable log of every call with the caller ID name, the customer, who answered and how long it took; a shared Voicemail box where “did anyone listen” and “is it dealt with” are two separate facts; and Unknown callers, a short review of the unidentified numbers that keep calling, busiest first, where one Link attaches a number’s whole call history to the right customer. Blocked refuses numbers at the phone system for a bounded time, sends blocked callers to a voicemail box so a mistake can be found from their side, and lists every refused call. A call page plays the recording once it has reached Florio and states the retention promise it was made under; a number page gathers everything Florio knows about one number. Admin › Telephony holds the extensions, the numbers you own and the switches. How it works.

The Reports gallery gains a Phone tab under Operations: inbound volume by hour and weekday against your business hours, missed, abandoned and voicemail counted apart with whether anyone likely called back, repeat callers who keep not getting through, and the share of calls attributed to a customer, week by week. And every Monday morning, when there is something to report, the people who manage blocked numbers get one email listing last week’s refused calls, any messages left in the blocked-callers box, and the blocks about to lapse.

Sep 2: The payment schedule, on the project page

A project’s Financials tab now shows its payment schedule as a card: each milestone with its amount, due date and status, and the QuickBooks document number once it is billed. For people with finance permissions, a Bill now button cuts the QuickBooks invoice for a milestone on the spot: useful for projects imported from a previous system, whose remaining payments are billed one at a time rather than by the automatic sweep. Projects with billing history from before the cutover say so on the card, so a partial schedule never reads as the whole story.

Sep 2: The unmatched-invoice queue now understands your own event numbers

Accountants often name a QuickBooks job by the event number it belongs to, and until now Florio only recognised numbers that came from an external proposal system. Invoices coded to a job named with a Florio event number now attach to that event on their own, and refunds get the same reading instead of being skipped. At the same time, the Unmatched invoices queue stops collecting decade-old invoices whose numbers merely happened to collide with something: a park cutoff keeps ancient history out of the review list, so what remains is the short set genuinely worth a look. On the studio account this took the queue from over five hundred rows to thirty-one.

Sep 1: Drag scheduling arrives on the dispatch board

The dispatch board now schedules by direct manipulation. Drag a call from the queue onto a technician’s row to place it, on the Day view at the half hour you drop it, on the Week view onto a day. Placed blocks move and resize by touch or mouse, so a visit that runs long stretches instead of being retyped, and one level of undo takes back the last change, removing a freshly placed visit entirely.

Visits can also carry an Arrival window: Morning, Midday, Early afternoon or Late afternoon, editable in Admin under Board Hours & Arrival Windows. The appointment reminder tells the client the window, never the exact time, so a small reshuffle inside the window sends nothing new. Moving a visit whose technician was already notified asks you to confirm and then re-notifies them, and a visit that is underway can no longer be moved at all.

Sep 1: One event’s terms can now gain a section of their own

Per-event terms changes could exclude a clause or edit its text, but a genuinely new topic, an indemnification agreed for one client, say, had nowhere to go except squeezed into an existing clause. The terms panel gains Add a section: a new numbered section on that one event’s terms, written in place, carrying a New section badge in review, and going through the same approval before anything is sent. And once a change has been approved, Revise terms lets you make a further round on the same event, where before the panel allowed only one change ever.

Sep 1: Cancel an event, a billing address on the client, and work types you set yourself

An event that was signed and then called off can now be cancelled. Until now the only way to close one was “Mark as lost”, which says you never won the work. That is a different fact, and reporting treated it as one. The event kebab menu gains Cancel event, which asks for a reason and an optional note, then states the outcome before you confirm: if money was collected and not refunded, Florio keeps that amount as won and closes the event at your final won stage; if nothing was collected, it closes as lost. Cancelled events carry a Cancelled badge and a line recording the date, the reason and who did it. Existing events are untouched, and your reported won totals do not move.

Clients now hold a billing address. Every postal address in Florio used to live on a site, which is where work happens, not where the invoice goes. For a client with one site that meant the venue doubled as the bill-to; for a client with several it meant guessing. The client record gains a proper Billing address, kept separate from any site, and it is the address that goes on the invoice. Nothing is filled in for you, because an address invented from a site would be wrong on the document your client actually reads.

Time categories are now yours to set. The Work type list on the time clock was a fixed five, chosen for floral production work. It is now a list on your account, so a studio that logs shop hours, travel or training can say so, and the hours land under names its own reports recognise. Every existing account keeps exactly the five it had, with the same names, so nothing changes unless you change it.

Also in this release: Order materials and enter vendor bills joins the permission list in Admin, ready for the purchasing tools; and the dispatch board’s Pick Time on Board lets you place a visit by clicking the half-hour slot you want on a technician’s row, instead of only taking the next free opening.

Sep 1: Client records show their service calls, and projects itemize their time

Two additions to the client record. A Service Calls card lists the client’s call history for teams running the service module, so the question of when you were last on site is answered on the record itself. And the profitability panel now reaches work that never carried a proposal in Florio: won projects that exist only as a contract ledger, imported history included, roll into the same revenue and cost totals, with a sub-line noting how many figures came from the contract ledger.

On the project side, the Financials tab gains a Time Entries panel: every hour logged against the project, with person, date, category, and a detail view for each entry, for anyone who can see project profit. The profit pane itself keeps its numbers after a project closes, and when a project has no priced proposal it can now take its sold hours from an imported opening balance, so historical projects show a real hours-sold line rather than a blank.

August 2026

Aug 29: Revenue recognition can now post to QuickBooks, arriving switched off

The recognition close screen gains its working controls: Recompute refreshes a period’s numbers, Post sends the period’s recognition entries to QuickBooks, and Lock seals the period once posted. Behind them, Admin gains two cards: Automatic posting, which can run the post on a schedule (monthly by default, with a time and notification recipients), and Account mapping, which pins each kind of entry to the QuickBooks account your accountant chooses.

Everything arrives off. Posting requires the QuickBooks write switch, the recognition posting switch, and a configured first period, and every one of those starts disabled or unset, so nothing reaches your books until your accountant deliberately turns the stack on. Until then the close screen remains the same read-only review it has been, and the new cards simply describe what will happen when the time comes.

Aug 28: The event record is now six tabs under one header

The event page, the screen everything in Florio hangs off, has been reorganized from one long scroll into six tabs: Overview, Proposals, Financials, Schedule, Materials (on workspaces that plan project materials) and Activity. The header stays with you on every tab: the identity and stage track as before, plus a new fact strip with the standing numbers, the event date, contract value, projected margin, % cost complete, the next day on site and open tasks. A booking still being sold shows the pursuit story instead: opportunity age, last activity, budget, and the proposal’s value and margin once one is priced. Proposals, Schedule and Materials carry count chips, and Financials shows an alert dot while unapproved cost is standing.

Everything found a home by what it is. Financials gathers the money: the contract, the Live profit panel, whose margin now reads as two rows, Margin for the approved plan and Margin · all in when unapproved cost stands, QuickBooks and the tax exemption. Terms sit with the client paper on Proposals. The day-of plan and the crew schedule share Schedule. Materials get the record’s full width, with a green check or red exclamation beside each item in place of the old Approved column. The timeline and the audit log make up Activity, where captured mail lives behind the Emails filter chip rather than a separate panel. The tab you are on lives in the address, so a copied link or a refresh lands on that exact tab, and each tab loads only when you first open it, so the record opens noticeably lighter. See Events.

Aug 27: The note to your approver is readable again

When a designer submits a proposal for approval with a note, the note shows on the Approvals queue and on the proposal itself. A styling slip had it rendering as dark text on a dark blue pill: present, but nearly invisible. It now uses the same quiet blue notice style as the rest of Florio, and reads clearly in both light and dark mode. The build check that guards text contrast was also taught to catch this whole class of slip, so it can’t ship again.

Aug 25: The client proposal shows the day’s times, and photos open full size

The client PDF now closes its product pages with the day-of schedule: every timed slot on the event, setup through breakdown, placed right before the Investment summary. Times only; the note you type on a slot is written for your crew, so it stays on the internal cost sheet and never reaches the client. Photos on both PDFs are now links. Tap any line item photo and the full size, uncropped image opens in the browser, and the link keeps working even in a copy the client saved long ago. Line item descriptions keep the line breaks you typed, and the quantity and unit price line prints larger and darker on both documents, so it stays readable on paper and in toner saving prints. See Send a proposal.

Aug 22: Planned cost needs an approval, and the project says so

Materials you plan on a project are now unapproved cost until a re-estimate covers them, unless the total stays inside your workspace’s tolerance. The contract card shows the amount and a Raise re-estimate button that drafts the internal change order for you, split by cost category, with a reason for the approver; approval stamps every line it covered, so who approved a cost is recorded on the line itself. The Live profit panel reads the projected cost and the margin both ways, the materials card gains an Approved column and filter, and My projects carries the standing amount as the next action. Refusing to close a project while unapproved cost stands arrives in a later release. See Approve planned cost.

Aug 21: Materials, pick lists, phases and My projects

A project’s materials now live on the event: what you are buying, with the vendor and PO, how each line’s cost reaches the project (from your stock, or on the vendor bill), and a lifecycle from To order to Shipped. Every scheduled day has a pick list; a warehouse hand stages the items and the crew confirms what actually left, part loads allowed, with anything not yet arrived refused and named back. A return is recorded as a reversal, never an erasure. Days group into phases with planned windows and a late signal, Schedule a phase generates the days, and My projects in the sidebar lists every job you own with its next action in plain words. The module is switched on per workspace. See Plan materials and load the truck.

Aug 9: Live profit, the Project status report and the recognition close

Every contracted project now carries a Live profit panel: projected and actual cost by component, what the work has earned, what has been billed, what is left to bill, and the margin against the plan, recomputed nightly from the contract, shipped stock, approved hours and the billed milestones. Reports, then Project status puts every open contract on one page with progress bars for cost, hours and billing, the billing position, left to bill and unpaid balance, with a CSV export. Workspaces that recognize revenue cost to cost also get the Recognition close: one period a month, a run per contract and a seven-check guard report, as a read for now; posting arrives with the accounting writer. See Read the Live profit panel.

Aug 9: Contracts, change orders in the builder, and a first-class scope of work

When a client accepts a proposal, the event now carries a contract: the accepted total as the base value, the proposal’s cost lines as the approved cost baseline, and a revision ledger. A change order is a revision of the signed proposal, authored in the builder: it tags every line added, changed or removed, requires a scope of changes before it can be submitted, and is reviewed on one screen with its cost impact and margin on the change. A change that moves the price goes to the client as a change-order document to sign; a cost-only change is applied internally. The scope of work is written on the proposal and assembled on the contract from the signed baseline plus every signed amendment. See Projects and Raise and sign a change order.

Aug 21: Leave a note for the approver when you submit a proposal

Submitting a proposal for approval now pauses for one optional line: a note to the approver. Use it for the thing that would otherwise come back as a question, the margin you chose to hold or the vendor quote a line rests on. The approver reads it beside the approve and reject buttons, on their approvals list, and in the review email, and if the proposal is returned and submitted again the note is there to edit rather than retype. See the lifecycle rail.

Aug 21: The designer is on the proposal card and on both PDFs

The proposal editor’s top card now shows the Designer, the person who owns the event, and you can change it there. The client PDF’s cover credits the designer by name, and the internal cost sheet names the designer too, adding who prepared the document when that is a different person. On the same card the Customer label and the event number are now links, so the records behind a proposal are one click away instead of a trip through the sidebar.

Aug 21: Cover photos straight from your computer, and cost details that stay in view

The cover editor behind Design PDF takes photos straight from your computer with Upload, not only from the library, and an uploaded photo stays with that proposal unless you tick Also add to photo library. The editor also scrolls properly on a laptop screen. In the editor itself, a draft’s Cost details now start open on every line so the costs are in front of you while you price; a line you collapse stays collapsed.

Aug 11: Terms and conditions sections can be dragged into the order you want

The sections of a legal document now hold whatever order you put them in, and you can set that order by dragging a section by the handle at its top left. The new order saves as soon as you drop it, and it carries into everything the document feeds: the proposal PDF, the online agreement a client checks off, and the editor itself. Before this, sections had no stored order at all, so editing one could move it somewhere else in the document, and there was no way to move it back. Ordering follows the same safety rail as the text: a published version is read only, so to reorder live terms you clone a new draft, drag the sections there, and publish it. See Edit your terms and conditions.

Aug 11: A re-signed total that can’t be re-planned freezes the schedule instead of guessing

When a client re-signs at a new total after their event date has passed, every planned payment date is already behind us, so there is no honest place left to put the difference. Florio now recognizes that situation, freezes the remaining schedule exactly as it stands, and alerts accounting with the two figures that matter: what was signed and what has already been billed or collected. Nothing is moved and nothing is hidden; a person decides how the difference gets invoiced. Before this, the arithmetic could quietly park the balance on a payment line that no money view showed.

Aug 11: The payment schedule’s percentages always describe the client’s dollars

A payment schedule that mixes a fixed deposit with percentage payments used to be able to show percentages that described internal arithmetic rather than the dollars on the page. The client’s schedule, the proposal PDF, and the event’s payments panel now derive every percentage from the actual dollar amounts beside it, so the figures a client reads always add up on their own terms.

Aug 10: A payment cadence can hold a fixed deposit, not just percentages

Some work is quoted with a set mobilization deposit: a flat figure up front, then the rest split evenly. Payment cadences could hold that shape, but the screen where you author them could not express it, so the schedule had to be percentages or nothing. Each payment in a cadence is now either a Percent or a Fixed dollar amount, chosen per payment. Fixed money comes off the signed total first and the percentages divide what is left, so a $60,000 deposit followed by two 50% payments means fifty percent of the remainder each, not of the whole. The running readout says which arithmetic you are looking at, and a cadence of only fixed payments is allowed. On the cadence card, a fixed payment now shows its dollar figure where a percentage used to sit blank. See Set up payment cadences.

Aug 9: Rename a proposal from the event page, and a retired proposal stops waiting for approval

Naming your options is how a client tells them apart, but until now the name could only be changed by opening the proposal itself. It can now be changed where you actually look at your options: click a proposal’s name on the event’s Proposals panel and type over it, or use Rename in the card’s actions menu. Since a new proposal starts out as Proposal 1 and a copy arrives as Proposal 1 (copy), that is usually the first thing you want to do. The name stays editable until the client accepts, at which point it is fixed along with everything else on the winning proposal.

Separately, a proposal that had been submitted for approval and then retired, either sunset by hand or set aside when the client accepted a different option, used to sit in the approvals queue forever. There was nothing an approver could do with it: approving it led nowhere, and no screen could reach it to withdraw it. Retiring a proposal now takes its pending submission with it, returning that version to draft and telling whoever submitted it, and the approvals list and its badge count only show work that can still be acted on. A revision submitted on the proposal the client already accepted is a change order and still appears, exactly as before. See Offer good, better, best options and The proposals panel.

Aug 4: Navigate knows where the job is, and the board stops hiding open slots

Seven fixes found by photographing our own screens for the documentation. The biggest: event work built by the day-of scaffold now carries the venue address the event already knew, so the Navigate button on a crew member’s card and job sheet finally opens a map. Until now it appeared only on service visits, because scheduled event blocks were created with a location type and no actual address, and somebody had to type one in by hand; re-running the scaffold fills in any block still missing one without touching an address a manager has edited. On the Day board, a staffing bar that ran out of room used to drop its extra open slots silently, so a setup needing two more people could look like it needed one; bars now fold whatever does not fit into a single marker that is still a drop target, and crew names fold the same way. Those bars also name the event by family or company name rather than by the client’s first name, which used to read like a fourth crew member in a row of crew members. Elsewhere: the capacity board’s strip of blocks assigned to no one leads with the work’s own title instead of the event name, so a manager can tell what the unstaffed block actually is; the block editor gained the Note to crew field its own tooltip had been promising; the job sheet’s punch bar now follows the same today-only rule as the schedule card, so a future block cannot be clocked early, though a shift you already started keeps its Punch out; and administrators can turn the crew money line on or off themselves from the new Crew job sheet card under Admin, Notifications. See Read your job sheet, Run the day on the Day board, and Choose who gets notified.

Aug 3: Prep work now carries the job with it

A prep task on a crew member’s schedule used to show a coloured tag, a time, and the word Warehouse. Everything the studio already knew about that work, including what the client bought and what it should look like, stayed behind on the proposal. Prep now carries its content with it. The schedule card shows a one-line description of the piece, a reference photo, the deadline that made the job urgent, and whether the work is perishable or durable. Tapping through opens the job sheet with the full description exactly as written on the proposal, the designer’s internal notes, the reference photos, and, in studios that show money to crews, what the line sold for and its material cost. The sheet now also names the venue and the time the install has to be finished, so a prep worker can see what the work is for and when it leaves, and it carries the warehouse address so Navigate has somewhere to point. Photos taken from the job sheet can be seen on it afterwards instead of disappearing once sent, an unfinished prep session with nothing itemised says so plainly rather than showing an empty screen, and a cancelled block reads as cancelled and no longer offers to start the clock. See Read your job sheet and See your day and punch in.

Aug 3: Studio prep can name the events it serves

Two long-standing gaps on the manager’s side closed together. A block created without an event, which crews used to see as work with no client attached and which could only be deleted and retyped, can now be attached to an event at any time from the block editor. And a single batched prep session that covers several events, the eight-hour floral morning that feeds three weddings, can now name those events and the share of the session each one takes. The crew card, the job sheet, and the backlog rail all list them, so nobody has to guess who the work is for. Genuinely standing studio work, the cooler cleaning and sample building that belongs to no event, now reads as deliberate rather than as something missing its event. The backlog rail also gained the sold line’s own description under each task title, so a manager staffing five prep cards can tell them apart at a glance instead of reading five near-identical rows. See Attach studio work to its events and Schedule backlog work.

Aug 3: The schedule starts from what you sold

Scheduling now begins with the proposal instead of a blank board. Each sold line’s people and hours flow straight onto the schedule: the prep backlog lists one task per sold line with its own hours and headcount, the day-of scaffold pre-fills setup and breakdown from the sold numbers, and a backward planner lays out the load, leave, and setup chain from the time setup must be complete, flagging a window that will not fit at the current crew size and suggesting the headcount that would. A new Day view puts every event’s day-of chain, the people, and the trucks on one shared timeline: drag a person from the roster rail onto a bar or a slot to staff it, drop someone onto a vehicle to make them its driver, and move crew between events without opening a single form. Work items on each block track punches person by person, with live name pills showing who is on a task right now and for how long. See Build an event’s work framework and Run the day on the Day board.

Aug 3: Crews see the job, not just the shift

The time clock card and the crew schedule now answer the questions a crew member actually has. Each assignment names the client and event as a link, lists the crew-mates and trucks on the job, and shows the work items with a one-line description of each. Tapping through opens the job sheet: the sold line’s full description as written on the proposal, reference photos of what to build, any internal notes from the designer, and the manager’s own instructions, plus a Today, Tomorrow, and Week view of what is coming. Managers can attach a note to any work item from the block editor. Schedule changes now reach the crew too: an assignment or a retime sends one coalesced notification per person per day, quiet hours are respected, and an optional evening digest summarises tomorrow’s blocks. The warehouse wall display carries the same upgrades, including a description line under each task, while remaining free of any pricing. See Read your job sheet, See your day and punch in, and Set up notifications.

Aug 3: Nothing gets scheduled before the client commits

Scheduling actions on an event now unlock only after the client’s acceptance is recorded. Until then the schedule panel stays visible with its buttons disabled and a plain reason line, one click from the page where acceptance is recorded. That page now also asks which proposal the client signed, so the crew’s job sheets always describe the accepted version, and a proposal revised after acceptance never changes what the crew sees until it is re-released. The date picker on the scheduling board gained month-grid flags to match: a date with planned work shows in bold, and a date whose events are understaffed, missing a driver, carrying unassigned prep, or out of step with what was sold shows in red, with the same signal on the date button itself when the day you are viewing needs attention. See Unlock scheduling for an event.

Choosing Calendar on the events list is now remembered the way Board and List always were. Until now the view switched and held for the rest of your visit, but it never survived to a new sign in or a second device, so Calendar quietly reverted to Board every time you came back. Whichever of the three you pick is now your default until you change it.

Aug 1: A steadier look for buttons, notices, and icons

A pass over the interface put quiet actions, warning notices, and status pills back on their intended styling. A Cancel no longer draws the eye as strongly as a Save, an overdue date now reads as overdue at a glance, and a refunded charge shows its own colour beside the paid and failed ones. Icons throughout the app are now drawn from a single line set instead of a mix, so a glyph on a button matches the one beside it.

The photo button on your day’s schedule also carries a proper name now, so a screen reader announces what it does rather than an unlabelled control.

July 2026

Jul 30: Copying a colleague on a proposal no longer reads as customer activity

Reps often copy a teammate on a proposal so they can see it went out. Florio now recognises those recipients as colleagues rather than customers. They still receive the message, but it links back to the proposal inside Florio instead of carrying a customer signing link, so a teammate can never sign in the customer’s place. Their opens also stay out of the customer’s engagement history, which means the view and open counts on a proposal reflect the customer alone.

One related guard: a send addressed only to people at your own organisation is now declined rather than marking the proposal as sent, because the customer would have received nothing.

Jul 30: Your own mailboxes cannot be saved as a customer’s contact address

Adding one of your organisation’s own email addresses to a customer contact is now declined. Left in place, such an address quietly turns your team’s internal mail into that customer’s correspondence history. Contacts keep working exactly as before for real customer and vendor addresses, and any address Florio sets aside this way is recorded on the customer’s activity feed so nothing disappears silently. See Capture a company’s email.

Jul 30: Excluding a view now removes it from the totals

Marking a proposal view as excluded already dropped it from the view trail. It now also drops out of the view and open counts, so the number on the card matches the list of visits behind it.

Jul 29: QuickBooks posting is ready to turn on

Florio’s QuickBooks integration can now write your books, not just read them, and the whole setup is ready for you to work through. Once you turn it on: delivered orders become invoices or sales receipts, a signed event’s deposit and final invoices are staged from its payment schedule, month-end plant care posts its consolidated invoice, and every card payment and refund is recorded with its processing fee booked. Every document carries its Florio number as the QuickBooks document number, so the two systems always reconcile.

Turning it on is deliberately careful. A go-live readiness card checks your mappings and customer links before you flip, the switch itself opens a confirmation showing exactly what will post the moment writes turn on, a cutover date guarantees events your team already invoiced by hand are never billed twice, and the flip is recorded in the activity log. Until you turn it on, nothing posts, and every push button says so. The whole setup is a guided journey with a screenshot for every step; see How Florio works with QuickBooks Online.

Jul 29: QuickBooks customers match themselves, and a readiness card watches the rest

Before Florio bills anyone, every customer you already invoice in QuickBooks should point at its existing record, not a fresh duplicate. Run auto-map now links them in bulk: from billing history where past invoices already name the customer, and by exact name where they match, with everything ambiguous left for a person on a short review list. Nothing fuzzy is ever guessed, and every link lands in the activity log. The hand picker on the customer record, released earlier, covers the stragglers.

The new Go-live readiness card ties it together: it names any unmapped item or tax code, counts customers with active work still unlinked, and shows how many due milestones the first billing sweep would pick up, with the full list one click away in Reports, then Cash / Receivables. See Match your customers to QuickBooks.

Jul 29: Shorter document numbers

Record numbers across Florio got a shorter dress: what was a long code with the workspace name and the module spelled out is now a compact prefix, a two-digit year, and the sequence, like EV-26-004914 for an event or OR-26-000327 for an order. It is the same number underneath: the year and the sequence carried over. Saved links built on old-style numbers still open the right record, the old numbers stay searchable, and documents already in your books keep the numbers they were posted with. See What Florio numbers mean.

Jul 29: The QuickBooks sync now rides out bad days at Intuit

A momentary error from Intuit’s side used to be able to wedge the sync until someone noticed. Now transient failures retry on their own and the sync resumes without help. When the connection genuinely needs a person, because a password changed or Intuit expired it, Florio pauses safely, emails the people who manage the integration, and picks up exactly where it left off the moment someone reconnects. Nothing queued is lost either way. See Troubleshoot the QuickBooks connection.

Jul 28: Customer pages now explain themselves, in the customer’s language

When something stops a customer on a signing, sign off, or checkout page, that page now says what actually happened instead of a generic failure. A link that was already signed, a view only link, one that has expired, a booking past its cancellation window: each names itself, so the customer knows whether to act or to call you.

Those messages are also translated. A customer reading your storefront in Spanish previously got an English error at the one moment it mattered most; now the page answers in the language they are reading. Wording across the app also got a light pass for consistency, so labels and email subjects read the same way everywhere.

Jul 28: Every view count now shows its work

“Viewed 3 times” is a link. Open it and you get the list behind the number: each visit, when it happened, roughly where it came from, and what opened it. If more than one person opened the same copy, Florio says so, which usually means your contact forwarded it.

The counts also got stricter, and smaller. Mail providers preload images the moment a message is delivered, corporate mail security opens links before the recipient sees them, and chat apps fetch a preview when someone pastes a link. None of that is a person reading your proposal, so none of it counts any more. Neither does a visit from your own studio. Every one of those still appears in the list with the reason it did not count, so a number that looks low is always explainable from the same screen. If a visit that counted was really someone on your team, This was us takes it out by hand.

It applies to everything already recorded, not just from here on, so open any past proposal and the list is there. Set up the ranges your team browses from in Admin, then Networks, and the admin activity log now shows where each change was made from too. See see who opened your proposal and register your own networks.

Jul 28: Plant contracts know whose plants they are

Every plant line on a maintenance contract now records who owns the greenery. Client means the account bought the plant and you only service it; Ours (rental) means you placed it on site and it is still yours. The new Owned by column reads at a glance, so when a contract ends nobody has to work out from memory which planters leave with you. Lines that already existed all read as the client’s, which is the safe assumption. What you charge does not change: what a plant costs to service is still the per-plant rate you set.

A plant line also needs a species now. A row with a count and a rate but no plant name used to vanish when you saved, quietly taking its share of the monthly price with it, and the contract repriced as though you had never typed it. Now the save stops, the row is marked, and you fill in the name before anything is written. Editing the plant list also keeps the condition history for the plants you did not touch, so renaming one plant or changing its rate no longer clears what your crew recorded about the others on past visits.

Contracts now carry a notes field: gate codes, where the water spigot is, which door the cart fits through. It sits on the contract page the crew board opens, so it doubles as the site brief for whoever is driving. See Plant care.

Jul 28: Throwing away an email gives your calendar back

When you offer meeting times inside an email, each time is held on your calendar so nothing else can take the slot while the client decides. Until now, abandoning that email left the holds behind: the message never went out, but your calendar carried the blocks for up to two business days, and your own availability quietly stopped offering those slots to anyone else. Now closing the composer hands the times straight back, and the booking link in the discarded draft stops working with them, so a time you never actually offered cannot be booked later from a stray copy. The same release is on the Remove next to Proposed times added when you are sending a proposal.

Florio also stops asking you to be careful with the mouse. Once you have typed anything into a message, the close button, Cancel, the Escape key, and a click outside the window all ask before they throw it away, and the question tells you how many held times go back. Opening a template or the meeting-times window and then backing out of it no longer takes the unsent email with it. See Propose meeting times in an email.

Jul 28: Twelve years of web shop history, now in the CRM

A shop’s whole order book can now come across from its storefront, not just the orders that arrive by email from today onward. For our own Maryam Flowers storefront that meant 3,557 orders reaching back to January 2014, each landing with its real date, its buyer, the recipient and address, the card message, the line items with their design recipes, and what the storefront actually charged. Buyers become clients, matched to anyone already in the CRM rather than duplicated, and a customer’s history now spans every order they ever placed instead of only the recent ones. Orders that predate a shop’s current ownership say so on the record, so historical revenue is never silently read as your own. Imported orders arrive already complete, so they never appear as work waiting on the bench.

Jul 27: Proposals name the venue, and the internal sheet has room to write

Both proposal documents now carry the event’s locations. The client cover names the venue and city under the date, so a client sees where the day happens before any pricing; the street address stays internal. The internal cost sheet gets the full addresses, with any note you left on a location, sitting beside the day-of schedule, so whoever loads the truck reads the address and the load-in time off one page. On that same sheet every line now has a ruled notes panel down the right side, because production marks these up by hand, and it is there whether or not the line has costs. Any internal note you already typed sits at the top of that panel. Each line cost also shows what it comes to as a share of the line’s price. See Make an internal cost sheet for production.

Jul 27: Every cost on a proposal now lands in the scorecard

A cost typed onto a proposal line without a cost category used to sit there quietly: the line showed it, the scorecard did not count it, and the margin read better than the job really was. Now a new cost row opens on your usual category, a row left without one is marked on the line and called out above the live scorecard, and the proposal is held at Submit until it is set. The same check runs when you save a reusable template, so a template cannot carry the gap into every proposal built from it. Orders that arrive from an integration are never blocked; anything the integration cannot place is counted as uncategorized material and shown as needing a home. See Build a proposal from sections and lines.

Jul 27: Web shop fees, reconciled gross to net

Web shop orders now carry their real economics: what the customer paid, the card fee held back, and the net that actually reaches the account, read from the storefront’s own payment processor and matched to each order automatically. Duplicate charges that were refunded are ignored, and any pairing the matcher isn’t certain about is left for a person instead of guessed. It’s the same gross-to-net discipline marketplace orders already get. See Marketplace orders.

Jul 27: Web shop orders put themselves on the board

When your own web shop emails an order confirmation, Florio now reads it and creates the real order: the buyer becomes a client (or matches one you already have), and the recipient, address, delivery date, card message, delivery instructions, and tip all land on the ticket, marked paid with the exact amount the shop charged. If someone already typed the order in by hand, Florio recognizes it by its delivery date, recipient, and total, and completes that order instead of creating a duplicate. See Marketplace orders.

Jul 27: The scheduling guides now show a real week

The Scheduling pages are illustrated with a working week instead of an empty one. The module page now shows the Dispatch board with a full crew laid across an event day, the List view with real load-out times, and the Capacity board with a team’s week placed out: someone in overtime, someone light, a standing day off, approved time off, and a request still waiting on a manager. A new screenshot shows the guard that matters most, the block editor refusing to double-book a person onto a time-critical phase until you explicitly choose Add anyway. Every section of the page now has its own link anchor, and the dispatch guide picks up the same conflict screenshot. See Scheduling.

Jul 26: Guides for the shop floor, production through delivery

The screens the shop actually works from are now documented end to end. Production and delivery explains how a taken order becomes work: the production queue, the delivery queue, and My bench, where marking a build started or done moves the order’s own stage with it, so nothing is updated twice. It also covers proving a delivery with a photo of the finished piece, a photo at the door with its location, and the customer’s signature. The rental side is covered too: the fulfillment board and its four stages, scanning the actual units onto a load with before and after wrap photos, checking them back in with a condition that raises shop work and opens a damage assessment, the Carpentry queue, and the two step review-then-bill gate on Damage & loss. New guides cover building an order on the bench, running the delivery queue, proving a delivery, prepping a rental order for load-out, checking rentals back in and logging damage, and running the carpentry queue. The question-mark button opens the right guide from any of these screens, and every page is in English and Spanish. See Production and delivery.

Jul 26: The meeting-insights read, now in the docs

Open View meeting insights on a recorded consult and Florio shows the full read of the conversation: how many of your requirements it covered, client versus staff talk, the questions asked, a trust signal, the budget the client stated, and how they found you, each backed by cited quotes. The panel opens reliably from any record’s activity feed, and the guide for reviewing a meeting now walks it screen by screen. See Review the notes from a meeting.

Jul 25: Guides for Florio Service, the field-service add-on

Florio Service, the add-on for shops that also maintain what they install, is now documented end to end. The module explains the whole side of the business: service calls (one object for both a help-desk ticket and a field job), sites and the equipment installed at them, coverage contracts, the Crew Board a dispatcher runs the day on, the My Day phone view a technician works from, the Triage queue that catches unmatched intake, and the public request form you put on your own website. New guides cover taking a service call, working the triage queue, setting up a site and its assets, scheduling and dispatching a visit, running a visit from your phone, selling and tracking a service contract, and setting up the module. The question-mark button opens the right guide from any service screen, and every page is in English and Spanish. Florio Service is available on request; see the add-on entry on the pricing page. See Florio Service.

Jul 24: Guides for email, calendar, and meetings

How Florio wires your inbox, calendar, and client records together is now documented end to end. The Email module explains capture (client mail files itself onto the right record), the Emails panel, replying from a record, My Stuff (one worklist of the email you still owe a reply), booking links and proposing meeting times from your real calendar, and turning a recorded consult into a reviewed draft. New guides cover replying from a record, keeping up with replies, and reviewing the notes from a meeting, alongside the existing guides for proposing times, capturing a whole company’s email, and reconciling a changed address. The question-mark button opens the right guide from these screens, and every page is in English and Spanish. See How Florio handles your email and calendar.

Jul 24: Guides for events, proposals, and the margin scorecard

The heart of the platform, the path from a booking to a signed proposal, is now documented end to end. Events explains the record everything hangs off: its stages, the scorecard and proposals on it, locations and the day-of schedule, terms and tax per event, and its tasks and history, with guides for creating an event, working it through its stages, planning its locations, and overriding its terms or tax. Proposals covers building from sections and lines, offering a client good, better, and best options, revising and comparing versions, and saving reusable templates. The margin scorecard covers costing an event, pricing labor by headcount, setting your target margin, and reading projected against actual after the event. The question-mark button opens the right guide from any of these screens, and every page is in English and Spanish. See Events, Proposals, and The margin scorecard.

Jul 23: Meetings from Google Calendar on the customer’s activity feed

Meetings your team books in Google Calendar now appear on the matching customer’s activity feed automatically whenever a client is on the guest list, including meetings the client organized from their own calendar. Upcoming meetings group at the top of the feed with the next one first, history sits below, and clicking a meeting opens the full guest list with each reply, the location, and the Meet link. See See meetings from Google Calendar.

Jul 23: Guides for setting up and running your workspace

The Admin area, where you add people, decide who can see and do what, wire up email and billing, and brand your documents, is now documented tab by tab. New guides cover inviting users and assigning roles, customizing roles and permissions, controlling who sees sensitive fields, setting up email capture, response-time targets and escalation, payment cadences, notifications and the morning briefing, your terms and conditions, renaming things to match your studio, the booking page, tax-exempt customers, and reading the activity log. The question-mark button in the top bar opens the right guide on any Admin screen, and every page is in English and Spanish. See Admin and setup.

Jul 23: Guides for every report

Reports is now documented end to end: how to find the right report in the gallery, and how to read the money reports (cash and receivables, bookings, revenue, recurring), the sales and pipeline reports (sales, forecast, win/loss, leads), and the operations reports (orders, rentals), plus how to export any report to a spreadsheet. The question-mark button opens the matching guide from any report, in English and Spanish. See Reports.

Jul 23: Version history for a proposal in progress

Every change you make while building a proposal saves quietly, and Florio now keeps earlier states of the draft so nothing gets lost. If a draft ever comes back looking empty, or a change removes work you meant to keep, open the proposal’s Manage group and choose Version history: you will see the earlier saves, each with its line count and total, and one click on Restore brings that version back. Florio also refuses any save that would empty a proposal you have already built, so a stray reload can no longer erase your work. See Restore an earlier version of a proposal.

Jul 23: Guides for leads and customers

Leads and customers is now documented end to end: capturing and qualifying a lead, converting it to a customer, importing a list from a spreadsheet, working a customer’s record with its whole history and billing, keeping contacts and important dates, merging duplicate records, tracking planners and their commission, and working the Inbox Triage review queue that turns inbound email into leads. The question-mark button in the top bar opens the right guide on any of those screens, and every page is in English and Spanish. See Leads and customers.

Jul 23: Help for the screen you’re on, one click away

Every page now has a small question-mark button in the top bar, beside the notifications bell. Click it and Florio opens the guide for wherever you are in a new tab, so you never have to hunt through the docs for the screen in front of you. It follows your language, and on a screen we have not written up yet it takes you to the docs home rather than a dead end.

Jul 22: Match a customer to its QuickBooks record by hand

Florio links your QuickBooks customers to your Florio customers automatically wherever the names line up, but some never match on their own: one your books file as “Posner, Shara” against a customer you call “Shara Posner”, or one the automatic pass simply missed. Now you can fix those from the customer record. The QuickBooks customer field shows the current link, or Not linked when there isn’t one, and clicking it opens a search of your QuickBooks customers by name or email, with each result’s city, state and open balance so you can tell two similar names apart. If the customer you pick is already linked to a different Florio customer, Florio stops and asks you to confirm before it maps both to the same account, so a mismatched pick can never quietly send two clients’ billing to one place. See How Florio works with QuickBooks Online.

Jul 22: A cost sheet for the team building the event

Open a proposal’s Preview / PDF and you now have an Internal PDF button beside Download PDF. It keeps the familiar look your client sees, but adds a per-line breakdown of the crew, hours and materials behind every item, plus the event’s scorecard and the day-of schedule, so a designer can hand the production team one page that shows where the money goes. Every page is stamped Confidential, it stays readable when you print without background colors, and only people who can already see an event’s scorecard can open it. See Make an internal cost sheet for production.

Jul 22: Capture a company’s whole team, and give a contact every address

A client is often a company, not a person, so Florio now lets you declare a company’s email domains and file mail from anyone there onto one account. Add them under Email Domains on the customer record, and if a message arrives from someone new at that domain, Florio creates a contact for them; consumer domains like gmail.com are blocked so one rule can never sweep every individual client. A single contact can also hold several addresses now: open the contact, use Email Addresses to Add email and Make primary, and captured mail matches on any of them. See Capture a whole company’s email.

Jul 22: Tighter control over captured email

Changing a customer’s email no longer risks losing history. When the record already has captured mail, Florio keeps both the old and the new address working and files an approval, Email changes to reconcile, where an admin picks Keep both, Remove old address, or Remove new address, so a typo or a hasty edit can never quietly cut off a client’s thread. Florio now also records who opens a captured email, so you can answer who saw a message from inside the app, and the email subjects shown in an activity timeline follow the same permission as opening the mail. And your own team’s addresses can no longer become a customer’s capture identifier, so a colleague who is also a client never pulls their work inbox onto that record.

Jul 21: An order shows its progress, and the bench keeps it current

The order record now carries the same clickable progress track that leads and events already have, running along the top of the order. A delivery order shows Taken, In production, Ready, Out for delivery and Delivered; a pickup order shows the pickup path instead, so you never see a stage that does not apply. The bench now moves the order for you: when a designer starts and finishes the build, or a driver heads out and drops off, the order advances on its own, and reopening a step reopens the work behind it. Cancelling an order now asks why, from a list you can edit, with room for a note, and Entered in error clears the timestamps so the track never claims a delivery that did not happen. You can reopen a finished order from the menu in the corner. There is also a new permission just for moving an order along, so the florists and drivers who fill orders can advance the flow without being able to change its pricing, recipient or address. Ask an admin to grant it under Admin, Roles and permissions.

Jul 21: An event’s stage is a track you can click, too

The event record now shows its stage as a track across the top of the header, from a new lead through the scorecard and on to the finished event, matching what leads and orders already do. Click a stage to move the event there. When an event falls through, it shows where it left the track and asks for the date you lost it, while the earlier stages stay grey rather than pretending we know how far it got. A test event now wears a small grey Test label so it is never mistaken for real work, and the header buttons moved into one tidy menu in the corner.

Jul 21: Every order opens, whatever your role

An order could show a blank page to someone whose role does not include the money side of the business. It now opens for everyone and simply shows each person the parts of the order they are allowed to see.

Jul 21: The docs reorganized around how you work

This site’s sidebar now follows Florio’s own modules: proposals, scheduling, rentals, time and people, and the rest, each with its own section holding how it works and the guides for it. Every page you may have bookmarked redirects to its new home, in English and Spanish. Vehicles got their own guide, Add a vehicle and authorize drivers, split out of the teams page it had outgrown.

Jul 21: Someone can run the trucks without running everything

Looking after vehicles used to require the same broad settings permission that also opens scheduling departments, Field Service rates, email rules and the maintenance price book. There is now a permission just for the vehicle record, so you can hand the fleet to whoever actually keeps the trucks on the road and nothing else. They can add a vehicle and edit everything on it, including ownership, insurance and warranty, and they can upload the title, registration and insurance card. The purchase price and loan terms stay with your top level settings permission, and the vehicle vocabularies, vehicle classes and driver authorizations stay there too. Anyone already logging service, incidents, odometer readings and renewals keeps doing exactly that. Ask an admin to grant it under Admin, Roles and permissions.

Jul 21: Nine more lists remember where you were

The leads list learned to hold your place last week, and that now covers Customers, Contacts, Rentals, Planners, Photo Library, Service Contracts, Standing Orders and the two Displays lists in Admin. Templates, Email Templates and the Templates hub moved onto the same remembering, so every list in Florio behaves one way instead of nine. The view you pick is remembered on your device until you change it. Column filters and sorting stay for as long as that browser tab is open and start clean in a new one, so a filter you forgot about cannot quietly hide records days later. One thing to expect right after this update: tabs and filters on the Templates screens start back at their defaults once, then hold as usual.

Jul 21: Activity logs follow the same money rules as the record

An activity log now shows money only to the people who can already see that money on the record itself. If your role does not see cost and payment details on an order, the order’s activity log no longer spells them out either, and the same holds for vehicle purchase and loan details and for service costs and contract pricing. The entries themselves stay put, so everyone can still see what changed, who changed it and when, and nothing is hidden from the people who could always see it. Nothing to set up.

Jul 19: A lead’s stage is now a track you can click

The top of a lead record shows its progress as a simple New, Working, Qualified, Converted track, sitting in the middle of the header between the name and the buttons. Click a stage to move the lead there and Florio asks you to confirm before it commits, so a stray click cannot restage someone. The stage is stated once now, so the old dropdown and the duplicate badge are gone. Converting still runs the full convert flow and disqualifying still asks for a reason, so neither happens from a single click. A disqualified lead shows where it left the track in red, and the earlier stages stay grey rather than pretending we know how far it got. Everything else moved into one actions menu beside the Convert button: Disqualify, Mark as spam, and, for admins, Delete lead, which still asks you to type DELETE first.

Jul 19: The leads list remembers where you were

Pick the Disqualified view, sort by name, filter a column, then open a lead and come back: the list is exactly as you left it. The view you choose is remembered on your device until you change it, so Florio opens where you work. Column filters and sorting stay for as long as that browser tab is open and start clean in a new one, so a filter you forgot about cannot quietly hide records days later. The Filters button shows a count whenever any filter is active.

Jul 19: A tidier proposal action panel, and Use as template

The panel to the right of a proposal now shows its progress as a simple Draft to Signed track, with the actions grouped under Share, Document, and Manage so the next step is easy to find. Sharing buttons stay locked with a small padlock until the proposal is approved. Use as template now sits in the panel in every state, turning the current proposal’s line items into a reusable template in one click, and the read only link is now labeled Copy PDF link. When you add a one-off recipient during a send and save them as a contact, that now shows up on the customer’s activity log too.

Jul 19: Proposals reach the right person, and sending is friendlier

When you choose Send to customer, Florio now starts with the event’s contact already selected instead of a company inbox, lists the account’s other people, and lets you add someone new on the spot and save them as a contact for next time. Each recipient gets their own copy with a private link, so you can see who opened and signed; you can edit the subject and greeting, add a note, and offer meeting times inside the email. If you would rather send it yourself, Copy signing link hands you the link and marks the proposal sent so it works right away, and the proposal now says plainly when a send failed, for example a missing address, instead of sitting on “awaiting delivery confirmation.” See Send a proposal for signature.

Jul 19: Cancelled meetings tidy up after themselves

When you cancel a meeting, its entry on the customer timeline no longer keeps the old Join and calendar buttons that led nowhere. The row now reads as cancelled, so the history stays honest.

Jul 17: A money picture on every customer

Every customer record now has a money panel that brings their whole billing history together, imported invoices and live QuickBooks in one place: lifetime billed, lifetime paid, open balance with the next amount due, typical days to pay, and the span from first invoice to last. Below it, a profitability roll-up breaks margin out by line of business and sums to a total, with each dollar figure colored by whether it helped or hurt and margin percent measured against your target. The money panel is reserved for finance and margin roles.

Jul 17: The board gets a permanent home

The scheduling board now lives in the Fulfillment group beside Scheduling, so it has a steady home in the navigation for everyone. By default it is named the Crew Board, and it still lays the day out across every kind of scheduled work. Nothing about how you use it changes; it is just easier to find.

Jul 17: Wire service statements, reconciled to each order

When your monthly wire service statements arrive by email, Florio now reads them and matches each one back to its order, so every wire-in order shows its true take: the gross, the commission and delivery you keep, and the fee. Wire orders no longer carry sales tax on your side, since the sending florist collects it, and an order that was fully reversed on the statement now reads as zero with a clear note instead of a blank.

Jul 17: Time approvals join the Approvals hub

Time entries waiting on your approval now appear in the Approvals hub alongside proposals and time off, with the same pinned badge counting everything on your plate in one place. Buttons across the app also lost a stray green glow and sit flat by default, so a delete button no longer wears a green halo.

Every photo in your library now has a short ID and a shareable link that opens straight to it, both a click to copy from the photo’s drawer. Paste an ID or a link into search and you land on the exact photo, whether you are browsing the library or picking images for a proposal. We also fixed a set of hard-to-read buttons in the photo tools and a few other spots where red text sat on a red button.

Jul 17: Consult notes follow the lead

A consult you recorded on a lead now shows up on the event, order, or job that lead became, not only on the client’s timeline, so the recap and transcript stay with the work. Consults booked well in advance now reliably capture their recording too; before, a meeting booked days ahead could give up waiting before it ever happened.

Jul 17: Florio Service: contracts, reporting, and reminders

Florio Service gained service contracts with coverage terms and their own profitability, a service reporting tab covering response and resolution times, backlog, problem categories, and technician utilization, and automatic appointment reminders emailed to the customer the business day before a confirmed visit. Florio Service is an add-on module in early access; request access to enable it for your team.

Jul 16: New module: Florio Service

Florio now runs complete field service operations. Florio Service brings service calls with email and web intake, response time targets, a dispatch board that shows every technician’s full day across all of their work so nobody gets double booked, a mobile day view for techs in the field, records for customer sites and installed equipment with full service history, and live profitability on every call. Florio Service is an add-on module in early access; request access to enable it for your team.

Jul 16: Time entries now get approved before payroll

Time tracking has a new review flow. Each entry is approved by the person’s manager and then given a final payroll approval, so the hours that reach a paycheck have been checked twice. Managers get a reminder each business morning when entries are waiting, plus a payroll day summary of anything still open, and a new Approvals report shows how quickly each team’s time gets reviewed. Read the guide: Approve time for payroll.

Jul 16: Lookbook viewers become leads

When someone unlocks a lookbook on your website, Florio now records the view and creates a lead automatically, with repeat visits tracked. Viewers who are already clients get a follow-up task for their rep instead. The leads list shows a Views badge so warm repeat visitors stand out at a glance.

Jul 16: Meeting recap emails

After a consult, Florio can send a recap email to the designer and their manager that summarizes what was discussed and what happens next, built only from confirmed details of the meeting. Coaching feedback stays private: it goes only to the person it is about, plus anyone you specifically allow.

Jul 16: Job titles on profiles

People can now have a job title on their profile, shown wherever a person appears in the app.

Jul 16: Easier to read across the app

Secondary text throughout Florio is now darker and easier to read: page subtitles, stat card captions, sidebar section labels, table notes and helper text. Every piece of body text in the app now meets the WCAG AA contrast standard in both light mode and dark mode. Empty values still show the same quiet placeholder as before.

The order sign-off email now works like sending a proposal. It shows up on the order’s timeline the moment you send it, with a delivery status you can watch, and you can click it open to see the exact message the client received. The Client sign-off card tells you when the email was delivered, whether the client opened it, and when they clicked through to the sign-off page, so you always know where things stand.

Jul 16: Add a personal note to a sign-off

When you send a sign-off link you can now add a short personal note that appears at the top of the email, so the request reads like a message from you rather than a form. The note is saved with the send and shown in the timeline preview.

Jul 16: Send an order for client sign-off

Every order now has a shareable sign-off link: the client opens a clean, branded page showing the line items, delivery details, and the total with estimated tax, then approves with a typed name and an optional drawn signature. Create the link from the new Client sign-off card on the order, copy it anywhere, or email it to the client in one click. The approval lands on the order’s activity log with who signed and when, and exactly what they approved is kept on record.

Jul 16: Take payment the moment the client approves

Turn on “Collect payment on approval” when you send a sign-off link and the client enters their card right on the page. The card is stored securely with Stripe on their profile for future orders, and it is charged the approved total the instant they sign. If a card is declined the approval still stands and the order is flagged for follow-up, so you never lose the yes.

Jul 15: Review and approve proposals from your phone, iPad, or Mac

A proposal waiting on your sign-off now opens as a full native review in the apps: every line with its ingredient and labor costs, the designer’s internal notes, rental availability flags, and the live margin scorecard. Approve, Reject with an optional note, or Cancel submission right there. On iPad and Mac the summary, scorecard, and decision buttons sit in a rail beside the document, so you read the proposal and watch the margin at the same time. Find the queue under Approvals, on Today, or straight from a notification.

Jul 15: Approve a small revision right from the notification

When a new version of an already approved proposal comes in for review, the notification shows the original and updated totals and how the gross profit moved. If it is a quick yes, press and hold to approve or reject without opening the app, from your phone or your watch. First-time submissions still open the full review, on purpose.

Jul 15: Sent back or cancelled, the designer hears about it

Approval already pinged the designer; now a proposal sent back for changes, or a submission cancelled back to draft, does the same with an email and a push, deep linked to the proposal. Notifications also now show as banners while you are working inside the app, and tapping one lands you on the right screen.

Jul 15: Drag work to another person on the iPad Crew board

A new Crew section on the iPad lays the day out as one lane per person, each scheduled block a card, with unassigned work in its own lane. Drag a card to another lane to reassign it, or out of Unassigned to hand it out; if that person is already committed at the same time, Florio asks before double booking them. Each lane totals its allocated hours, so who is loaded and who is free reads at a glance.

Jul 14: Contacts in quick-find and the command palette

Search now finds people, not just companies. Type a contact’s name or email into the big search bar, or into the command palette (Cmd-K), and they appear under a Contacts group with their company beneath, one click from their record.

Jul 14: Sort the events on a customer page

The Events list on a customer record now defaults to event date with the most recent first, every column header sorts on click, and your chosen sort follows you across page views and devices.

Jul 14: Sharper hover states everywhere

A readability pass on hover: the notifications bell, the Log out menu item, approval names, attachment filenames, and a dozen other controls no longer wash out when the pointer lands on them, in light and dark mode alike. A new automated check now runs inside every build so this class of bug cannot ship again.

Jul 14: Approved proposals ping the designer

When a proposal is approved, the designer behind it now gets an email and a push notification on their phone that it is ready to send, deep linked straight to the proposal. No more refreshing the Approvals queue or hearing it secondhand; the moment leadership signs off, the person who built it knows.

Jul 14: Move a line to another section, right on the proposal

The proposal builder now lets you drag a line item from one section to another, not just reorder it within its own section. Drop it on the line where it belongs, or onto an empty section, and autosave keeps everything in order. Section menus also stopped getting clipped by the section below them.

Jul 14: Meetings on the timeline tell you more

A meeting row on an activity timeline now shows the meeting’s own title next to the word Meeting, or the attendees when it has no title, so “Design consult with Rachel” reads at a glance. Upcoming meetings also show the scheduled time right beneath the date, in your studio’s timezone.

Jul 14: Driver authorizations grew up, and Fleet got a scoreboard

The driver authorizations checkbox grid on the Fleet page is now a row per vehicle class with the authorized drivers shown as chips: add several people at once from a searchable picker, remove one with a click, or flip to a by-person view to answer “what can this person drive”. The page also gained summary cards for active vehicles, unavailable vehicles, compliance due within 30 days, and anything overdue. See Set up teams, queues, and vehicles.

Jul 14: Merging customers now says exactly what will happen

The merge and move-into-a-company dialogs now state plainly which record survives and which gets archived before you confirm, and they warn when the “company” you picked is actually a person’s record. A small guard that prevents a very confusing morning.

Jul 13: A home for your vehicles

Fleet is now its own page under Fulfillment, next to Scheduling, and anyone who can see the scheduling boards can open it. Each vehicle carries a real profile: identity and odometer, service history with costs, incidents and claims, devices like transponders, and compliance dates for registration, inspection, insurance, and the next service. Florio watches those dates and opens a task, plus a line in the morning briefing, before anything lapses. Authorize who may drive each class of vehicle, and dedicate a vehicle to one driver when it travels with them. The money and incident details stay behind the right permissions, so a driver reads the basics while a bookkeeper keeps the records. Fleet setup used to happen with us during onboarding; now it is self-serve. See Set up teams, queues, and vehicles.

Jul 13: A Today’s Events board, and simpler display management

Displays gained a new Today’s Events board for the office or conference room: a scrolling wall of the day’s events, each with its milestone times, every venue and address, the crew assigned with hours per person and per role, and the event’s value. Managing your screens also got easier: rename any display in place, filter Active from Revoked, and restore or permanently remove one you have retired, all from Admin. Boards that show dollar figures stay on executive-tier displays only, so a workroom or lobby TV never shows money. See Set up a TV or display board.

Jul 13: Track where each event came from

Every event now has a Lead source field, so you can record whether the work came from a referral, your website, a planner, a repeat client, or an online platform, right next to the category, channel, and stage. It is the same field you set on a lead, so the source carries through as an inquiry becomes an event, and it feeds the lead source breakdown in Reports. Florio can also fill it in for you when a discovery call mentions how the client found you.

Jul 12: The scheduling handbook, with real screenshots and a Spanish edition

The whole scheduling and task system is now documented end to end: how crews, the backlog, and the three board views fit together, plus step-by-step guides for building an event’s work framework, placing backlog work on the Capacity board, running the day on Dispatch, punching in from the field, time off, task delegation, and the admin setup behind it all, with a manager quickstart to tie it together. Every guide carries real product screenshots. And the docs site now speaks Spanish: use the language picker in the header, and pages translate as we go, starting with the full scheduling set.

Jul 12: Time off requests and approvals

Ask for time off right inside Florio: pick the days (or just the hours, partial days are supported), add a note, and your request moves through your studio’s own approval chain, your manager first, then leadership, then payroll processing, each step configurable per studio. Approvers see useful context with every request: what is on the calendar that week, whether the requester is already crewed on an event, and who else on the team has asked for overlapping days. Pending and approved time off shows on the capacity board so scheduling never gets surprised, and everyone gets an email as the request moves along. See Request and approve time off.

Jul 12: Call things what your business calls them

A new Terminology page in Admin lets you rename what things are called across all of Florio: navigation, page titles, search, emails, and documents, in both English and Spanish. Type your own wording for any label, or apply the one-click preset that renames Events to Projects everywhere, review the list, and save; the change applies immediately for your whole team. Built for studios and firms whose work is projects, jobs, or installs rather than events.

Every report now has its own web address, filters included, so the exact view you are looking at can be shared: click the new Copy link button in any report header, send it to a teammate or your accountant, and it opens the same report with the same period, date range, or as-of date after they sign in. The Reports page itself was reorganized into a grouped list (Money, Sales and pipeline, Operations) with a search box, star-to-pin favorites that follow your account across devices, and an All reports gallery that describes each report in plain language; you choose whether Reports opens to the gallery or to your last report. Export CSV now comes from the server, so the file is identical from the web, the apps, and a direct link. See Share a report.

Jul 9: A cash forecast that keeps your books clean

The new Cash / Receivables report shows the money your signed events will bring in, by period, with overdue and ready-to-bill lanes, built from each event’s payment schedule instead of pre-created future invoices. Pick any as-of date to see a customer-by-customer receivables aging in the same columns your accountant uses, and tick “Show from QuickBooks” to fold your QuickBooks receivables into the same view, reconciling with your QuickBooks aging report and never double counting. Customers expand to show each event nested underneath, just like that report. Details on the QuickBooks page.

Jul 8: Plant care, marketplace orders, and a “How do I…” section

The six lines of business are now fully documented: plant care (contracts, verified visits, month-end billing) and marketplace orders (parsed from the notification email, fees reconciled gross to net) joined the “How Florio works” set. The docs also gained a task-based How do I… section, starting with connecting Google, proposing meeting times, sending a proposal, setting your target margin, and proving a delivery.

Jul 8: A pricing page, a self-guided tour, and four how-it-works pages

floriohq.com gained a standalone pricing page with an annual and monthly toggle, the white-glove setup services, and a plain-language FAQ, plus a self-guided tour that walks through Florio one module at a time. On the docs side: Your first week on Florio and four new How Florio works pages, covering proposals and your photo library, the margin scorecard, rentals and the storefront, and native apps and boards.

Jul 8: floriohq.com and this docs site

Florio’s public home went live: the product story, persona pages for florists, event designers, and rental companies, transparent pricing, and these docs. The request form goes straight to a person.

Jul 7: Booking that lives on every record

Propose real meeting times inside any email, or share a booking link that reads your team’s actual calendars. Booking now works from every kind of record: leads, clients, events, orders, and more. Meetings land with video links attached, and reply timers clear themselves when the consult books.

Jul 6: Marketplace orders, parsed and reconciled

Orders from floral marketplaces now flow straight into the order board from their notification emails: line items, delivery details, and special instructions intact, with platform fees reconciled from gross to net so payouts match the books.

Jul 5: Shop TV display boards

Apple TV boards for the workroom and warehouse: load-out day, prep queues, deliveries in flight, and an executive dashboard, rotating on a playlist you control.

Jul 4: Task delegation everywhere

Every timeline gained a one-box composer: log a call, add a note, or assign a task to a teammate with a due date, and they get a clean branded email about it. Tasks sort by whichever is sooner, the due date or the reply timer.

Jul 2: The morning briefing

A daily 7am email with yesterday’s bookings by line of business, pipeline movement, and what needs attention today. The whole business on one screen before the first coffee.