10 min read

PyroPortal vs spreadsheets: a 30-display season in each

The same 30-display season run on spreadsheets, WhatsApp and a paper register, then run in PyroPortal. Where each holds up, and where each one breaks.

Most display companies at 30 shows a year run on a workbook, a WhatsApp group and a paper magazine register. It works. It works right up until the second person opens the workbook, or the shed stops agreeing with the sheet.

This post walks one season through both setups. We make PyroPortal, so read it with that in mind. But we ran on spreadsheets before we built anything, and we have tried to be straight about where the spreadsheet is still the right tool.

Where spreadsheets are fine

A five-display hobby year. One person doing the quoting, the buying, the picking and the firing. One magazine, one editor, one van. In that world a workbook is honest, cheap and fast, and no software will pay for itself.

The spreadsheet's problem was never the maths. It is the second editor, and the gap between the sheet and the shed. When two people are changing the same rows in the same week, or when stock is issued at seven in the morning and typed up at eleven at night, the sheet stops describing reality and starts describing what somebody remembers. Everything below is really about that gap.

January: enquiries arrive

Spreadsheet. An email lands. Someone adds a row to the Enquiries tab, when they remember. Half the enquiries only ever exist in an inbox. The ones that go quiet just fade, and at the end of the year nobody can say how many you lost or why.

PyroPortal. Your tenant has a dedicated inbound address. Forward the client's email to it, or point your website form at it, and it is parsed into an enquiry record: name, contact details, date, venue and what they are asking for, with the original message kept attached. The enquiry sits in a list ready to qualify. If it does not land, you mark it Lost with a reason, and the reasons add up over a season.

Enquiries and quotes never count against your plan. Only confirmed displays do.

February to April: quote and confirm

Spreadsheet. The price goes in the sheet. The quote goes in a Word document. The client replies "yes, fine" three weeks later, to a different email thread. The date was agreed on the phone. Nobody is quite sure the price was.

PyroPortal. A qualified enquiry converts to a display at Prospect, with the client and venue carried across. Be clear about one thing: PyroPortal does not generate quote, contract or invoice PDFs today. You still write the quote in whatever you write quotes in.

What it does do is give every display one permanent booking link on your own subdomain. You send that link yourself (there is no automated client email yet). When you are ready, the page shows a confirm-details step: date, timings, venue and price, confirmed in one go. Their confirmation flips Date confirmed and Price confirmed flags on the display record, they can pin the exact firing location on a map, and a message box lets them send you the gate code and where to park.

The display moves Prospect, Verbal Confirmation, Pending, Booked. Each step is validated, so nothing jumps from Prospect to Fired.

Spring: the supplier order lands

Spreadsheet. The supplier's order confirmation is a 200-line CSV. Someone retypes it into the stock sheet. Half the SKUs are named differently from your sheet, so they get a best guess. The container arrives and three lines are short. Now the sheet says what you ordered, the shed says what arrived, and the register says a third thing, written up from the delivery note at the weekend.

PyroPortal. Copy the rows out of the supplier's spreadsheet and paste them into the smart-paste box. AI suggests which column is the code, the cases, the price and the discount, you confirm the mapping, and each line is matched to your catalogue by product code. The ones it cannot match are fixed by picking the product. That becomes the draft purchase order, and from that moment the on-order quantity on every product is live.

When the delivery arrives, goods receipt converts cases to units and writes a typed In movement for every line, with the ex-VAT unit cost snapshotted. The three short lines are queried, cancelled or substituted per line, and the order's timeline shows each stage. The sheet, the shed and the log are now the same thing.

Summer: designing and allocating

Spreadsheet. Each show's product list lives in its own tab, or in a Word document, or in someone's head. "Have we got enough 30 mm cakes for both August shows?" means opening every tab and adding it up by hand, and hoping the stock column was right in the first place.

PyroPortal. The design page is a drag-and-drop builder for cues, sequences and modules. The BoM aggregates from the design and the totals roll up as you build. If you have a product list already, paste it and get BoM lines. Allocations show what is committed to which show against live stock, so the August question is a glance, not an afternoon.

Picking

Spreadsheet. A printed pick sheet, a pen, ticks in the margin. The sheet gets retyped into the stock tab later. Or it does not.

PyroPortal. The printable show pack still exists: a pick sheet for the store and a firing order with product codes and a layout column for prepping. If you would rather skip the paper, the Pick and Prep flow runs on a phone in the store, big text and high contrast, with an explicit sign-off when the pick is complete so nothing leaves half-checked. Issued stock is written as Out movements against that display, with timestamp and operator.

Crew

WhatsApp. "Who's free on the 5th?" Three thumbs up, one "maybe", one silence. The roster is a column in the sheet. Pay is a different column in a different sheet.

PyroPortal. Assign operators to a display with a role and a payment amount. Each operator has a crew portal showing only their own shows: date, venue, firing order, BoM, notes and pay. They confirm or decline in one tap, and the office sees pending, confirmed or declined for every operator on every display. Mark the assignment paid and they see Paid against the job.

