Return Manifest Generate photo manifests from Flex PDFs
Document Suite
00:00
morgain.tools  ·  v2.2.0  ·  Single file  ·  No server  ·  No install
1
Drop your Flex PDF here
Return Manifest PDF from Flex
Add gear photos
JPG, PNG, WEBP — saves to library automatically
2
Client
Venue / Site
Document Style
0 line items loaded  ·  0 photos matched
Loading...
No photos saved yet — add gear photos in the Manifest tool and they’ll appear here automatically.
+
Drop photos here to add to library
JPG, PNG, WEBP · multiple files OK
Brand Settings

Customise your client company branding — logo, name, colours and contact details — used across all generated PDFs. The Morgain Tools app identity is separate and fixed.

Company Logo
Click to upload logo
PNG or JPG recommended · max 2MB
Client Company Name
Tagline / Division
Address Line 1
Address Line 2
Phone
Website
App Skin
Brand Colour Palette

All 6 document styles draw from your brand palette. Primary drives accents and buttons. Secondary drives headers and covers. The remaining colours control text, backgrounds and highlights.

Primary — Accents & Highlights
Secondary — Headers & Covers
Text Colour
Page Background
Row Highlight Tint
Proposal & Pull Sheet Style
Preview
Saved ✓
Admin Settings
Enter your 4-digit admin PIN to access document defaults, tax settings, and security options.
Default PIN: 0000
Show Scheduler
Filter by Status
All Shows
Quote
Confirmed
Awaiting Prep
In Progress
Returned
Sun
Mon
Tue
Wed
Thu
Fri
Sat
0 JOBS
Flex API Connection
Click Discover to load
days backdays ahead
Runs entirely in your browser. The API key is stored locally (localStorage) and sent to Flex via the X-Auth-Token header. This same key powers the Pending Invoices board.
Awaiting Prep
0
In Progress
0
Prepped / Out
0
Returned / De-Prep
0
Add Job
Total Outstanding Balance
$0.00
No invoices loaded — click Sync
Live A/R from Flex, grouped by payment status. Configure your Flex API key once in the Job Board ⚙ settings — it’s shared.
Needs to be Paid
0
Partially Paid
0
Paid
0
Click Load Projects to pull all active projects from Flex, then pick one to preview its paperwork and generate PDFs.
Release Notes
What's new in Morgain Tools. Built by Morgain.
v2.2.0
LATEST
June 2026
Job Board — new "Prepped / Out" column — the board now has four columns and places cards by their Flex manifest/pull-sheet status instead of just dates. A show that's been Prepped (and shipped out, not yet returned) now lands in the new Prepped / Out column instead of cluttering In Progress. Flow: Awaiting Prep → In Progress → Prepped / Out → Returned / De-Prep. Date logic stays as a fallback when no Flex status is available.
Pending Invoices — organization grouping fix — company extraction now probes the clientId object for company, companyName, organizationName, and parentName (plus nested .value paths), so invoices from contacts that share the same organization group correctly. Debug log prints the first raw row to console on sync — inspect it if grouping still falls back to the contact name.
Job Board — smarter column placement — date fallback now distinguishes Prepped / Out from In Progress: ship date past + return date future → Out; ship date today → In Progress. Shows whose return date is today or past now move to Returned / De-Prep automatically — even if the Flex status still says "Prepped" or "Shipped" (stale statuses no longer keep finished shows stuck in the Out column). Flex statuses "de-prep", "strike", and "completed" also route to Returned.
Job Board — time-aware overdue — overdue detection now checks the Flex status (not just the board column) to decide if gear has actually been returned. A show in Returned / De-Prep whose Flex status still says "Prepped" or "Shipped" gets flagged ⚠ OVERDUE — the return date passed but Flex doesn't confirm the gear came back. Shows with a confirmed Flex status ("Returned", "De-Prep", "Strike", "Completed") or manually moved by the user are not flagged. Uses the Flex return datetime for precise comparison — no more waiting until the next calendar day.
v2.1.6
June 2026
Pending Invoices — group by company — since several Flex client contacts share one company, grouping now defaults to Company (falling back to the contact when no company is set). The toggle is now a dropdown: Company / Client / Account Mgr / None. Each card shows the contact (and company when grouped another way); the banner counts companies.
v2.1.5
June 2026
Pending Invoices — group by client — each status column now clusters invoices under a client subheader with that client's subtotal and count (sorted by balance). A Group by client toggle switches between grouped and flat; the header now also shows the client count.
v2.1.4
June 2026
Flex API connection in Admin — base URL + API key now live in Admin (Test & Discover included), shared by the Job Board, Pending Invoices and Flex Preview. Foundation for filling the document generators from Flex by job.
v2.1.3
June 2026
Pending Invoices layout fix — the board now renders as three side-by-side columns. The shared board/column/card styles were scoped to the Job Board only, so the invoice columns were stacking; they now inherit the same grid layout.
v2.1.2
June 2026
Flex Preview tool — new Ops tool. Pick any active project from a Flex job selector and instantly preview its paperwork: header, ship/return dates, all elements (Quote / Pull Sheet / Manifest) with statuses, and the line-item list — then generate the Pull Sheet or Manifest PDF straight from Flex (decoded client-side, no upload). First step toward filling every generator from Flex by job.
Client-side PDF decode — Flex report PDFs (returned base64-encoded) are now decoded to binary in the browser, so generated documents download as proper PDFs.
v2.1.1
June 2026
Pending Invoices — payment-status columns — the board now groups by Needs to be Paid / Partially Paid / Paid (instead of aging), matching the Job Board layout. Paid invoices are now included so the Paid column populates.
Outstanding balance banner — a prominent live total at the top of the Invoices board, with an unpaid / partial / paid breakdown.
v2.1.0
June 2026
Job Board · Flex sync — the board now pulls live jobs from Flex. New Sync Flex button and ⚙ settings (base URL, API key, template discovery, days-back/ahead window, optional auto-sync). Walks the Quote → Pull Sheet → Manifest tree and buckets cards into Awaiting Prep / In Progress / Returned, with FLEX badges, doc numbers and a DE-PREP SOON warning. Manual cards still work alongside synced ones.
Pending Invoices board — new Ops tool modeled on the Job Board. Three columns — Current (≤30d) / Aging (31–60d) / Overdue (60+ or past due) — pulled live from Flex A/R. Each card shows invoice #, client, account manager, balance due, invoice/due dates, and a %-paid bar for installment invoices. Header tallies total outstanding.
Shared Flex connection — one API key (stored locally, sent via the X-Auth-Token header) powers both boards. Still a single file, no server — deploy to Netlify drag-and-drop as before.
v2.0.6
April 2026
Printers panel — IP configuration for document printer and label printer. Network connection test, QZ Tray integration guide, and 6 hardware recommendations scored across cost, longevity, support, and ease of setup.
Dark mode fixed — --black CSS variable now flips to #E8E8F0 in dark skin, fixing all 18+ headings and labels that were rendering black-on-black.
Logo auto-invert — Company logos are now auto-inverted in dark mode when brightness analysis detects a dark image. Dual light/dark preview in Brand Settings.
v2.0.6
April 2026
Home landing page — app opens on a full dashboard instead of the Return Manifest form. Company name, tagline, and today's date in a dark hero. Quick-launch cards for all 9 tools grouped by section.
Custom SVG icon set — all 26 emoji replaced with custom hand-drawn stroke icons. No system fonts or emoji rendering differences across platforms.
Job Board preview — Coming Soon panel added under Ops showing the v2.0 three-column board with Flex status colours.
Release Notes panel — full chronological changelog accessible from the sidebar.
v2.0.6
April 2026
6 unified style themes — Obsidian, Ivory, Slate, Carbon, Grid, Parchment — applied across all document types
Full brand colour engine — 5 customisable colour slots (Primary, Secondary, Text, Background, Highlight) with preset swatches
Admin panel — PIN-locked settings for tax, deposit %, terms, validity, page size, and show/hide pricing
Style picker on all tools — Return Manifest and Tech Package now have inline style selectors
Case Labels fixed — direct PDF upload now works independently without Tech Package data
Style preview — live HTML preview in Brand Settings shows exact output colours before generating
v2.0.6
April 2026
Admin settings panel added with PIN lock, document defaults, tax configuration, and T&C editor
6 initial style themes introduced for Proposals, Pull Sheets, Case Labels, and Tech Packages
Style selector added inline on Proposals and Pull Sheet panels
Morgain identity locked — "Powered by Morgain" sidebar is fixed; Brand Settings controls client company only
v2.0.6
April 2026
Proposals live — full Flex Quote PDF parser (15/15 tests), 6 styled PDF outputs, auto-fill all job fields
Pull Sheets live — Flex Pull Sheet PDF parser matching the original Flex layout exactly
Brand Settings — Company defaults, logo upload, accent colour with presets
Case Labels direct upload — Shipping Manifest PDF can be dropped directly into Case Labels tab
Section detection fixed — x-position used to distinguish real section headers from wrapped descriptions
v2.0.6
April 2026
Proposals panel added (initial version) — Flex Quote upload and 6 style dispatch
Case Labels standalone PDF upload introduced
Quotes renamed to Proposals throughout the UI
v2.0.6 and earlier
April 2026
Return Manifest generator — photo matching, auto-fill, dual-verification algorithm
Tech Package generator — container detection, design doc embedding, parallel PDF fetch
Photo Library — IndexedDB persistence, gear photo matching, thumbnail gallery
Migrated from Python proof-of-concept to full browser-based HTML app
55-point automated test suite — Playwright headless Chromium
Built by Morgain · morgain.tools · Single HTML file · No server · No install
Printers
Configure network printers for documents and case labels. Store IP addresses, test connections, and send print jobs directly from Morgain Tools.
Configuration
Document Printer
Manifests · Proposals · Pull Sheets · A4 / Letter
Printer Name (as listed in OS)
IP Address
Port (default 9100)
Label Printer
Case Labels · Shipping Labels · 4×6 thermal
Printer Name (as listed in OS)
IP Address
Label Size
How IP Printing Works
Document printing — built in
All document generators (Manifests, Proposals, Pull Sheets, Tech Packages) use window.print() which opens your browser's native print dialog. Select your configured network printer by name, set the paper size, and print. Works on any OS with no extra software. Your printer just needs to be on the same network and added to your OS.
Label printing — requires QZ Tray
Sending raw ZPL commands to a Zebra or thermal label printer from a browser requires QZ Tray — a free background app that bridges browser → printer over a local WebSocket. Once installed it runs silently and Morgain Tools can send labels directly without any dialog.
  1. Download and install QZ Tray from qz.io
  2. Keep it running in the background (add to startup)
  3. Enter your label printer's name and IP above
  4. Case Labels will gain a Print to Label Printer button
