Step-by-step guide
KupalaKit
Plan flower kits from workshop seat counts, round the order to whole bunches and prepare session buckets, labels and recipe cards. Keep revisions when bookings or deliveries change.
You teach a flower workshop and need to turn kit recipes and session seats into an order and preparation pack.

Before you start
- Desktop Google Chrome; checked in Chrome 152 on Linux.
- Extract the buyer ZIP into a folder you own and open KupalaKit.html in desktop Google Chrome. The app is one local HTML file; no installation, account, server or internet connection is required.
- Your kit recipes, stems per bunch, session seats, spare/demo policy and actual received quantities.
- A4 or US Letter printing at 100% with Default margins; check a test page on your printer.
Your first result
Open the worked example
Open KupalaKit.html and choose Try the Willow Lane example. It contains approved revisions R1–R3 for a fictional two-session posy class.
Read the order and actual delivery
Open 3 Order & stock. The original waxflower order stays at 120 stems. R3 shows 100 Received, a need of 95 and 5 left. Other blank Received fields mean assumed delivery.
Read the session buckets
Open 4 Buckets. Read the seat buckets, combined Spares & demo bucket, and loose stems/bunches to open for each session. The example prints 12 bucket labels.
Compare the booking change
Open 5 Changes and compare R1 → R2. With stock unchanged, the planned transfers include 3 spray roses, 2 eucalyptus and 3 waxflower from morning seats to afternoon seats.
Compare the short delivery
Compare R2 → R3. The Petite posy replaces 3 waxflower with 2 snapdragons in every set. Waxflower need becomes 95 of 100 and snapdragon 69 of 70. Stock changed, so no move list is generated.
Print and save
Open 6 Print & export, select A4 or US Letter and print at 100% with Default margins. Participant cards form one card set per kit; long recipes use numbered parts, two parts per page, each repeating the whole-kit stem total. Print the copies you need. Download the ready packet, then Download project to keep every revision.
Plan your own class
Choose New project. Enter varieties, kit recipes, sessions and allowances, or import all three sample CSV formats before R1. Choose the spare policy, check the order and Freeze order as R1. Later, enter actual Received stems, resolve shortages, label and approve each revision.
A worked example
Willow Lane posy day — original fictional workshop
Input: K1 Garden posy uses GR 3, SR 5, SN 3, EU 4 and WX 5. K2 Petite posy uses SR 3, EU 2 and WX 3. Morning: 10 K1 seats plus one demo. Afternoon: six K1 and four K2 seats. One spare set per five seats, rounded up by kit/session. Garden rose bunches contain 12; the others contain 10.
- R1: count 13 morning K1 sets, eight afternoon K1 sets and five afternoon K2 sets.
- R2: reduce morning K1 seats to eight and increase afternoon K2 to five.
- R3: record only 100 waxflower stems received and replace K2 waxflower 3 with snapdragon 2.
Expected result: R1 needs GR/SR/SN/EU/WX 63/120/63/94/120: order 6/12/7/10/12 bunches. R2 needs 57/113/57/88/113. R3 needs 57/113/69/88/95, leaving 15/7/1/12/5. A shortage of 13 waxflower before the substitution blocks approval; a proposed two-bunch top-up is not received stock.
From seats and stems to a revised workshop plan
Actual KupalaKit screens in Chrome on Linux. Willow Lane is an original fictional workshop.
1. Keep the order and received stems distinct

2. Prepare the two sessions

3. Replan after cancellations and a late booking

4. Catch a short delivery before approval

5. Use a revised plan when stock changes