Two honest limits. There is no availability calendar and no automatic call-sheet email or SMS. You still tell people about the show; the difference is that the answers land in one place instead of three threads. The training matrix is visible alongside the operator when you assign, with dates and expiries, but nothing blocks you assigning someone whose ticket has lapsed. You check, the same as now.

Show day

Paper. A checklist in the van, sometimes. PPE assumed. The weather checked on someone's phone.

PyroPortal. Every assigned crew member confirms their PPE item by item from their phone. The show manager can tick on someone's behalf, and that tick is recorded in the manager's name, so it never looks like a self-confirmation. The pre-show checklist is your own template, per display type: Yes or No, dropdowns, free text, photo sections, with mandatory flags. An answer can trigger a warning that must be acknowledged, by name, before the checklist completes. Each save can optionally carry a GPS stamp.

The display's Weather tab shows the site forecast around setup and firing alongside the Met Office Fire Severity Index outlook for the venue's square. The on-day view puts the contacts that matter one tap from a call.

Post-show

Spreadsheet. The "actual used" column gets filled in the following week, from memory. Margin is list price less what you think went out. Anything that went wrong is in a text message.

PyroPortal. The post-show checklist is filled in by the show manager before they leave the site, and anything flagged becomes an H&S issue with the show already linked. The client's booking link turns into a thank-you page with a feedback form, and what they write is saved against the display. The Financials tab gathers payments in one card and shows the real margin: costs from the design and from the stock that actually moved, at the cost snapshotted when it moved. Move the display to Reviewed and the checklists lock.

The November crunch

Fifteen of the thirty displays fall in three weeks.

Spreadsheet. Two people are now editing the same workbook. There are two copies, then three, and "which file is right" becomes a real question. The register is written up at the weekend from a stack of pick sheets. Crew answers are spread across the group, direct messages and a phone call. The stock column drifts, and nobody has time to find out by how much.

PyroPortal. Everyone works on the same records. Every stock change is a typed movement with a timestamp and an operator, written at the moment it happens. Crew confirmations sit against the display. The show-margins report updates as shows fire. It does not make November calm. It means the record is written as things happen rather than reconstructed afterwards.

Year end

Spreadsheet. The stock take, the sheet and the register give three different numbers. Cost of goods is an estimate built on list price.

PyroPortal. The stock-check screen is built for a phone in the store: search the product, enter the count, and the variance is recorded as a stock-take movement with the last-checked date stamped on the product. The financial-year report gives stock consumption and cost of goods by category and month, and the show-margins report rolls up the season. List pages export to CSV.

One more honest limit. There is no formatted register PDF export yet. The movement log carries type, timestamp, operator, quantity and source and destination, and is available through the API; the formatted print is on the roadmap. Nothing here replaces the records you are required to keep. It gives you a movement log that was written when the movement happened.

The season side by side

StageSpreadsheet, WhatsApp and paperPyroPortal
EnquiryA row, if someone remembers; lost ones fadeForwarded email becomes a structured enquiry; lost reasons recorded
Quote and confirmationWord document and an email threadQuote still written by you; client confirms date, venue and price on a booking link
Supplier orderRetyped by hand; on-order tracked nowherePaste the file; lines matched; on-order live; goods-in writes movements
Design and allocationOne tab per show; totals by handDrag-and-drop design; BoM and totals roll up; allocations against live stock
PickingPrinted sheet, retyped laterShow pack, or Pick and Prep on a phone with sign-off; Out movements written
CrewGroup chat; roster in a columnAssign with role and pay; one-tap confirm or decline; paid status visible
Show dayPaper checklist, sometimesPPE sign-off per person; your own checklists with photos and warnings
Post-showUsage from memory; margin from list priceMargin from the stock that moved; client feedback on the same link
Two editorsCopies of the workbookSame records, permissions per area
Year endThree numbers that disagreeStock-take movements; financial-year cost of goods report

Questions operators ask

Do we have to move everything at once?

No. Start with displays and crew if the group chat is the pain, and bring stock in when the next supplier order lands; the smart-paste import is a natural moment to do it.

What happens to our existing spreadsheets?

The bulk import wizard takes a pasted product list: map the columns, check an editable preview, commit. Re-running a supplier list updates existing products rather than duplicating them, so a price-list refresh is safe.

Can we keep the paper register?

Yes, and you should keep whatever records you are required to keep. PyroPortal gives you a typed movement log with timestamp and operator. What you do with it, and what your register looks like, is your decision.

What does it cost for 30 displays?

Starter, at £39 a month or £390 a year, ex VAT, covers up to 30 confirmed displays with unlimited users and crew. Up to 10 confirmed displays, Spark is free, with 3 users, 1 magazine and 25 products. There is no trial clock: start on Spark and upgrade when you need to.

Does the store need a signal?

It is a web app, so it needs a connection. It installs to a phone home screen, but if your store is a dead spot, print the show pack.

See it on your own data

The fairest test is your own season, not our description of one. Paste last year's supplier order into the stock and supplier module and see how many lines match first time, then look at what a plan would cost on the pricing page. Spark is free and there is no card to enter.

Related