Download QZ Tray →
Recommended — Document Printer
Laser printer with Ethernet + Wi-Fi. Rated on cost, longevity, support quality, and ease of IP integration.
TOP PICK
Brother MFC-L9670CDN
Color · Multifunction · Laser
~$450 upfront
Cost / TCO
9.2
Longevity
9.0
Support
8.8
IP Setup
9.0
Ethernet Wi-Fi Duplex Lowest TCO AirPrint
COMPACT
HP Color LaserJet Pro 3201dw
Color · Single-function · Laser
~$400 upfront
Cost / TCO
8.2
Longevity
8.5
Support
8.8
IP Setup
8.8
Wi-Fi Duplex HP Wolf Security TerraJet Toner
BUDGET
Lexmark C3224dw
Color · Single-function · Laser
~$280 upfront
Cost / TCO
8.5
Longevity
7.8
Support
7.5
IP Setup
8.5
Wi-Fi Ethernet Compact High-yield toner
Recommended — Label Printer
Direct thermal, 4×6 format. No ink or ribbon needed. Rated on the same four criteria.
TOP PICK
Zebra ZD421
Direct Thermal · 4×6 · Industrial
~$500 upfront
Cost / TCO
8.0
Longevity
9.7
Support
9.5
IP Setup
9.5
Ethernet Wi-Fi ZPL Native QZ Tray ✓ Warehouse grade
BEST VALUE
Rollo X1040
Direct Thermal · 4×6 · Desktop
~$220 upfront
Cost / TCO
9.5
Longevity
9.0
Support
7.8
IP Setup
8.2
Wi-Fi AirPrint No drivers 650k label head QZ Tray ✓
HIGH RES
Brother QL-1110NWB
Direct Thermal · 4×6 · 300dpi
~$250 upfront
Cost / TCO
8.2
Longevity
8.2
Support
8.5
IP Setup
8.5
Wi-Fi Ethernet Auto-cut 300 dpi Brother app
Note on consumables: Laser toner runs 3–5¢ per page vs 5–10¢ for inkjet — the difference adds up quickly at production volume. Direct thermal labels need no ink or ribbon at all; just order blank 4×6 rolls. Both printer types have duty cycles rated for years of daily AV production use.
Test Suite
Live in-browser tests — runs directly against this file
Tests run entirely in-browser — no server, no external tools required
1
Drop your Flex Shipping Manifest PDF here
Reads all pages · detects containers & contents automatically
2
3
Stage Plot
Drop or click to upload
Floor plan & speaker positions
PDF · JPG · PNG
Input List
Drop or click to upload
Channel assignments & sources
PDF · JPG · PNG
PA System Design
Drop or click to upload
Speaker system design
PDF · JPG · PNG
PA Angles
Drop or click to upload
Coverage angles & aim points
PDF · JPG · PNG
Production Photos
Drop or click to upload
Event / venue photos for cover
JPG · PNG · HEIC
Document Style
Document Style
Tech Package — one section per container showing contents  ·  Master Sheet — consolidated qty list, all items grouped  ·  Case Labels — printable label grid, one per line item
1
Pull Sheet Style
2
Drop your Flex Pull Sheet PDF here
Pull Sheet PDF from Flex · auto-fills all job details
3
4
1
Proposal Style
2
Drop your Flex Quote PDF here
Quote PDF from Flex · auto-fills all job and client details
3
4
Job Details
Quote Style
+ Add Section
Quote Total
$0.00
Log New Repair
Colour
Name / What it is
Cable Type
QTY
From
To
Notes / Prep
Case Labels

Drop a Flex Shipping Manifest PDF below to generate one label per container. Or upload in the Tech Package tab first — data will be shared automatically.

Drop Shipping Manifest PDF here
or click to browse · optional if Tech Package already loaded
Label Size
1
Drop instruction PDFs here
PDF files only · multiple files · stored in browser until you export
Uploaded PDFs (0)
No PDFs uploaded
Drop instruction manuals above to get started
2
Select an uploaded PDF. The QR URL builds from your company slug in Admin Settings.
Categories
3
0
Items
0
Categories
0
PDFs Linked
No gear items yet
Upload PDFs and assign them to equipment above
4
5
Preview item
This is what crew sees when they scan the QR code. Tap the button to view the actual uploaded PDF.
Select a gear item to preview
AI Assistant
No document context loaded
Ask questions about loaded documents, gear lists, or AV production. Open Settings (⚙) to connect.