Troubleshooting
CSV import refused with 'unsupported header'
Use exactly one of the three documented header lines, in lower case.
Approve button disabled
Read the note beside it: a variety is short, nothing changed, or a field needs fixing.
Received value refused
It exceeded ordered plus recorded top-ups; record the extra delivery as a top-up first.
Print preview has extra pages or clipped content
Longer lists can require extra labels or pages. Match the selected paper size, use 100% scale and Default margins, and inspect every page before printing. Do not use a clipped printout.
Warning when closing the tab
Choose Download project first; nothing is saved automatically.
The plan shows no transfer list
Available stock changed between the revisions. Use the revised preparation plan and check your physical buckets.
There are only two participant recipe cards
The example has two kits. One card set is generated per kit; long recipes split into numbered parts. Print the number of complete sets needed for participants.
Compatibility & limits
- Designed for desktop Chrome on Linux with A4 and US Letter layouts. Other browsers and operating systems are unverified. Desktop authoring is recommended; narrow tables scroll sideways. Physical printing is unverified.
- Up to 60 varieties, three kits with 20 recipe lines each, six sessions and 200 total seats. Each session/kit allows 0–60 seats and 0–10 demo sets. Recipe lines use 1–99 whole stems. Bunch sizes are 1–500; allowances are 0–500 stems per variety. Spare sets round up separately for each session and kit, with none for zero seats. Every seat, spare and demo of a kit receives the same recipe.
- The R1 order keeps its original quantities, bunch sizes and prices. A blank Received cell assumes original ordered stock; it does not confirm delivery. Recorded top-ups do not add available stock until received stems are entered. Historical revisions show only top-ups recorded before that revision was approved. Received cannot exceed original ordered stems plus recorded top-ups. A shortage blocks approval and the ready packet. Draft printing remains available and is marked DRAFT.
- Comparisons on unchanged available stock show planned transfers between allocations. When available stock changes, the app gives a revised preparation plan without a move list. Check physical buckets yourself. This is not stock tracking, booking software, a wholesaler connection or advice on flower suitability, care or substitutions.
- Projects allow up to 30 approved revisions and 30 recorded top-up orders. The .kupalakit.json input limit is 4 MiB (4,194,304 bytes). CSV import is available before freezing R1: UTF-8, comma-separated, exact supplied headers, at most 512 KiB (524,288 bytes) per file. Usable data-record limits are 60 varieties, 60 recipe lines across three kits (20 each), and 18 session/kit records across six sessions and three kits; headers and ignored blank lines are excluded. Quoted commas, quotes and line breaks are supported, subject to each field's validation. Imports apply together or leave the project unchanged.
- IDs contain 1–16 letters, digits, hyphens or underscores, starting with a letter or digit. Names use 1–60 characters; duplicate names after Unicode normalization, case folding and trimming are refused. Prices are optional, 0–99999.99; use one currency per project: none, USD, EUR or GBP. No tax or currency conversion.
- Print session prep sheets, order sheets, bucket labels and participant recipe cards on A4 or US Letter. Labels are arranged in a two-column grid with up to ten labels per page. Longer combined spares-and-demo lists are split across additional labels; these label parts do not imply extra physical buckets. Participant cards form one card set per kit, not per attendee. Long recipes split into numbered parts, up to two parts per page, each repeating the whole-kit stem total. Print enough copies for your class. Content length can add pages: check every page in print preview. Keep Chrome margins at Default and scale at 100%. The ready ZIP supplies printable HTML, CSV and project files, not pre-rendered PDFs, and is limited to 10 MiB (10,485,760 bytes), including archive headers.
- Choose Download project explicitly to save. Download project and the ready packet validate the serialized project with the same rules used when reopening it. Invalid text remains in the draft for correction and is not downloaded. A structurally valid project with a shortage can be saved and reopened; the shortage still blocks approval and the ready packet. Draft printing remains available and is marked DRAFT. There is no autosave, account, cloud sync or browser storage. Undo reverses draft edits since the last approval. Input files are not overwritten. Runtime network access is blocked and no requests were observed in testing.
- The purchase licenses this version for personal or business use on your own computers. Generated printouts may be shared. Do not redistribute or resell the app or manual. The free example is shareable and includes a hand-worked guide, three CSVs and expected results; it excludes the app, the full illustrated manual and generated printouts.
Need a hand?
Tell us the product, host application and version, what you tried, and the exact error. Contact support with a fictional example; keep private customer files and passwords out of your message.